eldenmoon commented on code in PR #15491:
URL: https://github.com/apache/doris/pull/15491#discussion_r1071706562
##########
fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java:
##########
@@ -262,4 +262,106 @@ public boolean isNullable() {
public void finalizeImplForNereids() throws AnalysisException {
}
+
+ // Parse from binary data, the format follows mysql binary protocal
+ // see
https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_binary_resultset.html.
+ // Return next offset
+ public void setupParamFromBinary(ByteBuffer data) {
+ Preconditions.checkState(false,
+ "should implement this in derived class. " +
this.type.toSql());
+ }
+
+ public static LiteralExpr getLiteralByMysqlType(int mysqlType) throws
AnalysisException {
+ switch (mysqlType) {
+ // MYSQL_TYPE_TINY
+ case 1:
+ return LiteralExpr.create("0", Type.TINYINT);
+ // MYSQL_TYPE_SHORT
+ case 2:
+ return LiteralExpr.create("0", Type.SMALLINT);
+ // MYSQL_TYPE_LONG
+ case 3:
+ return LiteralExpr.create("0", Type.INT);
+ // MYSQL_TYPE_LONGLONG
+ case 8:
+ return LiteralExpr.create("0", Type.BIGINT);
+ // MYSQL_TYPE_FLOAT
+ case 4:
+ return LiteralExpr.create("0", Type.FLOAT);
+ // MYSQL_TYPE_DOUBLE
+ case 5:
+ return LiteralExpr.create("0", Type.DOUBLE);
+ // MYSQL_TYPE_DECIMAL
+ case 0:
+ // MYSQL_TYPE_NEWDECIMAL
+ case 246:
+ return LiteralExpr.create("0", Type.DECIMAL32);
+ // MYSQL_TYPE_TIME
+ case 11:
+ return LiteralExpr.create("", Type.TIME);
+ // MYSQL_TYPE_DATE
+ case 10:
+ return LiteralExpr.create("1970-01-01", Type.DATE);
Review Comment:
DATE or DATEV2 are all MYSQL_TYPE_DATE in mysql protocol
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]