@quillsql/react 2.13.43 → 2.13.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +2 -2
  3. package/dist/cjs/ChartBuilder.d.ts +1 -0
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +48 -14
  6. package/dist/cjs/ChartEditor.d.ts +1 -1
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +2 -2
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +37 -26
  11. package/dist/cjs/Dashboard.d.ts +2 -2
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +115 -99
  14. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  15. package/dist/cjs/ReportBuilder.js +871 -1574
  16. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  17. package/dist/cjs/SQLEditor.js +23 -4
  18. package/dist/cjs/Table.d.ts.map +1 -1
  19. package/dist/cjs/components/Chart/CustomReferenceLine.js +1 -1
  20. package/dist/cjs/components/Chart/GaugeChart.js +0 -6
  21. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/DashboardFilter.js +3 -3
  23. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +1 -1
  24. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
  25. package/dist/cjs/components/Dashboard/DashboardSection.js +20 -19
  26. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  27. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -0
  28. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  29. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  30. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  31. package/dist/cjs/components/QuillMultiSelectWithCombo.js +58 -8
  32. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  33. package/dist/cjs/components/QuillSelect.js +91 -14
  34. package/dist/cjs/components/QuillSelectWithCombo.js +6 -6
  35. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +6 -16
  36. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  37. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +172 -75
  38. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +1 -5
  39. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  40. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -9
  41. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts +17 -0
  42. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts.map +1 -0
  43. package/dist/cjs/components/ReportBuilder/DraggableColumns.js +52 -0
  44. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts +17 -0
  45. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts.map +1 -0
  46. package/dist/cjs/components/ReportBuilder/DraggableItem.js +17 -0
  47. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +6 -12
  48. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  49. package/dist/cjs/components/ReportBuilder/FilterModal.js +29 -20
  50. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +8 -17
  51. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  52. package/dist/cjs/components/ReportBuilder/FilterStack.js +20 -86
  53. package/dist/cjs/components/ReportBuilder/convert.js +6 -6
  54. package/dist/cjs/components/ReportBuilder/ui.d.ts +8 -9
  55. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  56. package/dist/cjs/components/ReportBuilder/ui.js +30 -8
  57. package/dist/cjs/components/ReportBuilder/util.d.ts +2 -5
  58. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  59. package/dist/cjs/components/ReportBuilder/util.js +1 -1
  60. package/dist/cjs/components/UiComponents.d.ts +3 -2
  61. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  62. package/dist/cjs/components/UiComponents.js +13 -13
  63. package/dist/cjs/hooks/useAskQuill.d.ts +1 -1
  64. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  65. package/dist/cjs/hooks/useAskQuill.js +14 -12
  66. package/dist/cjs/hooks/useDashboard.d.ts +5 -3
  67. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  68. package/dist/cjs/hooks/useDashboard.js +8 -6
  69. package/dist/cjs/hooks/useOnClickOutside.d.ts +1 -0
  70. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useOnClickOutside.js +33 -0
  72. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +2 -1
  73. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  74. package/dist/cjs/internals/ReportBuilder/PivotForm.js +22 -15
  75. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +7 -5
  76. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  77. package/dist/cjs/internals/ReportBuilder/PivotModal.js +100 -48
  78. package/dist/cjs/models/Client.d.ts +4 -0
  79. package/dist/cjs/models/Client.d.ts.map +1 -1
  80. package/dist/cjs/models/Dashboard.d.ts +1 -0
  81. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  82. package/dist/cjs/models/Report.d.ts +2 -0
  83. package/dist/cjs/models/Report.d.ts.map +1 -1
  84. package/dist/cjs/models/ReportBuilder.d.ts +46 -0
  85. package/dist/cjs/models/ReportBuilder.d.ts.map +1 -0
  86. package/dist/cjs/models/ReportBuilder.js +19 -0
  87. package/dist/cjs/models/Tables.d.ts +5 -5
  88. package/dist/cjs/models/Tables.d.ts.map +1 -1
  89. package/dist/cjs/utils/astFilterProcessing.d.ts +4 -0
  90. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  91. package/dist/cjs/utils/astFilterProcessing.js +301 -97
  92. package/dist/cjs/utils/astProcessing.d.ts +14 -4
  93. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  94. package/dist/cjs/utils/astProcessing.js +38 -4
  95. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  96. package/dist/cjs/utils/dashboard.js +18 -3
  97. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  98. package/dist/cjs/utils/dataFetcher.js +4 -3
  99. package/dist/cjs/utils/filterProcessing.d.ts +2 -11
  100. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  101. package/dist/cjs/utils/filterProcessing.js +4 -16
  102. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  103. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  104. package/dist/cjs/utils/pivotConstructor.js +4 -2
  105. package/dist/cjs/utils/pivotProcessing.d.ts +17 -7
  106. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/pivotProcessing.js +60 -51
  108. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  109. package/dist/cjs/utils/queryConstructor.js +15 -2
  110. package/dist/cjs/utils/report.d.ts +12 -9
  111. package/dist/cjs/utils/report.d.ts.map +1 -1
  112. package/dist/cjs/utils/report.js +114 -47
  113. package/dist/cjs/utils/reportBuilder.d.ts +88 -0
  114. package/dist/cjs/utils/reportBuilder.d.ts.map +1 -0
  115. package/dist/cjs/utils/reportBuilder.js +395 -0
  116. package/dist/cjs/utils/schema.d.ts +7 -0
  117. package/dist/cjs/utils/schema.d.ts.map +1 -1
  118. package/dist/cjs/utils/schema.js +36 -2
  119. package/dist/cjs/utils/tableProcessing.d.ts +59 -29
  120. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  121. package/dist/cjs/utils/tableProcessing.js +75 -90
  122. package/dist/cjs/utils/ui.d.ts +2 -0
  123. package/dist/cjs/utils/ui.d.ts.map +1 -0
  124. package/dist/cjs/utils/ui.js +18 -0
  125. package/dist/esm/Chart.d.ts.map +1 -1
  126. package/dist/esm/Chart.js +2 -2
  127. package/dist/esm/ChartBuilder.d.ts +1 -0
  128. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  129. package/dist/esm/ChartBuilder.js +49 -15
  130. package/dist/esm/ChartEditor.d.ts +1 -1
  131. package/dist/esm/ChartEditor.d.ts.map +1 -1
  132. package/dist/esm/ChartEditor.js +2 -2
  133. package/dist/esm/Context.d.ts.map +1 -1
  134. package/dist/esm/Context.js +37 -26
  135. package/dist/esm/Dashboard.d.ts +2 -2
  136. package/dist/esm/Dashboard.d.ts.map +1 -1
  137. package/dist/esm/Dashboard.js +119 -103
  138. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  139. package/dist/esm/ReportBuilder.js +878 -1581
  140. package/dist/esm/SQLEditor.d.ts.map +1 -1
  141. package/dist/esm/SQLEditor.js +23 -4
  142. package/dist/esm/Table.d.ts.map +1 -1
  143. package/dist/esm/components/Chart/CustomReferenceLine.js +1 -1
  144. package/dist/esm/components/Chart/GaugeChart.js +0 -6
  145. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  146. package/dist/esm/components/Dashboard/DashboardFilter.js +3 -3
  147. package/dist/esm/components/Dashboard/DashboardSection.d.ts +1 -1
  148. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
  149. package/dist/esm/components/Dashboard/DashboardSection.js +21 -20
  150. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  151. package/dist/esm/components/Dashboard/MetricComponent.js +1 -0
  152. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  153. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  154. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  155. package/dist/esm/components/QuillMultiSelectWithCombo.js +57 -7
  156. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  157. package/dist/esm/components/QuillSelect.js +58 -14
  158. package/dist/esm/components/QuillSelectWithCombo.js +6 -6
  159. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +6 -16
  160. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  161. package/dist/esm/components/ReportBuilder/AddColumnModal.js +173 -76
  162. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +1 -5
  163. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  164. package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -9
  165. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts +17 -0
  166. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts.map +1 -0
  167. package/dist/esm/components/ReportBuilder/DraggableColumns.js +46 -0
  168. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts +17 -0
  169. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts.map +1 -0
  170. package/dist/esm/components/ReportBuilder/DraggableItem.js +14 -0
  171. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +6 -12
  172. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  173. package/dist/esm/components/ReportBuilder/FilterModal.js +29 -20
  174. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +8 -17
  175. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  176. package/dist/esm/components/ReportBuilder/FilterStack.js +21 -87
  177. package/dist/esm/components/ReportBuilder/convert.js +6 -6
  178. package/dist/esm/components/ReportBuilder/ui.d.ts +8 -9
  179. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  180. package/dist/esm/components/ReportBuilder/ui.js +33 -11
  181. package/dist/esm/components/ReportBuilder/util.d.ts +2 -5
  182. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  183. package/dist/esm/components/ReportBuilder/util.js +1 -1
  184. package/dist/esm/components/UiComponents.d.ts +3 -2
  185. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  186. package/dist/esm/components/UiComponents.js +13 -13
  187. package/dist/esm/hooks/useAskQuill.d.ts +1 -1
  188. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  189. package/dist/esm/hooks/useAskQuill.js +14 -12
  190. package/dist/esm/hooks/useDashboard.d.ts +5 -3
  191. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  192. package/dist/esm/hooks/useDashboard.js +8 -6
  193. package/dist/esm/hooks/useOnClickOutside.d.ts +1 -0
  194. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  195. package/dist/esm/hooks/useOnClickOutside.js +31 -0
  196. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +2 -1
  197. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  198. package/dist/esm/internals/ReportBuilder/PivotForm.js +23 -16
  199. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +7 -5
  200. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  201. package/dist/esm/internals/ReportBuilder/PivotModal.js +101 -49
  202. package/dist/esm/models/Client.d.ts +4 -0
  203. package/dist/esm/models/Client.d.ts.map +1 -1
  204. package/dist/esm/models/Dashboard.d.ts +1 -0
  205. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  206. package/dist/esm/models/Report.d.ts +2 -0
  207. package/dist/esm/models/Report.d.ts.map +1 -1
  208. package/dist/esm/models/ReportBuilder.d.ts +46 -0
  209. package/dist/esm/models/ReportBuilder.d.ts.map +1 -0
  210. package/dist/esm/models/ReportBuilder.js +16 -0
  211. package/dist/esm/models/Tables.d.ts +5 -5
  212. package/dist/esm/models/Tables.d.ts.map +1 -1
  213. package/dist/esm/utils/astFilterProcessing.d.ts +4 -0
  214. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  215. package/dist/esm/utils/astFilterProcessing.js +300 -97
  216. package/dist/esm/utils/astProcessing.d.ts +14 -4
  217. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  218. package/dist/esm/utils/astProcessing.js +38 -5
  219. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  220. package/dist/esm/utils/dashboard.js +18 -3
  221. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  222. package/dist/esm/utils/dataFetcher.js +4 -3
  223. package/dist/esm/utils/filterProcessing.d.ts +2 -11
  224. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  225. package/dist/esm/utils/filterProcessing.js +4 -15
  226. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  227. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  228. package/dist/esm/utils/pivotConstructor.js +4 -2
  229. package/dist/esm/utils/pivotProcessing.d.ts +17 -7
  230. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  231. package/dist/esm/utils/pivotProcessing.js +58 -49
  232. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  233. package/dist/esm/utils/queryConstructor.js +15 -2
  234. package/dist/esm/utils/report.d.ts +12 -9
  235. package/dist/esm/utils/report.d.ts.map +1 -1
  236. package/dist/esm/utils/report.js +116 -46
  237. package/dist/esm/utils/reportBuilder.d.ts +88 -0
  238. package/dist/esm/utils/reportBuilder.d.ts.map +1 -0
  239. package/dist/esm/utils/reportBuilder.js +386 -0
  240. package/dist/esm/utils/schema.d.ts +7 -0
  241. package/dist/esm/utils/schema.d.ts.map +1 -1
  242. package/dist/esm/utils/schema.js +34 -1
  243. package/dist/esm/utils/tableProcessing.d.ts +59 -29
  244. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  245. package/dist/esm/utils/tableProcessing.js +71 -86
  246. package/dist/esm/utils/ui.d.ts +2 -0
  247. package/dist/esm/utils/ui.d.ts.map +1 -0
  248. package/dist/esm/utils/ui.js +14 -0
  249. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterToAst = exports.filterTreeToAst = exports.astToFilter = exports.astToFilterTree = void 0;
