func()

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
}