func (db *oracle) GetTables() ([]*core.Table, error) { args := []interface{}{} s := "SELECT table_name FROM user_tables" rows, err := db.DB().Query(s, args...) if db.Logger != nil { db.Logger.Info("[sql]", s, args) } if err != nil { return nil, err } defer rows.Close() tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() err = rows.Scan(&table.Name) if err != nil { return nil, err } tables = append(tables, table) } return tables, nil }
func (db *sqlite3) GetTables() ([]*core.Table, error) { args := []interface{}{} s := "SELECT name FROM sqlite_master WHERE type='table'" db.LogSQL(s, args) rows, err := db.DB().Query(s, args...) if err != nil { return nil, err } defer rows.Close() tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() err = rows.Scan(&table.Name) if err != nil { return nil, err } if table.Name == "sqlite_sequence" { continue } tables = append(tables, table) } return tables, nil }
func (this *databaseImplement) autoMapType(v reflect.Value) *core.Table { t := v.Type() table := core.NewEmptyTable() if tb, ok := v.Interface().(tableName); ok { table.Name = tb.TableName() } else { if v.CanAddr() { if tb, ok = v.Addr().Interface().(tableName); ok { table.Name = tb.TableName() } } if table.Name == "" { table.Name = this.TableMapper.Obj2Table(t.Name()) } } table.Type = t for i := 0; i < t.NumField(); i++ { tag := t.Field(i).Tag ormTagStr := tag.Get("xorm") if ormTagStr == "-" || ormTagStr == "<-" { continue } col := &core.Column{FieldName: t.Field(i).Name, Nullable: true, IsPrimaryKey: false, IsAutoIncrement: false, MapType: core.TWOSIDES, Indexes: make(map[string]bool)} col.Name = this.ColumnMapper.Obj2Table(t.Field(i).Name) table.AddColumn(col) } return table }
func (db *tidb) GetTables() ([]*core.Table, error) { args := []interface{}{db.DbName} s := "SELECT `TABLE_NAME`, `ENGINE`, `TABLE_ROWS`, `AUTO_INCREMENT` from " + "`INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? AND (`ENGINE`='MyISAM' OR `ENGINE` = 'InnoDB')" rows, err := db.DB().Query(s, args...) db.LogSQL(s, args) if err != nil { return nil, err } defer rows.Close() tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() var name, engine, tableRows string var autoIncr *string err = rows.Scan(&name, &engine, &tableRows, &autoIncr) if err != nil { return nil, err } table.Name = name table.StoreEngine = engine tables = append(tables, table) } return tables, nil }
func (db *postgres) GetTables() ([]*core.Table, error) { args := []interface{}{} s := "SELECT tablename FROM pg_tables where schemaname = 'public'" rows, err := db.DB().Query(s, args...) if db.Logger != nil { db.Logger.Info("[sql]", s, args) } if err != nil { return nil, err } defer rows.Close() tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() var name string err = rows.Scan(&name) if err != nil { return nil, err } table.Name = name tables = append(tables, table) } return tables, nil }
func (db *postgres) GetTables() ([]*core.Table, error) { // FIXME: replace public to user customrize schema args := []interface{}{"public"} s := fmt.Sprintf("SELECT tablename FROM pg_tables WHERE schemaname = $1") db.LogSQL(s, args) rows, err := db.DB().Query(s, args...) if err != nil { return nil, err } defer rows.Close() tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() var name string err = rows.Scan(&name) if err != nil { return nil, err } table.Name = name tables = append(tables, table) } return tables, nil }
func (engine *Engine) newTable() *core.Table { table := core.NewEmptyTable() if !engine.disableGlobalCache { table.Cacher = engine.Cacher } return table }
func (db *mssql) GetTables() ([]*core.Table, error) { args := []interface{}{} s := `select name from sysobjects where xtype ='U'` rows, err := db.DB().Query(s, args...) if err != nil { return nil, err } tables := make([]*core.Table, 0) for rows.Next() { table := core.NewEmptyTable() var name string err = rows.Scan(&name) if err != nil { return nil, err } table.Name = strings.Trim(name, "` ") tables = append(tables, table) } return tables, nil }
func (engine *Engine) newTable() *core.Table { table := core.NewEmptyTable() table.Cacher = engine.Cacher return table }