[CALCITE-4471] Support ignoring SYMMETRIC/ASYMMETRIC flag for between unparse#4817
[CALCITE-4471] Support ignoring SYMMETRIC/ASYMMETRIC flag for between unparse#4817wForget wants to merge 4 commits intoapache:mainfrom
SYMMETRIC/ASYMMETRIC flag for between unparse#4817Conversation
…ASYMMETRIC" or "SYMMETRIC" flag Signed-off-by: wforget <643348094@qq.com>
Signed-off-by: wforget <643348094@qq.com>
…m this change is correct) Signed-off-by: wforget <643348094@qq.com>
|
@julianhyde Could you please take a look? |
SYMMETRIC/ASYMMETRIC flag for between unparse
| call.operand(VALUE_OPERAND).unparse(writer, getLeftPrec(), 0); | ||
| writer.sep(super.getName()); | ||
| writer.sep(flag.name()); | ||
| if (writer.getDialect().supportsSQL99Between()) { |
There was a problem hiding this comment.
There were some comments on the issue about SYMMETRIC that needs to output an OR of two BETWEEN conditions. Where does this happen?
There was a problem hiding this comment.
Thank you for pointing that out — I missed that comment. It seems we're doing this conversion in toRel
There was a problem hiding this comment.
If the conversion was done in the convertlet table, you will never see this operator in your conversion, so there is nothing to do. You are handling the case when the conversion was not made.
There was a problem hiding this comment.
If the conversion was done in the convertlet table, you will never see this operator in your conversion, so there is nothing to do. You are handling the case when the conversion was not made.
Makes sense
Thanks to @hannerwang for his work on #2328, which I wanted to take over since it hadn't been active for a long time. I also tagged @hannerwang as an author in the first commit. Fix CALCITE-4471 and CALCITE-5279
Spark/Hive/Starrocksdo not support the "SYMMETRIC/ASYMMETRIC" between flags.Additionally, since
Fireboltis not open source and I couldn't find theFireboltSQL syntax definition file to determine if it applies to this change, I didn't change FireboltSqlDialect.