You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2022/11/17 01:52:44 UTC

[GitHub] [pinot] agavra opened a new pull request, #9821: [multistage] add comparison tests

agavra opened a new pull request, #9821:
URL: https://github.com/apache/pinot/pull/9821

   adding comparison tests https://www.postgresql.org/docs/current/functions-comparison.html and also fixed a bug in the regex for finding segments


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] walterddr commented on a diff in pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9821:
URL: https://github.com/apache/pinot/pull/9821#discussion_r1025900679


##########
pinot-query-runtime/src/test/resources/queries/Comparisons.json:
##########
@@ -0,0 +1,516 @@
+{
+  "ints_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "INT"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "boolean_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "BOOLEAN"},
+          {"name": "i2", "type": "BOOLEAN"}
+        ],
+        "inputs": [
+          [true, true], [true, false], [false, true], [false, false]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "floats_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "doubles_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "DOUBLE"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-307, 1E+307]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "numerics_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "BIG_DECIMAL"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          ["1.1", "1.2"], ["1.01", "1.1"], ["1.1", "1.1"], ["-1.1", "-1.2"], ["0.0", "0.0"], ["1E-307", "1E+307"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      {
+        "ignored": true,
+        "comment": "fails with IllegalStateException... not sure why!",
+        "sql": "SELECT * FROM {tbl} WHERE i1 >= i2"
+      }
+    ]
+  },
+  "strings_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "STRING"},
+          {"name": "i2", "type": "STRING"}
+        ],
+        "inputs": [
+          ["foo", "foo"], ["foo", "bar"],
+          ["123", "123"], ["123", "321"],
+          ["alpha123", "alpha321"],
+          ["beta123", "gamma123"],
+          ["Οὐχὶ (greek)", "แสน (thai)"],
+          ["", ""],
+          ["", "foo"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "timestamps_comp": {
+    "ignored": true,
+    "comment": "we don't support timestamp comparisons",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "TIMESTAMP"},
+          {"name": "i2", "type": "TIMESTAMP"}
+        ],
+        "inputs": [
+          ["2020-01-01 03:32:12", "2020-01-01 03:32:12"],
+          ["2020-01-01 03:32:12", "2020-02-01 03:32:12"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      { "sql": "SELECT * FROM {tbl} WHERE i1 >= i2" }
+    ]
+  },
+  "int_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_float_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_numeric_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          [1, "2.0"], [1, "0.9"], [-1, "-2.0"], [0, "0.0"], [2147483647, "-2147483648"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1.1, 1], [0.01, 1], [1.1, 1], [-1.1, -1], [0.0, 0], [1E-37, 137]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2],
+          [1.01, 1.1],
+          [1.1, 1.1],
+          [-1.1, -1.2],
+          [0.0, 0.0],
+          [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      {
+        "ignored": true,

Review Comment:
   this might be related to the type hoisting PR. i will test it and see if it fixes this



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] codecov-commenter commented on pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on PR #9821:
URL: https://github.com/apache/pinot/pull/9821#issuecomment-1319275308

   # [Codecov](https://codecov.io/gh/apache/pinot/pull/9821?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#9821](https://codecov.io/gh/apache/pinot/pull/9821?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (4b5d0fb) into [master](https://codecov.io/gh/apache/pinot/commit/73e6129941d5099e83a0ceca1eae388a38f6b8c4?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (73e6129) will **increase** coverage by `10.27%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@              Coverage Diff              @@
   ##             master    #9821       +/-   ##
   =============================================
   + Coverage     24.55%   34.82%   +10.27%     
   - Complexity       53      190      +137     
   =============================================
     Files          1952     1964       +12     
     Lines        104676   105029      +353     
     Branches      15856    15894       +38     
   =============================================
   + Hits          25700    36579    +10879     
   + Misses        76347    65353    -10994     
   - Partials       2629     3097      +468     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | integration1 | `25.29% <ø> (?)` | |
   | integration2 | `?` | |
   | unittests2 | `15.76% <ø> (?)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/pinot/pull/9821?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [.../apache/pinot/server/access/RequesterIdentity.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3Qvc2VydmVyL2FjY2Vzcy9SZXF1ZXN0ZXJJZGVudGl0eS5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...pinot/core/data/manager/realtime/TimerService.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9kYXRhL21hbmFnZXIvcmVhbHRpbWUvVGltZXJTZXJ2aWNlLmphdmE=) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...t/core/plan/StreamingInstanceResponsePlanNode.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9wbGFuL1N0cmVhbWluZ0luc3RhbmNlUmVzcG9uc2VQbGFuTm9kZS5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...ore/operator/streaming/StreamingResponseUtils.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9zdHJlYW1pbmcvU3RyZWFtaW5nUmVzcG9uc2VVdGlscy5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...server/starter/helix/SegmentReloadStatusValue.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3Qtc2VydmVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zZXJ2ZXIvc3RhcnRlci9oZWxpeC9TZWdtZW50UmVsb2FkU3RhdHVzVmFsdWUuamF2YQ==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...ager/realtime/PeerSchemeSplitSegmentCommitter.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9kYXRhL21hbmFnZXIvcmVhbHRpbWUvUGVlclNjaGVtZVNwbGl0U2VnbWVudENvbW1pdHRlci5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...form/function/IsDistinctFromTransformFunction.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci90cmFuc2Zvcm0vZnVuY3Rpb24vSXNEaXN0aW5jdEZyb21UcmFuc2Zvcm1GdW5jdGlvbi5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...m/function/IsNotDistinctFromTransformFunction.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci90cmFuc2Zvcm0vZnVuY3Rpb24vSXNOb3REaXN0aW5jdEZyb21UcmFuc2Zvcm1GdW5jdGlvbi5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...urces/ServerReloadControllerJobStatusResponse.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci9hcGkvcmVzb3VyY2VzL1NlcnZlclJlbG9hZENvbnRyb2xsZXJKb2JTdGF0dXNSZXNwb25zZS5qYXZh) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | [...he/pinot/common/utils/grpc/GrpcRequestBuilder.java](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvZ3JwYy9HcnBjUmVxdWVzdEJ1aWxkZXIuamF2YQ==) | `0.00% <0.00%> (-90.91%)` | :arrow_down: |
   | ... and [630 more](https://codecov.io/gh/apache/pinot/pull/9821/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] walterddr merged pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
walterddr merged PR #9821:
URL: https://github.com/apache/pinot/pull/9821


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] walterddr commented on a diff in pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9821:
URL: https://github.com/apache/pinot/pull/9821#discussion_r1025750516


##########
pinot-query-runtime/src/test/resources/queries/Comparisons.json:
##########
@@ -0,0 +1,481 @@
+{
+  "ints": {

Review Comment:
   nit: this could be improvement points on the test framework side. 
   
   but since we don't differentiate tables registered by different files. might be great to add a more unique name of the test such as `ints_comparison` this is to avoid registering 2 `ints_tbl` from 2 different test json files



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] 61yao commented on a diff in pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
61yao commented on code in PR #9821:
URL: https://github.com/apache/pinot/pull/9821#discussion_r1025886153


##########
pinot-query-runtime/src/test/resources/queries/Comparisons.json:
##########
@@ -0,0 +1,481 @@
+{
+  "ints_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "INT"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "floats_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "doubles_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "DOUBLE"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-307, 1E+307]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "numerics_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "BIG_DECIMAL"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          ["1.1", "1.2"], ["1.01", "1.1"], ["1.1", "1.1"], ["-1.1", "-1.2"], ["0.0", "0.0"], ["1E-307", "1E+307"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "strings_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "STRING"},
+          {"name": "i2", "type": "STRING"}
+        ],
+        "inputs": [
+          ["foo", "foo"], ["foo", "bar"],
+          ["123", "123"], ["123", "321"],
+          ["alpha123", "alpha321"],
+          ["beta123", "gamma123"],
+          ["Οὐχὶ (greek)", "แสน (thai)"],
+          ["", ""],
+          ["", "foo"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "timestamps_comp": {
+    "ignored": true,
+    "comment": "we don't support timestamp comparisons",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "TIMESTAMP"},
+          {"name": "i2", "type": "TIMESTAMP"}
+        ],
+        "inputs": [
+          ["2020-01-01 03:32:12", "2020-01-01 03:32:12"],
+          ["2020-01-01 03:32:12", "2020-02-01 03:32:12"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_float_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_numeric_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          [1, "2.0"], [1, "0.9"], [-1, "-2.0"], [0, "0.0"], [2147483647, "-2147483648"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1.1, 1], [0.01, 1], [1.1, 1], [-1.1, -1], [0.0, 0], [1E-37, 137]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2],
+          [1.01, 1.1],
+          [1.1, 1.1],
+          [-1.1, -1.2],
+          [0.0, 0.0],
+          [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}"
+      }
+    ]
+  },
+  "float_x_numeric_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          [1.1, "2.0"], [1.1, "0.9"], [-1.1, "-2.0"], [0.0, "0.0"], [2147.483647, "-2147483648"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "between_ints": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "INT"},
+          {"name": "small", "type": "INT"},
+          {"name": "big", "type": "INT"}
+        ],
+        "inputs": [
+          [1, 2, 3], [1, 1, 1], [-1, -3, -2], [0, -1, 1], [0, 2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" },
+      {
+        "ignored": true,
+        "comment": "SYMMETRIC not supported",
+        "sql": "SELECT val BETWEEN SYMMETRIC small AND big FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "SYMMETRIC not supported",
+        "sql": "SELECT val BETWEEN SYMMETRIC big AND small FROM {tbl}"
+      }
+    ]
+  },
+  "between_bigints": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "LONG"},
+          {"name": "small", "type": "LONG"},
+          {"name": "big", "type": "LONG"}
+        ],
+        "inputs": [
+          [1, 2, 3], [1, 1, 1], [-1, -3, -2], [0, -1, 1], [0, 2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT * FROM {tbl}"},
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_floats": {
+    "psql": "9.2",
+    "comment": "floats silently fail (don't return any rows)",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "FLOAT"},
+          {"name": "small", "type": "FLOAT"},
+          {"name": "big", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1.5, 1.1, 2.1], [1.1, 1.1, 1.1], [-1.1, -3.1, -2.1], [0.0, -1.0, 1.0], [0.0, 2147483647.0, -2147483648.0]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_doubles": {
+    "comment": "doubles silently fail (don't return any rows)",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "DOUBLE"},
+          {"name": "small", "type": "DOUBLE"},
+          {"name": "big", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.5, 1.1, 2.1], [1.1, 1.1, 1.1], [-1.1, -3.1, -2.1], [0.0, -1.0, 1.0], [0.0, 2147483647.0, -2147483648.0]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_numerics": {
+    "comment": "big decimal silently fails (doesn't throw exception, but returns no rows)",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "BIG_DECIMAL"},
+          {"name": "small", "type": "BIG_DECIMAL"},
+          {"name": "big", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          ["1.5", "1.1", "2.1"], ["1.1", "1.1", "1.1"], ["-1.1", "-3.1", "-2.1"],
+          ["0.0", "-1.0", "1.0"], ["0.0", "2147483647.0", "-2147483648.0"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_different_types": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "a", "type": "INT"},
+          {"name": "b", "type": "FLOAT"},
+          {"name": "c", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1, 2.0, 3.0], [2, 3.0, 1.0], [3, 1.0, 2]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT a BETWEEN b AND c FROM {tbl}" },
+      { "sql": "SELECT b BETWEEN c AND a FROM {tbl}" },
+      { "sql": "SELECT c BETWEEN a AND b FROM {tbl}" }
+    ]
+  }
+}

Review Comment:
   Can we add boolean comparison? Can we also test them in where clause? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] agavra commented on a diff in pull request #9821: [multistage] add comparison tests

Posted by GitBox <gi...@apache.org>.
agavra commented on code in PR #9821:
URL: https://github.com/apache/pinot/pull/9821#discussion_r1025887664


##########
pinot-query-runtime/src/test/resources/queries/Comparisons.json:
##########
@@ -0,0 +1,481 @@
+{
+  "ints_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "INT"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "floats_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "doubles_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "DOUBLE"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2], [1.01, 1.1], [1.1, 1.1], [-1.1, -1.2], [0.0, 0.0], [1E-307, 1E+307]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "numerics_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "BIG_DECIMAL"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          ["1.1", "1.2"], ["1.01", "1.1"], ["1.1", "1.1"], ["-1.1", "-1.2"], ["0.0", "0.0"], ["1E-307", "1E+307"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "strings_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "STRING"},
+          {"name": "i2", "type": "STRING"}
+        ],
+        "inputs": [
+          ["foo", "foo"], ["foo", "bar"],
+          ["123", "123"], ["123", "321"],
+          ["alpha123", "alpha321"],
+          ["beta123", "gamma123"],
+          ["Οὐχὶ (greek)", "แสน (thai)"],
+          ["", ""],
+          ["", "foo"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "timestamps_comp": {
+    "ignored": true,
+    "comment": "we don't support timestamp comparisons",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "TIMESTAMP"},
+          {"name": "i2", "type": "TIMESTAMP"}
+        ],
+        "inputs": [
+          ["2020-01-01 03:32:12", "2020-01-01 03:32:12"],
+          ["2020-01-01 03:32:12", "2020-02-01 03:32:12"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1, 2], [1, 1], [-1, -2], [0, 0], [2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_float_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1, 2.0], [1, 0.9], [-1, -2.0], [0, 0.0], [2147483647, -2147483648.001]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "int_x_numeric_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "INT"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          [1, "2.0"], [1, "0.9"], [-1, "-2.0"], [0, "0.0"], [2147483647, "-2147483648"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_bigint_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "LONG"}
+        ],
+        "inputs": [
+          [1.1, 1], [0.01, 1], [1.1, 1], [-1.1, -1], [0.0, 0], [1E-37, 137]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "float_x_double_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.1, 1.2],
+          [1.01, 1.1],
+          [1.1, 1.1],
+          [-1.1, -1.2],
+          [0.0, 0.0],
+          [1E-37, 1E+37]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "we don't handle equality checks correctly for float/double",
+        "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}"
+      }
+    ]
+  },
+  "float_x_numeric_comp": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "i1", "type": "FLOAT"},
+          {"name": "i2", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          [1.1, "2.0"], [1.1, "0.9"], [-1.1, "-2.0"], [0.0, "0.0"], [2147.483647, "-2147483648"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 < i2, i2 < i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <= i2, i2 <= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 > i2, i2 > i1 FROM {tbl}" },
+      { "sql": "SELECT i1 >= i2, i2 >= i1 FROM {tbl}" },
+      { "sql": "SELECT i1 != i2, i2 != i1 FROM {tbl}" },
+      { "sql": "SELECT i1 <> i2, i2 <> i1 FROM {tbl}" },
+      { "sql": "SELECT i1 = i2, i2 = i1 FROM {tbl}" },
+      { "sql": "SELECT i1 IS DISTINCT FROM i2, i2 IS DISTINCT FROM i1 FROM {tbl}" }
+    ]
+  },
+  "between_ints": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "INT"},
+          {"name": "small", "type": "INT"},
+          {"name": "big", "type": "INT"}
+        ],
+        "inputs": [
+          [1, 2, 3], [1, 1, 1], [-1, -3, -2], [0, -1, 1], [0, 2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" },
+      {
+        "ignored": true,
+        "comment": "SYMMETRIC not supported",
+        "sql": "SELECT val BETWEEN SYMMETRIC small AND big FROM {tbl}"
+      },
+      {
+        "ignored": true,
+        "comment": "SYMMETRIC not supported",
+        "sql": "SELECT val BETWEEN SYMMETRIC big AND small FROM {tbl}"
+      }
+    ]
+  },
+  "between_bigints": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "LONG"},
+          {"name": "small", "type": "LONG"},
+          {"name": "big", "type": "LONG"}
+        ],
+        "inputs": [
+          [1, 2, 3], [1, 1, 1], [-1, -3, -2], [0, -1, 1], [0, 2147483647, -2147483648]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT * FROM {tbl}"},
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_floats": {
+    "psql": "9.2",
+    "comment": "floats silently fail (don't return any rows)",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "FLOAT"},
+          {"name": "small", "type": "FLOAT"},
+          {"name": "big", "type": "FLOAT"}
+        ],
+        "inputs": [
+          [1.5, 1.1, 2.1], [1.1, 1.1, 1.1], [-1.1, -3.1, -2.1], [0.0, -1.0, 1.0], [0.0, 2147483647.0, -2147483648.0]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_doubles": {
+    "comment": "doubles silently fail (don't return any rows)",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "DOUBLE"},
+          {"name": "small", "type": "DOUBLE"},
+          {"name": "big", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1.5, 1.1, 2.1], [1.1, 1.1, 1.1], [-1.1, -3.1, -2.1], [0.0, -1.0, 1.0], [0.0, 2147483647.0, -2147483648.0]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_numerics": {
+    "comment": "big decimal silently fails (doesn't throw exception, but returns no rows)",
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "val", "type": "BIG_DECIMAL"},
+          {"name": "small", "type": "BIG_DECIMAL"},
+          {"name": "big", "type": "BIG_DECIMAL"}
+        ],
+        "inputs": [
+          ["1.5", "1.1", "2.1"], ["1.1", "1.1", "1.1"], ["-1.1", "-3.1", "-2.1"],
+          ["0.0", "-1.0", "1.0"], ["0.0", "2147483647.0", "-2147483648.0"]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
+      { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+    ]
+  },
+  "between_different_types": {
+    "psql": "9.2",
+    "tables": {
+      "tbl": {
+        "schema": [
+          {"name": "a", "type": "INT"},
+          {"name": "b", "type": "FLOAT"},
+          {"name": "c", "type": "DOUBLE"}
+        ],
+        "inputs": [
+          [1, 2.0, 3.0], [2, 3.0, 1.0], [3, 1.0, 2]
+        ]
+      }
+    },
+    "queries": [
+      { "sql": "SELECT a BETWEEN b AND c FROM {tbl}" },
+      { "sql": "SELECT b BETWEEN c AND a FROM {tbl}" },
+      { "sql": "SELECT c BETWEEN a AND b FROM {tbl}" }
+    ]
+  }
+}

Review Comment:
   👍 added the boolean =/<> in the other PR, adding failure tests here and where clauses as well



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org