4
4
  exports.getFieldFromExpression = getFieldFromExpression;
5
+ exports.getTableFromExpression = getTableFromExpression;
5
6
  const Filter_1 = require("../models/Filter");
6
7
  const date_fns_1 = require("date-fns");
7
8
  const columnProcessing_1 = require("./columnProcessing");
@@ -6601,8 +6602,10 @@ const queryPatterns = [
6601
6602
  }
6602
6603
  else {
6603
6604
  const unitLeft = astWhere.left?.right?.args?.value[0]?.column?.toLowerCase() ??
6605
+ astWhere.left?.right?.args?.value[0]?.value?.toLowerCase() ??
6604
6606
  null;
6605
6607
  const unitRight = astWhere.right?.right?.args?.value[0]?.column?.toLowerCase() ??
6608
+ astWhere.right?.right?.args?.value[0]?.value?.toLowerCase() ??
6606
6609
  null;
6607
6610
  return parseStartEndDate(operatorLeft, operatorRight, valueLeft, valueRight, stripTimeS(unitLeft.toLowerCase()), stripTimeS(unitRight.toLowerCase()));
6608
6611
  }
@@ -7156,6 +7159,201 @@ const queryPatterns = [
7156
7159
  _limit: null,
7157
7160
  },
7158
7161
  },
