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

yiguolei 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 9a4fd5be795 [nereids](datetime) fix wrong result type of datetime add 
with interval as first arg (#26957)
9a4fd5be795 is described below

commit 9a4fd5be7952618e1df083e016f954d6bedf4c27
Author: TengJianPing <[email protected]>
AuthorDate: Tue Nov 14 20:28:41 2023 +0800

    [nereids](datetime) fix wrong result type of datetime add with interval as 
first arg (#26957)
    
    Incorrect result data type cause be cordump:
    
    drop table if exists testaaa;
    create table testaaa(k1 tinyint, k2 smallint, k3 int, k4 bigint, k5 
decimal(9,3), k6 char(5), k10 date, k11 datetime, k7 varchar(20), k8 double 
max, k9 float sum) engine=olap distributed by hash(k1) buckets 5 
properties("storage_type"="column","replication_num"="1") ;
    
    insert into testaaa values(1,1,1,1,9.3, "k6", "2023-11-14", "2023-11-14", 
"k7", 9.99, 9.99);
    
    
    select  interval 10 year + k10 from testaaa;
    The plan result type is DATE:
    
    mysql [test]>explain verbose select   interval 10 year + k10  from testaaa;
    
+-------------------------------------------------------------------------------------------------------+
    | Explain String(Nereids Planner)                                           
                            |
    
+-------------------------------------------------------------------------------------------------------+
    | PLAN FRAGMENT 0                                                           
                            |
    |   OUTPUT EXPRS:                                                           
                            |
    |     years_add(k10, INTERVAL 10 YEAR)[#11]                                 
                            |
    |   PARTITION: UNPARTITIONED                                                
                            |
    |                                                                           
                            |
    |   HAS_COLO_PLAN_NODE: false                                               
                            |
    |                                                                           
                            |
    |   VRESULT SINK                                                            
                            |
    |      MYSQL_PROTOCAL                                                       
                            |
    |                                                                           
                            |
    |   64:VEXCHANGE                                                            
                            |
    |      offset: 0                                                            
                            |
    |      tuple ids: 1N                                                        
                            |
    |                                                                           
                            |
    | PLAN FRAGMENT 1                                                           
                            |
    |                                                                           
                            |
    |   PARTITION: HASH_PARTITIONED: k1[#0]                                     
                            |
    |                                                                           
                            |
    |   HAS_COLO_PLAN_NODE: false                                               
                            |
    |                                                                           
                            |
    |   STREAM DATA SINK                                                        
                            |
    |     EXCHANGE ID: 64                                                       
                            |
    |     UNPARTITIONED                                                         
                            |
    |                                                                           
                            |
    |   58:VOlapScanNode                                                        
                            |
    |      TABLE: default_cluster:test.testaaa(testaaa), PREAGGREGATION: OFF. 
Reason: No aggregate on scan. |
    |      partitions=1/1 (testaaa), tablets=5/5, 
tabletList=945025,945027,945029 ...                       |
    |      cardinality=1, avgRowSize=9885.0, numNodes=1                         
                            |
    |      pushAggOp=NONE                                                       
                            |
    |      projections: years_add(k10[#6], INTERVAL 10 YEAR)                    
                            |
    |      project output tuple id: 1                                           
                            |
    |      tuple ids: 0                                                         
                            |
    |                                                                           
                            |
    | Tuples:                                                                   
                            |
    | TupleDescriptor{id=0, tbl=testaaa, byteSize=8}                            
                            |
    |   SlotDescriptor{id=6, col=k10, colUniqueId=6, type=DATEV2, 
nullable=true, isAutoIncrement=false}     |
    |                                                                           
                            |
    | TupleDescriptor{id=1, tbl=testaaa, byteSize=32}                           
                            |
    |   SlotDescriptor{id=11, col=null, colUniqueId=null, type=DATE, 
nullable=true, isAutoIncrement=false}  |
    
+-------------------------------------------------------------------------------------------------------+
    39 rows in set (1 min 31.50 sec)
    coredump stack:
    
    F1109 20:11:37.677680 323805 assert_cast.h:61] Bad cast from 
type:doris::vectorized::ColumnVector to doris::vectorized::ColumnVector
    *** Check failure stack trace: ***
    F1109 20:11:37.680608 323800 assert_cast.h:61] Bad cast from 
type:doris::vectorized::ColumnVector to doris::vectorized::ColumnVector
    *** Check failure stack trace: ***
    F1109 20:11:37.680608 323800 assert_cast.h:61] Bad cast from 
type:doris::vectorized::ColumnVector to doris::vectorized::ColumnVectorF1109 
20:11:37.681102 323808 assert_cast.h:61] Bad cast from 
type:doris::vectorized::ColumnVector to doris::vectorized::ColumnVector
    *** Check failure stack trace: ***
        @     0x56489d591d3d  google::LogMessage::Fail()
        @     0x56489d591d3d  google::LogMessage::Fail()
        @     0x56489d591d3d  google::LogMessage::Fail()
        @     0x56489d594279  google::LogMessage::SendToLog()
        @     0x56489d594279  google::LogMessage::SendToLog()
        @     0x56489d594279  google::LogMessage::SendToLog()
        @     0x56489d5918a6  google::LogMessage::Flush()
        @     0x56489d5918a6  google::LogMessage::Flush()
        @     0x56489d5918a6  google::LogMessage::Flush()
        @     0x56489d5948e9  google::LogMessageFatal::~LogMessageFatal()
        @     0x56489d5948e9  google::LogMessageFatal::~LogMessageFatal()
        @     0x56489d5948e9  google::LogMessageFatal::~LogMessageFatal()
        @     0x56487a2a8a0c  assert_cast<>()
        @     0x56487a2a8a0c  assert_cast<>()
        @     0x56487a2a8a0c  assert_cast<>()
        @     0x5648893d8312  
doris::vectorized::ColumnVector<>::insert_range_from()
        @     0x5648893d8312  
doris::vectorized::ColumnVector<>::insert_range_from()
        @     0x5648893d8312  
doris::vectorized::ColumnVector<>::insert_range_from()
        @     0x56488924a670  
doris::vectorized::ColumnNullable::insert_range_from()
        @     0x56488924a670  
doris::vectorized::ColumnNullable::insert_range_from()
        @     0x56488924a670  
doris::vectorized::ColumnNullable::insert_range_from()
        @     0x56487a454475  doris::ExecNode::do_projections()
        @     0x56487a454475  doris::ExecNode::do_projections()
        @     0x56487a454475  doris::ExecNode::do_projections()
        @     0x56487a454b89  doris::ExecNode::get_next_after_projects()
        @     0x56487a454b89  doris::ExecNode::get_next_after_projects()
    *** Query id: a467995b35334741-b625042f56495aaf ***
    *** tablet id: 0 ***
    *** Aborted at 1699531898 (unix time) try "date -d @1699531898" if you are 
using GNU date ***
    *** Current BE git commitID: 0d83327a7c ***
    *** SIGABRT unknown detail explain (@0x190d64) received by PID 1641828 (TID 
1642168 OR 0x7f6ff96c0700) from PID 1641828; stack trace: ***
        @     0x556ca2a3ab8f  std::_Function_handler<>::_M_invoke()
        @     0x556c9f322787  std::function<>::operator()()
        @     0x556ca29da0b0  doris::Thread::supervise_thread()
        @     0x556c9f322787  std::function<>::operator()()
        @     0x7f71b9c38609  start_thread
        @     0x556ca29da0b0  doris::Thread::supervise_thread()
        @     0x7f71b9c38609  start_thread
     0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/common/signal_handler.h:417
     1# 0x00007F71B9E09090 in /lib/x86_64-linux-gnu/libc.so.6
     2# raise at ../sysdeps/unix/sysv/linux/raise.c:51
     3# abort at /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81
     4# 0x0000556CC51F3729 in /mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
     5# 0x0000556CC51E8D3D in /mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
     6# google::LogMessage::SendToLog() in 
/mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
     7# google::LogMessage::Flush() in 
/mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
     8# google::LogMessageFatal::~LogMessageFatal() in 
/mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
     9# doris::vectorized::ColumnVector const& assert_cast const&, 
doris::vectorized::IColumn const&>(doris::vectorized::IColumn const&) in 
/mnt/hdd01/ci/branch20-deploy/be/lib/doris_be
    10# 
doris::vectorized::ColumnVector::insert_range_from(doris::vectorized::IColumn 
const&, unsigned long, unsigned long) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/vec/columns/column_vector.cpp:354
    11# 
doris::vectorized::ColumnNullable::insert_range_from(doris::vectorized::IColumn 
const&, unsigned long, unsigned long) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/vec/columns/column_nullable.cpp:289
    12# doris::ExecNode::do_projections(doris::vectorized::Block*, 
doris::vectorized::Block*) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/exec/exec_node.cpp:573
    13# doris::ExecNode::get_next_after_projects(doris::RuntimeState*, 
doris::vectorized::Block*, bool*, std::function const&, bool) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/exec/exec_node.cpp:592
    14# doris::pipeline::SourceOperator::get_block(doris::RuntimeState*, 
