in qldbdriver/qldbdriver.go [176:206]
func (driver *QLDBDriver) GetTableNames(ctx context.Context) ([]string, error) {
const tableNameQuery string = "SELECT name FROM information_schema.user_tables WHERE status = 'ACTIVE'"
type tableName struct {
Name string `ion:"name"`
}
executeResult, err := driver.Execute(ctx, func(txn Transaction) (interface{}, error) {
result, err := txn.Execute(tableNameQuery)
if err != nil {
return nil, err
}
tableNames := make([]string, 0)
for result.Next(txn) {
nameStruct := new(tableName)
err = ion.Unmarshal(result.GetCurrentData(), &nameStruct)
if err != nil {
return nil, err
}
tableNames = append(tableNames, nameStruct.Name)
}
if result.Err() != nil {
return nil, result.Err()
}
return tableNames, nil
})
if err != nil {
return nil, err
}
return executeResult.([]string), nil
}