This is an automated email from the ASF dual-hosted git repository.

englefly pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new d5d42485dff [fix](Nereids) fix fe fold constant with date time out of 
range (#45237)
d5d42485dff is described below

commit d5d42485dff500e49d264a9bfd5b6c25bee6d186
Author: LiBinfeng <libinf...@selectdb.com>
AuthorDate: Fri Dec 27 17:57:50 2024 +0800

    [fix](Nereids) fix fe fold constant with date time out of range (#45237)
    
    ### What problem does this PR solve?
    Problem Summary:
    
    When running sql:
    select date_add('9999-12-31 23:59:59', interval 5 second);
    it should throw exception but not return null value
---
 .../rules/OneRangePartitionEvaluator.java          |   14 +-
 .../rules/SimplifyComparisonPredicate.java         |    5 +-
 .../trees/expressions/literal/DateLiteral.java     |    9 +-
 .../trees/expressions/literal/DateTimeLiteral.java |    7 +-
 .../expressions/literal/DateTimeV2Literal.java     |    7 +-
 .../trees/expressions/literal/DateV2Literal.java   |    7 +-
 .../nereids/rules/expression/FoldConstantTest.java |   12 +-
 .../fold_constant/fold_constant_by_fe.out          | 2478 +-------------------
 .../datetime_functions/test_date_function.out      |   18 +-
 .../fold_constant/fold_constant_by_fe.groovy       |   56 +-
 10 files changed, 225 insertions(+), 2388 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/OneRangePartitionEvaluator.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/OneRangePartitionEvaluator.java
index eb9fd6e1491..26cc7ce84b6 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/OneRangePartitionEvaluator.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/OneRangePartitionEvaluator.java
@@ -828,7 +828,7 @@ public class OneRangePartitionEvaluator<K>
                 expressionRewriteContext) : null;
         Expression upperValue = upper != null ? 
FoldConstantRuleOnFE.evaluate(func.withConstantArgs(upper),
                 expressionRewriteContext) : null;
-        if (lowerValue instanceof NullLiteral || upperValue instanceof 
NullLiteral) {
+        if (!checkFoldConstantValueIsValid(lowerValue, upperValue)) {
             return result;
         }
         if (!func.isPositive()) {
@@ -858,4 +858,16 @@ public class OneRangePartitionEvaluator<K>
             return new EvaluateRangeResult((Expression) func, newRanges, 
result.childrenResult);
         }
     }
+
+    // only allow literal(except NullLiteral) and null
+    private boolean checkFoldConstantValueIsValid(Expression lowerValue, 
Expression upperValue) {
+        if (lowerValue instanceof NullLiteral || upperValue instanceof 
NullLiteral) {
+            return false;
+        }
+        if (lowerValue != null && !(lowerValue instanceof Literal)
+                || upperValue != null && !(upperValue instanceof Literal)) {
+            return false;
+        }
+        return true;
+    }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyComparisonPredicate.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyComparisonPredicate.java
index 78e817cf4f8..6e0d524f00a 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyComparisonPredicate.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyComparisonPredicate.java
@@ -195,11 +195,10 @@ public class SimplifyComparisonPredicate extends 
AbstractExpressionRewriteRule i
                             return BooleanLiteral.FALSE;
                         } else if (cp instanceof GreaterThanEqual || cp 
instanceof LessThan) {
                             // '9999-12-31' + 1 will overflow
-                            Expression tomorrow = ((DateV2Literal) 
right).plusDays(1);
-                            if (tomorrow.isNullLiteral()) {
+                            if (DateLiteral.isDateOutOfRange(((DateV2Literal) 
right).toJavaDateType().plusDays(1))) {
                                 return cp;
                             }
-                            right = tomorrow;
+                            right = ((DateV2Literal) right).plusDays(1);
                         }
                     }
                     if (cast.child().getDataType() instanceof DateV2Type) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
index eb8269d68fd..04300891c45 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
@@ -384,7 +384,7 @@ public class DateLiteral extends Literal {
         return false;
     }
 