7162
+ {
7163
+ query: `
7164
+ SELECT * FROM transactions
7165
+ WHERE transaction_date >= TIMESTAMP_SUB(CURRENT_DATE(), INTERVAL 80 DAY)
7166
+ AND transaction_date < TIMESTAMP_SUB(CURRENT_DATE(), INTERVAL 40 DAY)
7167
+ `,
7168
+ value: function (astWhere) {
7169
+ if (astWhere.right.operator === 'AND') {
7170
+ // Avoid AND chains
7171
+ return -1;
7172
+ }
7173
+ const operatorLeft = astWhere.left.operator;
7174
+ const operatorRight = astWhere.right.operator;
7175
+ const valueLeft = astWhere.left.right?.args?.value[1]?.expr?.value;
7176
+ const valueRight = astWhere.right.right?.args?.value[1]?.expr?.value;
7177
+ if (!valueLeft || !valueRight) {
7178
+ return null;
7179
+ }
7180
+ if (operatorLeft === '>=' &&
7181
+ operatorRight === '<' &&
7182
+ valueLeft == valueRight * 2) {
7183
+ return valueRight;
7184
+ }
7185
+ else if (operatorLeft === '<' &&
7186
+ operatorRight === '>=' &&
7187
+ valueLeft * 2 == valueRight) {
7188
+ return valueLeft;
7189
+ }
7190
+ else {
7191
+ const unitLeft = astWhere.left?.right?.args?.value[1]?.unit?.toLowerCase() ??
7192
+ null;
7193
+ const unitRight = astWhere.right?.right?.args?.value[1]?.unit?.toLowerCase() ??
7194
+ null;
7195
+ return parseStartEndDate(operatorLeft, operatorRight, valueLeft, valueRight, stripTimeS(unitLeft.toLowerCase()), stripTimeS(unitRight.toLowerCase()));
7196
+ }
7197
+ },
7198
+ unit: function (astWhere) {
7199
+ const unitLeft = astWhere.left?.right?.args?.value[1]?.unit?.toLowerCase() ?? null;
7200
+ const unitRight = astWhere.right?.right?.args?.value[1]?.unit?.toLowerCase() ??
7201
+ null;
7202
+ return stripTimeS(unitLeft.toLowerCase()) ===
7203
+ stripTimeS(unitRight.toLowerCase())
7204
+ ? stripTimeS(unitLeft.toLowerCase())
7205
+ : null;
7206
+ },
7207
+ ast: {
7208
+ type: 'select',
7209
+ as_struct_val: null,
7210
+ distinct: null,
7211
+ columns: [
7212
+ {
7213
+ expr: {
7214
+ type: 'column_ref',
7215
+ table: null,
7216
+ column: '*',
7217
+ },
7218
+ as: null,
7219
+ },
7220
+ ],
7221
+ from: [
7222
+ {
7223
+ db: null,
7224
+ table: 'transactions',
7225
+ as: null,
7226
+ operator: null,
7227
+ },
7228
+ ],
7229
+ for_sys_time_as_of: null,
7230
+ where: {
7231
+ type: 'binary_expr',
7232
+ operator: 'AND',
7233
+ left: {
7234
+ type: 'binary_expr',
7235
+ operator: '>=',
7236
+ left: {
7237
+ type: 'column_ref',
7238
+ table: null,
7239
+ column: {
7240
+ expr: {
7241
+ type: 'default',
7242
+ value: 'transaction_date',
7243
+ },
7244
+ offset: [],
7245
+ },
7246
+ collate: null,
7247
+ },
7248
+ right: {
7249
+ type: 'function',
7250
+ name: {
7251
+ name: [],
7252
+ schema: {
7253
+ type: 'default',
7254
+ value: 'TIMESTAMP_SUB',
7255
+ },
7256
+ },
7257
+ args: {
7258
+ type: 'expr_list',
7259
+ value: [
7260
+ {
7261
+ type: 'function',
7262
+ name: {
7263
+ name: [
7264
+ {
7265
+ type: 'default',
7266
+ value: 'CURRENT_DATE',
7267
+ },
7268
+ ],
7269
+ },
7270
+ args: {
7271
+ type: 'expr_list',
7272
+ value: [],
7273
+ },
7274
+ over: null,
7275
+ },
7276
+ {
7277
+ type: 'interval',
7278
+ expr: {
7279
+ type: 'number',
7280
+ value: 80,
7281
+ },
7282
+ unit: 'day',
7283
+ },
7284
+ ],
7285
+ },
7286
+ over: null,
7287
+ },
7288
+ },
7289
+ right: {
7290
+ type: 'binary_expr',
7291
+ operator: '<',
7292
+ left: {
7293
+ type: 'column_ref',
7294
+ table: null,
7295
+ column: {
7296
+ expr: {
7297
+ type: 'default',
7298
+ value: 'transaction_date',
7299
+ },
7300
+ offset: [],
7301
+ },
7302
+ collate: null,
7303
+ },
7304
+ right: {
7305
+ type: 'function',
7306
+ name: {
7307
+ name: [],
7308
+ schema: {
7309
+ type: 'default',
7310
+ value: 'TIMESTAMP_SUB',
7311
+ },
7312
+ },
7313
+ args: {
7314
+ type: 'expr_list',
7315
+ value: [
7316
+ {
7317
+ type: 'function',
7318
+ name: {
7319
+ name: [
7320
+ {
7321
+ type: 'default',
7322
+ value: 'CURRENT_DATE',
7323
+ },
7324
+ ],
7325
+ },
7326
+ args: {
7327
+ type: 'expr_list',
7328
+ value: [],
7329
+ },
7330
+ over: null,
7331
+ },
7332
+ {
7333
+ type: 'interval',
7334
+ expr: {
7335
+ type: 'number',
7336
+ value: 40,
7337
+ },
7338
+ unit: 'day',
7339
+ },
7340
+ ],
7341
+ },
7342
+ over: null,
7343
+ },
7344
+ },
7345
+ },
7346
+ with: null,
7347
+ groupby: null,
7348
+ having: null,
7349
+ qualify: null,
7350
+ orderby: null,
7351
+ limit: null,
7352
+ window: null,
7353
+ _orderby: null,
7354
+ _limit: null,
7355
+ },
7356
+ },
7159
7357
  ],