doris::vectorized::Block*, doris::pipeline::SourceState&) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/pipeline/exec/operator.h:413
    15# doris::pipeline::PipelineTask::execute(bool*) at 
/home/zcp/repo_center/doris_branch-2.0/doris/be/src/pipeline/pipeline_task.cpp:259
    16# doris::pipeline::TaskScheduler::_do_work(unsigned
---
 .../doris/nereids/parser/LogicalPlanBuilder.java   |    4 +-
 .../trees/expressions/TimestampArithmetic.java     |   41 +-
 .../nereids/rules/expression/FoldConstantTest.java |    2 +-
 .../test_timestamp_arithmetic.out                  | 1400 +++++++++++++++++++-
 .../test_timestamp_arithmetic.sql                  |   90 ++
 5 files changed, 1460 insertions(+), 77 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
index 18333878f4a..33f11c4687f 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
@@ -1334,7 +1334,7 @@ public class LogicalPlanBuilder extends 
DorisParserBaseVisitor<Object> {
                     throw new ParseException("Only supported: " + 
Operator.ADD, ctx);
                 }
                 Interval interval = (Interval) left;
-                return new TimestampArithmetic(Operator.ADD, right, 
interval.value(), interval.timeUnit(), true);
+                return new TimestampArithmetic(Operator.ADD, right, 
interval.value(), interval.timeUnit());
             }
 
             if (right instanceof Interval) {
@@ -1347,7 +1347,7 @@ public class LogicalPlanBuilder extends 
DorisParserBaseVisitor<Object> {
                     throw new ParseException("Only supported: " + Operator.ADD 
+ " and " + Operator.SUBTRACT, ctx);
                 }
                 Interval interval = (Interval) right;
-                return new TimestampArithmetic(op, left, interval.value(), 
interval.timeUnit(), false);
+                return new TimestampArithmetic(op, left, interval.value(), 
interval.timeUnit());
             }
 
             return ParserUtils.withOrigin(ctx, () -> {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
index 0b2a75038fb..888a1a0869c 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
@@ -46,24 +46,21 @@ import java.util.Objects;
 public class TimestampArithmetic extends Expression implements 
BinaryExpression, PropagateNullableOnDateLikeV2Args {
 
     private final String funcName;
-    private final boolean intervalFirst;
     private final Operator op;
     private final TimeUnit timeUnit;
 
-    public TimestampArithmetic(Operator op, Expression e1, Expression e2, 
TimeUnit timeUnit, boolean intervalFirst) {
-        this(null, op, e1, e2, timeUnit, intervalFirst);
+    public TimestampArithmetic(Operator op, Expression e1, Expression e2, 
TimeUnit timeUnit) {
+        this(null, op, e1, e2, timeUnit);
     }
 
     /**
      * Full parameter constructor.
      */
-    public TimestampArithmetic(String funcName, Operator op, Expression e1, 
Expression e2, TimeUnit timeUnit,
-            boolean intervalFirst) {
+    public TimestampArithmetic(String funcName, Operator op, Expression e1, 
Expression e2, TimeUnit timeUnit) {
         super(ImmutableList.of(e1, e2));
         Preconditions.checkState(op == Operator.ADD || op == 
Operator.SUBTRACT);
         this.funcName = funcName;
         this.op = op;
-        this.intervalFirst = intervalFirst;
         this.timeUnit = timeUnit;
     }
 
@@ -76,21 +73,16 @@ public class TimestampArithmetic extends Expression 
implements BinaryExpression,
     public TimestampArithmetic withChildren(List<Expression> children) {
         Preconditions.checkArgument(children.size() == 2);
         return new TimestampArithmetic(this.funcName, this.op, 
children.get(0), children.get(1),
-                this.timeUnit, this.intervalFirst);
+                this.timeUnit);
     }
 
     public Expression withFuncName(String funcName) {
-        return new TimestampArithmetic(funcName, this.op, children.get(0), 
children.get(1), this.timeUnit,
-                this.intervalFirst);
+        return new TimestampArithmetic(funcName, this.op, children.get(0), 
children.get(1), this.timeUnit);
     }
 
     @Override
     public DataType getDataType() throws UnboundException {
-        int dateChildIndex = 0;
-        if (intervalFirst) {
-            dateChildIndex = 1;
-        }
-        DataType childType = child(dateChildIndex).getDataType();
+        DataType childType = child(0).getDataType();
         if (childType instanceof DateTimeV2Type) {
             return childType;
         }
@@ -149,21 +141,12 @@ public class TimestampArithmetic extends Expression 
implements BinaryExpression,
             strBuilder.append(")");
             return strBuilder.toString();
         }
-        if (intervalFirst) {
-            // Non-function-call like version with interval as first operand.
-            strBuilder.append("INTERVAL ");
-            strBuilder.append(child(1).toSql()).append(" ");
-            strBuilder.append(timeUnit);
-            strBuilder.append(" ").append(op.toString()).append(" ");
-            strBuilder.append(child(0).toSql());
-        } else {
-            // Non-function-call like version with interval as second operand.
-            strBuilder.append(child(0).toSql());
-            strBuilder.append(" ").append(op.toString()).append(" ");
-            strBuilder.append("INTERVAL ");
-            strBuilder.append(child(1).toSql()).append(" ");
-            strBuilder.append(timeUnit);
-        }
+        // Non-function-call like version with interval as second operand.
+        strBuilder.append(child(0).toSql());
+        strBuilder.append(" ").append(op.toString()).append(" ");
+        strBuilder.append("INTERVAL ");
+        strBuilder.append(child(1).toSql()).append(" ");
+        strBuilder.append(timeUnit);
         return strBuilder.toString();
     }
 
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 0358b3ea62d..cae12700cc7 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
@@ -286,7 +286,7 @@ class FoldConstantTest extends ExpressionRewriteTestHelper {
 
         // a + interval 1 day
         Slot a = SlotReference.of("a", DateTimeV2Type.SYSTEM_DEFAULT);
-        TimestampArithmetic arithmetic = new TimestampArithmetic(Operator.ADD, 
a, Literal.of(1), TimeUnit.DAY, false);
+        TimestampArithmetic arithmetic = new TimestampArithmetic(Operator.ADD, 
a, Literal.of(1), TimeUnit.DAY);
         Expression process = process(arithmetic);
         assertRewrite(process, process);
     }
diff --git 
a/regression-test/data/nereids_function_p0/test_timestamp_arithmetic.out 
b/regression-test/data/nereids_function_p0/test_timestamp_arithmetic.out
index fd5f1478778..979c29e2d62 100644
--- a/regression-test/data/nereids_function_p0/test_timestamp_arithmetic.out
+++ b/regression-test/data/nereids_function_p0/test_timestamp_arithmetic.out
@@ -37,6 +37,36 @@
 
 -- !test_timestamp_arithmetic_5 --
 \N
+2012-03-02
+2012-03-03
+2012-03-04
+2012-03-05
+2012-03-06
+2012-03-07
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+
+-- !test_timestamp_arithmetic_6 --
+\N
+2012-03-01T00:00:01
+2012-03-02T00:00:01
+2012-03-03T00:00:01
+2012-03-04T00:00:01
+2012-03-05T00:00:01
+2012-03-06T00:00:01
+2012-03-07T00:00:01
+2012-03-08T00:00:01
+2012-03-09T00:00:01
+2012-03-10T00:00:01
+2012-03-11T00:00:01
+2012-03-12T00:00:01
+
+-- !test_timestamp_arithmetic_7 --
+\N
 2012-02-29
 2012-03-01
 2012-03-02
@@ -50,7 +80,7 @@
 2012-03-10
 2012-03-11
 
--- !test_timestamp_arithmetic_6 --
+-- !test_timestamp_arithmetic_8 --
 \N
 2012-02-29T23:59:59
 2012-03-01T23:59:59
@@ -65,7 +95,7 @@
 2012-03-10T23:59:59
 2012-03-11T23:59:59
 
--- !test_timestamp_arithmetic_7 --
+-- !test_timestamp_arithmetic_9 --
 2012-03-02
 2012-03-03
 2012-03-04
@@ -79,7 +109,7 @@
 2012-03-12
 2012-03-13
 
--- !test_timestamp_arithmetic_8 --
+-- !test_timestamp_arithmetic_10 --
 2012-03-01T00:00:01
 2012-03-02T00:00:01
 2012-03-03T00:00:01
@@ -93,7 +123,35 @@
 2012-03-11T00:00:01
 2012-03-12T00:00:01
 
--- !test_timestamp_arithmetic_9 --
+-- !test_timestamp_arithmetic_11 --
+2012-03-02
+2012-03-03
+2012-03-04
+2012-03-05
+2012-03-06
+2012-03-07
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+
+-- !test_timestamp_arithmetic_12 --
+2012-03-01T00:00:01
+2012-03-02T00:00:01
+2012-03-03T00:00:01
+2012-03-04T00:00:01
+2012-03-05T00:00:01
+2012-03-06T00:00:01
+2012-03-07T00:00:01
+2012-03-08T00:00:01
+2012-03-09T00:00:01
+2012-03-10T00:00:01
+2012-03-11T00:00:01
+2012-03-12T00:00:01
+
+-- !test_timestamp_arithmetic_13 --
 2012-02-29
 2012-03-01
 2012-03-02
@@ -107,7 +165,7 @@
 2012-03-10
 2012-03-11
 
--- !test_timestamp_arithmetic_10 --
+-- !test_timestamp_arithmetic_14 --
 2012-02-29T23:59:59
 2012-03-01T23:59:59
 2012-03-02T23:59:59
@@ -121,7 +179,52 @@
 2012-03-10T23:59:59
 2012-03-11T23:59:59
 
--- !test_timestamp_arithmetic_11 --
+-- !test_timestamp_arithmetic_15 --
+\N
+2013-03-01
+2013-03-02
+2013-03-03
+2013-03-04
+2013-03-05
+2013-03-06
+2013-03-07
+2013-03-08
+2013-03-09
+2013-03-10
+2013-03-11
+2013-03-12
+
+-- !test_timestamp_arithmetic_16 --
+\N
+2012-04-01
+2012-04-02
+2012-04-03
+2012-04-04
+2012-04-05
+2012-04-06
+2012-04-07
+2012-04-08
+2012-04-09
+2012-04-10
+2012-04-11
+2012-04-12
+
+-- !test_timestamp_arithmetic_17 --
+\N
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+2012-03-14
+2012-03-15
+2012-03-16
+2012-03-17
+2012-03-18
+2012-03-19
+
+-- !test_timestamp_arithmetic_18 --
 \N
 2012-03-02
 2012-03-03
@@ -136,7 +239,37 @@
 2012-03-12
 2012-03-13
 
--- !test_timestamp_arithmetic_12 --
+-- !test_timestamp_arithmetic_19 --
+\N
+2012-03-01T01:00
+2012-03-02T01:00
+2012-03-03T01:00
+2012-03-04T01:00
+2012-03-05T01:00
+2012-03-06T01:00
+2012-03-07T01:00
+2012-03-08T01:00
+2012-03-09T01:00
+2012-03-10T01:00
+2012-03-11T01:00
+2012-03-12T01:00
+
+-- !test_timestamp_arithmetic_20 --
+\N
+2012-03-01T00:01
+2012-03-02T00:01
+2012-03-03T00:01
+2012-03-04T00:01
+2012-03-05T00:01
+2012-03-06T00:01
+2012-03-07T00:01
+2012-03-08T00:01
+2012-03-09T00:01
+2012-03-10T00:01
+2012-03-11T00:01
+2012-03-12T00:01
+
+-- !test_timestamp_arithmetic_21 --
 \N
 2012-03-01T00:00:01
 2012-03-02T00:00:01
@@ -151,7 +284,112 @@
 2012-03-11T00:00:01
 2012-03-12T00:00:01
 
--- !test_timestamp_arithmetic_13 --
+-- !test_timestamp_arithmetic_22 --
+\N
+2013-03-01
+2013-03-02
+2013-03-03
+2013-03-04
+2013-03-05
+2013-03-06
+2013-03-07
+2013-03-08
+2013-03-09
+2013-03-10
+2013-03-11
+2013-03-12
+
+-- !test_timestamp_arithmetic_23 --
+\N
+2012-04-01
+2012-04-02
+2012-04-03
+2012-04-04
+2012-04-05
+2012-04-06
+2012-04-07
+2012-04-08
+2012-04-09
+2012-04-10
+2012-04-11
+2012-04-12
+
+-- !test_timestamp_arithmetic_24 --
+\N
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+2012-03-14
+2012-03-15
+2012-03-16
+2012-03-17
+2012-03-18
+2012-03-19
+
+-- !test_timestamp_arithmetic_25 --
+\N
+2012-03-02
+2012-03-03
+2012-03-04
+2012-03-05
+2012-03-06
+2012-03-07
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+
+-- !test_timestamp_arithmetic_26 --
+\N
+2012-03-01T01:00
+2012-03-02T01:00
+2012-03-03T01:00
+2012-03-04T01:00
+2012-03-05T01:00
+2012-03-06T01:00
+2012-03-07T01:00
+2012-03-08T01:00
+2012-03-09T01:00
+2012-03-10T01:00
+2012-03-11T01:00
+2012-03-12T01:00
+
+-- !test_timestamp_arithmetic_27 --
+\N
+2012-03-01T00:01
+2012-03-02T00:01
+2012-03-03T00:01
+2012-03-04T00:01
+2012-03-05T00:01
+2012-03-06T00:01
+2012-03-07T00:01
+2012-03-08T00:01
+2012-03-09T00:01
+2012-03-10T00:01
+2012-03-11T00:01
+2012-03-12T00:01
+
+-- !test_timestamp_arithmetic_28 --
+\N
+2012-03-01T00:00:01
+2012-03-02T00:00:01
+2012-03-03T00:00:01
+2012-03-04T00:00:01
+2012-03-05T00:00:01
+2012-03-06T00:00:01
+2012-03-07T00:00:01
+2012-03-08T00:00:01
+2012-03-09T00:00:01
+2012-03-10T00:00:01
+2012-03-11T00:00:01
+2012-03-12T00:00:01
+
+-- !test_timestamp_arithmetic_29 --
 \N
 2012-02-29
 2012-03-01
@@ -166,7 +404,7 @@
 2012-03-10
 2012-03-11
 
--- !test_timestamp_arithmetic_14 --
+-- !test_timestamp_arithmetic_30 --
 \N
 2012-02-29T23:59:59
 2012-03-01T23:59:59
@@ -181,7 +419,7 @@
 2012-03-10T23:59:59
 2012-03-11T23:59:59
 
--- !test_timestamp_arithmetic_15 --
+-- !test_timestamp_arithmetic_31 --
 2012-03-02
 2012-03-03
 2012-03-04
@@ -195,7 +433,7 @@
 2012-03-12
 2012-03-13
 
--- !test_timestamp_arithmetic_16 --
+-- !test_timestamp_arithmetic_32 --
 2012-03-01T00:00:01
 2012-03-02T00:00:01
 2012-03-03T00:00:01
@@ -209,7 +447,105 @@
 2012-03-11T00:00:01
 2012-03-12T00:00:01
 
--- !test_timestamp_arithmetic_17 --
+-- !test_timestamp_arithmetic_33 --
+2013-03-01
+2013-03-02
+2013-03-03
+2013-03-04
+2013-03-05
+2013-03-06
+2013-03-07
+2013-03-08
+2013-03-09
+2013-03-10
+2013-03-11
+2013-03-12
+
+-- !test_timestamp_arithmetic_34 --
+2012-04-01
+2012-04-02
+2012-04-03
+2012-04-04
+2012-04-05
+2012-04-06
+2012-04-07
+2012-04-08
+2012-04-09
+2012-04-10
+2012-04-11
+2012-04-12
+
+-- !test_timestamp_arithmetic_35 --
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+2012-03-14
+2012-03-15
+2012-03-16
+2012-03-17
+2012-03-18
+2012-03-19
+
+-- !test_timestamp_arithmetic_36 --
+2012-03-02
+2012-03-03
+2012-03-04
+2012-03-05
+2012-03-06
+2012-03-07
+2012-03-08
+2012-03-09
+2012-03-10
+2012-03-11
+2012-03-12
+2012-03-13
+
+-- !test_timestamp_arithmetic_37 --
+2012-03-01T01:00
+2012-03-02T01:00
+2012-03-03T01:00
+2012-03-04T01:00
+2012-03-05T01:00
+2012-03-06T01:00
+2012-03-07T01:00
+2012-03-08T01:00
+2012-03-09T01:00
+2012-03-10T01:00
+2012-03-11T01:00
+2012-03-12T01:00
+
+-- !test_timestamp_arithmetic_38 --
+2012-03-01T00:01
+2012-03-02T00:01
+2012-03-03T00:01
+2012-03-04T00:01
+2012-03-05T00:01
+2012-03-06T00:01
+2012-03-07T00:01
+2012-03-08T00:01
+2012-03-09T00:01
+2012-03-10T00:01
+2012-03-11T00:01
+2012-03-12T00:01
+
+-- !test_timestamp_arithmetic_39 --
+2012-03-01T00:00:01
+2012-03-02T00:00:01
+2012-03-03T00:00:01
+2012-03-04T00:00:01
+2012-03-05T00:00:01
+2012-03-06T00:00:01
+2012-03-07T00:00:01
+2012-03-08T00:00:01
+2012-03-09T00:00:01
+2012-03-10T00:00:01
+2012-03-11T00:00:01
+2012-03-12T00:00:01
+
+-- !test_timestamp_arithmetic_40 --
 2012-02-29
 2012-03-01
 2012-03-02
@@ -223,7 +559,7 @@
 2012-03-10
 2012-03-11
 
--- !test_timestamp_arithmetic_18 --
+-- !test_timestamp_arithmetic_41 --
 2012-02-29T23:59:59
 2012-03-01T23:59:59
 2012-03-02T23:59:59
@@ -237,7 +573,7 @@
 2012-03-10T23:59:59
 2012-03-11T23:59:59
 
--- !test_timestamp_arithmetic_19 --
+-- !test_timestamp_arithmetic_42 --
 \N
 2012-03-02T01:00:01
 2012-03-03T02:01:02
@@ -252,7 +588,7 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_20 --
+-- !test_timestamp_arithmetic_43 --
 \N
 2012-03-01T01:00:02
 2012-03-02T02:01:03
@@ -267,7 +603,7 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_21 --
+-- !test_timestamp_arithmetic_44 --
 \N
 2012-02-29T01:00:01
 2012-03-01T02:01:02
@@ -282,7 +618,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_22 --
+-- !test_timestamp_arithmetic_45 --
 \N
 2012-03-01T01:00
 2012-03-02T02:01:01
@@ -297,7 +633,7 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_23 --
+-- !test_timestamp_arithmetic_46 --
 2012-03-02T01:00:01
 2012-03-03T02:01:02
 2012-03-04T03:02:03
@@ -311,7 +647,7 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_24 --
+-- !test_timestamp_arithmetic_47 --
 2012-03-01T01:00:02
 2012-03-02T02:01:03
 2012-03-03T03:02:04
@@ -325,7 +661,7 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_25 --
+-- !test_timestamp_arithmetic_48 --
 2012-02-29T01:00:01
 2012-03-01T02:01:02
 2012-03-02T03:02:03
@@ -339,7 +675,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_26 --
+-- !test_timestamp_arithmetic_49 --
 2012-03-01T01:00
 2012-03-02T02:01:01
 2012-03-03T03:02:02
@@ -353,7 +689,52 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_27 --
+-- !test_timestamp_arithmetic_50 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_51 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_52 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_53 --
 \N
 2012-03-02T01:00:01
 2012-03-03T02:01:02
@@ -368,7 +749,37 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_28 --
+-- !test_timestamp_arithmetic_54 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_55 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_56 --
 \N
 2012-03-01T01:00:02
 2012-03-02T02:01:03
@@ -383,7 +794,112 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_29 --
+-- !test_timestamp_arithmetic_57 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_58 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_59 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_60 --
+\N
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_61 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_62 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_63 --
+\N
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_64 --
 \N
 2012-02-29T01:00:01
 2012-03-01T02:01:02
@@ -398,7 +914,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_30 --
+-- !test_timestamp_arithmetic_65 --
 \N
 2012-03-01T01:00
 2012-03-02T02:01:01
@@ -413,7 +929,7 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_31 --
+-- !test_timestamp_arithmetic_66 --
 2012-03-02T01:00:01
 2012-03-03T02:01:02
 2012-03-04T03:02:03
@@ -427,7 +943,7 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_32 --
+-- !test_timestamp_arithmetic_67 --
 2012-03-01T01:00:02
 2012-03-02T02:01:03
 2012-03-03T03:02:04
@@ -441,7 +957,105 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_33 --
+-- !test_timestamp_arithmetic_68 --
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_69 --
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_70 --
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_71 --
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_72 --
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_73 --
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_74 --
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_75 --
 2012-02-29T01:00:01
 2012-03-01T02:01:02
 2012-03-02T03:02:03
@@ -455,7 +1069,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_34 --
+-- !test_timestamp_arithmetic_76 --
 2012-03-01T01:00
 2012-03-02T02:01:01
 2012-03-03T03:02:02
@@ -469,7 +1083,52 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_35 --
+-- !test_timestamp_arithmetic_77 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_78 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_79 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_80 --
 \N
 2012-03-02T01:00:01
 2012-03-03T02:01:02
@@ -484,7 +1143,37 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_36 --
+-- !test_timestamp_arithmetic_81 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_82 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_83 --
 \N
 2012-03-01T01:00:02
 2012-03-02T02:01:03
@@ -499,7 +1188,112 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_37 --
+-- !test_timestamp_arithmetic_84 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_85 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_86 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_87 --
+\N
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_88 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_89 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_90 --
+\N
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_91 --
 \N
 2012-02-29T01:00:01
 2012-03-01T02:01:02
@@ -514,7 +1308,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_38 --
+-- !test_timestamp_arithmetic_92 --
 \N
 2012-03-01T01:00
 2012-03-02T02:01:01
@@ -529,7 +1323,49 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_39 --
+-- !test_timestamp_arithmetic_93 --
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_94 --
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_95 --
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_96 --
 2012-03-02T01:00:01
 2012-03-03T02:01:02
 2012-03-04T03:02:03
@@ -543,7 +1379,35 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_40 --
+-- !test_timestamp_arithmetic_97 --
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_98 --
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_99 --
 2012-03-01T01:00:02
 2012-03-02T02:01:03
 2012-03-03T03:02:04
@@ -557,7 +1421,105 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_41 --
+-- !test_timestamp_arithmetic_100 --
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_101 --
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_102 --
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_103 --
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_104 --
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_105 --
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_106 --
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_107 --
 2012-02-29T01:00:01
 2012-03-01T02:01:02
 2012-03-02T03:02:03
@@ -571,7 +1533,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_42 --
+-- !test_timestamp_arithmetic_108 --
 2012-03-01T01:00
 2012-03-02T02:01:01
 2012-03-03T03:02:02
@@ -585,7 +1547,52 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_43 --
+-- !test_timestamp_arithmetic_109 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_110 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_111 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_112 --
 \N
 2012-03-02T01:00:01
 2012-03-03T02:01:02
@@ -600,7 +1607,37 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_44 --
+-- !test_timestamp_arithmetic_113 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_114 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_115 --
 \N
 2012-03-01T01:00:02
 2012-03-02T02:01:03
@@ -615,7 +1652,112 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_45 --
+-- !test_timestamp_arithmetic_116 --
+\N
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_117 --
+\N
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_118 --
+\N
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_119 --
+\N
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_120 --
+\N
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_121 --
+\N
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_122 --
+\N
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_123 --
 \N
 2012-02-29T01:00:01
 2012-03-01T02:01:02
@@ -630,7 +1772,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_46 --
+-- !test_timestamp_arithmetic_124 --
 \N
 2012-03-01T01:00
 2012-03-02T02:01:01
@@ -645,7 +1787,49 @@
 2012-03-11T11:10:10
 2012-03-12T12:11:11
 
--- !test_timestamp_arithmetic_47 --
+-- !test_timestamp_arithmetic_125 --
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_126 --
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_127 --
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_128 --
 2012-03-02T01:00:01
 2012-03-03T02:01:02
 2012-03-04T03:02:03
@@ -659,7 +1843,35 @@
 2012-03-12T11:10:11
 2012-03-13T12:11:12
 
--- !test_timestamp_arithmetic_48 --
+-- !test_timestamp_arithmetic_129 --
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_130 --
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_131 --
 2012-03-01T01:00:02
 2012-03-02T02:01:03
 2012-03-03T03:02:04
@@ -673,7 +1885,105 @@
 2012-03-11T11:10:12
 2012-03-12T12:11:13
 
--- !test_timestamp_arithmetic_49 --
+-- !test_timestamp_arithmetic_132 --
+2013-03-01T01:00:01
+2013-03-02T02:01:02
+2013-03-03T03:02:03
+2013-03-04T04:03:04
+2013-03-05T05:04:05
+2013-03-06T06:05:06
+2013-03-07T07:06:07
+2013-03-08T08:07:08
+2013-03-09T09:08:09
+2013-03-10T10:09:10
+2013-03-11T11:10:11
+2013-03-12T12:11:12
+
+-- !test_timestamp_arithmetic_133 --
+2012-04-01T01:00:01
+2012-04-02T02:01:02
+2012-04-03T03:02:03
+2012-04-04T04:03:04
+2012-04-05T05:04:05
+2012-04-06T06:05:06
+2012-04-07T07:06:07
+2012-04-08T08:07:08
+2012-04-09T09:08:09
+2012-04-10T10:09:10
+2012-04-11T11:10:11
+2012-04-12T12:11:12
+
+-- !test_timestamp_arithmetic_134 --
+2012-03-08T01:00:01
+2012-03-09T02:01:02
+2012-03-10T03:02:03
+2012-03-11T04:03:04
+2012-03-12T05:04:05
+2012-03-13T06:05:06
+2012-03-14T07:06:07
+2012-03-15T08:07:08
+2012-03-16T09:08:09
+2012-03-17T10:09:10
+2012-03-18T11:10:11
+2012-03-19T12:11:12
+
+-- !test_timestamp_arithmetic_135 --
+2012-03-02T01:00:01
+2012-03-03T02:01:02
+2012-03-04T03:02:03
+2012-03-05T04:03:04
+2012-03-06T05:04:05
+2012-03-07T06:05:06
+2012-03-08T07:06:07
+2012-03-09T08:07:08
+2012-03-10T09:08:09
+2012-03-11T10:09:10
+2012-03-12T11:10:11
+2012-03-13T12:11:12
+
+-- !test_timestamp_arithmetic_136 --
+2012-03-01T02:00:01
+2012-03-02T03:01:02
+2012-03-03T04:02:03
+2012-03-04T05:03:04
+2012-03-05T06:04:05
+2012-03-06T07:05:06
+2012-03-07T08:06:07
+2012-03-08T09:07:08
+2012-03-09T10:08:09
+2012-03-10T11:09:10
+2012-03-11T12:10:11
+2012-03-12T13:11:12
+
+-- !test_timestamp_arithmetic_137 --
+2012-03-01T01:01:01
+2012-03-02T02:02:02
+2012-03-03T03:03:03
+2012-03-04T04:04:04
+2012-03-05T05:05:05
+2012-03-06T06:06:06
+2012-03-07T07:07:07
+2012-03-08T08:08:08
+2012-03-09T09:09:09
+2012-03-10T10:10:10
+2012-03-11T11:11:11
+2012-03-12T12:12:12
+
+-- !test_timestamp_arithmetic_138 --
+2012-03-01T01:00:02
+2012-03-02T02:01:03
+2012-03-03T03:02:04
+2012-03-04T04:03:05
+2012-03-05T05:04:06
+2012-03-06T06:05:07
+2012-03-07T07:06:08
+2012-03-08T08:07:09
+2012-03-09T09:08:10
+2012-03-10T10:09:11
+2012-03-11T11:10:12
+2012-03-12T12:11:13
+
+-- !test_timestamp_arithmetic_139 --
 2012-02-29T01:00:01
 2012-03-01T02:01:02
 2012-03-02T03:02:03
@@ -687,7 +1997,7 @@
 2012-03-10T11:10:11
 2012-03-11T12:11:12
 
--- !test_timestamp_arithmetic_50 --
+-- !test_timestamp_arithmetic_140 --
 2012-03-01T01:00
 2012-03-02T02:01:01
 2012-03-03T03:02:02
diff --git 
a/regression-test/suites/nereids_function_p0/test_timestamp_arithmetic.sql 
b/regression-test/suites/nereids_function_p0/test_timestamp_arithmetic.sql
index c702bf259af..98685479957 100644
--- a/regression-test/suites/nereids_function_p0/test_timestamp_arithmetic.sql
+++ b/regression-test/suites/nereids_function_p0/test_timestamp_arithmetic.sql
@@ -2,18 +2,41 @@ set enable_nereids_planner=true;
 set enable_fallback_to_original_planner=false;
 select kdt + interval 1 day from fn_test order by kdt;
 select kdt + interval 1 second from fn_test order by kdt;
+select interval 1 day + kdt from fn_test order by kdt;
+select interval 1 second + kdt from fn_test order by kdt;
 select kdt - interval 1 day from fn_test order by kdt;
 select kdt - interval 1 second from fn_test order by kdt;
 select kdt + interval 1 day from fn_test_not_nullable order by kdt;
 select kdt + interval 1 second from fn_test_not_nullable order by kdt;
+select interval 1 day + kdt from fn_test_not_nullable order by kdt;
+select interval 1 second + kdt from fn_test_not_nullable order by kdt;
 select kdt - interval 1 day from fn_test_not_nullable order by kdt;
 select kdt - interval 1 second from fn_test_not_nullable order by kdt;
+select kdtv2 + interval 1 year from fn_test order by kdt;
+select kdtv2 + interval 1 month from fn_test order by kdt;
+select kdtv2 + interval 1 week from fn_test order by kdt;
 select kdtv2 + interval 1 day from fn_test order by kdt;
+select kdtv2 + interval 1 hour from fn_test order by kdt;
+select kdtv2 + interval 1 minute from fn_test order by kdt;
 select kdtv2 + interval 1 second from fn_test order by kdt;
+select interval 1 year + kdtv2 from fn_test order by kdt;
+select interval 1 month + kdtv2 from fn_test order by kdt;
+select interval 1 week + kdtv2 from fn_test order by kdt;
+select interval 1 day + kdtv2 from fn_test order by kdt;
+select interval 1 hour + kdtv2 from fn_test order by kdt;
+select interval 1 minute + kdtv2 from fn_test order by kdt;
+select interval 1 second + kdtv2 from fn_test order by kdt;
 select kdtv2 - interval 1 day from fn_test order by kdt;
 select kdtv2 - interval 1 second from fn_test order by kdt;
 select kdtv2 + interval 1 day from fn_test_not_nullable order by kdt;
 select kdtv2 + interval 1 second from fn_test_not_nullable order by kdt;
+select interval 1 year + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 month + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 week + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 day + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 hour + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 minute + kdtv2 from fn_test_not_nullable order by kdt;
+select interval 1 second + kdtv2 from fn_test_not_nullable order by kdt;
 select kdtv2 - interval 1 day from fn_test_not_nullable order by kdt;
 select kdtv2 - interval 1 second from fn_test_not_nullable order by kdt;
 select kdtm + interval 1 day from fn_test order by kdt;
@@ -24,27 +47,94 @@ select kdtm + interval 1 day from fn_test_not_nullable 
order by kdt;
 select kdtm + interval 1 second from fn_test_not_nullable order by kdt;
 select kdtm - interval 1 day from fn_test_not_nullable order by kdt;
 select kdtm - interval 1 second from fn_test_not_nullable order by kdt;
+select kdtmv2s1 + interval 1 year from fn_test order by kdt;
+select kdtmv2s1 + interval 1 month from fn_test order by kdt;
+select kdtmv2s1 + interval 1 week from fn_test order by kdt;
 select kdtmv2s1 + interval 1 day from fn_test order by kdt;
+select kdtmv2s1 + interval 1 hour from fn_test order by kdt;
+select kdtmv2s1 + interval 1 minute from fn_test order by kdt;
 select kdtmv2s1 + interval 1 second from fn_test order by kdt;
+select interval 1 year + kdtmv2s1 from fn_test order by kdt;
+select interval 1 month + kdtmv2s1 from fn_test order by kdt;
+select interval 1 week + kdtmv2s1 from fn_test order by kdt;
+select interval 1 day + kdtmv2s1 from fn_test order by kdt;
+select interval 1 hour + kdtmv2s1 from fn_test order by kdt;
+select interval 1 minute + kdtmv2s1 from fn_test order by kdt;
+select interval 1 second + kdtmv2s1 from fn_test order by kdt;
 select kdtmv2s1 - interval 1 day from fn_test order by kdt;
 select kdtmv2s1 - interval 1 second from fn_test order by kdt;
 select kdtmv2s1 + interval 1 day from fn_test_not_nullable order by kdt;
 select kdtmv2s1 + interval 1 second from fn_test_not_nullable order by kdt;
+select interval 1 year + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 month + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 week + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 day + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 hour + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 minute + kdtmv2s1 from fn_test_not_nullable order by kdt;
+select interval 1 second + kdtmv2s1 from fn_test_not_nullable order by kdt;
 select kdtmv2s1 - interval 1 day from fn_test_not_nullable order by kdt;
 select kdtmv2s1 - interval 1 second from fn_test_not_nullable order by kdt;
+select kdtmv2s2 + interval 1 year from fn_test order by kdt;
+select kdtmv2s2 + interval 1 month from fn_test order by kdt;
+select kdtmv2s2 + interval 1 week from fn_test order by kdt;
 select kdtmv2s2 + interval 1 day from fn_test order by kdt;
+select kdtmv2s2 + interval 1 hour from fn_test order by kdt;
+select kdtmv2s2 + interval 1 minute from fn_test order by kdt;
 select kdtmv2s2 + interval 1 second from fn_test order by kdt;
+select interval 1 year + kdtmv2s2 from fn_test order by kdt;
+select interval 1 month + kdtmv2s2 from fn_test order by kdt;
+select interval 1 week + kdtmv2s2 from fn_test order by kdt;
+select interval 1 day + kdtmv2s2 from fn_test order by kdt;
+select interval 1 hour + kdtmv2s2 from fn_test order by kdt;
+select interval 1 minute + kdtmv2s2 from fn_test order by kdt;
+select interval 1 second + kdtmv2s2 from fn_test order by kdt;
 select kdtmv2s2 - interval 1 day from fn_test order by kdt;
 select kdtmv2s2 - interval 1 second from fn_test order by kdt;
+select kdtmv2s2 + interval 1 year from fn_test_not_nullable order by kdt;
+select kdtmv2s2 + interval 1 month from fn_test_not_nullable order by kdt;
+select kdtmv2s2 + interval 1 week from fn_test_not_nullable order by kdt;
 select kdtmv2s2 + interval 1 day from fn_test_not_nullable order by kdt;
+select kdtmv2s2 + interval 1 hour from fn_test_not_nullable order by kdt;
+select kdtmv2s2 + interval 1 minute from fn_test_not_nullable order by kdt;
 select kdtmv2s2 + interval 1 second from fn_test_not_nullable order by kdt;
+select interval 1 year + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 month + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 week + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 day + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 hour + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 minute + kdtmv2s2 from fn_test_not_nullable order by kdt;
+select interval 1 second + kdtmv2s2 from fn_test_not_nullable order by kdt;
 select kdtmv2s2 - interval 1 day from fn_test_not_nullable order by kdt;
 select kdtmv2s2 - interval 1 second from fn_test_not_nullable order by kdt;
+select kdtmv2s3 + interval 1 year from fn_test order by kdt;
+select kdtmv2s3 + interval 1 month from fn_test order by kdt;
+select kdtmv2s3 + interval 1 week from fn_test order by kdt;
 select kdtmv2s3 + interval 1 day from fn_test order by kdt;
+select kdtmv2s3 + interval 1 hour from fn_test order by kdt;
+select kdtmv2s3 + interval 1 minute from fn_test order by kdt;
 select kdtmv2s3 + interval 1 second from fn_test order by kdt;
+select interval 1 year + kdtmv2s3 from fn_test order by kdt;
+select interval 1 month + kdtmv2s3 from fn_test order by kdt;
+select interval 1 week + kdtmv2s3 from fn_test order by kdt;
+select interval 1 day + kdtmv2s3 from fn_test order by kdt;
+select interval 1 hour + kdtmv2s3 from fn_test order by kdt;
+select interval 1 minute + kdtmv2s3 from fn_test order by kdt;
+select interval 1 second + kdtmv2s3 from fn_test order by kdt;
 select kdtmv2s3 - interval 1 day from fn_test order by kdt;
 select kdtmv2s3 - interval 1 second from fn_test order by kdt;
+select kdtmv2s3 + interval 1 year from fn_test_not_nullable order by kdt;
+select kdtmv2s3 + interval 1 month from fn_test_not_nullable order by kdt;
+select kdtmv2s3 + interval 1 week from fn_test_not_nullable order by kdt;
 select kdtmv2s3 + interval 1 day from fn_test_not_nullable order by kdt;
+select kdtmv2s3 + interval 1 hour from fn_test_not_nullable order by kdt;
+select kdtmv2s3 + interval 1 minute from fn_test_not_nullable order by kdt;
 select kdtmv2s3 + interval 1 second from fn_test_not_nullable order by kdt;
+select interval 1 year + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 month + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 week + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 day + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 hour + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 minute + kdtmv2s3 from fn_test_not_nullable order by kdt;
+select interval 1 second + kdtmv2s3 from fn_test_not_nullable order by kdt;
 select kdtmv2s3 - interval 1 day from fn_test_not_nullable order by kdt;
 select kdtmv2s3 - interval 1 second from fn_test_not_nullable order by kdt;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to