@budibase/server 1.0.49-alpha.8 → 1.0.49-alpha.9

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 (183) hide show
  1. package/builder/assets/{index.94a9250f.js → index.ad5370ae.js} +181 -181
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +91 -96
  4. package/coverage/coverage-final.json +1 -1
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +1 -1
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +1 -1
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +1 -1
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +1 -1
  127. package/coverage/lcov-report/db/utils.js.html +1 -1
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +13 -13
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  137. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  138. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  144. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  145. package/coverage/lcov-report/threads/automation.js.html +1 -1
  146. package/coverage/lcov-report/threads/index.html +14 -14
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +10 -31
  149. package/coverage/lcov-report/threads/utils.js.html +1 -1
  150. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  151. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  152. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  153. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  154. package/coverage/lcov-report/utilities/global.js.html +1 -1
  155. package/coverage/lcov-report/utilities/index.html +1 -1
  156. package/coverage/lcov-report/utilities/index.js.html +1 -1
  157. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  158. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  160. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  162. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  164. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  165. package/coverage/lcov-report/utilities/security.js.html +1 -1
  166. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  167. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  168. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  169. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  171. package/coverage/lcov-report/utilities/users.js.html +1 -1
  172. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  173. package/coverage/lcov.info +155 -164
  174. package/dist/api/controllers/row/ExternalRequest.js +14 -4
  175. package/dist/integrations/base/sql.js +43 -8
  176. package/dist/package.json +4 -4
  177. package/dist/threads/query.js +2 -8
  178. package/dist/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +5 -5
  180. package/scripts/integrations/postgres/init.sql +11 -6
  181. package/src/api/controllers/row/ExternalRequest.ts +14 -1
  182. package/src/integrations/base/sql.ts +55 -14
  183. package/src/threads/query.js +2 -9
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
98
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
98
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
142
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
113
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../prettify.js"></script>
@@ -1081,7 +1081,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1081
1081
  <div class='footer quiet pad2 space-top1 center small'>
1082
1082
  Code coverage generated by
1083
1083
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1084
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
1084
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
1085
1085
  </div>
1086
1086
  </div>
1087
1087
  <script src="../../prettify.js"></script>
