diff --git a/postgresql/local_test.go b/postgresql/local_test.go index 0a17bbe835e71ed50bda2db2240691c1959bfbf0..bcefe794f4cd84a38a9226be496dc91e8c1bf7cf 100644 --- a/postgresql/local_test.go +++ b/postgresql/local_test.go @@ -81,3 +81,39 @@ func TestStringAndInt64Array(t *testing.T) { assert.NotZero(t, itemCheck.Strings) } } + +func TestIssue210(t *testing.T) { + list := []string{ + `DROP TABLE IF EXISTS testing123`, + `DROP TABLE IF EXISTS hello`, + `CREATE TABLE IF NOT EXISTS testing123 ( + ID INT PRIMARY KEY NOT NULL, + NAME TEXT NOT NULL + ) + `, + `CREATE TABLE IF NOT EXISTS hello ( + ID INT PRIMARY KEY NOT NULL, + NAME TEXT NOT NULL + )`, + } + + sess := mustOpen() + defer sess.Close() + + tx, err := sess.NewTransaction() + assert.NoError(t, err) + + for i := range list { + _, err = tx.Exec(list[i]) + assert.NoError(t, err) + } + + err = tx.Commit() + assert.NoError(t, err) + + _, err = sess.Collection("testing123").Find().Count() + assert.NoError(t, err) + + _, err = sess.Collection("hello").Find().Count() + assert.NoError(t, err) +} diff --git a/sqlbuilder/exql/statement.go b/sqlbuilder/exql/statement.go index 79a6d07ee0b16017fa8e698db549008fc57f5e6a..9d7a1c9462781d6c26d7103af939d114615d1f83 100644 --- a/sqlbuilder/exql/statement.go +++ b/sqlbuilder/exql/statement.go @@ -23,7 +23,7 @@ type Statement struct { Limit Offset - rawSQL string + SQL string hash hash } @@ -64,9 +64,9 @@ func (s *Statement) Hash() string { // Compile transforms the Statement into an equivalent SQL query. func (s *Statement) Compile(layout *Template) (compiled string) { - if s.Type == rawSQL { + if s.Type == SQL { // No need to hit the cache. - return s.rawSQL + return s.SQL } if z, ok := layout.Read(s); ok { @@ -117,7 +117,7 @@ func (s *Statement) Compile(layout *Template) (compiled string) { // RawSQL represents a raw SQL statement. func RawSQL(s string) *Statement { return &Statement{ - Type: rawSQL, - rawSQL: s, + Type: SQL, + SQL: s, } } diff --git a/sqlbuilder/exql/template.go b/sqlbuilder/exql/template.go index 557f4df23d9d92a6f20f530029eb4d2d292f026a..338ac600c0841a46a885c37477cd9ca6fc1957a8 100644 --- a/sqlbuilder/exql/template.go +++ b/sqlbuilder/exql/template.go @@ -20,7 +20,7 @@ const ( Select Update Delete - rawSQL + SQL ) type (