-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support user-defined and incomplete date formats #273
Support user-defined and incomplete date formats #273
Conversation
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Show resolved
Hide resolved
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Show resolved
Hide resolved
...earch/src/main/java/org/opensearch/sql/opensearch/data/value/OpenSearchExprValueFactory.java
Show resolved
Hide resolved
This comment was marked as spam.
This comment was marked as spam.
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
integ-test/src/test/resources/indexDefinitions/date_formats_index_mapping.json
Show resolved
Hide resolved
{"index": {}} | ||
{"epoch_millis": "450608862000.123456", "epoch_second": "450608862.000123456", "date_optional_time": "1984-04-12T09:07:42.000Z", "strict_date_optional_time": "1984-04-12T09:07:42.000Z", "strict_date_optional_time_nanos": "1984-04-12T09:07:42.000123456Z", "basic_date": "19840412", "basic_date_time": "19840412T090742.000Z", "basic_date_time_no_millis": "19840412T090742Z", "basic_ordinal_date": "1984103", "basic_ordinal_date_time": "1984103T090742.000Z", "basic_ordinal_date_time_no_millis": "1984103T090742Z", "basic_time": "090742.000Z", "basic_time_no_millis": "090742Z", "basic_t_time": "T090742.000Z", "basic_t_time_no_millis": "T090742Z", "basic_week_date": "1984W154", "strict_basic_week_date": "1984W154", "basic_week_date_time": "1984W154T090742.000Z", "strict_basic_week_date_time": "1984W154T090742.000Z", "basic_week_date_time_no_millis": "1984W154T090742Z", "strict_basic_week_date_time_no_millis": "1984W154T090742Z", "date": "1984-04-12", "strict_date": "1984-04-12", "date_hour": "1984-04-12T09", "strict_date_hour": "1984-04-12T09", "date_hour_minute": "1984-04-12T09:07", "strict_date_hour_minute": "1984-04-12T09:07", "date_hour_minute_second": "1984-04-12T09:07:42", "strict_date_hour_minute_second": "1984-04-12T09:07:42", "date_hour_minute_second_fraction": "1984-04-12T09:07:42.000", "strict_date_hour_minute_second_fraction": "1984-04-12T09:07:42.000", "date_hour_minute_second_millis": "1984-04-12T09:07:42.000", "strict_date_hour_minute_second_millis": "1984-04-12T09:07:42.000", "date_time": "1984-04-12T09:07:42.000Z", "strict_date_time": "1984-04-12T09:07:42.000123456Z", "date_time_no_millis": "1984-04-12T09:07:42Z", "strict_date_time_no_millis": "1984-04-12T09:07:42Z", "hour": "09", "strict_hour": "09", "hour_minute": "09:07", "strict_hour_minute": "09:07", "hour_minute_second": "09:07:42", "strict_hour_minute_second": "09:07:42", "hour_minute_second_fraction": "09:07:42.000", "strict_hour_minute_second_fraction": "09:07:42.000", "hour_minute_second_millis": "09:07:42.000", "strict_hour_minute_second_millis": "09:07:42.000", "ordinal_date": "1984-103", "strict_ordinal_date": "1984-103", "ordinal_date_time": "1984-103T09:07:42.000123456Z", "strict_ordinal_date_time": "1984-103T09:07:42.000123456Z", "ordinal_date_time_no_millis": "1984-103T09:07:42Z", "strict_ordinal_date_time_no_millis": "1984-103T09:07:42Z", "time": "09:07:42.000Z", "strict_time": "09:07:42.000Z", "time_no_millis": "09:07:42Z", "strict_time_no_millis": "09:07:42Z", "t_time": "T09:07:42.000Z", "strict_t_time": "T09:07:42.000Z", "t_time_no_millis": "T09:07:42Z", "strict_t_time_no_millis": "T09:07:42Z", "week_date": "1984-W15-4", "strict_week_date": "1984-W15-4", "week_date_time": "1984-W15-4T09:07:42.000Z", "strict_week_date_time": "1984-W15-4T09:07:42.000Z", "week_date_time_no_millis": "1984-W15-4T09:07:42Z", "strict_week_date_time_no_millis": "1984-W15-4T09:07:42Z", "weekyear_week_day": "1984-W15-4", "strict_weekyear_week_day": "1984-W15-4", "year_month_day": "1984-04-12", "strict_year_month_day": "1984-04-12", "yyyy-MM-dd": "1984-04-12", "HH:mm:ss": "09:07:42", "yyyy-MM-dd_OR_epoch_millis": "450608862000.123456", "hour_minute_second_OR_t_time": "T09:07:42.000Z"} | ||
{"epoch_millis": "450608862000.123456", "epoch_second": "450608862.000123456", "date_optional_time": "1984-04-12T09:07:42.000Z", "strict_date_optional_time": "1984-04-12T09:07:42.000Z", "strict_date_optional_time_nanos": "1984-04-12T09:07:42.000123456Z", "basic_date": "19840412", "basic_date_time": "19840412T090742.000Z", "basic_date_time_no_millis": "19840412T090742Z", "basic_ordinal_date": "1984103", "basic_ordinal_date_time": "1984103T090742.000Z", "basic_ordinal_date_time_no_millis": "1984103T090742Z", "basic_time": "090742.000Z", "basic_time_no_millis": "090742Z", "basic_t_time": "T090742.000Z", "basic_t_time_no_millis": "T090742Z", "basic_week_date": "1984W154", "strict_basic_week_date": "1984W154", "basic_week_date_time": "1984W154T090742.000Z", "strict_basic_week_date_time": "1984W154T090742.000Z", "basic_week_date_time_no_millis": "1984W154T090742Z", "strict_basic_week_date_time_no_millis": "1984W154T090742Z", "date": "1984-04-12", "strict_date": "1984-04-12", "date_hour": "1984-04-12T09", "strict_date_hour": "1984-04-12T09", "date_hour_minute": "1984-04-12T09:07", "strict_date_hour_minute": "1984-04-12T09:07", "date_hour_minute_second": "1984-04-12T09:07:42", "strict_date_hour_minute_second": "1984-04-12T09:07:42", "date_hour_minute_second_fraction": "1984-04-12T09:07:42.000", "strict_date_hour_minute_second_fraction": "1984-04-12T09:07:42.000", "date_hour_minute_second_millis": "1984-04-12T09:07:42.000", "strict_date_hour_minute_second_millis": "1984-04-12T09:07:42.000", "date_time": "1984-04-12T09:07:42.000Z", "strict_date_time": "1984-04-12T09:07:42.000123456Z", "date_time_no_millis": "1984-04-12T09:07:42Z", "strict_date_time_no_millis": "1984-04-12T09:07:42Z", "hour": "09", "strict_hour": "09", "hour_minute": "09:07", "strict_hour_minute": "09:07", "hour_minute_second": "09:07:42", "strict_hour_minute_second": "09:07:42", "hour_minute_second_fraction": "09:07:42.000", "strict_hour_minute_second_fraction": "09:07:42.000", "hour_minute_second_millis": "09:07:42.000", "strict_hour_minute_second_millis": "09:07:42.000", "ordinal_date": "1984-103", "strict_ordinal_date": "1984-103", "ordinal_date_time": "1984-103T09:07:42.000123456Z", "strict_ordinal_date_time": "1984-103T09:07:42.000123456Z", "ordinal_date_time_no_millis": "1984-103T09:07:42Z", "strict_ordinal_date_time_no_millis": "1984-103T09:07:42Z", "time": "09:07:42.000Z", "strict_time": "09:07:42.000Z", "time_no_millis": "09:07:42Z", "strict_time_no_millis": "09:07:42Z", "t_time": "T09:07:42.000Z", "strict_t_time": "T09:07:42.000Z", "t_time_no_millis": "T09:07:42Z", "strict_t_time_no_millis": "T09:07:42Z", "week_date": "1984-W15-4", "strict_week_date": "1984-W15-4", "week_date_time": "1984-W15-4T09:07:42.000Z", "strict_week_date_time": "1984-W15-4T09:07:42.000Z", "week_date_time_no_millis": "1984-W15-4T09:07:42Z", "strict_week_date_time_no_millis": "1984-W15-4T09:07:42Z", "weekyear_week_day": "1984-W15-4", "strict_weekyear_week_day": "1984-W15-4", "year_month_day": "1984-04-12", "strict_year_month_day": "1984-04-12", "yyyy-MM-dd": "1984-04-12", "custom_time": "09:07:42 PM", "yyyy-MM-dd_OR_epoch_millis": "450608862000.123456", "hour_minute_second_OR_t_time": "T09:07:42.000Z", "custom_timestamp": "1984-04-12 10:07:42 ---- PM", "custom_date_or_date": "1984-04-12"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is getting really big.
We should split this out into a separate file when we do the real fix.
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
3b0c2d2
to
8e446ce
Compare
...earch/src/main/java/org/opensearch/sql/opensearch/data/value/OpenSearchExprValueFactory.java
Outdated
Show resolved
Hide resolved
Found one issue. Note that the year of Mapping:
data:
returns:
|
When a mapping with incomplete time/date format is loaded and queried, the return type should remain the same.
Should remain a time. It currently is returned as a timestamp. Incomplete custom date also has the same behaviour. |
Also test that CAST to timestamp from incomplete_custom_time returns todays date with the custom time. |
Checkstyle is failing and a few IT needs to get updated |
opensearch/src/main/java/org/opensearch/sql/opensearch/data/type/OpenSearchDateType.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Guian Gumpac <[email protected]>
Signed-off-by: Guian Gumpac <[email protected]>
Signed-off-by: Guian Gumpac <[email protected]>
Signed-off-by: Guian Gumpac <[email protected]>
Signed-off-by: Yury-Fridlyand <[email protected]>
…MP` instead of `STRING`. Signed-off-by: Yury-Fridlyand <[email protected]>
Signed-off-by: Yury-Fridlyand <[email protected]>
Signed-off-by: Yury-Fridlyand <[email protected]>
b75d2bc
to
c086dad
Compare
This comes from
Fixed in 6d214a5
Works as expected: converting time to date/dt/ts adds today's date (not epoch).
Fixed in c086dad thanks for noticing |
…roject#1821) * Support user-defined and incomplete date formats (#273) * Check custom formats for characters Signed-off-by: Guian Gumpac <[email protected]> * Removed duplicated code Signed-off-by: Guian Gumpac <[email protected]> * Reworked checking for exprcoretype Signed-off-by: Guian Gumpac <[email protected]> * Changed check for time Signed-off-by: Guian Gumpac <[email protected]> * Rework processing custom and incomplete formats and add tests. Signed-off-by: Yury-Fridlyand <[email protected]> * Values of incomplete and incorrect formats to be returned as `TIMESTAMP` instead of `STRING`. Signed-off-by: Yury-Fridlyand <[email protected]> * Complete fix and update tests. Signed-off-by: Yury-Fridlyand <[email protected]> * More fixes for god of fixes. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> * Refactoring. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Guian Gumpac <[email protected]>
…roject#1821) * Support user-defined and incomplete date formats (#273) * Check custom formats for characters Signed-off-by: Guian Gumpac <[email protected]> * Removed duplicated code Signed-off-by: Guian Gumpac <[email protected]> * Reworked checking for exprcoretype Signed-off-by: Guian Gumpac <[email protected]> * Changed check for time Signed-off-by: Guian Gumpac <[email protected]> * Rework processing custom and incomplete formats and add tests. Signed-off-by: Yury-Fridlyand <[email protected]> * Values of incomplete and incorrect formats to be returned as `TIMESTAMP` instead of `STRING`. Signed-off-by: Yury-Fridlyand <[email protected]> * Complete fix and update tests. Signed-off-by: Yury-Fridlyand <[email protected]> * More fixes for god of fixes. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> * Refactoring. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Guian Gumpac <[email protected]> Signed-off-by: Mitchell Gale <[email protected]>
…roject#1821) (opensearch-project#1830) * Support user-defined and incomplete date formats (#273) * Check custom formats for characters Signed-off-by: Guian Gumpac <[email protected]> * Removed duplicated code Signed-off-by: Guian Gumpac <[email protected]> * Reworked checking for exprcoretype Signed-off-by: Guian Gumpac <[email protected]> * Changed check for time Signed-off-by: Guian Gumpac <[email protected]> * Rework processing custom and incomplete formats and add tests. Signed-off-by: Yury-Fridlyand <[email protected]> * Values of incomplete and incorrect formats to be returned as `TIMESTAMP` instead of `STRING`. Signed-off-by: Yury-Fridlyand <[email protected]> * Complete fix and update tests. Signed-off-by: Yury-Fridlyand <[email protected]> * More fixes for god of fixes. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> * Refactoring. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Guian Gumpac <[email protected]> (cherry picked from commit a60b222) Co-authored-by: Yury-Fridlyand <[email protected]>
…roject#1821) (opensearch-project#1840) * Support user-defined and incomplete date formats (#273) * Check custom formats for characters Signed-off-by: Guian Gumpac <[email protected]> * Removed duplicated code Signed-off-by: Guian Gumpac <[email protected]> * Reworked checking for exprcoretype Signed-off-by: Guian Gumpac <[email protected]> * Changed check for time Signed-off-by: Guian Gumpac <[email protected]> * Rework processing custom and incomplete formats and add tests. Signed-off-by: Yury-Fridlyand <[email protected]> * Values of incomplete and incorrect formats to be returned as `TIMESTAMP` instead of `STRING`. Signed-off-by: Yury-Fridlyand <[email protected]> * Complete fix and update tests. Signed-off-by: Yury-Fridlyand <[email protected]> * More fixes for god of fixes. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> * Refactoring. Signed-off-by: Yury-Fridlyand <[email protected]> --------- Signed-off-by: Guian Gumpac <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Guian Gumpac <[email protected]> (cherry picked from commit a60b222) Co-authored-by: Yury-Fridlyand <[email protected]>
Description
year
,week_year
) returned asTIMESTAMP
TODOs
Sample for test
Mapping:
Data:
Sample 2
Mapping
Data
Result set
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.