jet/sqlbuilder/types.go

72 lines
1.2 KiB
Go
Raw Normal View History

package sqlbuilder
// A clause that can be used in order by
type OrderByClause interface {
Clause
isOrderByClauseInterface
}
// A clause that is selectable.
2019-03-31 14:07:58 +02:00
//type Projection interface {
// Clause
// isProjectionInterface
//
// SerializeSqlForColumnList(out *bytes.Buffer) error
//}
2019-03-31 14:07:58 +02:00
//type ColumnList []Column
//
//func (cl ColumnList) SerializeSql(out *bytes.Buffer, options ...serializeOption) error {
// for i, column := range cl {
// column.SerializeSql(out)
//
// if i != len(cl)-1 {
// out.WriteString(", ")
// }
// }
// return nil
//}
//
//func (cl ColumnList) isProjectionType() {
//}
//
//func (cl ColumnList) As(name string) Clause {
// panic("Unallowed operation ")
//}
2019-03-15 21:25:24 +01:00
2019-03-31 14:07:58 +02:00
//func (cl ColumnList) SerializeSqlForColumnList(out *bytes.Buffer) error {
// for i, column := range cl {
// column.SerializeSqlForColumnList(out)
//
// if i != len(cl)-1 {
// out.WriteString(", ")
// }
// }
// return nil
//}
2019-03-15 21:25:24 +01:00
//
// Boiler plates ...
//
type isOrderByClauseInterface interface {
isOrderByClauseType()
}
type isOrderByClause struct {
}
func (o *isOrderByClause) isOrderByClauseType() {
}
2019-03-31 14:07:58 +02:00
//
//type isProjectionInterface interface {
// isProjectionType()
//}
//
//type isProjection struct {
//}
//
//func (p *isProjection) isProjectionType() {
//}