Strictly type Integer and Real expressions.
This commit is contained in:
parent
7f5ba98819
commit
2b6288d317
32 changed files with 640 additions and 547 deletions
|
|
@ -1,73 +1,73 @@
|
|||
package sqlbuilder
|
||||
|
||||
type boolExpression interface {
|
||||
type BoolExpression interface {
|
||||
expression
|
||||
|
||||
EQ(expression boolExpression) boolExpression
|
||||
NOT_EQ(expression boolExpression) boolExpression
|
||||
IS_DISTINCT_FROM(rhs boolExpression) boolExpression
|
||||
IS_NOT_DISTINCT_FROM(rhs boolExpression) boolExpression
|
||||
EQ(expression BoolExpression) BoolExpression
|
||||
NOT_EQ(expression BoolExpression) BoolExpression
|
||||
IS_DISTINCT_FROM(rhs BoolExpression) BoolExpression
|
||||
IS_NOT_DISTINCT_FROM(rhs BoolExpression) BoolExpression
|
||||
|
||||
IS_TRUE() boolExpression
|
||||
IS_NOT_TRUE() boolExpression
|
||||
IS_FALSE() boolExpression
|
||||
IS_NOT_FALSE() boolExpression
|
||||
IS_UNKNOWN() boolExpression
|
||||
IS_NOT_UNKNOWN() boolExpression
|
||||
IS_TRUE() BoolExpression
|
||||
IS_NOT_TRUE() BoolExpression
|
||||
IS_FALSE() BoolExpression
|
||||
IS_NOT_FALSE() BoolExpression
|
||||
IS_UNKNOWN() BoolExpression
|
||||
IS_NOT_UNKNOWN() BoolExpression
|
||||
|
||||
AND(expression boolExpression) boolExpression
|
||||
OR(expression boolExpression) boolExpression
|
||||
AND(expression BoolExpression) BoolExpression
|
||||
OR(expression BoolExpression) BoolExpression
|
||||
}
|
||||
|
||||
type boolInterfaceImpl struct {
|
||||
parent boolExpression
|
||||
parent BoolExpression
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) EQ(expression boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) EQ(expression BoolExpression) BoolExpression {
|
||||
return EQ(b.parent, expression)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) NOT_EQ(expression boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) NOT_EQ(expression BoolExpression) BoolExpression {
|
||||
return NOT_EQ(b.parent, expression)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_DISTINCT_FROM(rhs boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_DISTINCT_FROM(rhs BoolExpression) BoolExpression {
|
||||
return IS_DISTINCT_FROM(b.parent, rhs)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_NOT_DISTINCT_FROM(rhs boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_NOT_DISTINCT_FROM(rhs BoolExpression) BoolExpression {
|
||||
return IS_NOT_DISTINCT_FROM(b.parent, rhs)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) AND(expression boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) AND(expression BoolExpression) BoolExpression {
|
||||
return And(b.parent, expression)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) OR(expression boolExpression) boolExpression {
|
||||
func (b *boolInterfaceImpl) OR(expression BoolExpression) BoolExpression {
|
||||
return Or(b.parent, expression)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_TRUE() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_TRUE() BoolExpression {
|
||||
return IS_TRUE(b.parent)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_NOT_TRUE() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_NOT_TRUE() BoolExpression {
|
||||
return IS_NOT_TRUE(b.parent)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_FALSE() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_FALSE() BoolExpression {
|
||||
return IS_FALSE(b.parent)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_NOT_FALSE() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_NOT_FALSE() BoolExpression {
|
||||
return IS_NOT_FALSE(b.parent)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_UNKNOWN() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_UNKNOWN() BoolExpression {
|
||||
return IS_UNKNOWN(b.parent)
|
||||
}
|
||||
|
||||
func (b *boolInterfaceImpl) IS_NOT_UNKNOWN() boolExpression {
|
||||
func (b *boolInterfaceImpl) IS_NOT_UNKNOWN() BoolExpression {
|
||||
return IS_NOT_UNKNOWN(b.parent)
|
||||
}
|
||||
|
||||
|
|
@ -79,7 +79,7 @@ type binaryBoolExpression struct {
|
|||
binaryOpExpression
|
||||
}
|
||||
|
||||
func newBinaryBoolExpression(lhs, rhs expression, operator string) boolExpression {
|
||||
func newBinaryBoolExpression(lhs, rhs expression, operator string) BoolExpression {
|
||||
boolExpression := binaryBoolExpression{}
|
||||
|
||||
boolExpression.binaryOpExpression = newBinaryExpression(lhs, rhs, operator)
|
||||
|
|
@ -97,7 +97,7 @@ type prefixBoolExpression struct {
|
|||
prefixOpExpression
|
||||
}
|
||||
|
||||
func newPrefixBoolExpression(expression expression, operator string) boolExpression {
|
||||
func newPrefixBoolExpression(expression expression, operator string) BoolExpression {
|
||||
exp := prefixBoolExpression{}
|
||||
exp.prefixOpExpression = newPrefixExpression(expression, operator)
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ type postfixBoolOpExpression struct {
|
|||
postfixOpExpression
|
||||
}
|
||||
|
||||
func newPostifxBoolExpression(expression expression, operator string) boolExpression {
|
||||
func newPostifxBoolExpression(expression expression, operator string) BoolExpression {
|
||||
exp := postfixBoolOpExpression{}
|
||||
exp.postfixOpExpression = newPostfixOpExpression(expression, operator)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue