Support for raw sql input.
This commit is contained in:
parent
384c0c67f5
commit
8f51662fe5
31 changed files with 307 additions and 279 deletions
|
|
@ -181,7 +181,7 @@ type nullLiteral struct {
|
|||
expressionInterfaceImpl
|
||||
}
|
||||
|
||||
func newNullLiteral() expression {
|
||||
func newNullLiteral() Expression {
|
||||
nullExpression := &nullLiteral{}
|
||||
|
||||
nullExpression.expressionInterfaceImpl.parent = nullExpression
|
||||
|
|
@ -199,7 +199,7 @@ type starLiteral struct {
|
|||
expressionInterfaceImpl
|
||||
}
|
||||
|
||||
func newStarLiteral() expression {
|
||||
func newStarLiteral() Expression {
|
||||
starExpression := &starLiteral{}
|
||||
|
||||
starExpression.expressionInterfaceImpl.parent = starExpression
|
||||
|
|
@ -216,7 +216,7 @@ func (n *starLiteral) serialize(statement statementType, out *queryData, options
|
|||
|
||||
type wrap struct {
|
||||
expressionInterfaceImpl
|
||||
expressions []expression
|
||||
expressions []Expression
|
||||
}
|
||||
|
||||
func (n *wrap) serialize(statement statementType, out *queryData, options ...serializeOption) error {
|
||||
|
|
@ -226,9 +226,28 @@ func (n *wrap) serialize(statement statementType, out *queryData, options ...ser
|
|||
return err
|
||||
}
|
||||
|
||||
func WRAP(expression ...expression) expression {
|
||||
func WRAP(expression ...Expression) Expression {
|
||||
wrap := &wrap{expressions: expression}
|
||||
wrap.expressionInterfaceImpl.parent = wrap
|
||||
|
||||
return wrap
|
||||
}
|
||||
|
||||
//---------------------------------------------------//
|
||||
|
||||
type rawExpression struct {
|
||||
expressionInterfaceImpl
|
||||
raw string
|
||||
}
|
||||
|
||||
func (n *rawExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
|
||||
out.writeString(n.raw)
|
||||
return nil
|
||||
}
|
||||
|
||||
func RAW(raw string) Expression {
|
||||
rawExp := &rawExpression{raw: raw}
|
||||
rawExp.expressionInterfaceImpl.parent = rawExp
|
||||
|
||||
return rawExp
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue