Remove unnecessary operators.

This commit is contained in:
go-jet 2019-08-09 10:30:24 +02:00
parent 6805462d10
commit d00167cbba
6 changed files with 15 additions and 47 deletions

View file

@ -99,8 +99,3 @@ func TestIntExpressionIntExp(t *testing.T) {
assertClauseSerialize(t, IntExp(table1ColFloat.ADD(table2ColFloat)).ADD(Int(11)), assertClauseSerialize(t, IntExp(table1ColFloat.ADD(table2ColFloat)).ADD(Int(11)),
"((table1.col_float + table2.col_float) + $1)", int64(11)) "((table1.col_float + table2.col_float) + $1)", int64(11))
} }
func TestIntExpression_MINUSi(t *testing.T) {
assertClauseSerialize(t, MINUSi(table2ColInt), "(- table2.col_int)")
assertClauseSerialize(t, MINUSi(Int(3)), "(- $1)", int64(3))
}

View file

@ -2,18 +2,6 @@ package jet
import "errors" import "errors"
// --------- Arithmetic operators -------------//
// MINUSi changes the sign of the intExp.
func MINUSi(intExp IntegerExpression) IntegerExpression {
return newPrefixIntegerOperator(intExp, "-")
}
// MINUSi changes the sign of the intExp.
func MINUSf(floatExp FloatExpression) FloatExpression {
return newPrefixFloatOperator(floatExp, "-")
}
//----------- Logical operators ---------------// //----------- Logical operators ---------------//
// NOT returns negation of bool expression result // NOT returns negation of bool expression result

View file

@ -27,8 +27,8 @@ var TRUNCATE = func(floatExpression jet.FloatExpression, precision jet.IntegerEx
return jet.NewFloatFunc("TRUNCATE", floatExpression, precision) return jet.NewFloatFunc("TRUNCATE", floatExpression, precision)
} }
var MINUSi = jet.MINUSi //var MINUSi = jet.MINUSi
var MINUSf = jet.MINUSf //var MINUSf = jet.MINUSf
var BIT_NOT = jet.BIT_NOT var BIT_NOT = jet.BIT_NOT
// ----------------- Aggregate functions -------------------// // ----------------- Aggregate functions -------------------//

View file

@ -2,20 +2,5 @@ package postgres
import "github.com/go-jet/jet/internal/jet" import "github.com/go-jet/jet/internal/jet"
// --------- Arithmetic operators -------------//
//var MINUSi = jet.MINUSi
var MINUSf = jet.MINUSf
//----------- Logical operators ---------------//
var NOT = jet.NOT var NOT = jet.NOT
var BIT_NOT = jet.BIT_NOT var BIT_NOT = jet.BIT_NOT
func MINUSi(intExp IntegerExpression) IntegerExpression {
if intLit, ok := intExp.(jet.LiteralExpression); ok {
intLit.SetConstant(true)
}
return intExp
}

View file

