dialect.go 721 B

12345678910111213141516171819202122232425262728293031
  1. package sqlsyntax
  2. type Dialect interface {
  3. DBType() string
  4. TableCheckSql(tableName string) (string, []interface{})
  5. }
  6. type Sqlite3 struct {
  7. }
  8. type Mysql struct {
  9. }
  10. func (db *Sqlite3) DBType() string {
  11. return "sqlite3"
  12. }
  13. func (db *Mysql) DBType() string {
  14. return "mysql"
  15. }
  16. func (db *Sqlite3) TableCheckSql(tableName string) (string, []interface{}) {
  17. args := []interface{}{tableName}
  18. return "SELECT name FROM sqlite_master WHERE type='table' and name = ?", args
  19. }
  20. func (db *Mysql) TableCheckSql(tableName string) (string, []interface{}) {
  21. args := []interface{}{"grafana", tableName}
  22. sql := "SELECT `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? and `TABLE_NAME`=?"
  23. return sql, args
  24. }