2019-08-11 12:13:59 +02:00
|
|
|
package mysql
|
|
|
|
|
|
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
|
|
|
|
2019-08-17 10:43:16 +02:00
|
|
|
// SelectTable is interface for MySQL sub-queries
|
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(selectStmt 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(selectStmt, alias, columnAliases),
|
2019-08-11 12:13:59 +02:00
|
|
|
}
|
|
|
|
|
|
2025-03-09 19:06:17 +01:00
|
|
|
subQuery.readableTableInterfaceImpl.root = subQuery
|
2019-08-11 12:13:59 +02:00
|
|
|
|
|
|
|
|
return subQuery
|
|
|
|
|
}
|