@ -344,8 +344,8 @@ func TestIntegerOperators(t *testing.T) {
AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"), AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"),
AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"), AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"),
BIT_NOT(MINUSi(AllTypes.SmallInt)).AS("bit_not_1"), BIT_NOT(Int(-1).MUL(AllTypes.SmallInt)).AS("bit_not_1"),
BIT_NOT(MINUSi(Int(11, true))).AS("bit_not_2"), BIT_NOT(Int(-1).MUL(Int(11))).AS("bit_not_2"),
AllTypes.SmallInt.BIT_SHIFT_LEFT(AllTypes.SmallInt.DIV(Int(2))).AS("bit shift left 1"), AllTypes.SmallInt.BIT_SHIFT_LEFT(AllTypes.SmallInt.DIV(Int(2))).AS("bit shift left 1"),
AllTypes.SmallInt.BIT_SHIFT_LEFT(Int(4)).AS("bit shift left 2"), AllTypes.SmallInt.BIT_SHIFT_LEFT(Int(4)).AS("bit shift left 2"),
@ -399,8 +399,8 @@ SELECT all_types.big_int AS "all_types.big_int",
(all_types.small_int | ?) AS "bit or 2", (all_types.small_int | ?) AS "bit or 2",
(all_types.small_int ^ all_types.small_int) AS "bit xor 1", (all_types.small_int ^ all_types.small_int) AS "bit xor 1",
(all_types.small_int ^ ?) AS "bit xor 2", (all_types.small_int ^ ?) AS "bit xor 2",
(~ (- all_types.small_int)) AS "bit_not_1", (~ (? * all_types.small_int)) AS "bit_not_1",
(~ (- 11)) AS "bit_not_2", (~ (? * ?)) AS "bit_not_2",
(all_types.small_int << (all_types.small_int DIV ?)) AS "bit shift left 1", (all_types.small_int << (all_types.small_int DIV ?)) AS "bit shift left 1",
(all_types.small_int << ?) AS "bit shift left 2", (all_types.small_int << ?) AS "bit shift left 2",
(all_types.small_int >> (all_types.small_int DIV ?)) AS "bit shift right 1", (all_types.small_int >> (all_types.small_int DIV ?)) AS "bit shift right 1",

View file

@ -466,8 +466,8 @@ func TestIntegerOperators(t *testing.T) {
AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"), AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"),
AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"), AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"),
BIT_NOT(MINUSi(AllTypes.SmallInt)).AS("bit_not_1"), BIT_NOT(Int(-1).MUL(AllTypes.SmallInt)).AS("bit_not_1"),
BIT_NOT(MINUSi(Int(11))).AS("bit_not_2"), BIT_NOT(Int(-11, true)).AS("bit_not_2"),
AllTypes.SmallInt.BIT_SHIFT_LEFT(AllTypes.SmallInt.DIV(Int(2))).AS("bit shift left 1"), AllTypes.SmallInt.BIT_SHIFT_LEFT(AllTypes.SmallInt.DIV(Int(2))).AS("bit shift left 1"),
AllTypes.SmallInt.BIT_SHIFT_LEFT(Int(4)).AS("bit shift left 2"), AllTypes.SmallInt.BIT_SHIFT_LEFT(Int(4)).AS("bit shift left 2"),
@ -521,17 +521,17 @@ SELECT all_types.big_int AS "all_types.big_int",
(all_types.small_int | $16) AS "bit or 2", (all_types.small_int | $16) AS "bit or 2",
(all_types.small_int # all_types.small_int) AS "bit xor 1", (all_types.small_int # all_types.small_int) AS "bit xor 1",
(all_types.small_int # $17) AS "bit xor 2", (all_types.small_int # $17) AS "bit xor 2",
(~ all_types.small_int) AS "bit_not_1", (~ ($18 * all_types.small_int)) AS "bit_not_1",
(~ 11) AS "bit_not_2", (~ -11) AS "bit_not_2",
(all_types.small_int << (all_types.small_int / $18)) AS "bit shift left 1", (all_types.small_int << (all_types.small_int / $19)) AS "bit shift left 1",
(all_types.small_int << $19) AS "bit shift left 2", (all_types.small_int << $20) AS "bit shift left 2",
(all_types.small_int >> (all_types.small_int / $20)) AS "bit shift right 1", (all_types.small_int >> (all_types.small_int / $21)) AS "bit shift right 1",
(all_types.small_int >> $21) AS "bit shift right 2", (all_types.small_int >> $22) AS "bit shift right 2",
ABS(all_types.big_int) AS "abs", ABS(all_types.big_int) AS "abs",
SQRT(ABS(all_types.big_int)) AS "sqrt", SQRT(ABS(all_types.big_int)) AS "sqrt",
CBRT(ABS(all_types.big_int)) AS "cbrt" CBRT(ABS(all_types.big_int)) AS "cbrt"
FROM test_sample.all_types FROM test_sample.all_types
LIMIT $22; LIMIT $23;
`) `)
var dest []struct { var dest []struct {