You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s+BETWEEN\s+'([^']+)'\s+AND\s+'([^']+)'`, regexp.QuoteMeta(timeColumn))), // column BETWEEN '...' AND '...'
205
249
206
250
// Cast format
207
-
regexp.MustCompile(`time\s*(>=|>)\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`), // time >= cast('2023-01-01T00:00:00' as timestamp)
208
-
regexp.MustCompile(`time\s*(<=|<)\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`), // time <= cast('2023-01-01T00:00:00' as timestamp)
209
-
regexp.MustCompile(`time\s*=\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`), // time = cast('2023-01-01T00:00:00' as timestamp)
210
-
regexp.MustCompile(`time\s+BETWEEN\s+cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)\s+AND\s+cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`), // time BETWEEN cast('...') AND cast('...')
251
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*(>=|>)\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`, regexp.QuoteMeta(timeColumn))), // column >= cast('2023-01-01T00:00:00' as timestamp)
252
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*(<=|<)\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`, regexp.QuoteMeta(timeColumn))), // column <= cast('2023-01-01T00:00:00' as timestamp)
253
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*=\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`, regexp.QuoteMeta(timeColumn))), // column = cast('2023-01-01T00:00:00' as timestamp)
254
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s+BETWEEN\s+cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)\s+AND\s+cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)`, regexp.QuoteMeta(timeColumn))), // column BETWEEN cast('...') AND cast('...')
211
255
212
256
// Epoch_ns format
213
-
regexp.MustCompile(`time\s*(>=|>)\s*epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)`), // time >= epoch_ns('2023-01-01T00:00:00'::TIMESTAMP)
214
-
regexp.MustCompile(`time\s*(<=|<)\s*epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)`), // time <= epoch_ns('2023-01-01T00:00:00'::TIMESTAMP)
215
-
regexp.MustCompile(`time\s*=\s*epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)`), // time = epoch_ns('2023-01-01T00:00:00'::TIMESTAMP)
216
-
regexp.MustCompile(`time\s+BETWEEN\s+epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)\s+AND\s+epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)`), // time BETWEEN epoch_ns('...') AND epoch_ns('...')
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s+BETWEEN\s+epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)\s+AND\s+epoch_ns\s*\(\s*'([^']+)'(?:::TIMESTAMP)?\s*\)`, regexp.QuoteMeta(timeColumn))), // column BETWEEN epoch_ns('...') AND epoch_ns('...')
217
261
218
262
// Epoch_ns with cast format
219
-
regexp.MustCompile(`time\s*(>=|>)\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`), // time >= epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
220
-
regexp.MustCompile(`time\s*(<=|<)\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`), // time <= epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
221
-
regexp.MustCompile(`time\s*=\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`), // time = epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
222
-
regexp.MustCompile(`time\s+BETWEEN\s+epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)\s+AND\s+epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`), // time BETWEEN epoch_ns(cast('...')::TIMESTAMP) AND epoch_ns(cast('...')::TIMESTAMP)
263
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*(>=|>)\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`, regexp.QuoteMeta(timeColumn))), // column >= epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
264
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*(<=|<)\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`, regexp.QuoteMeta(timeColumn))), // column <= epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
265
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s*=\s*epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`, regexp.QuoteMeta(timeColumn))), // column = epoch_ns(cast('2023-01-01T00:00:00' as timestamp)::TIMESTAMP)
266
+
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s+BETWEEN\s+epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)\s+AND\s+epoch_ns\s*\(\s*cast\s*\(\s*'([^']+)'\s+as\s+timestamp\s*\)(?:::TIMESTAMP)?\s*\)`, regexp.QuoteMeta(timeColumn))), // column BETWEEN epoch_ns(cast('...')::TIMESTAMP) AND epoch_ns(cast('...')::TIMESTAMP)
267
+
268
+
// Also handle numeric timestamp comparisons (like __timestamp >= 1747803600000000000)
regexp.MustCompile(fmt.Sprintf(`(?i)%s\s+BETWEEN\s+(\d+)\s+AND\s+(\d+)`, regexp.QuoteMeta(timeColumn))), // column BETWEEN 1747803600000000000 AND 1747825200000000000
0 commit comments