jet/postgres/select_table.go

25 lines
640 B
Go
Raw Normal View History

2019-08-11 12:13:59 +02:00
package postgres
2020-06-27 18:48:19 +02:00
import "github.com/go-jet/jet/v2/internal/jet"
2019-08-11 12:13:59 +02:00
2024-10-17 14:12:21 +02:00
// SelectTable is interface for postgres temporary tables like sub-queries, VALUES, CTEs etc...
2019-08-11 12:13:59 +02:00
type SelectTable interface {
2019-08-17 18:32:01 +02:00
readableTable
2019-08-11 12:13:59 +02:00
jet.SelectTable
}
type selectTableImpl struct {
2019-08-17 18:32:01 +02:00
jet.SelectTable
2019-08-11 12:13:59 +02:00
readableTableInterfaceImpl
}
2024-10-17 14:12:21 +02:00
func newSelectTable(serializerWithProjections jet.SerializerHasProjections, alias string, columnAliases []jet.ColumnExpression) SelectTable {
2019-08-11 12:13:59 +02:00
subQuery := &selectTableImpl{
2024-10-17 14:12:21 +02:00
SelectTable: jet.NewSelectTable(serializerWithProjections, alias, columnAliases),
2019-08-11 12:13:59 +02:00
}
subQuery.readableTableInterfaceImpl.parent = subQuery
return subQuery
}