Add support for DELETE statements.

This commit is contained in:
zer0sub 2019-04-20 19:49:29 +02:00
parent 70d6f84375
commit bc6a2bbcac
14 changed files with 492 additions and 543 deletions

View file

@ -33,7 +33,7 @@ func TestSelect_ScanToStruct(t *testing.T) {
assert.Equal(t, queryStr, `SELECT actor.actor_id AS "actor.actor_id", actor.first_name AS "actor.first_name", actor.last_name AS "actor.last_name", actor.last_update AS "actor.last_update" FROM dvds.actor ORDER BY actor.actor_id ASC`)
err = query.Execute(db, &actor)
err = query.Query(db, &actor)
assert.NilError(t, err)
@ -57,7 +57,7 @@ func TestSelect_ScanToSlice(t *testing.T) {
fmt.Println(queryStr)
assert.Equal(t, queryStr, `SELECT customer.customer_id AS "customer.customer_id", customer.store_id AS "customer.store_id", customer.first_name AS "customer.first_name", customer.last_name AS "customer.last_name", customer.email AS "customer.email", customer.address_id AS "customer.address_id", customer.activebool AS "customer.activebool", customer.create_date AS "customer.create_date", customer.last_update AS "customer.last_update", customer.active AS "customer.active" FROM dvds.customer ORDER BY customer.customer_id ASC`)
err = query.Execute(db, &customers)
err = query.Query(db, &customers)
assert.NilError(t, err)
assert.Equal(t, len(customers), 599)
@ -113,7 +113,7 @@ func TestJoinQuerySlice(t *testing.T) {
assert.Equal(t, queryStr, `SELECT language.language_id AS "language.language_id", language.name AS "language.name", language.last_update AS "language.last_update",film.film_id AS "film.film_id", film.title AS "film.title", film.description AS "film.description", film.release_year AS "film.release_year", film.language_id AS "film.language_id", film.rental_duration AS "film.rental_duration", film.rental_rate AS "film.rental_rate", film.length AS "film.length", film.replacement_cost AS "film.replacement_cost", film.rating AS "film.rating", film.last_update AS "film.last_update", film.special_features AS "film.special_features", film.fulltext AS "film.fulltext" FROM dvds.film JOIN dvds.language ON film.language_id = language.language_id WHERE film.rating = 'NC-17' LIMIT 15`)
//fmt.Println(queryStr)
err = query.Execute(db, &filmsPerLanguage)
err = query.Query(db, &filmsPerLanguage)
assert.NilError(t, err)
@ -132,7 +132,7 @@ func TestJoinQuerySlice(t *testing.T) {
//spew.Dump(filmsPerLanguage)
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
err = query.Execute(db, &filmsPerLanguageWithPtrs)
err = query.Query(db, &filmsPerLanguageWithPtrs)
assert.NilError(t, err)
assert.Equal(t, len(filmsPerLanguage), 1)
@ -152,7 +152,7 @@ func TestJoinQuerySliceWithPtrs(t *testing.T) {
Limit(limit)
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
err := query.Execute(db, &filmsPerLanguageWithPtrs)
err := query.Query(db, &filmsPerLanguageWithPtrs)
//spew.Dump(filmsPerLanguageWithPtrs)
@ -166,7 +166,7 @@ func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
customers := []model.Customer{}
err := query.Execute(db, &customers)
err := query.Query(db, &customers)
assert.NilError(t, err)
@ -180,7 +180,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
err := Customer.SELECT(Customer.CustomerID, Customer.FirstName, Customer.LastName).
OrderBy(Customer.FirstName.Asc()).
Execute(db, &customersAsc)
Query(db, &customersAsc)
assert.NilError(t, err)
@ -190,7 +190,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
customersDesc := []model.Customer{}
err = Customer.SELECT(Customer.CustomerID, Customer.FirstName, Customer.LastName).
OrderBy(Customer.FirstName.Desc()).
Execute(db, &customersDesc)
Query(db, &customersDesc)
assert.NilError(t, err)
@ -203,7 +203,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
customersAscDesc := []model.Customer{}
err = Customer.SELECT(Customer.CustomerID, Customer.FirstName, Customer.LastName).
OrderBy(Customer.FirstName.Asc(), Customer.LastName.Desc()).
Execute(db, &customersAscDesc)
Query(db, &customersAscDesc)
assert.NilError(t, err)
@ -240,7 +240,7 @@ func TestSelectFullJoin(t *testing.T) {
Customer *model.Customer
}{}
err = query.Execute(db, &allCustomersAndAddress)
err = query.Query(db, &allCustomersAndAddress)
assert.NilError(t, err)
assert.Equal(t, len(allCustomersAndAddress), 603)
@ -269,7 +269,7 @@ func TestSelectFullCrossJoin(t *testing.T) {
customerAddresCrosJoined := []model.Customer{}
err = query.Execute(db, &customerAddresCrosJoined)
err = query.Query(db, &customerAddresCrosJoined)
assert.Equal(t, len(customerAddresCrosJoined), 1000)
@ -302,7 +302,7 @@ func TestSelectSelfJoin(t *testing.T) {
F2 F2
}{}
err = query.Execute(db, &theSameLengthFilms)
err = query.Query(db, &theSameLengthFilms)
assert.NilError(t, err)
@ -337,7 +337,7 @@ func TestSelectAliasColumn(t *testing.T) {
films := []thesameLengthFilms{}
err = query.Execute(db, &films)
err = query.Query(db, &films)
assert.NilError(t, err)
@ -378,7 +378,7 @@ func TestSelectSelfReferenceType(t *testing.T) {
staffs := []staff{}
err = query.Execute(db, &staffs)
err = query.Query(db, &staffs)
assert.NilError(t, err)
@ -455,7 +455,7 @@ func TestSelectQueryScalar(t *testing.T) {
fmt.Println(queryStr)
maxRentalRateFilms := []model.Film{}
err = query.Execute(db, &maxRentalRateFilms)
err = query.Query(db, &maxRentalRateFilms)
assert.NilError(t, err)
@ -505,7 +505,7 @@ func TestSelectGroupByHaving(t *testing.T) {
customerPaymentSum := []CustomerPaymentSum{}
err = customersPaymentQuery.Execute(db, &customerPaymentSum)
err = customersPaymentQuery.Query(db, &customerPaymentSum)
assert.NilError(t, err)
@ -542,7 +542,7 @@ func TestSelectGroupBy2(t *testing.T) {
assert.NilError(t, err)
fmt.Println(queryStr)
err = query.Execute(db, &customersWithAmounts)
err = query.Query(db, &customersWithAmounts)
assert.NilError(t, err)
//spew.Dump(customersWithAmounts)
@ -576,7 +576,7 @@ func TestSelectTimeColumns(t *testing.T) {
payments := []model.Payment{}
err = query.Execute(db, &payments)
err = query.Query(db, &payments)
assert.NilError(t, err)

View file

@ -36,7 +36,7 @@ func TestInsertValues(t *testing.T) {
link := []model.Link{}
err = table.Link.SELECT(table.Link.AllColumns).Execute(db, &link)
err = table.Link.SELECT(table.Link.AllColumns).Query(db, &link)
assert.NilError(t, err)
@ -103,7 +103,7 @@ func TestInsertQuery(t *testing.T) {
assert.NilError(t, err)
allLinks := []model.Link{}
err = table.Link.SELECT(table.Link.AllColumns).Execute(db, &allLinks)
err = table.Link.SELECT(table.Link.AllColumns).Query(db, &allLinks)
assert.NilError(t, err)
spew.Dump(allLinks)

View file

@ -21,7 +21,7 @@ func TestUUIDType(t *testing.T) {
//assert.Equal(t, queryStr, `SELECT all_types.character AS "all_types.character", all_types.character_varying AS "all_types.character_varying", all_types.text AS "all_types.text", all_types.bytea AS "all_types.bytea", all_types.timestamp_without_time_zone AS "all_types.timestamp_without_time_zone", all_types.timestamp_with_time_zone AS "all_types.timestamp_with_time_zone", all_types.uuid AS "all_types.uuid", all_types.json AS "all_types.json", all_types.jsonb AS "all_types.jsonb" FROM test_sample.all_types WHERE all_types.uuid = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11`)
result := model.AllTypes{}
err = query.Execute(db, &result)
err = query.Query(db, &result)
spew.Dump(result)
}
@ -36,7 +36,7 @@ func TestEnumType(t *testing.T) {
result := []model.Person{}
err = query.Execute(db, &result)
err = query.Query(db, &result)
assert.NilError(t, err)
//spew.Dump(result)
@ -48,7 +48,7 @@ func TestEnumType(t *testing.T) {
result2 := []Person{}
err = query.Execute(db, &result2)
err = query.Query(db, &result2)
assert.NilError(t, err)

View file

@ -39,7 +39,7 @@ func TestUpdateValues(t *testing.T) {
err = table.Link.SELECT(table.Link.AllColumns).
Where(table.Link.Name.EqL("Bong")).
Execute(db, &links)
Query(db, &links)
assert.NilError(t, err)