NobiGo commented on code in PR #3808:
URL: https://github.com/apache/calcite/pull/3808#discussion_r1626630209
##########
core/src/main/java/org/apache/calcite/sql/dialect/StarRocksSqlDialect.java:
##########
@@ -109,6 +109,20 @@ public StarRocksSqlDialect(Context context) {
@Override public @Nullable SqlNode getCastSpec(RelDataType type) {
switch (type.getSqlTypeName()) {
+ case INTEGER:
+ return new SqlDataTypeSpec(
+ new SqlAlienSystemTypeNameSpec(
+ "INT",
+ type.getSqlTypeName(),
+ SqlParserPos.ZERO),
+ SqlParserPos.ZERO);
+ case BIGINT:
+ return new SqlDataTypeSpec(
+ new SqlAlienSystemTypeNameSpec(
+ "BIGINT",
Review Comment:
Hi @fanluoo , AFAIK, If a datatype exists in SqlTypeName, Then we use the
SqlBasicTypeNameSpec, meas this datatype is a basic type in Calcite.
SqlAlienSystemTypeNameSpec represents a type name for an alien system. For
example, UNSIGNED is a built-in type in MySQL which is synonym of INTEGER. and
STRING is synonym of VARCHAR in Spark. UNSIGNED and STRING should used
SqlAlienSystemTypeNameSpec. So BIGINT should used the SqlBasicTypeNameSpec
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]