24 lines
505 B
Go
24 lines
505 B
Go
package postgres
|
|
|
|
import "github.com/go-jet/jet/v2/internal/jet"
|
|
|
|
// LATERAL derived tables constructor from select statement
|
|
func LATERAL(selectStmt SelectStatement) lateralImpl {
|
|
return lateralImpl{
|
|
selectStmt: selectStmt,
|
|
}
|
|
}
|
|
|
|
type lateralImpl struct {
|
|
selectStmt SelectStatement
|
|
}
|
|
|
|
func (l lateralImpl) AS(alias string) SelectTable {
|
|
subQuery := &selectTableImpl{
|
|
SelectTable: jet.NewLateral(l.selectStmt, alias),
|
|
}
|
|
|
|
subQuery.readableTableInterfaceImpl.parent = subQuery
|
|
|
|
return subQuery
|
|
}
|