Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Commit 9baa5ff

Browse files
committed
Update time functions
1 parent 0fe1f3e commit 9baa5ff

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

platform/frontend_connectors/schema_transformer.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,10 +912,14 @@ func (s *SchemaCheckPass) convertQueryDateTimeFunctionToClickhouse(indexSchema s
912912
}
913913
return model.NewFunction("toHour", e.Args[0].Accept(b).(model.Expr))
914914

915-
case model.FromUnixTimeFunction:
915+
case model.FromUnixTimeFunction64mili:
916916
args := b.VisitChildren(e.Args)
917917
return model.NewFunction("fromUnixTimestamp64Milli", args...)
918918

919+
case model.FromUnixTimeFunction:
920+
args := b.VisitChildren(e.Args)
921+
return model.NewFunction("fromUnixTimestamp", args...)
922+
919923
default:
920924
return visitFunction(b, e)
921925
}
@@ -946,6 +950,9 @@ func (s *SchemaCheckPass) convertQueryDateTimeFunctionToDoris(indexSchema schema
946950
args := b.VisitChildren(e.Args)
947951
return model.NewFunction("FROM_UNIXTIME", args...)
948952

953+
case model.FromUnixTimeFunction64mili:
954+
args := b.VisitChildren(e.Args)
955+
return model.NewFunction("FROM_MILLISECOND", args...)
949956
default:
950957
return visitFunction(b, e)
951958
}

platform/model/constants.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ const (
77
FullTextFieldNamePlaceHolder = "__quesma_fulltext_field_name"
88
TimestampFieldName = "@timestamp"
99

10-
DateHourFunction = "__quesma_date_hour"
11-
MatchOperator = "__quesma_match"
12-
FromUnixTimeFunction = "__quesma_from_unixtime"
10+
DateHourFunction = "__quesma_date_hour"
11+
MatchOperator = "__quesma_match"
12+
FromUnixTimeFunction = "__quesma_from_unixtime"
13+
FromUnixTimeFunction64mili = "__quesma_from_unixtime64mili"
1314
)

platform/parsers/elastic_query_dsl/dates.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (dm DateManager) ParseDateUsualFormat(exprFromRequest any, datetimeType dat
8585
case database_common.DateTime64:
8686
threeDigitsOfPrecisionSuffice := utcTs.UnixNano()%1_000_000 == 0
8787
if threeDigitsOfPrecisionSuffice {
88-
return model.NewFunction(model.FromUnixTimeFunction, addFormat(utcTs.UnixMilli())), true
88+
return model.NewFunction(model.FromUnixTimeFunction64mili, addFormat(utcTs.UnixMilli())), true
8989
} else {
9090
return model.NewFunction(
9191
"toDateTime64",
@@ -98,7 +98,7 @@ func (dm DateManager) ParseDateUsualFormat(exprFromRequest any, datetimeType dat
9898
), true
9999
}
100100
case database_common.DateTime:
101-
return model.NewFunction("fromUnixTimestamp", addFormat(utcTs.Unix())), true
101+
return model.NewFunction(model.FromUnixTimeFunction, addFormat(utcTs.Unix())), true
102102
default:
103103
logger.WarnWithCtx(dm.ctx).Msgf("Unknown datetimeType: %v", datetimeType)
104104
}

0 commit comments

Comments
 (0)