From d00167cbba8eec59573e047afaeb07283e71da04 Mon Sep 17 00:00:00 2001 From: go-jet Date: Fri, 9 Aug 2019 10:30:24 +0200 Subject: [PATCH] Remove unnecessary operators. --- internal/jet/integer_expression_test.go | 5 ----- internal/jet/operators.go | 12 ------------ mysql/functions.go | 4 ++-- postgres/operators.go | 15 --------------- tests/mysql/alltypes_test.go | 8 ++++---- tests/postgres/alltypes_test.go | 18 +++++++++--------- 6 files changed, 15 insertions(+), 47 deletions(-) diff --git a/internal/jet/integer_expression_test.go b/internal/jet/integer_expression_test.go index c184984..5496da5 100644 --- a/internal/jet/integer_expression_test.go +++ b/internal/jet/integer_expression_test.go @@ -99,8 +99,3 @@ func TestIntExpressionIntExp(t *testing.T) { assertClauseSerialize(t, IntExp(table1ColFloat.ADD(table2ColFloat)).ADD(Int(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)) -} diff --git a/internal/jet/operators.go b/internal/jet/operators.go index d233a2b..0b43431 100644 --- a/internal/jet/operators.go +++ b/internal/jet/operators.go @@ -2,18 +2,6 @@ package jet 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 ---------------// // NOT returns negation of bool expression result diff --git a/mysql/functions.go b/mysql/functions.go index 3c9bffe..981580a 100644 --- a/mysql/functions.go +++ b/mysql/functions.go @@ -27,8 +27,8 @@ var TRUNCATE = func(floatExpression jet.FloatExpression, precision jet.IntegerEx return jet.NewFloatFunc("TRUNCATE", floatExpression, precision) } -var MINUSi = jet.MINUSi -var MINUSf = jet.MINUSf +//var MINUSi = jet.MINUSi +//var MINUSf = jet.MINUSf var BIT_NOT = jet.BIT_NOT // ----------------- Aggregate functions -------------------// diff --git a/postgres/operators.go b/postgres/operators.go index 6f50818..62ab2fd 100644 --- a/postgres/operators.go +++ b/postgres/operators.go @@ -2,20 +2,5 @@ package postgres 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 BIT_NOT = jet.BIT_NOT - -func MINUSi(intExp IntegerExpression) IntegerExpression { - if intLit, ok := intExp.(jet.LiteralExpression); ok { - intLit.SetConstant(true) - } - - return intExp -} diff --git a/tests/mysql/alltypes_test.go b/tests/mysql/alltypes_test.go index 2eb65a3..c305c26 100644 --- a/tests/mysql/alltypes_test.go +++ b/tests/mysql/alltypes_test.go @@ -344,8 +344,8 @@ func TestIntegerOperators(t *testing.T) { AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"), AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"), - BIT_NOT(MINUSi(AllTypes.SmallInt)).AS("bit_not_1"), - BIT_NOT(MINUSi(Int(11, true))).AS("bit_not_2"), + BIT_NOT(Int(-1).MUL(AllTypes.SmallInt)).AS("bit_not_1"), + 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(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 ^ all_types.small_int) AS "bit xor 1", (all_types.small_int ^ ?) AS "bit xor 2", - (~ (- all_types.small_int)) AS "bit_not_1", - (~ (- 11)) AS "bit_not_2", + (~ (? * all_types.small_int)) AS "bit_not_1", + (~ (? * ?)) AS "bit_not_2", (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 >> (all_types.small_int DIV ?)) AS "bit shift right 1", diff --git a/tests/postgres/alltypes_test.go b/tests/postgres/alltypes_test.go index 2765333..7573c35 100644 --- a/tests/postgres/alltypes_test.go +++ b/tests/postgres/alltypes_test.go @@ -466,8 +466,8 @@ func TestIntegerOperators(t *testing.T) { AllTypes.SmallInt.BIT_XOR(AllTypes.SmallInt).AS("bit xor 1"), AllTypes.SmallInt.BIT_XOR(Int(11)).AS("bit xor 2"), - BIT_NOT(MINUSi(AllTypes.SmallInt)).AS("bit_not_1"), - BIT_NOT(MINUSi(Int(11))).AS("bit_not_2"), + BIT_NOT(Int(-1).MUL(AllTypes.SmallInt)).AS("bit_not_1"), + 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(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 # all_types.small_int) AS "bit xor 1", (all_types.small_int # $17) AS "bit xor 2", - (~ all_types.small_int) AS "bit_not_1", - (~ 11) AS "bit_not_2", - (all_types.small_int << (all_types.small_int / $18)) AS "bit shift left 1", - (all_types.small_int << $19) AS "bit shift left 2", - (all_types.small_int >> (all_types.small_int / $20)) AS "bit shift right 1", - (all_types.small_int >> $21) AS "bit shift right 2", + (~ ($18 * all_types.small_int)) AS "bit_not_1", + (~ -11) AS "bit_not_2", + (all_types.small_int << (all_types.small_int / $19)) AS "bit shift left 1", + (all_types.small_int << $20) AS "bit shift left 2", + (all_types.small_int >> (all_types.small_int / $21)) AS "bit shift right 1", + (all_types.small_int >> $22) AS "bit shift right 2", ABS(all_types.big_int) AS "abs", SQRT(ABS(all_types.big_int)) AS "sqrt", CBRT(ABS(all_types.big_int)) AS "cbrt" FROM test_sample.all_types -LIMIT $22; +LIMIT $23; `) var dest []struct {