-    protected static boolean isDateOutOfRange(LocalDateTime dateTime) {
+    public static boolean isDateOutOfRange(LocalDateTime dateTime) {
         return dateTime == null || dateTime.isBefore(START_OF_A_DAY) || 
dateTime.isAfter(END_OF_A_DAY);
     }
 
@@ -530,9 +530,10 @@ public class DateLiteral extends Literal {
     }
 
     public static Expression fromJavaDateType(LocalDateTime dateTime) {
-        return isDateOutOfRange(dateTime)
-                ? new NullLiteral(DateType.INSTANCE)
-                : new DateLiteral(dateTime.getYear(), 
dateTime.getMonthValue(), dateTime.getDayOfMonth());
+        if (isDateOutOfRange(dateTime)) {
+            throw new AnalysisException("datetime out of range: " + 
dateTime.toString());
+        }
+        return new DateLiteral(dateTime.getYear(), dateTime.getMonthValue(), 
dateTime.getDayOfMonth());
     }
 
     /**
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteral.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteral.java
index 7912142f97f..7ae87472593 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteral.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteral.java
@@ -394,9 +394,10 @@ public class DateTimeLiteral extends DateLiteral {
     }
 
     public static Expression fromJavaDateType(LocalDateTime dateTime) {
-        return isDateOutOfRange(dateTime)
-                ? new NullLiteral(DateTimeType.INSTANCE)
-                : new DateTimeLiteral(dateTime.getYear(), 
dateTime.getMonthValue(), dateTime.getDayOfMonth(),
+        if (isDateOutOfRange(dateTime)) {
+            throw new AnalysisException("datetime out of range: " + 
dateTime.toString());
+        }
+        return new DateTimeLiteral(dateTime.getYear(), 
dateTime.getMonthValue(), dateTime.getDayOfMonth(),
                         dateTime.getHour(), dateTime.getMinute(), 
dateTime.getSecond());
     }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
index 599e903df39..8a4ae5354fd 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
@@ -284,9 +284,10 @@ public class DateTimeV2Literal extends DateTimeLiteral {
      */
     public static Expression fromJavaDateType(LocalDateTime dateTime, int 
precision) {
         long value = (long) Math.pow(10, DateTimeV2Type.MAX_SCALE - precision);
-        return isDateOutOfRange(dateTime)
-                ? new NullLiteral(DateTimeV2Type.of(precision))
-                : new DateTimeV2Literal(DateTimeV2Type.of(precision), 
dateTime.getYear(),
+        if (isDateOutOfRange(dateTime)) {
+            throw new AnalysisException("datetime out of range" + 
dateTime.toString());
+        }
+        return new DateTimeV2Literal(DateTimeV2Type.of(precision), 
dateTime.getYear(),
                         dateTime.getMonthValue(), dateTime.getDayOfMonth(), 
dateTime.getHour(),
                         dateTime.getMinute(), dateTime.getSecond(),
                         (dateTime.getNano() / 1000) / value * value);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateV2Literal.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateV2Literal.java
index 1534d551850..459131ddc11 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateV2Literal.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateV2Literal.java
@@ -72,9 +72,10 @@ public class DateV2Literal extends DateLiteral {
     }
 
     public static Expression fromJavaDateType(LocalDateTime dateTime) {
-        return isDateOutOfRange(dateTime)
-                ? new NullLiteral(DateV2Type.INSTANCE)
-                : new DateV2Literal(dateTime.getYear(), 
dateTime.getMonthValue(), dateTime.getDayOfMonth());
+        if (isDateOutOfRange(dateTime)) {
+            throw new AnalysisException("datetime out of range: " + 
dateTime.toString());
+        }
+        return new DateV2Literal(dateTime.getYear(), dateTime.getMonthValue(), 
dateTime.getDayOfMonth());
     }
 
     /**
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/FoldConstantTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/FoldConstantTest.java
index 0601b3b558d..75888f08c32 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/FoldConstantTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/FoldConstantTest.java
@@ -220,11 +220,11 @@ class FoldConstantTest extends 
ExpressionRewriteTestHelper {
         hoursAdd = new 
HoursAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(9999, 12, 31, 23, 1, 
1)),
                 new IntegerLiteral(24));
         rewritten = executor.rewrite(hoursAdd, context);
-        Assertions.assertEquals(new NullLiteral(hoursAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(hoursAdd, rewritten);
         hoursAdd = new 
HoursAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(0, 1, 1, 1, 1, 1)),
                 new IntegerLiteral(-25));
         rewritten = executor.rewrite(hoursAdd, context);
-        Assertions.assertEquals(new NullLiteral(hoursAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(hoursAdd, rewritten);
 
         MinutesAdd minutesAdd = new 
MinutesAdd(DateLiteral.fromJavaDateType(LocalDateTime.of(1, 1, 1, 1, 1, 1)),
                 new IntegerLiteral(1));
@@ -237,11 +237,11 @@ class FoldConstantTest extends 
ExpressionRewriteTestHelper {
         minutesAdd = new 
MinutesAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(9999, 12, 31, 23, 
59, 1)),
                 new IntegerLiteral(1440));
         rewritten = executor.rewrite(minutesAdd, context);
-        Assertions.assertEquals(new NullLiteral(minutesAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(minutesAdd, rewritten);
         minutesAdd = new 
MinutesAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(0, 1, 1, 0, 1, 1)),
                 new IntegerLiteral(-2));
         rewritten = executor.rewrite(minutesAdd, context);
-        Assertions.assertEquals(new NullLiteral(minutesAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(minutesAdd, rewritten);
 
         SecondsAdd secondsAdd = new 
SecondsAdd(DateLiteral.fromJavaDateType(LocalDateTime.of(1, 1, 1, 1, 1, 1)),
                 new IntegerLiteral(1));
@@ -254,11 +254,11 @@ class FoldConstantTest extends 
ExpressionRewriteTestHelper {
         secondsAdd = new 
SecondsAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(9999, 12, 31, 23, 
59, 59)),
                 new IntegerLiteral(86400));
         rewritten = executor.rewrite(secondsAdd, context);
-        Assertions.assertEquals(new NullLiteral(secondsAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(secondsAdd, rewritten);
         secondsAdd = new 
SecondsAdd(DateV2Literal.fromJavaDateType(LocalDateTime.of(0, 1, 1, 0, 1, 1)),
                 new IntegerLiteral(-61));
         rewritten = executor.rewrite(secondsAdd, context);
-        Assertions.assertEquals(new NullLiteral(secondsAdd.getDataType()), 
rewritten);
+        Assertions.assertEquals(secondsAdd, rewritten);
 
         ToDays toDays = new 
ToDays(DateLiteral.fromJavaDateType(LocalDateTime.of(1, 1, 1, 1, 1, 1)));
         rewritten = executor.rewrite(toDays, context);
diff --git 
a/regression-test/data/nereids_p0/expression/fold_constant/fold_constant_by_fe.out
 
b/regression-test/data/nereids_p0/expression/fold_constant/fold_constant_by_fe.out
index 9d576b50a74..1689aa9ca48 100644
--- 
a/regression-test/data/nereids_p0/expression/fold_constant/fold_constant_by_fe.out
+++ 
b/regression-test/data/nereids_p0/expression/fold_constant/fold_constant_by_fe.out
@@ -180,2554 +180,382 @@
 1356-12-12T00:17:04    1356-12-11T23:42:56
 
 -- !sql --
-0001-01-02     0000-12-31      0002-01-01      0000-01-01
-
--- !sql --
-0001-02-01     0000-12-01      0001-01-02      0000-12-31
-
--- !sql --
-0001-01-01T01:00       0000-12-31T23:00        0001-01-01T00:01        
0000-12-31T23:59
-
--- !sql --
-0001-01-01T00:00:01    0000-12-31T23:59:59
-
--- !sql --
-0001-01-11     0000-12-22      0011-01-01      \N
-
--- !sql --
-0001-11-01     0000-03-01      0001-01-11      0000-12-22
-
--- !sql --
-0001-01-01T10:00       0000-12-31T14:00        0001-01-01T00:10        
0000-12-31T23:50
-
--- !sql --
-0001-01-01T00:00:10    0000-12-31T23:59:50
-
--- !sql --
-0001-01-26     0000-12-07      0026-01-01      \N
-
--- !sql --
-0003-02-01     \N      0001-01-26      0000-12-07
-
--- !sql --
-0001-01-02T01:00       0000-12-30T23:00        0001-01-01T00:25        
0000-12-31T23:35
-
--- !sql --
-0001-01-01T00:00:25    0000-12-31T23:59:35
-
--- !sql --
-0001-02-20     0000-11-12      0051-01-01      \N
-
--- !sql --
-0005-03-01     \N      0001-02-20      0000-11-12
-
--- !sql --
-0001-01-03T02:00       0000-12-29T22:00        0001-01-01T00:50        
0000-12-31T23:10
-
--- !sql --
-0001-01-01T00:00:50    0000-12-31T23:59:10
-
--- !sql --
-0003-10-22     \N      1025-01-01      \N
-
--- !sql --
-0086-05-01     \N      0003-10-22      \N
-
--- !sql --
-0001-02-12T16:00       0000-11-19T08:00        0001-01-01T17:04        
0000-12-31T06:56
-
--- !sql --
-0001-01-01T00:17:04    0000-12-31T23:42:56
-
--- !sql --
-9999-01-01     9998-12-30      9999-12-31      9997-12-31
-
--- !sql --
-9999-01-31     9998-11-30      9999-01-01      9998-12-30
-
--- !sql --
-9998-12-31T01:00       9998-12-30T23:00        9998-12-31T00:01        
9998-12-30T23:59
-
--- !sql --
-9998-12-31T00:00:01    9998-12-30T23:59:59
-
--- !sql --
-9999-01-10     9998-12-21      \N      9988-12-31
-
--- !sql --
-9999-10-31     9998-02-28      9999-01-10      9998-12-21
-
--- !sql --
-9998-12-31T10:00       9998-12-30T14:00        9998-12-31T00:10        
9998-12-30T23:50
-
--- !sql --
-9998-12-31T00:00:10    9998-12-30T23:59:50
-
--- !sql --
-9999-01-25     9998-12-06      \N      9973-12-31
-
--- !sql --
-\N     9996-11-30      9999-01-25      9998-12-06
-
--- !sql --
-9999-01-01T01:00       9998-12-29T23:00        9998-12-31T00:25        
9998-12-30T23:35
-
--- !sql --
-9998-12-31T00:00:25    9998-12-30T23:59:35
-
--- !sql --
-9999-02-19     9998-11-11      \N      9948-12-31
-
--- !sql --
-\N     9994-10-31      9999-02-19      9998-11-11
-
--- !sql --
-9999-01-02T02:00       9998-12-28T22:00        9998-12-31T00:50        
9998-12-30T23:10
-
--- !sql --
-9998-12-31T00:00:50    9998-12-30T23:59:10
-
--- !sql --
-\N     9996-03-12      \N      8974-12-31
-
--- !sql --
-\N     9913-08-31      \N      9996-03-12
-
--- !sql --
-9999-02-11T16:00       9998-11-18T08:00        9998-12-31T17:04        
9998-12-30T06:56
-
--- !sql --
-9998-12-31T00:17:04    9998-12-30T23:42:56
-
--- !sql --
-2021-04-13     2021-04-11      2022-04-12      2020-04-12
-
--- !sql --
-2021-05-12     2021-03-12      2021-04-13      2021-04-11
-
--- !sql --
-2021-04-12T01:00       2021-04-11T23:00        2021-04-12T00:01        
2021-04-11T23:59
-
--- !sql --
-2021-04-12T00:00:01    2021-04-11T23:59:59
-
--- !sql --
-2021-04-22     2021-04-02      2031-04-12      2011-04-12
-
--- !sql --
-2022-02-12     2020-06-12      2021-04-22      2021-04-02
-
--- !sql --
-2021-04-12T10:00       2021-04-11T14:00        2021-04-12T00:10        
2021-04-11T23:50
-
--- !sql --
-2021-04-12T00:00:10    2021-04-11T23:59:50
-
--- !sql --
-2021-05-07     2021-03-18      2046-04-12      1996-04-12
-
--- !sql --
-2023-05-12     2019-03-12      2021-05-07      2021-03-18
-
--- !sql --
-2021-04-13T01:00       2021-04-10T23:00        2021-04-12T00:25        
2021-04-11T23:35
-
--- !sql --
-2021-04-12T00:00:25    2021-04-11T23:59:35
-
--- !sql --
-2021-06-01     2021-02-21      2071-04-12      1971-04-12
-
--- !sql --
-2025-06-12     2017-02-12      2021-06-01      2021-02-21
-
--- !sql --
-2021-04-14T02:00       2021-04-09T22:00        2021-04-12T00:50        
2021-04-11T23:10
-
--- !sql --
-2021-04-12T00:00:50    2021-04-11T23:59:10
-
--- !sql --
-2024-01-31     2018-06-23      3045-04-12      0997-04-12
-
--- !sql --
-2106-08-12     1935-12-12      2024-01-31      2018-06-23
-
--- !sql --
-2021-05-24T16:00       2021-02-28T08:00        2021-04-12T17:04        
2021-04-11T06:56
-
--- !sql --
-2021-04-12T00:17:04    2021-04-11T23:42:56
-
--- !sql --
-1970-01-01     1969-12-30      1970-12-31      1968-12-31
-
--- !sql --
-1970-01-31     1969-11-30      1970-01-01      1969-12-30
-
--- !sql --
-1969-12-31T01:00       1969-12-30T23:00        1969-12-31T00:01        
1969-12-30T23:59
-
--- !sql --
-1969-12-31T00:00:01    1969-12-30T23:59:59
-
--- !sql --
-1970-01-10     1969-12-21      1979-12-31      1959-12-31
-
--- !sql --
-1970-10-31     1969-02-28      1970-01-10      1969-12-21
-
--- !sql --
-1969-12-31T10:00       1969-12-30T14:00        1969-12-31T00:10        
1969-12-30T23:50
-
--- !sql --
-1969-12-31T00:00:10    1969-12-30T23:59:50
-
--- !sql --
-1970-01-25     1969-12-06      1994-12-31      1944-12-31
-
--- !sql --
-1972-01-31     1967-11-30      1970-01-25      1969-12-06
-
--- !sql --
-1970-01-01T01:00       1969-12-29T23:00        1969-12-31T00:25        
1969-12-30T23:35
-
--- !sql --
-1969-12-31T00:00:25    1969-12-30T23:59:35
-
--- !sql --
-1970-02-19     1969-11-11      2019-12-31      1919-12-31
-
--- !sql --
-1974-02-28     1965-10-31      1970-02-19      1969-11-11
-
--- !sql --
-1970-01-02T02:00       1969-12-28T22:00        1969-12-31T00:50        
1969-12-30T23:10
-
--- !sql --
-1969-12-31T00:00:50    1969-12-30T23:59:10
-
--- !sql --
-1972-10-20     1967-03-13      2993-12-31      0945-12-31
-
--- !sql --
-2055-04-30     1884-08-31      1972-10-20      1967-03-13
-
--- !sql --
-1970-02-11T16:00       1969-11-18T08:00        1969-12-31T17:04        
1969-12-30T06:56
-
--- !sql --
-1969-12-31T00:17:04    1969-12-30T23:42:56
-
--- !sql --
-1356-12-13     1356-12-11      1357-12-12      1355-12-12
-
--- !sql --
-1357-01-12     1356-11-12      1356-12-13      1356-12-11
-
--- !sql --
-1356-12-12T01:00       1356-12-11T23:00        1356-12-12T00:01        
1356-12-11T23:59
-
--- !sql --
-1356-12-12T00:00:01    1356-12-11T23:59:59
-
--- !sql --
-1356-12-22     1356-12-02      1366-12-12      1346-12-12
-
--- !sql --
-1357-10-12     1356-02-12      1356-12-22      1356-12-02
-
--- !sql --
-1356-12-12T10:00       1356-12-11T14:00        1356-12-12T00:10        
1356-12-11T23:50
-
--- !sql --
-1356-12-12T00:00:10    1356-12-11T23:59:50
-
--- !sql --
-1357-01-06     1356-11-17      1381-12-12      1331-12-12
-
--- !sql --
-1359-01-12     1354-11-12      1357-01-06      1356-11-17
-
--- !sql --
-1356-12-13T01:00       1356-12-10T23:00        1356-12-12T00:25        
1356-12-11T23:35
-
--- !sql --
-1356-12-12T00:00:25    1356-12-11T23:59:35
-
--- !sql --
-1357-01-31     1356-10-23      1406-12-12      1306-12-12
-
--- !sql --
-1361-02-12     1352-10-12      1357-01-31      1356-10-23
-
--- !sql --
-1356-12-14T02:00       1356-12-09T22:00        1356-12-12T00:50        
1356-12-11T23:10
-
--- !sql --
-1356-12-12T00:00:50    1356-12-11T23:59:10
-
--- !sql --
-1359-10-02     1354-02-22      2380-12-12      0332-12-12
-
--- !sql --
-1442-04-12     1271-08-12      1359-10-02      1354-02-22
-
--- !sql --
-1357-01-23T16:00       1356-10-30T08:00        1356-12-12T17:04        
1356-12-11T06:56
-
--- !sql --
-1356-12-12T00:17:04    1356-12-11T23:42:56
-
--- !sql --
-0001-01-02     0000-12-31      0002-01-01      0000-01-01
-
--- !sql --
-0001-02-01     0000-12-01      0001-01-02      0000-12-31
-
--- !sql --
-0001-01-01T01:00       0000-12-31T23:00        0001-01-01T00:01        
0000-12-31T23:59
-
--- !sql --
-0001-01-01T00:00:01    0000-12-31T23:59:59
-
--- !sql --
-0001-01-11     0000-12-22      0011-01-01      \N
-
--- !sql --
-0001-11-01     0000-03-01      0001-01-11      0000-12-22
-
--- !sql --
-0001-01-01T10:00       0000-12-31T14:00        0001-01-01T00:10        
0000-12-31T23:50
-
--- !sql --
-0001-01-01T00:00:10    0000-12-31T23:59:50
-
--- !sql --
-0001-01-26     0000-12-07      0026-01-01      \N
-
--- !sql --
-0003-02-01     \N      0001-01-26      0000-12-07
-
--- !sql --
-0001-01-02T01:00       0000-12-30T23:00        0001-01-01T00:25        
0000-12-31T23:35
-
--- !sql --
-0001-01-01T00:00:25    0000-12-31T23:59:35
-
--- !sql --
-0001-02-20     0000-11-12      0051-01-01      \N
-
--- !sql --
-0005-03-01     \N      0001-02-20      0000-11-12
-
--- !sql --
-0001-01-03T02:00       0000-12-29T22:00        0001-01-01T00:50        
0000-12-31T23:10
-
--- !sql --
-0001-01-01T00:00:50    0000-12-31T23:59:10
-
--- !sql --
-0003-10-22     \N      1025-01-01      \N
-
--- !sql --
-0086-05-01     \N      0003-10-22      \N
-
--- !sql --
-0001-02-12T16:00       0000-11-19T08:00        0001-01-01T17:04        
0000-12-31T06:56
-
--- !sql --
-0001-01-01T00:17:04    0000-12-31T23:42:56
-
--- !sql --
-9999-01-01     9998-12-30      9999-12-31      9997-12-31
-
--- !sql --
-9999-01-31     9998-11-30      9999-01-01      9998-12-30
-
--- !sql --
-9998-12-31T01:00       9998-12-30T23:00        9998-12-31T00:01        
9998-12-30T23:59
-
--- !sql --
-9998-12-31T00:00:01    9998-12-30T23:59:59
-
--- !sql --
-9999-01-10     9998-12-21      \N      9988-12-31
-
--- !sql --
-9999-10-31     9998-02-28      9999-01-10      9998-12-21
-
--- !sql --
-9998-12-31T10:00       9998-12-30T14:00        9998-12-31T00:10        
9998-12-30T23:50
-
--- !sql --
-9998-12-31T00:00:10    9998-12-30T23:59:50
-
--- !sql --
-9999-01-25     9998-12-06      \N      9973-12-31
-
--- !sql --
-\N     9996-11-30      9999-01-25      9998-12-06
-
--- !sql --
-9999-01-01T01:00       9998-12-29T23:00        9998-12-31T00:25        
9998-12-30T23:35
-
--- !sql --
-9998-12-31T00:00:25    9998-12-30T23:59:35
-
--- !sql --
-9999-02-19     9998-11-11      \N      9948-12-31
-
--- !sql --
-\N     9994-10-31      9999-02-19      9998-11-11
-
--- !sql --
-9999-01-02T02:00       9998-12-28T22:00        9998-12-31T00:50        
9998-12-30T23:10
-
--- !sql --
-9998-12-31T00:00:50    9998-12-30T23:59:10
-
--- !sql --
-\N     9996-03-12      \N      8974-12-31
-
--- !sql --
-\N     9913-08-31      \N      9996-03-12
-
--- !sql --
-9999-02-11T16:00       9998-11-18T08:00        9998-12-31T17:04        
9998-12-30T06:56
-
--- !sql --
-9998-12-31T00:17:04    9998-12-30T23:42:56
-
--- !sql --
-2021-04-13T12:54:53    2021-04-11T12:54:53     2022-04-12T12:54:53     
2020-04-12T12:54:53
-
--- !sql --
-2021-05-12T12:54:53    2021-03-12T12:54:53     2021-04-13T12:54:53     
2021-04-11T12:54:53
-
--- !sql --
-2021-04-12T13:54:53    2021-04-12T11:54:53     2021-04-12T12:55:53     
2021-04-12T12:53:53
-
--- !sql --
-2021-04-12T12:54:54    2021-04-12T12:54:52
-
--- !sql --
-2021-04-22T12:54:53    2021-04-02T12:54:53     2031-04-12T12:54:53     
2011-04-12T12:54:53
-
--- !sql --
-2022-02-12T12:54:53    2020-06-12T12:54:53     2021-04-22T12:54:53     
2021-04-02T12:54:53
-
--- !sql --
-2021-04-12T22:54:53    2021-04-12T02:54:53     2021-04-12T13:04:53     
2021-04-12T12:44:53
-
--- !sql --
-2021-04-12T12:55:03    2021-04-12T12:54:43
-
--- !sql --
-2021-05-07T12:54:53    2021-03-18T12:54:53     2046-04-12T12:54:53     
1996-04-12T12:54:53
-
--- !sql --
-2023-05-12T12:54:53    2019-03-12T12:54:53     2021-05-07T12:54:53     
2021-03-18T12:54:53
-
--- !sql --
-2021-04-13T13:54:53    2021-04-11T11:54:53     2021-04-12T13:19:53     
2021-04-12T12:29:53
-
--- !sql --
-2021-04-12T12:55:18    2021-04-12T12:54:28
-
--- !sql --
-2021-06-01T12:54:53    2021-02-21T12:54:53     2071-04-12T12:54:53     
1971-04-12T12:54:53
-
--- !sql --
-2025-06-12T12:54:53    2017-02-12T12:54:53     2021-06-01T12:54:53     
2021-02-21T12:54:53
-
--- !sql --
-2021-04-14T14:54:53    2021-04-10T10:54:53     2021-04-12T13:44:53     
2021-04-12T12:04:53
-
--- !sql --
-2021-04-12T12:55:43    2021-04-12T12:54:03
-
--- !sql --
-2024-01-31T12:54:53    2018-06-23T12:54:53     3045-04-12T12:54:53     
0997-04-12T12:54:53
-
--- !sql --
-2106-08-12T12:54:53    1935-12-12T12:54:53     2024-01-31T12:54:53     
2018-06-23T12:54:53
-
--- !sql --
-2021-05-25T04:54:53    2021-02-28T20:54:53     2021-04-13T05:58:53     
2021-04-11T19:50:53
-
--- !sql --
-2021-04-12T13:11:57    2021-04-12T12:37:49
-
--- !sql --
-1970-01-01T23:59:59    1969-12-30T23:59:59     1970-12-31T23:59:59     
1968-12-31T23:59:59
-
--- !sql --
-1970-01-31T23:59:59    1969-11-30T23:59:59     1970-01-01T23:59:59     
1969-12-30T23:59:59
-
--- !sql --
-1970-01-01T00:59:59    1969-12-31T22:59:59     1970-01-01T00:00:59     
1969-12-31T23:58:59
-
--- !sql --
-1970-01-01T00:00       1969-12-31T23:59:58
-
--- !sql --
-1970-01-10T23:59:59    1969-12-21T23:59:59     1979-12-31T23:59:59     
1959-12-31T23:59:59
-
--- !sql --
-1970-10-31T23:59:59    1969-02-28T23:59:59     1970-01-10T23:59:59     
1969-12-21T23:59:59
-
--- !sql --
-1970-01-01T09:59:59    1969-12-31T13:59:59     1970-01-01T00:09:59     
1969-12-31T23:49:59
-
--- !sql --
-1970-01-01T00:00:09    1969-12-31T23:59:49
-
--- !sql --
-1970-01-25T23:59:59    1969-12-06T23:59:59     1994-12-31T23:59:59     
1944-12-31T23:59:59
-
--- !sql --
-1972-01-31T23:59:59    1967-11-30T23:59:59     1970-01-25T23:59:59     
1969-12-06T23:59:59
-
--- !sql --
-1970-01-02T00:59:59    1969-12-30T22:59:59     1970-01-01T00:24:59     
1969-12-31T23:34:59
-
--- !sql --
-1970-01-01T00:00:24    1969-12-31T23:59:34
-
--- !sql --
-1970-02-19T23:59:59    1969-11-11T23:59:59     2019-12-31T23:59:59     
1919-12-31T23:59:59
-
--- !sql --
-1974-02-28T23:59:59    1965-10-31T23:59:59     1970-02-19T23:59:59     
1969-11-11T23:59:59
-
--- !sql --
-1970-01-03T01:59:59    1969-12-29T21:59:59     1970-01-01T00:49:59     
1969-12-31T23:09:59
-
--- !sql --
-1970-01-01T00:00:49    1969-12-31T23:59:09
-
--- !sql --
-1972-10-20T23:59:59    1967-03-13T23:59:59     2993-12-31T23:59:59     
0945-12-31T23:59:59
-
--- !sql --
-2055-04-30T23:59:59    1884-08-31T23:59:59     1972-10-20T23:59:59     
1967-03-13T23:59:59
-
--- !sql --
-1970-02-12T15:59:59    1969-11-19T07:59:59     1970-01-01T17:03:59     
1969-12-31T06:55:59
-
--- !sql --
-1970-01-01T00:17:03    1969-12-31T23:42:55
-
--- !sql --
-1356-12-13T12:56:12    1356-12-11T12:56:12     1357-12-12T12:56:12     
1355-12-12T12:56:12
-
--- !sql --
-1357-01-12T12:56:12    1356-11-12T12:56:12     1356-12-13T12:56:12     
1356-12-11T12:56:12
-
--- !sql --
-1356-12-12T13:56:12    1356-12-12T11:56:12     1356-12-12T12:57:12     
1356-12-12T12:55:12
-
--- !sql --
-1356-12-12T12:56:13    1356-12-12T12:56:11
-
--- !sql --
-1356-12-22T12:56:12    1356-12-02T12:56:12     1366-12-12T12:56:12     
1346-12-12T12:56:12
-
--- !sql --
-1357-10-12T12:56:12    1356-02-12T12:56:12     1356-12-22T12:56:12     
1356-12-02T12:56:12
-
--- !sql --
-1356-12-12T22:56:12    1356-12-12T02:56:12     1356-12-12T13:06:12     
1356-12-12T12:46:12
-
--- !sql --
-1356-12-12T12:56:22    1356-12-12T12:56:02
-
--- !sql --
-1357-01-06T12:56:12    1356-11-17T12:56:12     1381-12-12T12:56:12     
1331-12-12T12:56:12
-
--- !sql --
-1359-01-12T12:56:12    1354-11-12T12:56:12     1357-01-06T12:56:12     
1356-11-17T12:56:12
-
--- !sql --
-1356-12-13T13:56:12    1356-12-11T11:56:12     1356-12-12T13:21:12     
1356-12-12T12:31:12
-
--- !sql --
-1356-12-12T12:56:37    1356-12-12T12:55:47
-
--- !sql --
-1357-01-31T12:56:12    1356-10-23T12:56:12     1406-12-12T12:56:12     
1306-12-12T12:56:12
-
--- !sql --
-1361-02-12T12:56:12    1352-10-12T12:56:12     1357-01-31T12:56:12     
1356-10-23T12:56:12
-
--- !sql --
-1356-12-14T14:56:12    1356-12-10T10:56:12     1356-12-12T13:46:12     
1356-12-12T12:06:12
-
--- !sql --
-1356-12-12T12:57:02    1356-12-12T12:55:22
-
--- !sql --
-1359-10-02T12:56:12    1354-02-22T12:56:12     2380-12-12T12:56:12     
0332-12-12T12:56:12
-
--- !sql --
-1442-04-12T12:56:12    1271-08-12T12:56:12     1359-10-02T12:56:12     
1354-02-22T12:56:12
-
--- !sql --
-1357-01-24T04:56:12    1356-10-30T20:56:12     1356-12-13T06:00:12     
1356-12-11T19:52:12
-
--- !sql --
-1356-12-12T13:13:16    1356-12-12T12:39:08
-
--- !sql --
-0001-01-02T00:00:01    0000-12-31T00:00:01     0002-01-01T00:00:01     
0000-01-01T00:00:01
-
--- !sql --
-0001-02-01T00:00:01    0000-12-01T00:00:01     0001-01-02T00:00:01     
0000-12-31T00:00:01
-
--- !sql --
-0001-01-01T01:00:01    0000-12-31T23:00:01     0001-01-01T00:01:01     
0000-12-31T23:59:01
-
--- !sql --
-0001-01-01T00:00:02    0001-01-01T00:00
-
--- !sql --
-0001-01-11T00:00:01    0000-12-22T00:00:01     0011-01-01T00:00:01     \N
-
--- !sql --
-0001-11-01T00:00:01    0000-03-01T00:00:01     0001-01-11T00:00:01     
0000-12-22T00:00:01
-
--- !sql --
-0001-01-01T10:00:01    0000-12-31T14:00:01     0001-01-01T00:10:01     
0000-12-31T23:50:01
-
--- !sql --
-0001-01-01T00:00:11    0000-12-31T23:59:51
-
--- !sql --
-0001-01-26T00:00:01    0000-12-07T00:00:01     0026-01-01T00:00:01     \N
-
--- !sql --
-0003-02-01T00:00:01    \N      0001-01-26T00:00:01     0000-12-07T00:00:01
-
--- !sql --
-0001-01-02T01:00:01    0000-12-30T23:00:01     0001-01-01T00:25:01     
0000-12-31T23:35:01
-
--- !sql --
-0001-01-01T00:00:26    0000-12-31T23:59:36
-
--- !sql --
-0001-02-20T00:00:01    0000-11-12T00:00:01     0051-01-01T00:00:01     \N
-
--- !sql --
-0005-03-01T00:00:01    \N      0001-02-20T00:00:01     0000-11-12T00:00:01
-
--- !sql --
-0001-01-03T02:00:01    0000-12-29T22:00:01     0001-01-01T00:50:01     
0000-12-31T23:10:01
-
--- !sql --
-0001-01-01T00:00:51    0000-12-31T23:59:11
-
--- !sql --
-0003-10-22T00:00:01    \N      1025-01-01T00:00:01     \N
-
--- !sql --
-0086-05-01T00:00:01    \N      0003-10-22T00:00:01     \N
-
--- !sql --
-0001-02-12T16:00:01    0000-11-19T08:00:01     0001-01-01T17:04:01     
0000-12-31T06:56:01
-
--- !sql --
-0001-01-01T00:17:05    0000-12-31T23:42:57
-
--- !sql --
-9999-01-01T00:00:59    9998-12-30T00:00:59     9999-12-31T00:00:59     
9997-12-31T00:00:59
-
--- !sql --
-9999-01-31T00:00:59    9998-11-30T00:00:59     9999-01-01T00:00:59     
9998-12-30T00:00:59
-
--- !sql --
-9998-12-31T01:00:59    9998-12-30T23:00:59     9998-12-31T00:01:59     
9998-12-30T23:59:59
-
--- !sql --
-9998-12-31T00:01       9998-12-31T00:00:58
-
--- !sql --
-9999-01-10T00:00:59    9998-12-21T00:00:59     \N      9988-12-31T00:00:59
-
--- !sql --
-9999-10-31T00:00:59    9998-02-28T00:00:59     9999-01-10T00:00:59     
9998-12-21T00:00:59
-
--- !sql --
-9998-12-31T10:00:59    9998-12-30T14:00:59     9998-12-31T00:10:59     
9998-12-30T23:50:59
-
--- !sql --
-9998-12-31T00:01:09    9998-12-31T00:00:49
-
--- !sql --
-9999-01-25T00:00:59    9998-12-06T00:00:59     \N      9973-12-31T00:00:59
-
--- !sql --
-\N     9996-11-30T00:00:59     9999-01-25T00:00:59     9998-12-06T00:00:59
-
--- !sql --
-9999-01-01T01:00:59    9998-12-29T23:00:59     9998-12-31T00:25:59     
9998-12-30T23:35:59
-
--- !sql --
-9998-12-31T00:01:24    9998-12-31T00:00:34
-
--- !sql --
-9999-02-19T00:00:59    9998-11-11T00:00:59     \N      9948-12-31T00:00:59
-
--- !sql --
-\N     9994-10-31T00:00:59     9999-02-19T00:00:59     9998-11-11T00:00:59
-
--- !sql --
-9999-01-02T02:00:59    9998-12-28T22:00:59     9998-12-31T00:50:59     
9998-12-30T23:10:59
-
--- !sql --
-9998-12-31T00:01:49    9998-12-31T00:00:09
-
--- !sql --
-\N     9996-03-12T00:00:59     \N      8974-12-31T00:00:59
-
--- !sql --
-\N     9913-08-31T00:00:59     \N      9996-03-12T00:00:59
-
--- !sql --
-9999-02-11T16:00:59    9998-11-18T08:00:59     9998-12-31T17:04:59     
9998-12-30T06:56:59
-
--- !sql --
-9998-12-31T00:18:03    9998-12-30T23:43:55
-
--- !sql --
-2021-04-13T12:54:53    2021-04-11T12:54:53     2022-04-12T12:54:53     
2020-04-12T12:54:53
-
--- !sql --
-2021-05-12T12:54:53    2021-03-12T12:54:53     2021-04-13T12:54:53     
2021-04-11T12:54:53
-
--- !sql --
-2021-04-12T13:54:53    2021-04-12T11:54:53     2021-04-12T12:55:53     
2021-04-12T12:53:53
-
--- !sql --
-2021-04-12T12:54:54    2021-04-12T12:54:52
-
--- !sql --
-2021-04-22T12:54:53    2021-04-02T12:54:53     2031-04-12T12:54:53     
2011-04-12T12:54:53
-
--- !sql --
-2022-02-12T12:54:53    2020-06-12T12:54:53     2021-04-22T12:54:53     
2021-04-02T12:54:53
-
--- !sql --
-2021-04-12T22:54:53    2021-04-12T02:54:53     2021-04-12T13:04:53     
2021-04-12T12:44:53
-
--- !sql --
-2021-04-12T12:55:03    2021-04-12T12:54:43
-
--- !sql --
-2021-05-07T12:54:53    2021-03-18T12:54:53     2046-04-12T12:54:53     
1996-04-12T12:54:53
-
--- !sql --
-2023-05-12T12:54:53    2019-03-12T12:54:53     2021-05-07T12:54:53     
2021-03-18T12:54:53
-
--- !sql --
-2021-04-13T13:54:53    2021-04-11T11:54:53     2021-04-12T13:19:53     
2021-04-12T12:29:53
-
--- !sql --
-2021-04-12T12:55:18    2021-04-12T12:54:28
-
--- !sql --
-2021-06-01T12:54:53    2021-02-21T12:54:53     2071-04-12T12:54:53     
1971-04-12T12:54:53
-
--- !sql --
-2025-06-12T12:54:53    2017-02-12T12:54:53     2021-06-01T12:54:53     
2021-02-21T12:54:53
-
--- !sql --
-2021-04-14T14:54:53    2021-04-10T10:54:53     2021-04-12T13:44:53     
2021-04-12T12:04:53
-
--- !sql --
-2021-04-12T12:55:43    2021-04-12T12:54:03
-
--- !sql --
-2024-01-31T12:54:53    2018-06-23T12:54:53     3045-04-12T12:54:53     
0997-04-12T12:54:53
-
--- !sql --
-2106-08-12T12:54:53    1935-12-12T12:54:53     2024-01-31T12:54:53     
2018-06-23T12:54:53
-
--- !sql --
-2021-05-25T04:54:53    2021-02-28T20:54:53     2021-04-13T05:58:53     
2021-04-11T19:50:53
-
--- !sql --
-2021-04-12T13:11:57    2021-04-12T12:37:49
-
--- !sql --
-1970-01-01T23:59:59    1969-12-30T23:59:59     1970-12-31T23:59:59     
1968-12-31T23:59:59
-
--- !sql --
-1970-01-31T23:59:59    1969-11-30T23:59:59     1970-01-01T23:59:59     
1969-12-30T23:59:59
-
--- !sql --
-1970-01-01T00:59:59    1969-12-31T22:59:59     1970-01-01T00:00:59     
1969-12-31T23:58:59
-
--- !sql --
-1970-01-01T00:00       1969-12-31T23:59:58
-
--- !sql --
-1970-01-10T23:59:59    1969-12-21T23:59:59     1979-12-31T23:59:59     
1959-12-31T23:59:59
-
--- !sql --
-1970-10-31T23:59:59    1969-02-28T23:59:59     1970-01-10T23:59:59     
1969-12-21T23:59:59
-
--- !sql --
-1970-01-01T09:59:59    1969-12-31T13:59:59     1970-01-01T00:09:59     
1969-12-31T23:49:59
-
--- !sql --
-1970-01-01T00:00:09    1969-12-31T23:59:49
-
--- !sql --
-1970-01-25T23:59:59    1969-12-06T23:59:59     1994-12-31T23:59:59     
1944-12-31T23:59:59
-
--- !sql --
-1972-01-31T23:59:59    1967-11-30T23:59:59     1970-01-25T23:59:59     
1969-12-06T23:59:59
-
--- !sql --
-1970-01-02T00:59:59    1969-12-30T22:59:59     1970-01-01T00:24:59     
1969-12-31T23:34:59
-
--- !sql --
-1970-01-01T00:00:24    1969-12-31T23:59:34
-
--- !sql --
-1970-02-19T23:59:59    1969-11-11T23:59:59     2019-12-31T23:59:59     
1919-12-31T23:59:59
-
--- !sql --
-1974-02-28T23:59:59    1965-10-31T23:59:59     1970-02-19T23:59:59     
1969-11-11T23:59:59
-
--- !sql --
-1970-01-03T01:59:59    1969-12-29T21:59:59     1970-01-01T00:49:59     
1969-12-31T23:09:59
-
--- !sql --
-1970-01-01T00:00:49    1969-12-31T23:59:09
-
--- !sql --
-1972-10-20T23:59:59    1967-03-13T23:59:59     2993-12-31T23:59:59     
0945-12-31T23:59:59
-
--- !sql --
-2055-04-30T23:59:59    1884-08-31T23:59:59     1972-10-20T23:59:59     
1967-03-13T23:59:59
-
--- !sql --
-1970-02-12T15:59:59    1969-11-19T07:59:59     1970-01-01T17:03:59     
1969-12-31T06:55:59
-
--- !sql --
-1970-01-01T00:17:03    1969-12-31T23:42:55
-
--- !sql --
-1356-12-13T12:56:12    1356-12-11T12:56:12     1357-12-12T12:56:12     
1355-12-12T12:56:12
-
--- !sql --
-1357-01-12T12:56:12    1356-11-12T12:56:12     1356-12-13T12:56:12     
1356-12-11T12:56:12
-
--- !sql --
-1356-12-12T13:56:12    1356-12-12T11:56:12     1356-12-12T12:57:12     
1356-12-12T12:55:12
-
--- !sql --
-1356-12-12T12:56:13    1356-12-12T12:56:11
-
--- !sql --
-1356-12-22T12:56:12    1356-12-02T12:56:12     1366-12-12T12:56:12     
1346-12-12T12:56:12
-
--- !sql --
-1357-10-12T12:56:12    1356-02-12T12:56:12     1356-12-22T12:56:12     
1356-12-02T12:56:12
-
--- !sql --
-1356-12-12T22:56:12    1356-12-12T02:56:12     1356-12-12T13:06:12     
1356-12-12T12:46:12
-
--- !sql --
-1356-12-12T12:56:22    1356-12-12T12:56:02
-
--- !sql --
-1357-01-06T12:56:12    1356-11-17T12:56:12     1381-12-12T12:56:12     
1331-12-12T12:56:12
-
--- !sql --
-1359-01-12T12:56:12    1354-11-12T12:56:12     1357-01-06T12:56:12     
1356-11-17T12:56:12
-
--- !sql --
-1356-12-13T13:56:12    1356-12-11T11:56:12     1356-12-12T13:21:12     
1356-12-12T12:31:12
-
--- !sql --
-1356-12-12T12:56:37    1356-12-12T12:55:47
-
--- !sql --
-1357-01-31T12:56:12    1356-10-23T12:56:12     1406-12-12T12:56:12     
1306-12-12T12:56:12
-
--- !sql --
-1361-02-12T12:56:12    1352-10-12T12:56:12     1357-01-31T12:56:12     
1356-10-23T12:56:12
-
--- !sql --
-1356-12-14T14:56:12    1356-12-10T10:56:12     1356-12-12T13:46:12     
1356-12-12T12:06:12
-
--- !sql --
-1356-12-12T12:57:02    1356-12-12T12:55:22
-
--- !sql --
-1359-10-02T12:56:12    1354-02-22T12:56:12     2380-12-12T12:56:12     
0332-12-12T12:56:12
-
--- !sql --
-1442-04-12T12:56:12    1271-08-12T12:56:12     1359-10-02T12:56:12     
1354-02-22T12:56:12
-
--- !sql --
-1357-01-24T04:56:12    1356-10-30T20:56:12     1356-12-13T06:00:12     
1356-12-11T19:52:12
-
--- !sql --
-1356-12-12T13:13:16    1356-12-12T12:39:08
-
--- !sql --
-0001-01-02T00:00:01    0000-12-31T00:00:01     0002-01-01T00:00:01     
0000-01-01T00:00:01
-
--- !sql --
-0001-02-01T00:00:01    0000-12-01T00:00:01     0001-01-02T00:00:01     
0000-12-31T00:00:01
-
--- !sql --
-0001-01-01T01:00:01    0000-12-31T23:00:01     0001-01-01T00:01:01     
0000-12-31T23:59:01
-
--- !sql --
-0001-01-01T00:00:02    0001-01-01T00:00
-
--- !sql --
-0001-01-11T00:00:01    0000-12-22T00:00:01     0011-01-01T00:00:01     \N
-
--- !sql --
-0001-11-01T00:00:01    0000-03-01T00:00:01     0001-01-11T00:00:01     
0000-12-22T00:00:01
-
--- !sql --
-0001-01-01T10:00:01    0000-12-31T14:00:01     0001-01-01T00:10:01     
0000-12-31T23:50:01
-
--- !sql --
-0001-01-01T00:00:11    0000-12-31T23:59:51
-
--- !sql --
-0001-01-26T00:00:01    0000-12-07T00:00:01     0026-01-01T00:00:01     \N
-
--- !sql --
-0003-02-01T00:00:01    \N      0001-01-26T00:00:01     0000-12-07T00:00:01
-
--- !sql --
-0001-01-02T01:00:01    0000-12-30T23:00:01     0001-01-01T00:25:01     
0000-12-31T23:35:01
-
--- !sql --
-0001-01-01T00:00:26    0000-12-31T23:59:36
-
--- !sql --
-0001-02-20T00:00:01    0000-11-12T00:00:01     0051-01-01T00:00:01     \N
-
--- !sql --
-0005-03-01T00:00:01    \N      0001-02-20T00:00:01     0000-11-12T00:00:01
-
--- !sql --
-0001-01-03T02:00:01    0000-12-29T22:00:01     0001-01-01T00:50:01     
0000-12-31T23:10:01
-
--- !sql --
-0001-01-01T00:00:51    0000-12-31T23:59:11
-
--- !sql --
-0003-10-22T00:00:01    \N      1025-01-01T00:00:01     \N
-
--- !sql --
-0086-05-01T00:00:01    \N      0003-10-22T00:00:01     \N
-
--- !sql --
-0001-02-12T16:00:01    0000-11-19T08:00:01     0001-01-01T17:04:01     
0000-12-31T06:56:01
-
--- !sql --
-0001-01-01T00:17:05    0000-12-31T23:42:57
-
--- !sql --
-9999-01-01T00:00:59    9998-12-30T00:00:59     9999-12-31T00:00:59     
9997-12-31T00:00:59
-
--- !sql --
-9999-01-31T00:00:59    9998-11-30T00:00:59     9999-01-01T00:00:59     
9998-12-30T00:00:59
-
--- !sql --
-9998-12-31T01:00:59    9998-12-30T23:00:59     9998-12-31T00:01:59     
9998-12-30T23:59:59
-
--- !sql --
-9998-12-31T00:01       9998-12-31T00:00:58
-
--- !sql --
-9999-01-10T00:00:59    9998-12-21T00:00:59     \N      9988-12-31T00:00:59
-
--- !sql --
-9999-10-31T00:00:59    9998-02-28T00:00:59     9999-01-10T00:00:59     
9998-12-21T00:00:59
-
--- !sql --
-9998-12-31T10:00:59    9998-12-30T14:00:59     9998-12-31T00:10:59     
9998-12-30T23:50:59
-
--- !sql --
-9998-12-31T00:01:09    9998-12-31T00:00:49
-
--- !sql --
-9999-01-25T00:00:59    9998-12-06T00:00:59     \N      9973-12-31T00:00:59
-
--- !sql --
-\N     9996-11-30T00:00:59     9999-01-25T00:00:59     9998-12-06T00:00:59
-
--- !sql --
-9999-01-01T01:00:59    9998-12-29T23:00:59     9998-12-31T00:25:59     
9998-12-30T23:35:59
-
--- !sql --
-9998-12-31T00:01:24    9998-12-31T00:00:34
-
--- !sql --
-9999-02-19T00:00:59    9998-11-11T00:00:59     \N      9948-12-31T00:00:59
-
--- !sql --
-\N     9994-10-31T00:00:59     9999-02-19T00:00:59     9998-11-11T00:00:59
-
--- !sql --
-9999-01-02T02:00:59    9998-12-28T22:00:59     9998-12-31T00:50:59     
9998-12-30T23:10:59
-
--- !sql --
-9998-12-31T00:01:49    9998-12-31T00:00:09
-
--- !sql --
-\N     9996-03-12T00:00:59     \N      8974-12-31T00:00:59
-
--- !sql --
-\N     9913-08-31T00:00:59     \N      9996-03-12T00:00:59
-
--- !sql --
-9999-02-11T16:00:59    9998-11-18T08:00:59     9998-12-31T17:04:59     
9998-12-30T06:56:59
-
--- !sql --
-9998-12-31T00:18:03    9998-12-30T23:43:55
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
-0
-
--- !sql --
-18730
-
--- !sql --
-242642
-
--- !sql --
-737891
-
--- !sql --
--2913802
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--18730
-
--- !sql --
-0
-
--- !sql --
-223912
-
--- !sql --
-719161
-
--- !sql --
--2932532
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--242642
-
--- !sql --
--223912
-
--- !sql --
-0
-
--- !sql --
-495249
-
--- !sql --
--3156444
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
--737891
-
--- !sql --
--719161
-
--- !sql --
--495249
-
--- !sql --
-0
-
--- !sql --
--3651693
-
--- !sql --
-2913802
-
--- !sql --
-2932532
-
--- !sql --
-3156444
-
--- !sql --
-3651693
-
--- !sql --
-0
+2021-04-13T12:54:53    2021-04-11T12:54:53     2022-04-12T12:54:53     
2020-04-12T12:54:53
 
 -- !sql --
-2913802
+2021-05-12T12:54:53    2021-03-12T12:54:53     2021-04-13T12:54:53     
2021-04-11T12:54:53
 
 -- !sql --
-2932532
+2021-04-12T13:54:53    2021-04-12T11:54:53     2021-04-12T12:55:53     
2021-04-12T12:53:53
 
 -- !sql --
-3156444
+2021-04-12T12:54:54    2021-04-12T12:54:52
 
 -- !sql --
-3651693
+2021-04-22T12:54:53    2021-04-02T12:54:53     2031-04-12T12:54:53     
2011-04-12T12:54:53
 
 -- !sql --
-0
+2022-02-12T12:54:53    2020-06-12T12:54:53     2021-04-22T12:54:53     
2021-04-02T12:54:53
 
 -- !sql --
-2913802
+2021-04-12T22:54:53    2021-04-12T02:54:53     2021-04-12T13:04:53     
2021-04-12T12:44:53
 
 -- !sql --
-2932532
+2021-04-12T12:55:03    2021-04-12T12:54:43
 
 -- !sql --
-3156444
+2021-05-07T12:54:53    2021-03-18T12:54:53     2046-04-12T12:54:53     
1996-04-12T12:54:53
 
 -- !sql --
-3651693
+2023-05-12T12:54:53    2019-03-12T12:54:53     2021-05-07T12:54:53     
2021-03-18T12:54:53
 
 -- !sql --
-0
+2021-04-13T13:54:53    2021-04-11T11:54:53     2021-04-12T13:19:53     
2021-04-12T12:29:53
 
 -- !sql --
-2913802
+2021-04-12T12:55:18    2021-04-12T12:54:28
 
 -- !sql --
-2932532
+2021-06-01T12:54:53    2021-02-21T12:54:53     2071-04-12T12:54:53     
1971-04-12T12:54:53
 
 -- !sql --
-3156444
+2025-06-12T12:54:53    2017-02-12T12:54:53     2021-06-01T12:54:53     
2021-02-21T12:54:53
 
 -- !sql --
-3651693
+2021-04-14T14:54:53    2021-04-10T10:54:53     2021-04-12T13:44:53     
2021-04-12T12:04:53
 
 -- !sql --
-0
+2021-04-12T12:55:43    2021-04-12T12:54:03
 
 -- !sql --
-2021   4       102     12      2       12
+2024-01-31T12:54:53    2018-06-23T12:54:53     3045-04-12T12:54:53     
0997-04-12T12:54:53
 
 -- !sql --
-0      0       0
+2106-08-12T12:54:53    1935-12-12T12:54:53     2024-01-31T12:54:53     
2018-06-23T12:54:53
 
 -- !sql --
-1969   12      365     31      4       31
+2021-05-25T04:54:53    2021-02-28T20:54:53     2021-04-13T05:58:53     
2021-04-11T19:50:53
 
 -- !sql --
-0      0       0
+2021-04-12T13:11:57    2021-04-12T12:37:49
 
 -- !sql --
-1356   12      347     12      1       12
+1970-01-01T23:59:59    1969-12-30T23:59:59     1970-12-31T23:59:59     
1968-12-31T23:59:59
 
 -- !sql --
-0      0       0
+1970-01-31T23:59:59    1969-11-30T23:59:59     1970-01-01T23:59:59     
1969-12-30T23:59:59
 
 -- !sql --
-1      1       1       1       2       1
+1970-01-01T00:59:59    1969-12-31T22:59:59     1970-01-01T00:00:59     
1969-12-31T23:58:59
 
 -- !sql --
-0      0       0
+1970-01-01T00:00       1969-12-31T23:59:58
 
 -- !sql --
-9998   12      365     31      5       31
+1970-01-10T23:59:59    1969-12-21T23:59:59     1979-12-31T23:59:59     
1959-12-31T23:59:59
 
 -- !sql --
-0      0       0
+1970-10-31T23:59:59    1969-02-28T23:59:59     1970-01-10T23:59:59     
1969-12-21T23:59:59
 
 -- !sql --
-2021   4       102     12      2       12
+1970-01-01T09:59:59    1969-12-31T13:59:59     1970-01-01T00:09:59     
1969-12-31T23:49:59
 
 -- !sql --
-0      0       0
+1970-01-01T00:00:09    1969-12-31T23:59:49
 
 -- !sql --
-1969   12      365     31      4       31
+1970-01-25T23:59:59    1969-12-06T23:59:59     1994-12-31T23:59:59     
1944-12-31T23:59:59
 
 -- !sql --
-0      0       0
+1972-01-31T23:59:59    1967-11-30T23:59:59     1970-01-25T23:59:59     
1969-12-06T23:59:59
 
 -- !sql --
-1356   12      347     12      1       12
+1970-01-02T00:59:59    1969-12-30T22:59:59     1970-01-01T00:24:59     
1969-12-31T23:34:59
 
 -- !sql --
-0      0       0
+1970-01-01T00:00:24    1969-12-31T23:59:34
 
 -- !sql --
-1      1       1       1       2       1
+1970-02-19T23:59:59    1969-11-11T23:59:59     2019-12-31T23:59:59     
1919-12-31T23:59:59
 
 -- !sql --
-0      0       0
+1974-02-28T23:59:59    1965-10-31T23:59:59     1970-02-19T23:59:59     
1969-11-11T23:59:59
 
 -- !sql --
-9998   12      365     31      5       31
+1970-01-03T01:59:59    1969-12-29T21:59:59     1970-01-01T00:49:59     
1969-12-31T23:09:59
 
 -- !sql --
-0      0       0
+1970-01-01T00:00:49    1969-12-31T23:59:09
 
 -- !sql --
-2021   4       102     12      2       12
+1972-10-20T23:59:59    1967-03-13T23:59:59     2993-12-31T23:59:59     
0945-12-31T23:59:59
 
 -- !sql --
-12     54      53
+2055-04-30T23:59:59    1884-08-31T23:59:59     1972-10-20T23:59:59     
1967-03-13T23:59:59
 
 -- !sql --
-1969   12      365     31      4       31
+1970-02-12T15:59:59    1969-11-19T07:59:59     1970-01-01T17:03:59     
1969-12-31T06:55:59
 
 -- !sql --
-23     59      59
+1970-01-01T00:17:03    1969-12-31T23:42:55
 
 -- !sql --
-1356   12      347     12      1       12
+1356-12-13T12:56:12    1356-12-11T12:56:12     1357-12-12T12:56:12     
1355-12-12T12:56:12
 
 -- !sql --
-12     56      12
+1357-01-12T12:56:12    1356-11-12T12:56:12     1356-12-13T12:56:12     
1356-12-11T12:56:12
 
 -- !sql --
-1      1       1       1       2       1
+1356-12-12T13:56:12    1356-12-12T11:56:12     1356-12-12T12:57:12     
1356-12-12T12:55:12
 
 -- !sql --
-0      0       1
+1356-12-12T12:56:13    1356-12-12T12:56:11
 
 -- !sql --
-9998   12      365     31      5       31
+1356-12-22T12:56:12    1356-12-02T12:56:12     1366-12-12T12:56:12     
1346-12-12T12:56:12
 
 -- !sql --
-0      0       59
+1357-10-12T12:56:12    1356-02-12T12:56:12     1356-12-22T12:56:12     
1356-12-02T12:56:12
 
 -- !sql --
-2021   4       102     12      2       12
+1356-12-12T22:56:12    1356-12-12T02:56:12     1356-12-12T13:06:12     
1356-12-12T12:46:12
 
 -- !sql --
-12     54      53
+1356-12-12T12:56:22    1356-12-12T12:56:02
 
 -- !sql --
-1969   12      365     31      4       31
+1357-01-06T12:56:12    1356-11-17T12:56:12     1381-12-12T12:56:12     
1331-12-12T12:56:12
 
 -- !sql --
-23     59      59
+1359-01-12T12:56:12    1354-11-12T12:56:12     1357-01-06T12:56:12     
1356-11-17T12:56:12
 
 -- !sql --
-1356   12      347     12      1       12
+1356-12-13T13:56:12    1356-12-11T11:56:12     1356-12-12T13:21:12     
1356-12-12T12:31:12
 
 -- !sql --
-12     56      12
+1356-12-12T12:56:37    1356-12-12T12:55:47
 
 -- !sql --
-1      1       1       1       2       1
+1357-01-31T12:56:12    1356-10-23T12:56:12     1406-12-12T12:56:12     
1306-12-12T12:56:12
 
 -- !sql --
-0      0       1
+1361-02-12T12:56:12    1352-10-12T12:56:12     1357-01-31T12:56:12     
1356-10-23T12:56:12
 
 -- !sql --
-9998   12      365     31      5       31
+1356-12-14T14:56:12    1356-12-10T10:56:12     1356-12-12T13:46:12     
1356-12-12T12:06:12
 
 -- !sql --
-0      0       59
+1356-12-12T12:57:02    1356-12-12T12:55:22
 
 -- !sql --
-2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
+1359-10-02T12:56:12    1354-02-22T12:56:12     2380-12-12T12:56:12     
0332-12-12T12:56:12
 
 -- !sql --
-1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
+1442-04-12T12:56:12    1271-08-12T12:56:12     1359-10-02T12:56:12     
1354-02-22T12:56:12
 
 -- !sql --
-1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
+1357-01-24T04:56:12    1356-10-30T20:56:12     1356-12-13T06:00:12     
1356-12-11T19:52:12
 
 -- !sql --
-0001-01-01     0001-01-01      0001-01-31      0001-01-01      366
+1356-12-12T13:13:16    1356-12-12T12:39:08
 
 -- !sql --
-9998-12-31     9998-12-28      9998-12-31      9998-12-31      3652059
+0
 
 -- !sql --
-2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
+18730
 
 -- !sql --
-1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
+242642
 
 -- !sql --
-1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
+0
 
 -- !sql --
-0001-01-01     0001-01-01      0001-01-31      0001-01-01      366
+18730
 
 -- !sql --
-9998-12-31     9998-12-28      9998-12-31      9998-12-31      3652059
+242642
 
 -- !sql --
-2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
+-18730
 
 -- !sql --
-1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
+0
 
 -- !sql --
-1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
+223912
 
 -- !sql --
-0001-01-01     0001-01-01      0001-01-31      0001-01-01      366
+-18730
 
 -- !sql --
-9998-12-31     9998-12-28      9998-12-31      9998-12-31      3652059
+0
 
 -- !sql --
-2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
+223912
 
 -- !sql --
-1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
+-242642
 
 -- !sql --
-1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
+-223912
 
 -- !sql --
-0001-01-01     0001-01-01      0001-01-31      0001-01-01      366
+0
 
 -- !sql --
-9998-12-31     9998-12-28      9998-12-31      9998-12-31      3652059
+-242642
 
 -- !sql --
-2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
+-223912
 
 -- !sql --
-2021-04-12T00:00       2021-04-12T00:00        2021-04-12T00:00
+0
 
 -- !sql --
-1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
+0
 
 -- !sql --
-1969-12-31T00:00       1969-12-31T00:00        1969-12-31T00:00
+18730
 
 -- !sql --
-1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
+242642
 
 -- !sql --
-1356-12-12T00:00       1356-12-12T00:00        1356-12-12T00:00
+0
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+18730
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+242642
 
 -- !sql --
-9998-01-01T00:00       9998-12-01T00:00        9998-12-31T00:00
+-18730
 
 -- !sql --
-9998-12-31T00:00       9998-12-31T00:00        9998-12-31T00:00
+0
 
 -- !sql --
-2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
+223912
 
 -- !sql --
-2021-04-12T00:00       2021-04-12T00:00        2021-04-12T00:00
+-18730
 
 -- !sql --
-1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
+0
 
 -- !sql --
-1969-12-31T00:00       1969-12-31T00:00        1969-12-31T00:00
+223912
 
 -- !sql --
-1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
+-242642
 
 -- !sql --
-1356-12-12T00:00       1356-12-12T00:00        1356-12-12T00:00
+-223912
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+0
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+-242642
 
 -- !sql --
-9998-01-01T00:00       9998-12-01T00:00        9998-12-31T00:00
+-223912
 
 -- !sql --
-9998-12-31T00:00       9998-12-31T00:00        9998-12-31T00:00
+0
 
 -- !sql --
-2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
+2021   4       102     12      2       12
 
 -- !sql --
-2021-04-12T12:00       2021-04-12T12:54        2021-04-12T12:54:53
+0      0       0
 
 -- !sql --
-1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
+1969   12      365     31      4       31
 
 -- !sql --
-1969-12-31T23:00       1969-12-31T23:59        1969-12-31T23:59:59
+0      0       0
 
 -- !sql --
-1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
+1356   12      347     12      1       12
 
 -- !sql --
-1356-12-12T12:00       1356-12-12T12:56        1356-12-12T12:56:12
+0      0       0
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+2021   4       102     12      2       12
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00:01
+12     54      53
 
 -- !sql --
-9998-01-01T00:00       9998-12-01T00:00        9998-12-31T00:00
+1969   12      365     31      4       31
 
 -- !sql --
-9998-12-31T00:00       9998-12-31T00:00        9998-12-31T00:00:59
+23     59      59
 
 -- !sql --
-2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
+1356   12      347     12      1       12
 
 -- !sql --
-2021-04-12T12:00       2021-04-12T12:54        2021-04-12T12:54:53
+12     56      12
 
 -- !sql --
-1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
+2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
 
 -- !sql --
-1969-12-31T23:00       1969-12-31T23:59        1969-12-31T23:59:59
+1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
 
 -- !sql --
-1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
+1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
 
 -- !sql --
-1356-12-12T12:00       1356-12-12T12:56        1356-12-12T12:56:12
+2021-04-12     2021-04-12      2021-04-30      2021-04-12      738257
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00
+1969-12-31     1969-12-29      1969-12-31      1969-12-31      719527
 
 -- !sql --
-0001-01-01T00:00       0001-01-01T00:00        0001-01-01T00:00:01
+1356-12-12     1356-12-06      1356-12-31      1356-12-12      495615
 
 -- !sql --
-9998-01-01T00:00       9998-12-01T00:00        9998-12-31T00:00
+2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
 
 -- !sql --
-9998-12-31T00:00       9998-12-31T00:00        9998-12-31T00:00:59
+2021-04-12T00:00       2021-04-12T00:00        2021-04-12T00:00
 
 -- !sql --
-2021-04-12     2021-04-30      2021-04-12      738257  2021-04-12      
2021-04-12
+1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
 
 -- !sql --
-1969-12-29     1969-12-31      1969-12-31      719527  1969-12-31      
1969-12-31
+1969-12-31T00:00       1969-12-31T00:00        1969-12-31T00:00
 
 -- !sql --
-1356-12-06     1356-12-31      1356-12-12      495615  1356-12-12      
1356-12-12
+1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
 
 -- !sql --
-0001-01-01     0001-01-31      0001-01-01      366     0001-01-01      
0001-01-01
+1356-12-12T00:00       1356-12-12T00:00        1356-12-12T00:00
 
 -- !sql --
-9998-12-28     9998-12-31      9998-12-31      3652059 9998-12-31      
9998-12-31
+2021-01-01T00:00       2021-04-01T00:00        2021-04-12T00:00
 
 -- !sql --
-2021-04-12     2021-04-30      2021-04-12      738257  2021-04-12      
2021-04-12
+2021-04-12T12:00       2021-04-12T12:54        2021-04-12T12:54:53
 
 -- !sql --
-1969-12-29     1969-12-31      1969-12-31      719527  1969-12-31      
1969-12-31
+1969-01-01T00:00       1969-12-01T00:00        1969-12-31T00:00
 
 -- !sql --
-1356-12-06     1356-12-31      1356-12-12      495615  1356-12-12      
1356-12-12
+1969-12-31T23:00       1969-12-31T23:59        1969-12-31T23:59:59
 
 -- !sql --
-0001-01-01     0001-01-31      0001-01-01      366     0001-01-01      
0001-01-01
+1356-01-01T00:00       1356-12-01T00:00        1356-12-12T00:00
 
 -- !sql --
-9998-12-28     9998-12-31      9998-12-31      3652059 9998-12-31      
9998-12-31
+1356-12-12T12:00       1356-12-12T12:56        1356-12-12T12:56:12
 
 -- !sql --
 2021-04-12     2021-04-30      2021-04-12      738257  2021-04-12      
2021-04-12
@@ -2738,12 +566,6 @@
 -- !sql --
 1356-12-06     1356-12-31      1356-12-12      495615  1356-12-12      
1356-12-12
 
--- !sql --
-0001-01-01     0001-01-31      0001-01-01      366     0001-01-01      
0001-01-01
-
--- !sql --
-9998-12-28     9998-12-31      9998-12-31      3652059 9998-12-31      
9998-12-31
-
 -- !sql --
 2021-04-12     2021-04-30      2021-04-12      738257  2021-04-12      
2021-04-12
 
@@ -2753,12 +575,6 @@
 -- !sql --
 1356-12-06     1356-12-31      1356-12-12      495615  1356-12-12      
1356-12-12
 
--- !sql --
-0001-01-01     0001-01-31      0001-01-01      366     0001-01-01      
0001-01-01
-
--- !sql --
-9998-12-28     9998-12-31      9998-12-31      3652059 9998-12-31      
9998-12-31
-
 -- !sql --
 2001-01-01     0005-06-24      1970-01-05 23:13:20
 
@@ -2843,42 +659,6 @@
 -- !sql --
 0
 
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-1618156800
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-1618203293
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-0
-
 -- !sql --
 1618203293
 
@@ -2888,9 +668,3 @@
 -- !sql --
 0
 
--- !sql --
-0
-
--- !sql --
-0
-
diff --git 
a/regression-test/data/query_p0/sql_functions/datetime_functions/test_date_function.out
 
b/regression-test/data/query_p0/sql_functions/datetime_functions/test_date_function.out
index 3f6f59b899c..e32dc79bdb5 100644
--- 
a/regression-test/data/query_p0/sql_functions/datetime_functions/test_date_function.out
+++ 
b/regression-test/data/query_p0/sql_functions/datetime_functions/test_date_function.out
@@ -68,7 +68,7 @@
 1      2019-08-01T13:21:03     Asia/Shanghai   Asia/Shanghai   
2019-08-01T13:21:03
 2      2019-08-01T13:21:03     Asia/Singapore  Asia/Shanghai   
2019-08-01T13:21:03
 3      2019-08-01T13:21:03     Asia/Taipei     Asia/Shanghai   
2019-08-01T13:21:03
-4      2019-08-02T13:21:03     Australia/Queensland    Asia/Shanghai   
2019-08-02T11:21:03
+4      2019-08-02T13:21:03     Australia/Queensland    Asia/Shanghai   \N
 5      2019-08-02T13:21:03     Australia/Lindeman      Asia/Shanghai   
2019-08-02T11:21:03
 6      2019-08-03T13:21:03     America/Aruba   Asia/Shanghai   
2019-08-04T01:21:03
 7      2019-08-03T13:21:03     America/Blanc-Sablon    Asia/Shanghai   
2019-08-04T01:21:03
@@ -77,7 +77,7 @@
 10     2019-08-05T13:21:03     Asia/Shanghai   Asia/Shanghai   
2019-08-05T13:21:03
 11     2019-08-05T13:21:03     Asia/Shanghai   Asia/Singapore  
2019-08-05T13:21:03
 12     2019-08-05T13:21:03     Asia/Shanghai   Asia/Taipei     
2019-08-05T13:21:03
-13     2019-08-06T13:21:03     Asia/Shanghai   Australia/Queensland    
2019-08-06T15:21:03
+13     2019-08-06T13:21:03     Asia/Shanghai   Australia/Queensland    \N
 14     2019-08-06T13:21:03     Asia/Shanghai   Australia/Lindeman      
2019-08-06T15:21:03
 15     2019-08-07T13:21:03     Asia/Shanghai   America/Aruba   
2019-08-07T01:21:03
 16     2019-08-07T13:21:03     Asia/Shanghai   America/Blanc-Sablon    
2019-08-07T01:21:03
@@ -88,7 +88,7 @@
 2019-08-01T13:21:03    2019-08-01T13:21:03     2019-08-01T13:21:03
 
 -- !sql3 --
-2019-08-02T11:21:03    2019-08-02T11:21:03     2019-08-02T11:21:03
+\N     \N      \N
 
 -- !sql4 --
 2019-08-04T22:21:03    2019-08-04T22:21:03     2019-08-04T22:21:03
@@ -97,7 +97,7 @@
 1      2019-08-01T13:21:03     Asia/Shanghai   Asia/Shanghai   
2019-08-01T13:21:03
 2      2019-08-01T13:21:03     Asia/Singapore  Asia/Shanghai   
2019-08-01T13:21:03
 3      2019-08-01T13:21:03     Asia/Taipei     Asia/Shanghai   
2019-08-01T13:21:03
-4      2019-08-02T13:21:03     Australia/Queensland    Asia/Shanghai   
2019-08-02T11:21:03
+4      2019-08-02T13:21:03     Australia/Queensland    Asia/Shanghai   \N
 5      2019-08-02T13:21:03     Australia/Lindeman      Asia/Shanghai   
2019-08-02T11:21:03
 6      2019-08-03T13:21:03     America/Aruba   Asia/Shanghai   
2019-08-04T01:21:03
 7      2019-08-03T13:21:03     America/Blanc-Sablon    Asia/Shanghai   
2019-08-04T01:21:03
@@ -106,7 +106,7 @@
 10     2019-08-05T13:21:03     Asia/Shanghai   Asia/Shanghai   
2019-08-05T13:21:03
 11     2019-08-05T13:21:03     Asia/Shanghai   Asia/Singapore  
2019-08-05T13:21:03
 12     2019-08-05T13:21:03     Asia/Shanghai   Asia/Taipei     
2019-08-05T13:21:03
-13     2019-08-06T13:21:03     Asia/Shanghai   Australia/Queensland    
2019-08-06T15:21:03
+13     2019-08-06T13:21:03     Asia/Shanghai   Australia/Queensland    \N
 14     2019-08-06T13:21:03     Asia/Shanghai   Australia/Lindeman      
2019-08-06T15:21:03
 15     2019-08-07T13:21:03     Asia/Shanghai   America/Aruba   
2019-08-07T01:21:03
 16     2019-08-07T13:21:03     Asia/Shanghai   America/Blanc-Sablon    
2019-08-07T01:21:03
@@ -117,7 +117,7 @@
 2019-08-01T13:21:03    2019-08-01T13:21:03     2019-08-01T13:21:03
 
 -- !sql_vec3 --
-2019-08-02T11:21:03    2019-08-02T11:21:03     2019-08-02T11:21:03
+\N     \N      \N
 
 -- !sql_vec4 --
 2019-08-04T22:21:03    2019-08-04T22:21:03     2019-08-04T22:21:03
@@ -279,7 +279,7 @@ February
 2014-12-21T12:34:56
 
 -- !sql --
-2011-11-09 11:09:30
+2011-11-09T11:09:30
 
 -- !sql --
 2014-12-21T12:34:56.789
@@ -369,10 +369,10 @@ February
 1196389819
 
 -- !sql_ustamp2 --
-1196389819
+1196389819.000000
 
 -- !sql_ustamp3 --
-1196389819
+1196389819.000000
 
 -- !sql_ustamp4 --
 0
diff --git 
a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy
 
b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy
index 67fda161bba..ab0353dab6a 100644
--- 
a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy
+++ 
b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy
@@ -25,10 +25,8 @@ suite("test_fold_constant_by_fe") {
     assertFalse(Objects.equals(results[0][0], results[0][1]))
 
     def test_date = [
-            "2021-04-12", "1969-12-31", "1356-12-12", "0001-01-01", 
"9998-12-31",
-            "2021-04-12", "1969-12-31", "1356-12-12", "0001-01-01", 
"9998-12-31",
-            "2021-04-12 12:54:53", "1969-12-31 23:59:59", "1356-12-12 
12:56:12", "0001-01-01 00:00:01", "9998-12-31 00:00:59",
-            "2021-04-12 12:54:53", "1969-12-31 23:59:59", "1356-12-12 
12:56:12", "0001-01-01 00:00:01", "9998-12-31 00:00:59"
+            "2021-04-12", "1969-12-31", "1356-12-12",
+            "2021-04-12 12:54:53", "1969-12-31 23:59:59", "1356-12-12 12:56:12"
     ]
 
     def test_int = [1, 10, 25, 50, 1024]
@@ -156,6 +154,56 @@ suite("test_fold_constant_by_fe") {
         assertFalse(res.contains("unix"))
     }
 
+    // fe fold constant would failed and return original expression
+    explain {
+        sql "select years_add('9999-12-31 23:59:59', 1)"
+        contains "years_add"
+    }
+    explain {
+        sql "select months_add('9999-12-31 23:59:59', 1)"
+        contains "months_add"
+    }
+    explain {
+        sql "select date_add('9999-12-31 23:59:59', 1)"
+        contains "days_add"
+    }
+    explain {
+        sql "select hours_add('9999-12-31 23:59:59', 1)"
+        contains "hours_add"
+    }
+    explain {
+        sql "select minutes_add('9999-12-31 23:59:59', 1)"
+        contains "minutes_add"
+    }
+    explain {
+        sql "select seconds_add('9999-12-31 23:59:59', 1)"
+        contains "seconds_add"
+    }
+    explain {
+        sql "select years_sub('0000-01-01 00:00:00', 1)"
+        contains "years_sub"
+    }
+    explain {
+        sql "select months_sub('0000-01-01 00:00:00', 1)"
+        contains "months_sub"
+    }
+    explain {
+        sql "select date_sub('0000-01-01 00:00:00', 1)"
+        contains "days_sub"
+    }
+    explain {
+        sql "select hours_sub('0000-01-01 00:00:00', 1)"
+        contains "hours_sub"
+    }
+    explain {
+        sql "select minutes_sub('0000-01-01 00:00:00', 1)"
+        contains "minutes_sub"
+    }
+    explain {
+        sql "select seconds_sub('0000-01-01 00:00:00', 1)"
+        contains "seconds_sub"
+    }
+
     // test null like string cause of fe need to fold constant like that to 
enable not null derive
     res = sql """explain select null like '%123%'"""
     assertFalse(res.contains("like"))


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to