@@ -30,12 +30,11 @@ const (
3030var _ server.Dialect = (* Generic )(nil )
3131
3232var (
33- columns = "kv.id AS theid, kv.name AS thename, kv.created, kv.deleted, kv.create_revision, kv.prev_revision, kv.lease, kv.value, kv.old_value"
34- revSQL string
35- compactRevSQL string
36- listSQL string
37- tableName string
38- quotedTableName string
33+ columns = `kv.id AS theid, kv.name AS thename, kv.created, kv.deleted, kv.create_revision, kv.prev_revision, kv.lease, kv.value, kv.old_value`
34+ revSQL string
35+ compactRevSQL string
36+ listSQL string
37+ tableName string
3938)
4039
4140type ErrRetry func (error ) bool
@@ -96,8 +95,8 @@ func q(sql, param string, numbered bool) string {
9695func (d * Generic ) Migrate (ctx context.Context ) {
9796 var (
9897 count = 0
99- countKV = d .queryRow (ctx , " SELECT COUNT(*) FROM key_value" )
100- countKine = d .queryRow (ctx , " SELECT COUNT(*) FROM "+ quotedTableName )
98+ countKV = d .queryRow (ctx , ` SELECT COUNT(*) FROM key_value` )
99+ countKine = d .queryRow (ctx , ` SELECT COUNT(*) FROM "` + tableName + `"` )
101100 )
102101
103102 if err := countKV .Scan (& count ); err != nil || count == 0 {
@@ -110,7 +109,7 @@ func (d *Generic) Migrate(ctx context.Context) {
110109
111110 logrus .Infof ("Migrating content from old table" )
112111 _ , err := d .execute (ctx ,
113- `INSERT INTO ` + quotedTableName + ` (deleted, create_revision, prev_revision, name, value, created, lease)
112+ `INSERT INTO "` + tableName + `" (deleted, create_revision, prev_revision, name, value, created, lease)
114113 SELECT 0, 0, 0, kv.name, kv.value, 1, CASE WHEN kv.ttl > 0 THEN 15 ELSE 0 END
115114 FROM key_value kv
116115 WHERE kv.id IN (SELECT MAX(kvd.id) FROM key_value kvd GROUP BY kvd.name)` )
@@ -151,21 +150,21 @@ func validateTableName(customTableName string) error {
151150func buildSQLStatements () (rev , compactRev , list string ) {
152151 rev = fmt .Sprintf (`
153152 SELECT MAX(rkv.id) AS id
154- FROM %s AS rkv` , quotedTableName )
153+ FROM "%s" AS rkv` , tableName )
155154
156155 compactRev = fmt .Sprintf (`
157156 SELECT MAX(crkv.prev_revision) AS prev_revision
158- FROM %s AS crkv
159- WHERE crkv.name = 'compact_rev_key'` , quotedTableName )
157+ FROM "%s" AS crkv
158+ WHERE crkv.name = 'compact_rev_key'` , tableName )
160159
161160 list = fmt .Sprintf (`
162161 SELECT *
163162 FROM (
164163 SELECT (%s), (%s), %s
165- FROM %s AS kv
164+ FROM "%s" AS kv
166165 JOIN (
167166 SELECT MAX(mkv.id) AS id
168- FROM %s AS mkv
167+ FROM "%s" AS mkv
169168 WHERE
170169 mkv.name LIKE ?
171170 %%s
@@ -176,7 +175,7 @@ func buildSQLStatements() (rev, compactRev, list string) {
176175 ?
177176 ) AS lkv
178177 ORDER BY lkv.thename ASC
179- ` , rev , compactRev , columns , quotedTableName , quotedTableName )
178+ ` , rev , compactRev , columns , tableName , tableName )
180179
181180 return rev , compactRev , list
182181}
@@ -208,16 +207,6 @@ func Open(ctx context.Context, driverName, dataSourceName string, connPoolConfig
208207 }
209208
210209 tableName = customTableName
211-
212- // In case of MySQL, we need to quote the table name using ` `
213- // In case of SQLite and Postgres, we need to quote the table name using " "
214- switch driverName {
215- case "mysql" :
216- quotedTableName = "`" + tableName + "`"
217- default :
218- quotedTableName = `"` + tableName + `"`
219- }
220-
221210 revSQL , compactRevSQL , listSQL = buildSQLStatements ()
222211
223212 for i := 0 ; i < 300 ; i ++ {
@@ -246,8 +235,8 @@ func Open(ctx context.Context, driverName, dataSourceName string, connPoolConfig
246235 GetRevisionSQL : q (fmt .Sprintf (`
247236 SELECT
248237 0, 0, %s
249- FROM %s AS kv
250- WHERE kv.id = ?` , columns , quotedTableName ), paramCharacter , numbered ),
238+ FROM "%s" AS kv
239+ WHERE kv.id = ?` , columns , tableName ), paramCharacter , numbered ),
251240
252241 GetCurrentSQL : q (fmt .Sprintf (listSQL , "AND mkv.name > ?" ), paramCharacter , numbered ),
253242 ListRevisionStartSQL : q (fmt .Sprintf (listSQL , "AND mkv.id <= ?" ), paramCharacter , numbered ),
@@ -267,29 +256,29 @@ func Open(ctx context.Context, driverName, dataSourceName string, connPoolConfig
267256
268257 AfterSQL : q (fmt .Sprintf (`
269258 SELECT (%s), (%s), %s
270- FROM %s AS kv
259+ FROM "%s" AS kv
271260 WHERE
272261 kv.name LIKE ? AND
273262 kv.id > ?
274- ORDER BY kv.id ASC` , revSQL , compactRevSQL , columns , quotedTableName ), paramCharacter , numbered ),
263+ ORDER BY kv.id ASC` , revSQL , compactRevSQL , columns , tableName ), paramCharacter , numbered ),
275264
276265 DeleteSQL : q (fmt .Sprintf (`
277- DELETE FROM %s AS kv
278- WHERE kv.id = ?` , quotedTableName ), paramCharacter , numbered ),
266+ DELETE FROM "%s" AS kv
267+ WHERE kv.id = ?` , tableName ), paramCharacter , numbered ),
279268
280269 UpdateCompactSQL : q (fmt .Sprintf (`
281- UPDATE %s
270+ UPDATE "%s"
282271 SET prev_revision = ?
283- WHERE name = 'compact_rev_key'` , quotedTableName ), paramCharacter , numbered ),
272+ WHERE name = 'compact_rev_key'` , tableName ), paramCharacter , numbered ),
284273
285- InsertLastInsertIDSQL : q (fmt .Sprintf (`INSERT INTO %s (name, created, deleted, create_revision, prev_revision, lease, value, old_value)
286- values(?, ?, ?, ?, ?, ?, ?, ?)` , quotedTableName ), paramCharacter , numbered ),
274+ InsertLastInsertIDSQL : q (fmt .Sprintf (`INSERT INTO "%s" (name, created, deleted, create_revision, prev_revision, lease, value, old_value)
275+ values(?, ?, ?, ?, ?, ?, ?, ?)` , tableName ), paramCharacter , numbered ),
287276
288- InsertSQL : q (fmt .Sprintf (`INSERT INTO %s (name, created, deleted, create_revision, prev_revision, lease, value, old_value)
289- values(?, ?, ?, ?, ?, ?, ?, ?) RETURNING id` , quotedTableName ), paramCharacter , numbered ),
277+ InsertSQL : q (fmt .Sprintf (`INSERT INTO "%s" (name, created, deleted, create_revision, prev_revision, lease, value, old_value)
278+ values(?, ?, ?, ?, ?, ?, ?, ?) RETURNING id` , tableName ), paramCharacter , numbered ),
290279
291- FillSQL : q (fmt .Sprintf (`INSERT INTO %s (id, name, created, deleted, create_revision, prev_revision, lease, value, old_value)
292- values(?, ?, ?, ?, ?, ?, ?, ?, ?)` , quotedTableName ), paramCharacter , numbered ),
280+ FillSQL : q (fmt .Sprintf (`INSERT INTO "%s" (id, name, created, deleted, create_revision, prev_revision, lease, value, old_value)
281+ values(?, ?, ?, ?, ?, ?, ?, ?, ?)` , tableName ), paramCharacter , numbered ),
293282 }, err
294283}
295284
0 commit comments