@@ -181,7 +181,7 @@ exports.processFormulas = (
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
184
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
139
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -274,7 +274,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
277
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
88
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
128
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../../prettify.js"></script>
@@ -343,7 +343,7 @@ exports.update = async (property, usage, opts = { dryRun: false }) =&gt; {
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
346
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
346
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -289,7 +289,7 @@ exports.getUniqueRows = async appIds =&gt; {
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
292
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
292
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
293
293
  </div>
294
294
  </div>
295
295
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
121
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
139
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -334,7 +334,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
334
334
  <div class='footer quiet pad2 space-top1 center small'>
335
335
  Code coverage generated by
336
336
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
337
- at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
337
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
338
338
  </div>
339
339
  </div>
340
340
  <script src="../prettify.js"></script>
@@ -8200,20 +8200,20 @@ BRH:10
8200
8200
  end_of_record
8201
8201
  TN:
8202
8202
  SF:src/threads/query.js
8203
- FN:12,(anonymous_0)
8204
- FN:29,(anonymous_1)
8205
- FN:91,(anonymous_2)
8206
- FN:92,(anonymous_3)
8207
- FN:105,(anonymous_4)
8208
- FN:121,(anonymous_5)
8209
- FN:139,(anonymous_6)
8210
- FN:154,(anonymous_7)
8211
- FN:163,(anonymous_8)
8212
- FN:178,(anonymous_9)
8213
- FN:223,(anonymous_10)
8214
- FN:224,(anonymous_11)
8215
- FN:227,(anonymous_12)
8216
- FN:230,(anonymous_13)
8203
+ FN:9,(anonymous_0)
8204
+ FN:26,(anonymous_1)
8205
+ FN:88,(anonymous_2)
8206
+ FN:89,(anonymous_3)
8207
+ FN:102,(anonymous_4)
8208
+ FN:118,(anonymous_5)
8209
+ FN:136,(anonymous_6)
8210
+ FN:151,(anonymous_7)
8211
+ FN:160,(anonymous_8)
8212
+ FN:175,(anonymous_9)
8213
+ FN:216,(anonymous_10)
8214
+ FN:217,(anonymous_11)
8215
+ FN:220,(anonymous_12)
8216
+ FN:223,(anonymous_13)
8217
8217
  FNF:14
8218
8218
  FNH:13
8219
8219
  FNDA:15,(anonymous_0)
@@ -8236,178 +8236,169 @@ DA:3,2
8236
8236
  DA:4,2
8237
8237
  DA:5,2
8238
8238
  DA:6,2
8239
- DA:8,2
8240
- DA:9,2
8239
+ DA:10,15
8240
+ DA:11,15
8241
+ DA:12,15
8241
8242
  DA:13,15
8242
8243
  DA:14,15
8243
8244
  DA:15,15
8244
8245
  DA:16,15
8245
8246
  DA:17,15
8246
8247
  DA:18,15
8247
- DA:19,15
8248
- DA:20,15
8249
- DA:21,15
8250
- DA:25,15
8251
- DA:26,15
8248
+ DA:22,15
8249
+ DA:23,15
8250
+ DA:27,16
8251
+ DA:29,16
8252
8252
  DA:30,16
8253
- DA:32,16
8254
8253
  DA:33,16
8255
- DA:36,16
8256
- DA:37,0
8257
- DA:40,16
8258
- DA:41,16
8259
- DA:42,2
8254
+ DA:34,0
8255
+ DA:37,16
8256
+ DA:38,16
8257
+ DA:39,2
8258
+ DA:41,14
8259
+ DA:43,14
8260
8260
  DA:44,14
8261
+ DA:45,14
8261
8262
  DA:46,14
8262
8263
  DA:47,14
8263
8264
  DA:48,14
8264
- DA:49,14
8265
- DA:50,14
8266
- DA:51,14
8265
+ DA:49,12
8266
+ DA:50,12
8267
+ DA:51,12
8267
8268
  DA:52,12
8268
- DA:53,12
8269
- DA:54,12
8270
- DA:55,12
8271
- DA:59,14
8272
- DA:60,0
8273
- DA:64,0
8274
- DA:68,14
8269
+ DA:56,14
8270
+ DA:57,0
8271
+ DA:61,0
8272
+ DA:65,14
8273
+ DA:71,1
8274
+ DA:73,1
8275
8275
  DA:74,1
8276
- DA:76,1
8277
- DA:77,1
8278
- DA:81,13
8279
- DA:82,0
8280
- DA:86,13
8281
- DA:87,11
8282
- DA:91,13
8283
- DA:92,0
8284
- DA:96,13
8285
- DA:98,13
8286
- DA:99,0
8287
- DA:102,13
8276
+ DA:78,13
8277
+ DA:79,0
8278
+ DA:83,13
8279
+ DA:84,11
8280
+ DA:88,13
8281
+ DA:89,0
8282
+ DA:93,13
8283
+ DA:95,13
8284
+ DA:96,0
8285
+ DA:99,13
8286
+ DA:103,5
8287
+ DA:104,5
8288
+ DA:105,5
8288
8289
  DA:106,5
8289
- DA:107,5
8290
- DA:108,5
8291
- DA:109,5
8290
+ DA:119,6
8291
+ DA:120,6
8292
+ DA:121,6
8292
8293
  DA:122,6
8293
8294
  DA:123,6
8294
- DA:124,6
8295
- DA:125,6
8296
- DA:126,6
8297
- DA:127,5
8298
- DA:131,5
8299
- DA:132,5
8300
- DA:134,1
8301
- DA:136,6
8302
- DA:140,16
8295
+ DA:124,5
8296
+ DA:128,5
8297
+ DA:129,5
8298
+ DA:131,1
8299
+ DA:133,6
8300
+ DA:137,16
8301
+ DA:138,16
8302
+ DA:139,0
8303
8303
  DA:141,16
8304
- DA:142,0
8305
- DA:144,16
8306
- DA:145,16
8307
- DA:146,16
8308
- DA:147,2
8309
- DA:148,2
8310
- DA:151,16
8311
- DA:153,11
8312
- DA:154,11
8313
- DA:156,6
8314
- DA:157,0
8315
- DA:160,6
8316
- DA:161,6
8317
- DA:163,11
8318
- DA:164,11
8319
- DA:165,11
8320
- DA:166,6
8321
- DA:167,6
8322
- DA:172,6
8323
- DA:175,16
8304
+ DA:142,16
8305
+ DA:143,16
8306
+ DA:144,2
8307
+ DA:145,2
8308
+ DA:148,16
8309
+ DA:150,11
8310
+ DA:151,11
8311
+ DA:153,6
8312
+ DA:154,0
8313
+ DA:157,6
8314
+ DA:158,6
8315
+ DA:160,11
8316
+ DA:161,11
8317
+ DA:162,11
8318
+ DA:163,6
8319
+ DA:164,6
8320
+ DA:169,6
8321
+ DA:172,16
8322
+ DA:176,16
8324
8323
  DA:179,16
8325
- DA:182,16
8324
+ DA:180,19
8325
+ DA:181,0
8326
8326
  DA:183,19
8327
- DA:184,0
8327
+ DA:185,0
8328
8328
  DA:186,19
8329
- DA:188,0
8330
- DA:189,19
8331
- DA:191,19
8332
- DA:193,19
8333
- DA:194,0
8334
- DA:196,19
8335
- DA:200,0
8336
- DA:203,16
8337
- DA:208,0
8338
- DA:209,0
8339
- DA:217,0
8340
- DA:219,16
8341
- DA:223,2
8342
- DA:224,10
8343
- DA:225,10
8344
- DA:226,10
8345
- DA:228,8
8346
- DA:231,2
8347
- LF:114
8348
- LH:99
8349
- BRDA:12,0,0,10
8350
- BRDA:36,1,0,0
8351
- BRDA:36,1,1,16
8352
- BRDA:41,2,0,2
8353
- BRDA:41,2,1,14
8354
- BRDA:51,3,0,12
8355
- BRDA:51,3,1,2
8356
- BRDA:59,4,0,0
8357
- BRDA:59,4,1,14
8358
- BRDA:68,5,0,1
8359
- BRDA:68,5,1,13
8360
- BRDA:69,6,0,14
8361
- BRDA:69,6,1,12
8362
- BRDA:69,6,2,1
8363
- BRDA:69,6,3,1
8364
- BRDA:81,7,0,0
8365
- BRDA:81,7,1,13
8366
- BRDA:86,8,0,11
8367
- BRDA:86,8,1,2
8368
- BRDA:91,9,0,0
8369
- BRDA:91,9,1,13
8370
- BRDA:98,10,0,0
8371
- BRDA:98,10,1,13
8372
- BRDA:126,11,0,5
8373
- BRDA:126,11,1,1
8374
- BRDA:127,12,0,0
8375
- BRDA:127,12,1,5
8376
- BRDA:141,13,0,0
8377
- BRDA:141,13,1,16
8378
- BRDA:141,14,0,16
8379
- BRDA:141,14,1,16
8380
- BRDA:144,15,0,16
8381
- BRDA:144,15,1,15
8382
- BRDA:145,16,0,16
8383
- BRDA:145,16,1,5
8384
- BRDA:147,17,0,2
8385
- BRDA:147,17,1,0
8386
- BRDA:151,18,0,11
8387
- BRDA:151,18,1,5
8388
- BRDA:156,19,0,0
8389
- BRDA:156,19,1,6
8390
- BRDA:178,20,0,0
8391
- BRDA:183,21,0,0
8392
- BRDA:183,21,1,19
8393
- BRDA:186,22,0,0
8394
- BRDA:186,22,1,19
8395
- BRDA:189,23,0,19
8396
- BRDA:189,23,1,0
8397
- BRDA:193,24,0,0
8398
- BRDA:193,24,1,19
8399
- BRDA:193,25,0,19
8400
- BRDA:193,25,1,0
8329
+ DA:188,19
8330
+ DA:193,0
8331
+ DA:196,16
8332
+ DA:201,0
8333
+ DA:202,0
8334
+ DA:210,0
8335
+ DA:212,16
8336
+ DA:216,2
8337
+ DA:217,10
8338
+ DA:218,10
8339
+ DA:219,10
8340
+ DA:221,8
8341
+ DA:224,2
8342
+ LF:109
8343
+ LH:95
8344
+ BRDA:9,0,0,10
8345
+ BRDA:33,1,0,0
8346
+ BRDA:33,1,1,16
8347
+ BRDA:38,2,0,2
8348
+ BRDA:38,2,1,14
8349
+ BRDA:48,3,0,12
8350
+ BRDA:48,3,1,2
8351
+ BRDA:56,4,0,0
8352
+ BRDA:56,4,1,14
8353
+ BRDA:65,5,0,1
8354
+ BRDA:65,5,1,13
8355
+ BRDA:66,6,0,14
8356
+ BRDA:66,6,1,12
8357
+ BRDA:66,6,2,1
8358
+ BRDA:66,6,3,1
8359
+ BRDA:78,7,0,0
8360
+ BRDA:78,7,1,13
8361
+ BRDA:83,8,0,11
8362
+ BRDA:83,8,1,2
8363
+ BRDA:88,9,0,0
8364
+ BRDA:88,9,1,13
8365
+ BRDA:95,10,0,0
8366
+ BRDA:95,10,1,13
8367
+ BRDA:123,11,0,5
8368
+ BRDA:123,11,1,1
8369
+ BRDA:124,12,0,0
8370
+ BRDA:124,12,1,5
8371
+ BRDA:138,13,0,0
8372
+ BRDA:138,13,1,16
8373
+ BRDA:138,14,0,16
8374
+ BRDA:138,14,1,16
8375
+ BRDA:141,15,0,16
8376
+ BRDA:141,15,1,15
8377
+ BRDA:142,16,0,16
8378
+ BRDA:142,16,1,5
8379
+ BRDA:144,17,0,2
8380
+ BRDA:144,17,1,0
8381
+ BRDA:148,18,0,11
8382
+ BRDA:148,18,1,5
8383
+ BRDA:153,19,0,0
8384
+ BRDA:153,19,1,6
8385
+ BRDA:175,20,0,0
8386
+ BRDA:180,21,0,0
8387
+ BRDA:180,21,1,19
8388
+ BRDA:183,22,0,0
8389
+ BRDA:183,22,1,19
8390
+ BRDA:186,23,0,19
8391
+ BRDA:186,23,1,0
8392
+ BRDA:196,24,0,0
8393
+ BRDA:196,24,1,16
8394
+ BRDA:197,25,0,16
8395
+ BRDA:197,25,1,16
8396
+ BRDA:197,25,2,16
8401
8397
  BRDA:203,26,0,0
8402
- BRDA:203,26,1,16
8403
- BRDA:204,27,0,16
8404
- BRDA:204,27,1,16
8405
- BRDA:204,27,2,16
8406
- BRDA:210,28,0,0
8407
- BRDA:210,28,1,0
8408
- BRDA:210,28,2,0
8409
- BRF:60
8410
- BRH:41
8398
+ BRDA:203,26,1,0
8399
+ BRDA:203,26,2,0
8400
+ BRF:56
8401
+ BRH:39
8411
8402
  end_of_record
8412
8403
  TN:
8413
8404
  SF:src/threads/utils.js
@@ -155,7 +155,7 @@ var External;
155
155
  thisRow._id = generateIdForRow(row, table);
156
156
  thisRow.tableId = table._id;
157
157
  thisRow._rev = "rev";
158
- return thisRow;
158
+ return utils_4.processFormulas(table, thisRow);
159
159
  }
160
160
  function fixArrayTypes(row, table) {
161
161
  for (let [fieldName, schema] of Object.entries(table.schema)) {
@@ -278,14 +278,24 @@ var External;
278
278
  * This iterates through the returned rows and works out what elements of the rows
279
279
  * actually match up to another row (based on primary keys) - this is pretty specific
280
280
  * to SQL and the way that SQL relationships are returned based on joins.
281
+ * This is complicated, but the idea is that when a SQL query returns all the relations
282
+ * will be separate rows, with all of the data in each row. We have to decipher what comes
283
+ * from where (which tables) and how to convert that into budibase columns.
281
284
  */
282
- updateRelationshipColumns(row, rows, relationships) {
285
+ updateRelationshipColumns(table, row, rows, relationships) {
283
286
  const columns = {};
284
287
  for (let relationship of relationships) {
285
288
  const linkedTable = this.tables[relationship.tableName];
286
289
  if (!linkedTable) {
287
290
  continue;
288
291
  }
292
+ const fromColumn = `${table.name}.${relationship.from}`;
293
+ const toColumn = `${linkedTable.name}.${relationship.to}`;
294
+ // this is important when working with multiple relationships
295
+ // between the same tables, don't want to overlap/multiply the relations
296
+ if (!relationship.through && row[fromColumn] !== row[toColumn]) {
297
+ continue;
298
+ }
289
299
  let linked = basicProcessing(row, linkedTable);
290
300
  if (!linked._id) {
291
301
  continue;
@@ -323,7 +333,7 @@ var External;
323
333
  row._id = rowId;
324
334
  // this is a relationship of some sort
325
335
  if (finalRows[rowId]) {
326
- finalRows = this.updateRelationshipColumns(row, finalRows, relationships);
336
+ finalRows = this.updateRelationshipColumns(table, row, finalRows, relationships);
327
337
  continue;
328
338
  }
329
339
  const thisRow = fixArrayTypes(basicProcessing(row, table), table);
@@ -332,7 +342,7 @@ var External;
332
342
  }
333
343
  finalRows[thisRow._id] = thisRow;
334
344
  // do this at end once its been added to the final rows
335
- finalRows = this.updateRelationshipColumns(row, finalRows, relationships);
345
+ finalRows = this.updateRelationshipColumns(table, row, finalRows, relationships);
336
346
  }
337
347
  return utils_4.processFormulas(table, Object.values(finalRows));
338
348
  }
@@ -177,20 +177,55 @@ class InternalBuilder {
177
177
  if (!relationships) {
178
178
  return query;
179
179
  }
180
+ const tableSets = {};
181
+ // aggregate into table sets (all the same to tables)
180
182
  for (let relationship of relationships) {
181
- const from = relationship.from, to = relationship.to, toTable = relationship.tableName;
182
- if (!relationship.through) {
183
+ const keyObj = {
184
+ toTable: relationship.tableName,
185
+ throughTable: undefined,
186
+ };
187
+ if (relationship.through) {
188
+ keyObj.throughTable = relationship.through;
189
+ }
190
+ const key = JSON.stringify(keyObj);
191
+ if (tableSets[key]) {
192
+ tableSets[key].push(relationship);
193
+ }
194
+ else {
195
+ tableSets[key] = [relationship];
196
+ }
197
+ }
198
+ for (let [key, relationships] of Object.entries(tableSets)) {
199
+ const { toTable, throughTable } = JSON.parse(key);
200
+ if (!throughTable) {
183
201
  // @ts-ignore
184
- query = query.leftJoin(toTable, `${fromTable}.${from}`, `${toTable}.${to}`);
202
+ query = query.join(toTable, function () {
203
+ for (let relationship of relationships) {
204
+ const from = relationship.from, to = relationship.to;
205
+ // @ts-ignore
206
+ this.orOn(`${fromTable}.${from}`, "=", `${toTable}.${to}`);
207
+ }
208
+ }, "left");
185
209
  }
186
210
  else {
187
- const throughTable = relationship.through;
188
- const fromPrimary = relationship.fromPrimary;
189
- const toPrimary = relationship.toPrimary;
190
211
  query = query
191
212
  // @ts-ignore
192
- .leftJoin(throughTable, `${fromTable}.${fromPrimary}`, `${throughTable}.${from}`)
193
- .leftJoin(toTable, `${toTable}.${toPrimary}`, `${throughTable}.${to}`);
213
+ .join(throughTable, function () {
214
+ for (let relationship of relationships) {
215
+ const fromPrimary = relationship.fromPrimary;
216
+ const from = relationship.from;
217
+ // @ts-ignore
218
+ this.orOn(`${fromTable}.${fromPrimary}`, "=", `${throughTable}.${from}`);
219
+ }
220
+ }, "left")
221
+ .join(toTable, function () {
222
+ for (let relationship of relationships) {
223
+ const toPrimary = relationship.toPrimary;
224
+ const to = relationship.to;
225
+ // @ts-ignore
226
+ this.orOn(`${toTable}.${toPrimary}`, `${throughTable}.${to}`);
227
+ }
228
+ }, "left");
194
229
  }
195
230
  }
196
231
  return query.limit(BASE_LIMIT);
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "1.0.49-alpha.7",
4
+ "version": "1.0.49-alpha.8",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -70,9 +70,9 @@
70
70
  "license": "GPL-3.0",
71
71
  "dependencies": {
72
72
  "@apidevtools/swagger-parser": "^10.0.3",
73
- "@budibase/backend-core": "^1.0.49-alpha.7",
74
- "@budibase/client": "^1.0.49-alpha.7",
75
- "@budibase/string-templates": "^1.0.49-alpha.7",
73
+ "@budibase/backend-core": "^1.0.49-alpha.8",
74
+ "@budibase/client": "^1.0.49-alpha.8",
75
+ "@budibase/string-templates": "^1.0.49-alpha.8",
76
76
  "@bull-board/api": "^3.7.0",
77
77
  "@bull-board/koa": "^3.7.0",
78
78
  "@elastic/elasticsearch": "7.10.0",