Skip to content

Commit 96ac3ca

Browse files
Using CAST instead of type conversion because it has higher performance
Signed-off-by: Yury Fridlyand <yuryf@bitquilltech.com>
1 parent d62d23f commit 96ac3ca

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

  • sql-jdbc/src/TableauConnector/opensearch_sql_jdbc

sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/dialect.tdd

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,81 +65,81 @@
6565
</function>
6666

6767
<function group='operator' name='==' return-type='bool'>
68-
<formula>(TIMESTAMP(%1) = TIMESTAMP(%2))</formula>
68+
<formula>(CAST(%1 as TIMESTAMP) = CAST(%2 as TIMESTAMP))</formula>
6969
<argument type='date' />
7070
<argument type='datetime' />
7171
</function>
7272
<function group='operator' name='==' return-type='bool'>
73-
<formula>(TIMESTAMP(%1) = TIMESTAMP(%2))</formula>
73+
<formula>(CAST(%1 as TIMESTAMP) = CAST(%2 as TIMESTAMP))</formula>
7474
<argument type='datetime' />
7575
<argument type='date' />
7676
</function>
7777
<function group='operator' name='!=' return-type='bool'>
78-
<formula>(TIMESTAMP(%1) &lt;&gt; TIMESTAMP(%2))</formula>
78+
<formula>(CAST(%1 as TIMESTAMP) &lt;&gt; CAST(%2 as TIMESTAMP))</formula>
7979
<argument type='date' />
8080
<argument type='datetime' />
8181
</function>
8282
<function group='operator' name='!=' return-type='bool'>
83-
<formula>(TIMESTAMP(%1) &lt;&gt; TIMESTAMP(%2))</formula>
83+
<formula>(CAST(%1 as TIMESTAMP) &lt;&gt; CAST(%2 as TIMESTAMP))</formula>
8484
<argument type='datetime' />
8585
<argument type='date' />
8686
</function>
8787
<function group='operator' name='&gt;=' return-type='bool'>
88-
<formula>(TIMESTAMP(%1) &gt;= TIMESTAMP(%2))</formula>
88+
<formula>(CAST(%1 as TIMESTAMP) &gt;= CAST(%2 as TIMESTAMP))</formula>
8989
<argument type='date' />
9090
<argument type='datetime' />
9191
</function>
9292
<function group='operator' name='&gt;=' return-type='bool'>
93-
<formula>(TIMESTAMP(%1) &gt;= TIMESTAMP(%2))</formula>
93+
<formula>(CAST(%1 as TIMESTAMP) &gt;= CAST(%2 as TIMESTAMP))</formula>
9494
<argument type='datetime' />
9595
<argument type='date' />
9696
</function>
9797
<function group='operator' name='&lt;=' return-type='bool'>
98-
<formula>(TIMESTAMP(%1) &lt;= TIMESTAMP(%2))</formula>
98+
<formula>(CAST(%1 as TIMESTAMP) &lt;= CAST(%2 as TIMESTAMP))</formula>
9999
<argument type='date' />
100100
<argument type='datetime' />
101101
</function>
102102
<function group='operator' name='&lt;=' return-type='bool'>
103-
<formula>(TIMESTAMP(%1) &lt;= TIMESTAMP(%2))</formula>
103+
<formula>(CAST(%1 as TIMESTAMP) &lt;= CAST(%2 as TIMESTAMP))</formula>
104104
<argument type='datetime' />
105105
<argument type='date' />
106106
</function>
107107
<function group='operator' name='&gt;' return-type='bool'>
108-
<formula>(TIMESTAMP(%1) &gt; TIMESTAMP(%2))</formula>
108+
<formula>(CAST(%1 as TIMESTAMP) &gt; CAST(%2 as TIMESTAMP))</formula>
109109
<argument type='date' />
110110
<argument type='datetime' />
111111
</function>
112112
<function group='operator' name='&gt;' return-type='bool'>
113-
<formula>(TIMESTAMP(%1) &gt; TIMESTAMP(%2))</formula>
113+
<formula>(CAST(%1 as TIMESTAMP) &gt; CAST(%2 as TIMESTAMP))</formula>
114114
<argument type='datetime' />
115115
<argument type='date' />
116116
</function>
117117
<function group='operator' name='&lt;' return-type='bool'>
118-
<formula>(TIMESTAMP(%1) &lt; TIMESTAMP(%2))</formula>
118+
<formula>(CAST(%1 as TIMESTAMP) &lt; CAST(%2 as TIMESTAMP))</formula>
119119
<argument type='date' />
120120
<argument type='datetime' />
121121
</function>
122122
<function group='operator' name='&lt;' return-type='bool'>
123-
<formula>(TIMESTAMP(%1) &lt; TIMESTAMP(%2))</formula>
123+
<formula>(CAST(%1 as TIMESTAMP) &lt; CAST(%2 as TIMESTAMP))</formula>
124124
<argument type='datetime' />
125125
<argument type='date' />
126126
</function>
127127

128128
<function group='operator' name='-' return-type='real'>
129129
<!-- 86400 as it represents seconds in a day -->
130-
<formula>((TO_DAYS(TIMESTAMP(%1)) - TO_DAYS(TIMESTAMP(%2))) + ((TIME_TO_SEC(TIMESTAMP(%1)) - TIME_TO_SEC(TIMESTAMP(%2))) / 86400.0))</formula>
130+
<formula>((TO_DAYS(CAST(%1 as TIMESTAMP)) - TO_DAYS(CAST(%2 as TIMESTAMP))) + ((TIME_TO_SEC(CAST(%1 as TIMESTAMP)) - TIME_TO_SEC(CAST(%2 as TIMESTAMP))) / 86400.0))</formula>
131131
<argument type='date' />
132132
<argument type='datetime' />
133133
</function>
134134
<function group='operator' name='-' return-type='real'>
135135
<!-- 86400 as it represents seconds in a day -->
136-
<formula>((TO_DAYS(TIMESTAMP(%1)) - TO_DAYS(TIMESTAMP(%2))) + ((TIME_TO_SEC(TIMESTAMP(%1)) - TIME_TO_SEC(TIMESTAMP(%2))) / 86400.0))</formula>
136+
<formula>((TO_DAYS(CAST(%1 as TIMESTAMP)) - TO_DAYS(CAST(%2 as TIMESTAMP))) + ((TIME_TO_SEC(CAST(%1 as TIMESTAMP)) - TIME_TO_SEC(CAST(%2 as TIMESTAMP))) / 86400.0))</formula>
137137
<argument type='datetime' />
138138
<argument type='date' />
139139
</function>
140140
<function group='operator' name='-' return-type='real'>
141141
<!-- 86400 as it represents seconds in a day -->
142-
<formula>((TO_DAYS(TIMESTAMP(%1)) - TO_DAYS(TIMESTAMP(%2))) + ((TIME_TO_SEC(TIMESTAMP(%1)) - TIME_TO_SEC(TIMESTAMP(%2))) / 86400.0))</formula>
142+
<formula>((TO_DAYS(CAST(%1 as TIMESTAMP)) - TO_DAYS(CAST(%2 as TIMESTAMP))) + ((TIME_TO_SEC(CAST(%1 as TIMESTAMP)) - TIME_TO_SEC(CAST(%2 as TIMESTAMP))) / 86400.0))</formula>
143143
<argument type='datetime' />
144144
<argument type='datetime' />
145145
</function>

0 commit comments

Comments
 (0)