7160
7358
  mysql: [
7161
7359
  {
@@ -8151,7 +8349,7 @@ function generateWhereChecker(astWhere) {
8151
8349
  * Function that takes in a field value and generates an ast
8152
8350
  * that wraps it in a LOWER() function
8153
8351
  */
8154
- function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8352
+ function fieldColumnToLowerCaseAst(field, db, isColumnRef, table) {
8155
8353
  switch (db) {
8156
8354
  case 'redshift':
8157
8355
  return {
@@ -8170,7 +8368,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8170
8368
  isColumnRef
8171
8369
  ? {
8172
8370
  type: 'column_ref',
8173
- table: null,
8371
+ table: table ?? null,
8174
8372
  column: {
8175
8373
  expr: {
8176
8374
  type: 'default',
@@ -8202,7 +8400,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8202
8400
  isColumnRef
8203
8401
  ? {
8204
8402
  type: 'column_ref',
8205
- table: null,
8403
+ table: table ?? null,
8206
8404
  column: field,
8207
8405
  }
8208
8406
  : {
@@ -8228,7 +8426,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8228
8426
  isColumnRef
8229
8427
  ? {
8230
8428
  type: 'column_ref',
8231
- table: null,
8429
+ table: table ?? null,
8232
8430
  column: field,
8233
8431
  }
8234
8432
  : {
@@ -8256,7 +8454,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8256
8454
  isColumnRef
8257
8455
  ? {
8258
8456
  type: 'column_ref',
8259
- table: null,
8457
+ table: table ?? null,
8260
8458
  column: field,
8261
8459
  }
8262
8460
  : {
@@ -8284,7 +8482,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8284
8482
  isColumnRef
8285
8483
  ? {
8286
8484
  type: 'column_ref',
8287
- table: null,
8485
+ table: table ?? null,
8288
8486
  db: null,
8289
8487
  schema: null,
8290
8488
  column: field,
@@ -8317,7 +8515,7 @@ function fieldColumnToLowerCaseAst(field, db, isColumnRef) {
8317
8515
  isColumnRef
8318
8516
  ? {
8319
8517
  type: 'column_ref',
8320
- table: null,
8518
+ table: table ?? null,
8321
8519
  column: {
8322
8520
  expr: {
8323
8521
  type: 'default',
@@ -8368,6 +8566,9 @@ function lowerFunctionToField(lower, db) {
8368
8566
  * Function that extracts a field value
8369
8567
  */
8370
8568
  function getFieldFromExpression(expr, databaseType) {
8569
+ if (typeof expr === 'string') {
8570
+ return expr;
8571
+ }
8371
8572
  return (expr.column?.expr?.value ||
8372
8573
  expr.column ||
8373
8574
  expr.args?.value?.[1]?.expr?.column ||
@@ -8390,6 +8591,31 @@ function getFieldFromExpression(expr, databaseType) {
8390
8591
  expr.args?.source?.column ||
8391
8592
  expr.value);
8392
8593
  }
8594
+ /**
8595
+ * Function that extracts a table
8596
+ */
8597
+ function getTableFromExpression(expr, databaseType) {
8598
+ return (expr.column?.expr?.table ||
8599
+ expr.args?.value?.[1]?.expr?.table ||
8600
+ (databaseType === 'mssql'
8601
+ ? (expr.args?.value?.[1]?.table ?? expr.args.value?.[0]?.table)
8602
+ : null) ||
8603
+ expr.args?.value?.[1]?.args?.value?.[0]?.column?.expr?.table ||
8604
+ expr.args?.value?.[0]?.value?.expr?.table ||
8605
+ expr.args?.value?.[1]?.column?.expr?.table ||
8606
+ expr.args?.value?.[0]?.column?.expr?.table ||
8607
+ (expr.name?.schema?.value !== 'DATETIME_TRUNC' // BigQuery edge case
8608
+ ? expr.args?.value?.[1]?.table
8609
+ : null) ||
8610
+ (expr.args?.value?.[1]?.type === 'double_quote_string'
8611
+ ? expr.args?.value?.[1]?.table
8612
+ : null) ||
8613
+ expr.args?.value?.[0]?.table ||
8614
+ expr.args?.value?.[0]?.table ||
8615
+ expr.args?.source?.column?.expr?.table ||
8616
+ expr.args?.source?.table ||
8617
+ expr.table);
8618
+ }
8393
8619
  /**
8394
8620
  * @param ast
8395
8621
  * @param client
@@ -8504,50 +8730,18 @@ const astToFilter = (ast, db, columns) => {
8504
8730
  if (!left || !operator || !right) {
8505
8731
  return null;
8506
8732
  }
8507
- let field, leftExpr;
8733
+ let leftExpr;
8508
8734
  // First, determine which column field is being referenced
8509
8735
  // The location of the field in the ast tree varies by database type and filter type
8510
- switch (db) {
8511
- case 'redshift':
8512
- case 'postgresql':
8513
- case 'clickhouse':
8514
- case 'mssql':
8515
- leftExpr = left;
8516
- while (leftExpr.type === 'binary_expr') {
8517
- leftExpr = leftExpr.left;
8518
- }
8519
- switch (leftExpr.type) {
8520
- case 'function':
8521
- field =
8522
- leftExpr.args?.value[1]?.column?.expr?.value ??
8523
- leftExpr.args?.value[0]?.column?.expr?.value ??
8524
- lowerFunctionToField(leftExpr, db) ??
8525
- getFieldFromExpression(leftExpr, db);
8526
- break;
8527
- default:
8528
- field = getFieldFromExpression(leftExpr, db);
8529
- if (!field) {
8530
- console.error('Could not determine field: ', leftExpr);
8531
- return null;
8532
- }
8533
- }
8534
- break;
8535
- case 'snowflake':
8536
- case 'bigquery':
8537
- case 'mysql':
8538
- leftExpr = left;
8539
- while (leftExpr.type === 'binary_expr') {
8540
- leftExpr = leftExpr.left;
8541
- }
8542
- field = getFieldFromExpression(leftExpr, db);
8543
- if (!field) {
8544
- console.error('Could not determine field: ', leftExpr);
8545
- return null;
8546
- }
8547
- break;
8548
- default:
8549
- console.error('Unknown database source: ', db);
8550
- return null;
8736
+ leftExpr = left;
8737
+ while (leftExpr.type === 'binary_expr') {
8738
+ leftExpr = leftExpr.left;
8739
+ }
8740
+ const field = getFieldFromExpression(leftExpr, db);
8741
+ const table = getTableFromExpression(leftExpr, db);
8742
+ if (!field) {
8743
+ console.error('Could not determine field: ', leftExpr);
8744
+ return null;
8551
8745
  }
8552
8746
  if (!field) {
8553
8747
  console.error('Could not determine field: ', leftExpr);
@@ -8616,7 +8810,7 @@ const astToFilter = (ast, db, columns) => {
8616
8810
  }
8617
8811
  // If columns are provided, look for the field in columns and assign the correct type
8618
8812
  if (columns && fieldType !== Filter_1.FieldType.Null) {
8619
- const column = columns.find((col) => col.field === field);
8813
+ const column = columns.find((col) => col.field === field && (!col.table || !table || col.table === table));
8620
8814
  if (column) {
8621
8815
  if ((0, columnProcessing_1.isDateType)(column.fieldType)) {
8622
8816
  fieldType = Filter_1.FieldType.Date;
@@ -8712,6 +8906,7 @@ const astToFilter = (ast, db, columns) => {
8712
8906
  fieldType: Filter_1.FieldType.String,
8713
8907
  operator: mappedOperator,
8714
8908
  value: (lowerFunctionToField(right, db) ?? '').replaceAll('%', ''),
8909
+ table,
8715
8910
  };
8716
8911
  case Filter_1.InternalFilterType.StringInFilter:
8717
8912
  return {
@@ -8720,6 +8915,7 @@ const astToFilter = (ast, db, columns) => {
8720
8915
  fieldType: Filter_1.FieldType.String,
8721
8916
  operator: mappedOperator,
8722
8917
  value: right.value.map((v) => (lowerFunctionToField(v, db) ?? '').replaceAll('%', '')),
8918
+ table,
8723
8919
  };
8724
8920
  case Filter_1.InternalFilterType.NumericFilter:
8725
8921
  return {
@@ -8728,6 +8924,7 @@ const astToFilter = (ast, db, columns) => {
8728
8924
  fieldType: Filter_1.FieldType.Number,
8729
8925
  operator: mappedOperator,
8730
8926
  value: Number(right.value),
8927
+ table,
8731
8928
  };
8732
8929
  case Filter_1.InternalFilterType.NullFilter:
8733
8930
  return {
@@ -8736,6 +8933,7 @@ const astToFilter = (ast, db, columns) => {
8736
8933
  fieldType: Filter_1.FieldType.Null,
8737
8934
  operator: mappedOperator,
8738
8935
  value: null,
8936
+ table,
8739
8937
  };
8740
8938
  case Filter_1.InternalFilterType.DateCustomFilter: {
8741
8939
  const rightExprList = right;
@@ -8750,6 +8948,7 @@ const astToFilter = (ast, db, columns) => {
8750
8948
  fieldType: Filter_1.FieldType.Date,
8751
8949
  operator: Filter_1.DateOperator.Custom,
8752
8950
  value: values,
8951
+ table,
8753
8952
  };
8754
8953
  }
8755
8954
  case Filter_1.InternalFilterType.DateComparisonFilter: {
@@ -8768,6 +8967,7 @@ const astToFilter = (ast, db, columns) => {
8768
8967
  fieldType: Filter_1.FieldType.Date,
8769
8968
  operator: Filter_1.DateOperator.Custom,
8770
8969
  value: { startDate: right.value, endDate: right.value },
8970
+ table,
8771
8971
  };
8772
8972
  }
8773
8973
  return {
@@ -8776,6 +8976,7 @@ const astToFilter = (ast, db, columns) => {
8776
8976
  fieldType: Filter_1.FieldType.Date,
8777
8977
  operator: numericDateComparison,
8778
8978
  value: right.value,
8979
+ table,
8779
8980
  };
8780
8981
  }
8781
8982
  }
@@ -8793,6 +8994,7 @@ const astToFilter = (ast, db, columns) => {
8793
8994
  fieldType: Filter_1.FieldType.Date,
8794
8995
  operator: dateOperator,
8795
8996
  value,
8997
+ table,
8796
8998
  };
8797
8999
  }
8798
9000
  else {
@@ -8802,6 +9004,7 @@ const astToFilter = (ast, db, columns) => {
8802
9004
  fieldType: Filter_1.FieldType.Date,
8803
9005
  operator: Filter_1.DateOperator.Custom,
8804
9006
  value: value.value,
9007
+ table,
8805
9008
  };
8806
9009
  }
8807
9010
  }
@@ -8819,6 +9022,7 @@ const astToFilter = (ast, db, columns) => {
8819
9022
  fieldType: Filter_1.FieldType.Boolean,
8820
9023
  operator: mappedOperator,
8821
9024
  value: value,
9025
+ table,
8822
9026
  };
8823
9027
  }
8824
9028
  }
@@ -8866,7 +9070,7 @@ exports.filterTreeToAst = filterTreeToAst;
8866
9070
  * Deterministic function that converts Filter objects to a leaf node ast
8867
9071
  */
8868
9072
  const filterToAst = (filter, db) => {
8869
- const { field, operator, value } = filter;
9073
+ const { field, operator, value, table } = filter;
8870
9074
  const mappedOperator = operatorMap[operator][0];
8871
9075
  // Generate SQL AST based on the filter type
8872
9076
  switch (filter.fieldType) {
@@ -8880,7 +9084,7 @@ const filterToAst = (filter, db) => {
8880
9084
  return {
8881
9085
  type: 'binary_expr',
8882
9086
  operator: mappedOperator,
8883
- left: fieldColumnToLowerCaseAst(`${field.replaceAll('%', '')}`, db, true),
9087
+ left: fieldColumnToLowerCaseAst(`${field.replaceAll('%', '')}`, db, true, table),
8884
9088
  right: {
8885
9089
  type: 'expr_list',
8886
9090
  value: value.map((v) => {
@@ -8896,7 +9100,7 @@ const filterToAst = (filter, db) => {
8896
9100
  return {
8897
9101
  type: 'binary_expr',
8898
9102
  operator: mappedOperator,
8899
- left: fieldColumnToLowerCaseAst(field, db, true),
9103
+ left: fieldColumnToLowerCaseAst(field, db, true, table),
8900
9104
  right: fieldColumnToLowerCaseAst(value, db, false),
8901
9105
  };
8902
9106
  case 'LIKE':
@@ -8906,7 +9110,7 @@ const filterToAst = (filter, db) => {
8906
9110
  return {
8907
9111
  type: 'binary_expr',
8908
9112
  operator: mappedOperator,
8909
- left: fieldColumnToLowerCaseAst(field, db, true),
9113
+ left: fieldColumnToLowerCaseAst(field, db, true, table),
8910
9114
  right: fieldColumnToLowerCaseAst(`%${value.replaceAll('%', '')}%`, db, false),
8911
9115
  };
8912
9116
  default:
@@ -8916,7 +9120,7 @@ const filterToAst = (filter, db) => {
8916
9120
  return {
8917
9121
  type: 'binary_expr',
8918
9122
  operator: mappedOperator,
8919
- left: fieldColumnToLowerCaseAst(field, db, true),
9123
+ left: fieldColumnToLowerCaseAst(field, db, true, table),
8920
9124
  right: fieldColumnToLowerCaseAst(value, db, false),
8921
9125
  };
8922
9126
  }
@@ -8926,7 +9130,7 @@ const filterToAst = (filter, db) => {
8926
9130
  return {
8927
9131
  type: 'binary_expr',
8928
9132
  operator: mappedOperator,
8929
- left: { type: 'column_ref', table: null, column: field },
9133
+ left: { type: 'column_ref', table: table ?? null, column: field },
8930
9134
  right: { type: 'number', value: Number(value) },
8931
9135
  };
8932
9136
  }
@@ -8938,7 +9142,7 @@ const filterToAst = (filter, db) => {
8938
9142
  operator: mappedOperator,
8939
9143
  left: {
8940
9144
  type: 'column_ref',
8941
- table: null,
9145
+ table: table ?? null,
8942
9146
  column: field,
8943
9147
  },
8944
9148
  right: {
@@ -8967,7 +9171,7 @@ const filterToAst = (filter, db) => {
8967
9171
  operator: '>=',
8968
9172
  left: {
8969
9173
  type: 'column_ref',
8970
- table: null,
9174
+ table: table ?? null,
8971
9175
  column: {
8972
9176
  expr: {
8973
9177
  type: 'default',
@@ -9026,7 +9230,7 @@ const filterToAst = (filter, db) => {
9026
9230
  operator: '>=',
9027
9231
  left: {
9028
9232
  type: 'column_ref',
9029
- table: null,
9233
+ table: table ?? null,
9030
9234
  column: field,
9031
9235
  },
9032
9236
  right: {
@@ -9066,7 +9270,7 @@ const filterToAst = (filter, db) => {
9066
9270
  operator: '>=',
9067
9271
  left: {
9068
9272
  type: 'column_ref',
9069
- table: null,
9273
+ table: table ?? null,
9070
9274
  column: field,
9071
9275
  },
9072
9276
  right: {
@@ -9131,7 +9335,7 @@ const filterToAst = (filter, db) => {
9131
9335
  operator: '>=',
9132
9336
  left: {
9133
9337
  type: 'column_ref',
9134
- table: null,
9338
+ table: table ?? null,
9135
9339
  column: field,
9136
9340
  },
9137
9341
  right: {
@@ -9165,7 +9369,7 @@ const filterToAst = (filter, db) => {
9165
9369
  operator: '>=',
9166
9370
  left: {
9167
9371
  type: 'column_ref',
9168
- table: null,
9372
+ table: table ?? null,
9169
9373
  column: {
9170
9374
  expr: {
9171
9375
  type: 'default',
@@ -9206,7 +9410,7 @@ const filterToAst = (filter, db) => {
9206
9410
  operator: '>=',
9207
9411
  left: {
9208
9412
  type: 'column_ref',
9209
- table: null,
9413
+ table: table ?? null,
9210
9414
  column: {
9211
9415
  expr: {
9212
9416
  type: 'default',
@@ -9248,7 +9452,7 @@ const filterToAst = (filter, db) => {
9248
9452
  operator: '>=',
9249
9453
  left: {
9250
9454
  type: 'column_ref',
9251
- table: null,
9455
+ table: table ?? null,
9252
9456
  db: null,
9253
9457
  schema: null,
9254
9458
  column: field,
@@ -9315,7 +9519,7 @@ const filterToAst = (filter, db) => {
9315
9519
  operator: '>=',
9316
9520
  left: {
9317
9521
  type: 'column_ref',
9318
- table: null,
9522
+ table: table ?? null,
9319
9523
  column: {
9320
9524
  expr: {
9321
9525
  type: 'default',
@@ -9363,7 +9567,7 @@ const filterToAst = (filter, db) => {
9363
9567
  operator: '<',
9364
9568
  left: {
9365
9569
  type: 'column_ref',
9366
- table: null,
9570
+ table: table ?? null,
9367
9571
  column: {
9368
9572
  expr: {
9369
9573
  type: 'default',
@@ -9444,7 +9648,7 @@ const filterToAst = (filter, db) => {
9444
9648
  },
9445
9649
  {
9446
9650
  type: 'column_ref',
9447
- table: null,
9651
+ table: table ?? null,
9448
9652
  column: field,
9449
9653
  },
9450
9654
  ],
@@ -9505,7 +9709,7 @@ const filterToAst = (filter, db) => {
9505
9709
  value: [
9506
9710
  {
9507
9711
  type: 'column_ref',
9508
- table: null,
9712
+ table: table ?? null,
9509
9713
  column: field,
9510
9714
  },
9511
9715
  {
@@ -9576,7 +9780,7 @@ const filterToAst = (filter, db) => {
9576
9780
  value: [
9577
9781
  {
9578
9782
  type: 'column_ref',
9579
- table: null,
9783
+ table: table ?? null,
9580
9784
  column: field,
9581
9785
  },
9582
9786
  ],
@@ -9635,7 +9839,7 @@ const filterToAst = (filter, db) => {
9635
9839
  value: [
9636
9840
  {
9637
9841
  type: 'column_ref',
9638
- table: null,
9842
+ table: table ?? null,
9639
9843
  column: field,
9640
9844
  },
9641
9845
  ],
@@ -9724,7 +9928,7 @@ const filterToAst = (filter, db) => {
9724
9928
  value: [
9725
9929
  {
9726
9930
  type: 'column_ref',
9727
- table: null,
9931
+ table: table ?? null,
9728
9932
  column: {
9729
9933
  expr: {
9730
9934
  type: 'default',
@@ -9800,7 +10004,7 @@ const filterToAst = (filter, db) => {
9800
10004
  },
9801
10005
  {
9802
10006
  type: 'column_ref',
9803
- table: null,
10007
+ table: table ?? null,
9804
10008
  column: {
9805
10009
  expr: {
9806
10010
  type: 'default',
@@ -9870,7 +10074,7 @@ const filterToAst = (filter, db) => {
9870
10074
  },
9871
10075
  {
9872
10076
  type: 'column_ref',
9873
- table: null,
10077
+ table: table ?? null,
9874
10078
  column: {
9875
10079
  expr: {
9876
10080
  type: 'default',
@@ -9940,7 +10144,7 @@ const filterToAst = (filter, db) => {
9940
10144
  },
9941
10145
  {
9942
10146
  type: 'column_ref',
9943
- table: null,
10147
+ table: table ?? null,
9944
10148
  column: {
9945
10149
  expr: {
9946
10150
  type: 'default',
@@ -10014,7 +10218,7 @@ const filterToAst = (filter, db) => {
10014
10218
  },
10015
10219
  {
10016
10220
  type: 'column_ref',
10017
- table: null,
10221
+ table: table ?? null,
10018
10222
  db: null,
10019
10223
  schema: null,
10020
10224
  column: field,
@@ -10081,7 +10285,7 @@ const filterToAst = (filter, db) => {
10081
10285
  operator: '>=',
10082
10286
  left: {
10083
10287
  type: 'column_ref',
10084
- table: null,
10288
+ table: table ?? null,
10085
10289
  column: {
10086
10290
  expr: {
10087
10291
  type: 'default',
@@ -10139,7 +10343,7 @@ const filterToAst = (filter, db) => {
10139
10343
  operator: '<',
10140
10344
  left: {
10141
10345
  type: 'column_ref',
10142
- table: null,
10346
+ table: table ?? null,
10143
10347
  column: {
10144
10348
  expr: {
10145
10349
  type: 'default',
@@ -10203,7 +10407,7 @@ const filterToAst = (filter, db) => {
10203
10407
  operator: '>=',
10204
10408
  left: {
10205
10409
  type: 'column_ref',
10206
- table: null,
10410
+ table: table ?? null,
10207
10411
  column: field,
10208
10412
  },
10209
10413
  right: {
@@ -10242,7 +10446,7 @@ const filterToAst = (filter, db) => {
10242
10446
  operator: '<',
10243
10447
  left: {
10244
10448
  type: 'column_ref',
10245
- table: null,
10449
+ table: table ?? null,
10246
10450
  column: field,
10247
10451
  },
10248
10452
  right: {
@@ -10287,7 +10491,7 @@ const filterToAst = (filter, db) => {
10287
10491
  operator: '>=',
10288
10492
  left: {
10289
10493
  type: 'column_ref',
10290
- table: null,
10494
+ table: table ?? null,
10291
10495
  column: field,
10292
10496
  },
10293
10497
  right: {
@@ -10354,7 +10558,7 @@ const filterToAst = (filter, db) => {
10354
10558
  operator: '<',
10355
10559
  left: {
10356
10560
  type: 'column_ref',
10357
- table: null,
10561
+ table: table ?? null,
10358
10562
  column: field,
10359
10563
  },
10360
10564
  right: {
@@ -10427,7 +10631,7 @@ const filterToAst = (filter, db) => {
10427
10631
  operator: '>=',
10428
10632
  left: {
10429
10633
  type: 'column_ref',
10430
- table: null,
10634
+ table: table ?? null,
10431
10635
  column: field,
10432
10636
  },
10433
10637
  right: {
@@ -10466,7 +10670,7 @@ const filterToAst = (filter, db) => {
10466
10670
  operator: '<',
10467
10671
  left: {
10468
10672
  type: 'column_ref',
10469
- table: null,
10673
+ table: table ?? null,
10470
10674
  column: field,
10471
10675
  },
10472
10676
  right: {
@@ -10511,7 +10715,7 @@ const filterToAst = (filter, db) => {
10511
10715
  operator: '>=',
10512
10716
  left: {
10513
10717
  type: 'column_ref',
10514
- table: null,
10718
+ table: table ?? null,
10515
10719
  column: {
10516
10720
  expr: {
10517
10721
  type: 'default',
@@ -10551,7 +10755,7 @@ const filterToAst = (filter, db) => {
10551
10755
  operator: '<',
10552
10756
  left: {
10553
10757
  type: 'column_ref',
10554
- table: null,
10758
+ table: table ?? null,
10555
10759
  column: {
10556
10760
  expr: {
10557
10761
  type: 'default',
@@ -10597,7 +10801,7 @@ const filterToAst = (filter, db) => {
10597
10801
  operator: '>=',
10598
10802
  left: {
10599
10803
  type: 'column_ref',
10600
- table: null,
10804
+ table: table ?? null,
10601
10805
  column: {
10602
10806
  expr: {
10603
10807
  type: 'default',
@@ -10638,7 +10842,7 @@ const filterToAst = (filter, db) => {
10638
10842
  operator: '<',
10639
10843
  left: {
10640
10844
  type: 'column_ref',
10641
- table: null,
10845
+ table: table ?? null,
10642
10846
  column: {
10643
10847
  expr: {
10644
10848
  type: 'default',
@@ -10685,7 +10889,7 @@ const filterToAst = (filter, db) => {
10685
10889
  operator: '>=',
10686
10890
  left: {
10687
10891
  type: 'column_ref',
10688
- table: null,
10892
+ table: table ?? null,
10689
10893
  db: null,
10690
10894
  schema: null,
10691
10895
  column: field,
@@ -10742,7 +10946,7 @@ const filterToAst = (filter, db) => {
10742
10946
  operator: '<',
10743
10947
  left: {
10744
10948
  type: 'column_ref',
10745
- table: null,
10949
+ table: table ?? null,
10746
10950
  db: null,
10747
10951
  schema: null,
10748
10952
  column: field,
@@ -10809,7 +11013,7 @@ const filterToAst = (filter, db) => {
10809
11013
  return {
10810
11014
  left: {
10811
11015
  column: field,
10812
- table: null,
11016
+ table: table ?? null,
10813
11017
  type: 'column_ref',
10814
11018
  },
10815
11019
  operator: '=',
@@ -10820,7 +11024,7 @@ const filterToAst = (filter, db) => {
10820
11024
  return {
10821
11025
  left: {
10822
11026
  column: field,
10823
- table: null,
11027
+ table: table ?? null,
10824
11028
  type: 'column_ref',
10825
11029
  },
10826
11030
  operator: '>',
@@ -10831,7 +11035,7 @@ const filterToAst = (filter, db) => {
10831
11035
  return {
10832
11036
  left: {
10833
11037
  column: field,
10834
- table: null,
11038
+ table: table ?? null,
10835
11039
  type: 'column_ref',
10836
11040
  },
10837
11041
  operator: '>=',
@@ -10842,7 +11046,7 @@ const filterToAst = (filter, db) => {
10842
11046
  return {
10843
11047
  left: {
10844
11048
  column: field,
10845
- table: null,
11049
+ table: table ?? null,
10846
11050
  type: 'column_ref',
10847
11051
  },
10848
11052
  operator: '<',
@@ -10853,7 +11057,7 @@ const filterToAst = (filter, db) => {
10853
11057
  return {
10854
11058
  left: {
10855
11059
  column: field,
10856
- table: null,
11060
+ table: table ?? null,
10857
11061
  type: 'column_ref',
10858
11062
  },
10859
11063
  operator: '<=',
@@ -10864,7 +11068,7 @@ const filterToAst = (filter, db) => {
10864
11068
  return {
10865
11069
  left: {
10866
11070
  column: field,
10867
- table: null,
11071
+ table: table ?? null,
10868
11072
  type: 'column_ref',
10869
11073
  },
10870
11074
  operator: '<>',
@@ -10880,7 +11084,7 @@ const filterToAst = (filter, db) => {
10880
11084
  return {
10881
11085
  type: 'binary_expr',
10882
11086
  operator: mappedOperator,
10883
- left: { type: 'column_ref', table: null, column: field },
11087
+ left: { type: 'column_ref', table: table ?? null, column: field },
10884
11088
  right: { type: 'null', value: null },
10885
11089
  };
10886
11090
  case Filter_1.FieldType.Boolean:
@@ -10889,7 +11093,7 @@ const filterToAst = (filter, db) => {
10889
11093
  operator: mappedOperator,
10890
11094
  left: {
10891
11095
  type: 'column_ref',
10892
- table: null,
11096
+ table: table ?? null,
10893
11097
  column: field,
10894
11098
  },
10895
11099
  right: {