af-db-ts 2.0.19 → 2.0.73

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 (307) hide show
  1. package/dist/cjs/__tests__/db/ms/@gen-types/test-table_schema.js +3 -0
  2. package/dist/cjs/__tests__/db/ms/@gen-types/test-table_schema.js.map +1 -0
  3. package/dist/cjs/__tests__/db/ms/ddl/column-schema-for-test-table-schema-ms.json +216 -0
  4. package/dist/cjs/__tests__/db/ms/ms-get-sql.spec.js +190 -0
  5. package/dist/cjs/__tests__/db/ms/ms-get-sql.spec.js.map +1 -0
  6. package/dist/cjs/__tests__/db/ms/ms-prepare-sql-value.spec.js +584 -0
  7. package/dist/cjs/__tests__/db/ms/ms-prepare-sql-value.spec.js.map +1 -0
  8. package/dist/cjs/__tests__/db/ms/ms-table-schema.spec.js +107 -0
  9. package/dist/cjs/__tests__/db/ms/ms-table-schema.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/db/pg/@gen-types/test-hard_case.js +3 -0
  11. package/dist/cjs/__tests__/db/pg/@gen-types/test-hard_case.js.map +1 -0
  12. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_serial.js +3 -0
  13. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_serial.js.map +1 -0
  14. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_uniq.js +3 -0
  15. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_uniq.js.map +1 -0
  16. package/dist/cjs/__tests__/db/pg/@gen-types/test-serial_and_uniq.js +3 -0
  17. package/dist/cjs/__tests__/db/pg/@gen-types/test-serial_and_uniq.js.map +1 -0
  18. package/dist/cjs/__tests__/db/pg/@gen-types/test-table_schema.js +3 -0
  19. package/dist/cjs/__tests__/db/pg/@gen-types/test-table_schema.js.map +1 -0
  20. package/dist/cjs/__tests__/db/pg/ddl/column-schema-for-test-table-schema-pg.json +170 -0
  21. package/dist/cjs/__tests__/db/pg/gen-table-interfaces-4-test-pg.js +36 -0
  22. package/dist/cjs/__tests__/db/pg/gen-table-interfaces-4-test-pg.js.map +1 -0
  23. package/dist/cjs/__tests__/db/pg/pg-get-sql.spec.js +261 -0
  24. package/dist/cjs/__tests__/db/pg/pg-get-sql.spec.js.map +1 -0
  25. package/dist/cjs/__tests__/db/pg/pg-insert.spec.js +294 -0
  26. package/dist/cjs/__tests__/db/pg/pg-insert.spec.js.map +1 -0
  27. package/dist/cjs/__tests__/db/pg/pg-prepare-sql-value.spec.js +575 -0
  28. package/dist/cjs/__tests__/db/pg/pg-prepare-sql-value.spec.js.map +1 -0
  29. package/dist/cjs/__tests__/db/pg/pg-table-schema.spec.js +117 -0
  30. package/dist/cjs/__tests__/db/pg/pg-table-schema.spec.js.map +1 -0
  31. package/dist/cjs/src/@types/i-data-types-ms.js +3 -0
  32. package/dist/cjs/src/@types/i-data-types-ms.js.map +1 -0
  33. package/dist/cjs/src/@types/i-data-types-pg.js +7 -0
  34. package/dist/cjs/src/@types/i-data-types-pg.js.map +1 -0
  35. package/dist/cjs/src/@types/i-pg.js +0 -21
  36. package/dist/cjs/src/@types/i-pg.js.map +1 -1
  37. package/dist/cjs/src/common.js +6 -5
  38. package/dist/cjs/src/common.js.map +1 -1
  39. package/dist/cjs/src/index.js +75 -54
  40. package/dist/cjs/src/index.js.map +1 -1
  41. package/dist/cjs/src/ms/gen-table-interfaces-ms.js +64 -0
  42. package/dist/cjs/src/ms/gen-table-interfaces-ms.js.map +1 -0
  43. package/dist/cjs/src/ms/get-sql/insert.js +37 -0
  44. package/dist/cjs/src/ms/get-sql/insert.js.map +1 -0
  45. package/dist/cjs/src/ms/get-sql/merge.js +93 -0
  46. package/dist/cjs/src/ms/get-sql/merge.js.map +1 -0
  47. package/dist/cjs/src/ms/get-sql/update.js +32 -0
  48. package/dist/cjs/src/ms/get-sql/update.js.map +1 -0
  49. package/dist/cjs/src/{mssql → ms}/pool-ms.js +6 -23
  50. package/dist/cjs/src/ms/pool-ms.js.map +1 -0
  51. package/dist/cjs/src/ms/prepare-value.js +178 -0
  52. package/dist/cjs/src/ms/prepare-value.js.map +1 -0
  53. package/dist/cjs/src/{mssql → ms}/query-ms.js +1 -1
  54. package/dist/cjs/src/ms/query-ms.js.map +1 -0
  55. package/dist/cjs/src/ms/table-schema-ms.js +241 -0
  56. package/dist/cjs/src/ms/table-schema-ms.js.map +1 -0
  57. package/dist/cjs/src/ms/utils-ms.js +92 -0
  58. package/dist/cjs/src/ms/utils-ms.js.map +1 -0
  59. package/dist/cjs/src/ms/wrap-transaction-ms.js +32 -0
  60. package/dist/cjs/src/ms/wrap-transaction-ms.js.map +1 -0
  61. package/dist/cjs/src/pg/gen-table-interfaces-pg.js +83 -0
  62. package/dist/cjs/src/pg/gen-table-interfaces-pg.js.map +1 -0
  63. package/dist/cjs/src/pg/get-sql/insert.js +38 -0
  64. package/dist/cjs/src/pg/get-sql/insert.js.map +1 -0
  65. package/dist/cjs/src/pg/get-sql/merge.js +60 -0
  66. package/dist/cjs/src/pg/get-sql/merge.js.map +1 -0
  67. package/dist/cjs/src/pg/get-sql/update.js +32 -0
  68. package/dist/cjs/src/pg/get-sql/update.js.map +1 -0
  69. package/dist/cjs/src/pg/{insert.js → insert-pg.js} +10 -10
  70. package/dist/cjs/src/pg/insert-pg.js.map +1 -0
  71. package/dist/cjs/src/pg/is-table-or-view-exists.js +1 -2
  72. package/dist/cjs/src/pg/is-table-or-view-exists.js.map +1 -1
  73. package/dist/cjs/src/pg/{pg-pool.js → pool-pg.js} +6 -7
  74. package/dist/cjs/src/pg/pool-pg.js.map +1 -0
  75. package/dist/cjs/src/pg/prepare-value.js +116 -69
  76. package/dist/cjs/src/pg/prepare-value.js.map +1 -1
  77. package/dist/cjs/src/pg/query-pg.js +2 -2
  78. package/dist/cjs/src/pg/query-pg.js.map +1 -1
  79. package/dist/cjs/src/pg/table-schema-pg.js +183 -0
  80. package/dist/cjs/src/pg/table-schema-pg.js.map +1 -0
  81. package/dist/cjs/src/pg/utils-pg.js +99 -0
  82. package/dist/cjs/src/pg/utils-pg.js.map +1 -0
  83. package/dist/cjs/src/utils/utils-array.js +152 -0
  84. package/dist/cjs/src/utils/utils-array.js.map +1 -0
  85. package/dist/cjs/src/utils/utils-dt.js +121 -0
  86. package/dist/cjs/src/utils/utils-dt.js.map +1 -0
  87. package/dist/cjs/src/utils/utils-num.js +127 -0
  88. package/dist/cjs/src/utils/utils-num.js.map +1 -0
  89. package/dist/cjs/src/utils/utils.js +66 -0
  90. package/dist/cjs/src/utils/utils.js.map +1 -0
  91. package/dist/esm/src/@types/i-data-types-ms.js +2 -0
  92. package/dist/esm/src/@types/i-data-types-ms.js.map +1 -0
  93. package/dist/esm/src/@types/i-data-types-pg.js +6 -0
  94. package/dist/esm/src/@types/i-data-types-pg.js.map +1 -0
  95. package/dist/esm/src/@types/i-pg.js +1 -20
  96. package/dist/esm/src/@types/i-pg.js.map +1 -1
  97. package/dist/esm/src/common.js +3 -2
  98. package/dist/esm/src/common.js.map +1 -1
  99. package/dist/esm/src/index.js +24 -15
  100. package/dist/esm/src/index.js.map +1 -1
  101. package/dist/esm/src/ms/gen-table-interfaces-ms.js +36 -0
  102. package/dist/esm/src/ms/gen-table-interfaces-ms.js.map +1 -0
  103. package/dist/esm/src/ms/get-sql/insert.js +33 -0
  104. package/dist/esm/src/ms/get-sql/insert.js.map +1 -0
  105. package/dist/esm/src/ms/get-sql/merge.js +89 -0
  106. package/dist/esm/src/ms/get-sql/merge.js.map +1 -0
  107. package/dist/esm/src/ms/get-sql/update.js +28 -0
  108. package/dist/esm/src/ms/get-sql/update.js.map +1 -0
  109. package/dist/esm/src/{mssql → ms}/pool-ms.js +5 -20
  110. package/dist/esm/src/ms/pool-ms.js.map +1 -0
  111. package/dist/esm/src/ms/prepare-value.js +149 -0
  112. package/dist/esm/src/ms/prepare-value.js.map +1 -0
  113. package/dist/esm/src/{mssql → ms}/query-ms.js +1 -1
  114. package/dist/esm/src/ms/query-ms.js.map +1 -0
  115. package/dist/esm/src/ms/table-schema-ms.js +213 -0
  116. package/dist/esm/src/ms/table-schema-ms.js.map +1 -0
  117. package/dist/esm/src/ms/utils-ms.js +65 -0
  118. package/dist/esm/src/ms/utils-ms.js.map +1 -0
  119. package/dist/esm/src/ms/wrap-transaction-ms.js +28 -0
  120. package/dist/esm/src/ms/wrap-transaction-ms.js.map +1 -0
  121. package/dist/esm/src/pg/gen-table-interfaces-pg.js +55 -0
  122. package/dist/esm/src/pg/gen-table-interfaces-pg.js.map +1 -0
  123. package/dist/esm/src/pg/get-sql/insert.js +34 -0
  124. package/dist/esm/src/pg/get-sql/insert.js.map +1 -0
  125. package/dist/esm/src/pg/get-sql/merge.js +56 -0
  126. package/dist/esm/src/pg/get-sql/merge.js.map +1 -0
  127. package/dist/esm/src/pg/get-sql/update.js +28 -0
  128. package/dist/esm/src/pg/get-sql/update.js.map +1 -0
  129. package/dist/esm/src/pg/{insert.js → insert-pg.js} +10 -10
  130. package/dist/esm/src/pg/insert-pg.js.map +1 -0
  131. package/dist/esm/src/pg/is-table-or-view-exists.js +1 -2
  132. package/dist/esm/src/pg/is-table-or-view-exists.js.map +1 -1
  133. package/dist/esm/src/pg/{pg-pool.js → pool-pg.js} +6 -7
  134. package/dist/esm/src/pg/pool-pg.js.map +1 -0
  135. package/dist/esm/src/pg/prepare-value.js +113 -67
  136. package/dist/esm/src/pg/prepare-value.js.map +1 -1
  137. package/dist/esm/src/pg/query-pg.js +1 -1
  138. package/dist/esm/src/pg/query-pg.js.map +1 -1
  139. package/dist/esm/src/pg/table-schema-pg.js +178 -0
  140. package/dist/esm/src/pg/table-schema-pg.js.map +1 -0
  141. package/dist/esm/src/pg/utils-pg.js +93 -0
  142. package/dist/esm/src/pg/utils-pg.js.map +1 -0
  143. package/dist/esm/src/utils/utils-array.js +125 -0
  144. package/dist/esm/src/utils/utils-array.js.map +1 -0
  145. package/dist/esm/src/utils/utils-dt.js +114 -0
  146. package/dist/esm/src/utils/utils-dt.js.map +1 -0
  147. package/dist/esm/src/utils/utils-num.js +117 -0
  148. package/dist/esm/src/utils/utils-num.js.map +1 -0
  149. package/dist/esm/src/utils/utils.js +58 -0
  150. package/dist/esm/src/utils/utils.js.map +1 -0
  151. package/dist/types/src/@types/i-common.d.ts +35 -3
  152. package/dist/types/src/@types/i-common.d.ts.map +1 -1
  153. package/dist/types/src/@types/i-data-types-ms.d.ts +3 -0
  154. package/dist/types/src/@types/i-data-types-ms.d.ts.map +1 -0
  155. package/dist/types/src/@types/i-data-types-pg.d.ts +35 -0
  156. package/dist/types/src/@types/i-data-types-pg.d.ts.map +1 -0
  157. package/dist/types/src/@types/i-ms.d.ts +26 -126
  158. package/dist/types/src/@types/i-ms.d.ts.map +1 -1
  159. package/dist/types/src/@types/i-pg.d.ts +11 -35
  160. package/dist/types/src/@types/i-pg.d.ts.map +1 -1
  161. package/dist/types/src/common.d.ts +1 -0
  162. package/dist/types/src/common.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +28 -16
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/ms/gen-table-interfaces-ms.d.ts +3 -0
  166. package/dist/types/src/ms/gen-table-interfaces-ms.d.ts.map +1 -0
  167. package/dist/types/src/ms/get-sql/insert.d.ts +9 -0
  168. package/dist/types/src/ms/get-sql/insert.d.ts.map +1 -0
  169. package/dist/types/src/ms/get-sql/merge.d.ts +14 -0
  170. package/dist/types/src/ms/get-sql/merge.d.ts.map +1 -0
  171. package/dist/types/src/ms/get-sql/update.d.ts +9 -0
  172. package/dist/types/src/ms/get-sql/update.d.ts.map +1 -0
  173. package/dist/types/src/{mssql → ms}/pool-ms.d.ts +0 -8
  174. package/dist/types/src/ms/pool-ms.d.ts.map +1 -0
  175. package/dist/types/src/ms/prepare-value.d.ts +12 -0
  176. package/dist/types/src/ms/prepare-value.d.ts.map +1 -0
  177. package/dist/types/src/ms/query-ms.d.ts +3 -0
  178. package/dist/types/src/ms/query-ms.d.ts.map +1 -0
  179. package/dist/types/src/ms/table-schema-ms.d.ts +9 -0
  180. package/dist/types/src/ms/table-schema-ms.d.ts.map +1 -0
  181. package/dist/types/src/ms/utils-ms.d.ts +3 -0
  182. package/dist/types/src/ms/utils-ms.d.ts.map +1 -0
  183. package/dist/types/src/ms/wrap-transaction-ms.d.ts +5 -0
  184. package/dist/types/src/ms/wrap-transaction-ms.d.ts.map +1 -0
  185. package/dist/types/src/pg/gen-table-interfaces-pg.d.ts +3 -0
  186. package/dist/types/src/pg/gen-table-interfaces-pg.d.ts.map +1 -0
  187. package/dist/types/src/pg/get-sql/insert.d.ts +9 -0
  188. package/dist/types/src/pg/get-sql/insert.d.ts.map +1 -0
  189. package/dist/types/src/pg/get-sql/merge.d.ts +10 -0
  190. package/dist/types/src/pg/get-sql/merge.d.ts.map +1 -0
  191. package/dist/types/src/pg/get-sql/update.d.ts +9 -0
  192. package/dist/types/src/pg/get-sql/update.d.ts.map +1 -0
  193. package/dist/types/src/pg/{insert.d.ts → insert-pg.d.ts} +3 -3
  194. package/dist/types/src/pg/insert-pg.d.ts.map +1 -0
  195. package/dist/types/src/pg/{pg-pool.d.ts → pool-pg.d.ts} +1 -1
  196. package/dist/types/src/pg/{pg-pool.d.ts.map → pool-pg.d.ts.map} +1 -1
  197. package/dist/types/src/pg/prepare-value.d.ts +3 -1
  198. package/dist/types/src/pg/prepare-value.d.ts.map +1 -1
  199. package/dist/types/src/pg/query-pg.d.ts +3 -2
  200. package/dist/types/src/pg/query-pg.d.ts.map +1 -1
  201. package/dist/types/src/pg/table-schema-pg.d.ts +12 -0
  202. package/dist/types/src/pg/table-schema-pg.d.ts.map +1 -0
  203. package/dist/types/src/pg/utils-pg.d.ts +5 -0
  204. package/dist/types/src/pg/utils-pg.d.ts.map +1 -0
  205. package/dist/types/src/utils/utils-array.d.ts +5 -0
  206. package/dist/types/src/utils/utils-array.d.ts.map +1 -0
  207. package/dist/types/src/utils/utils-dt.d.ts +15 -0
  208. package/dist/types/src/utils/utils-dt.d.ts.map +1 -0
  209. package/dist/types/src/utils/utils-num.d.ts +9 -0
  210. package/dist/types/src/utils/utils-num.d.ts.map +1 -0
  211. package/dist/types/src/utils/utils.d.ts +18 -0
  212. package/dist/types/src/utils/utils.d.ts.map +1 -0
  213. package/package.json +13 -13
  214. package/src/@types/i-common.ts +42 -4
  215. package/src/@types/i-data-types-ms.ts +81 -0
  216. package/src/@types/i-data-types-pg.ts +120 -0
  217. package/src/@types/i-ms.ts +29 -153
  218. package/src/@types/i-pg.ts +11 -36
  219. package/src/common.ts +4 -2
  220. package/src/index.ts +101 -59
  221. package/src/ms/gen-table-interfaces-ms.ts +52 -0
  222. package/src/ms/get-sql/insert.ts +45 -0
  223. package/src/ms/get-sql/merge.ts +118 -0
  224. package/src/ms/get-sql/update.ts +46 -0
  225. package/src/{mssql → ms}/pool-ms.ts +0 -16
  226. package/src/ms/prepare-value.ts +175 -0
  227. package/src/{mssql → ms}/query-ms.ts +2 -2
  228. package/src/ms/table-schema-ms.ts +231 -0
  229. package/src/ms/utils-ms.ts +72 -0
  230. package/src/ms/wrap-transaction-ms.ts +27 -0
  231. package/src/pg/gen-table-interfaces-pg.ts +74 -0
  232. package/src/pg/get-sql/insert.ts +46 -0
  233. package/src/pg/get-sql/merge.ts +70 -0
  234. package/src/pg/get-sql/update.ts +46 -0
  235. package/src/pg/{insert.ts → insert-pg.ts} +9 -9
  236. package/src/pg/prepare-value.ts +129 -67
  237. package/src/pg/query-pg.ts +4 -3
  238. package/src/pg/table-schema-pg.ts +196 -0
  239. package/src/pg/utils-pg.ts +97 -0
  240. package/src/utils/utils-array.ts +133 -0
  241. package/src/utils/utils-dt.ts +123 -0
  242. package/src/utils/utils-num.ts +131 -0
  243. package/src/utils/utils.ts +64 -0
  244. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js +0 -50
  245. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js.map +0 -1
  246. package/dist/cjs/src/mssql/get-value-for-sql.js +0 -277
  247. package/dist/cjs/src/mssql/get-value-for-sql.js.map +0 -1
  248. package/dist/cjs/src/mssql/pool-ms.js.map +0 -1
  249. package/dist/cjs/src/mssql/query-ms.js.map +0 -1
  250. package/dist/cjs/src/mssql/sql.js +0 -427
  251. package/dist/cjs/src/mssql/sql.js.map +0 -1
  252. package/dist/cjs/src/mssql/utils.js +0 -36
  253. package/dist/cjs/src/mssql/utils.js.map +0 -1
  254. package/dist/cjs/src/pg/get-merge-sql.js +0 -52
  255. package/dist/cjs/src/pg/get-merge-sql.js.map +0 -1
  256. package/dist/cjs/src/pg/get-update-sql.js +0 -30
  257. package/dist/cjs/src/pg/get-update-sql.js.map +0 -1
  258. package/dist/cjs/src/pg/insert.js.map +0 -1
  259. package/dist/cjs/src/pg/pg-pool.js.map +0 -1
  260. package/dist/cjs/src/pg/table-schema.js +0 -179
  261. package/dist/cjs/src/pg/table-schema.js.map +0 -1
  262. package/dist/cjs/src/utils.js +0 -17
  263. package/dist/cjs/src/utils.js.map +0 -1
  264. package/dist/esm/src/mssql/get-value-for-sql.js +0 -272
  265. package/dist/esm/src/mssql/get-value-for-sql.js.map +0 -1
  266. package/dist/esm/src/mssql/pool-ms.js.map +0 -1
  267. package/dist/esm/src/mssql/query-ms.js.map +0 -1
  268. package/dist/esm/src/mssql/sql.js +0 -390
  269. package/dist/esm/src/mssql/sql.js.map +0 -1
  270. package/dist/esm/src/mssql/utils.js +0 -31
  271. package/dist/esm/src/mssql/utils.js.map +0 -1
  272. package/dist/esm/src/pg/get-merge-sql.js +0 -48
  273. package/dist/esm/src/pg/get-merge-sql.js.map +0 -1
  274. package/dist/esm/src/pg/get-update-sql.js +0 -26
  275. package/dist/esm/src/pg/get-update-sql.js.map +0 -1
  276. package/dist/esm/src/pg/insert.js.map +0 -1
  277. package/dist/esm/src/pg/pg-pool.js.map +0 -1
  278. package/dist/esm/src/pg/table-schema.js +0 -174
  279. package/dist/esm/src/pg/table-schema.js.map +0 -1
  280. package/dist/esm/src/utils.js +0 -14
  281. package/dist/esm/src/utils.js.map +0 -1
  282. package/dist/types/src/mssql/get-value-for-sql.d.ts +0 -11
  283. package/dist/types/src/mssql/get-value-for-sql.d.ts.map +0 -1
  284. package/dist/types/src/mssql/pool-ms.d.ts.map +0 -1
  285. package/dist/types/src/mssql/query-ms.d.ts +0 -3
  286. package/dist/types/src/mssql/query-ms.d.ts.map +0 -1
  287. package/dist/types/src/mssql/sql.d.ts +0 -57
  288. package/dist/types/src/mssql/sql.d.ts.map +0 -1
  289. package/dist/types/src/mssql/utils.d.ts +0 -10
  290. package/dist/types/src/mssql/utils.d.ts.map +0 -1
  291. package/dist/types/src/pg/get-merge-sql.d.ts +0 -9
  292. package/dist/types/src/pg/get-merge-sql.d.ts.map +0 -1
  293. package/dist/types/src/pg/get-update-sql.d.ts +0 -3
  294. package/dist/types/src/pg/get-update-sql.d.ts.map +0 -1
  295. package/dist/types/src/pg/insert.d.ts.map +0 -1
  296. package/dist/types/src/pg/table-schema.d.ts +0 -12
  297. package/dist/types/src/pg/table-schema.d.ts.map +0 -1
  298. package/dist/types/src/utils.d.ts +0 -9
  299. package/dist/types/src/utils.d.ts.map +0 -1
  300. package/src/mssql/get-value-for-sql.ts +0 -325
  301. package/src/mssql/sql.ts +0 -430
  302. package/src/mssql/utils.ts +0 -31
  303. package/src/pg/get-merge-sql.ts +0 -62
  304. package/src/pg/get-update-sql.ts +0 -32
  305. package/src/pg/table-schema.ts +0 -189
  306. package/src/utils.ts +0 -14
  307. /package/src/pg/{pg-pool.ts → pool-pg.ts} +0 -0
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ // noinspection SqlDialectInspection
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const path = __importStar(require("path"));
31
+ const fs_1 = __importDefault(require("fs"));
32
+ const src_1 = require("../../../src");
33
+ const column_schema_for_test_table_schema_ms_json_1 = __importDefault(require("./ddl/column-schema-for-test-table-schema-ms.json"));
34
+ const connectionId = 'test';
35
+ let tableSchema;
36
+ beforeAll(async () => {
37
+ const sql = fs_1.default.readFileSync(path.normalize(path.join(process.cwd(), '__tests__/db/ms/ddl/test.test_table_schema.sql')), 'utf-8');
38
+ await (0, src_1.queryMs)(connectionId, sql);
39
+ await (0, src_1.genTableInterfaceMs)('test', 'test.table_schema', path.normalize(path.join(process.cwd(), '__tests__/db/ms/@gen-types')));
40
+ tableSchema = await (0, src_1.getTableSchemaMs)(connectionId, 'test.table_schema');
41
+ });
42
+ describe('getTableSchemaMs()', () => {
43
+ test('pk', async () => {
44
+ expect(tableSchema.pk).toEqual(['i1', 'si1']);
45
+ });
46
+ test('uc', async () => {
47
+ expect(tableSchema.uc).toMatchObject({
48
+ uix__test__table_schema__time1_bool1: [
49
+ 'time1',
50
+ 'bool1',
51
+ ],
52
+ ux__test__table_schema__vc_tz: [
53
+ 'vc1',
54
+ 'dt1',
55
+ ],
56
+ });
57
+ });
58
+ test('defaults', async () => {
59
+ expect(tableSchema.defaults).toEqual({
60
+ bool1: '0',
61
+ dt1: 'getdate()',
62
+ dt2: 'getdate()',
63
+ dtz: 'getdate()',
64
+ i1: '123',
65
+ vc1: `'aaa'`,
66
+ });
67
+ });
68
+ test('fieldsList', async () => {
69
+ expect(tableSchema.fieldsArray).toEqual([
70
+ 'ser1',
71
+ 'i1',
72
+ 'i2',
73
+ 'i3',
74
+ 'si1',
75
+ 'vc1',
76
+ 'dt1',
77
+ 'dt2',
78
+ 'dtz',
79
+ 'time1',
80
+ 'bool1',
81
+ 'comp1',
82
+ 'pers1',
83
+ ]);
84
+ });
85
+ test('fieldsWoSerialsAndRO', async () => {
86
+ expect(tableSchema.fieldsWoSerialsAndRO).toEqual([
87
+ 'i1',
88
+ 'i2',
89
+ 'i3',
90
+ 'si1',
91
+ 'vc1',
92
+ 'dt1',
93
+ 'dt2',
94
+ 'dtz',
95
+ 'time1',
96
+ 'bool1',
97
+ ]);
98
+ });
99
+ test('serialsFields', async () => {
100
+ expect(tableSchema.serialsFields).toEqual(['ser1']);
101
+ });
102
+ test('columnsSchema', async () => {
103
+ const json = JSON.parse(JSON.stringify(tableSchema.columnsSchema, (k, v) => (k === 'dataType' ? v.name.toLowerCase() : v)));
104
+ expect(json).toStrictEqual(column_schema_for_test_table_schema_ms_json_1.default);
105
+ });
106
+ });
107
+ //# sourceMappingURL=ms-table-schema.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ms-table-schema.spec.js","sourceRoot":"","sources":["../../../../../__tests__/db/ms/ms-table-schema.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-hard_case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-hard_case.js","sourceRoot":"","sources":["../../../../../../__tests__/db/pg/@gen-types/test-hard_case.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-only_one_serial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-only_one_serial.js","sourceRoot":"","sources":["../../../../../../__tests__/db/pg/@gen-types/test-only_one_serial.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-only_one_uniq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-only_one_uniq.js","sourceRoot":"","sources":["../../../../../../__tests__/db/pg/@gen-types/test-only_one_uniq.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-serial_and_uniq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-serial_and_uniq.js","sourceRoot":"","sources":["../../../../../../__tests__/db/pg/@gen-types/test-serial_and_uniq.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-table_schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-table_schema.js","sourceRoot":"","sources":["../../../../../../__tests__/db/pg/@gen-types/test-table_schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,170 @@
1
+ {
2
+ "arr_int": {
3
+ "arrayType": "int",
4
+ "dataType": "ARRAY",
5
+ "hasDefault": false,
6
+ "isNullable": true,
7
+ "name": "arr_int",
8
+ "readOnly": false
9
+ },
10
+ "arr_str": {
11
+ "arrayType": "varchar",
12
+ "dataType": "ARRAY",
13
+ "hasDefault": false,
14
+ "isNullable": true,
15
+ "name": "arr_str",
16
+ "readOnly": false
17
+ },
18
+ "bool1": {
19
+ "columnDefault": "true",
20
+ "dataType": "boolean",
21
+ "hasDefault": true,
22
+ "isNullable": false,
23
+ "name": "bool1",
24
+ "readOnly": false
25
+ },
26
+ "bool2": {
27
+ "columnDefault": "false",
28
+ "dataType": "boolean",
29
+ "hasDefault": true,
30
+ "isNullable": true,
31
+ "name": "bool2",
32
+ "readOnly": false
33
+ },
34
+ "bytea": {
35
+ "dataType": "bytea",
36
+ "hasDefault": false,
37
+ "isNullable": true,
38
+ "name": "bytea",
39
+ "readOnly": false
40
+ },
41
+ "decimal": {
42
+ "dataType": "numeric",
43
+ "hasDefault": false,
44
+ "isNullable": true,
45
+ "name": "decimal",
46
+ "radix": 10,
47
+ "readOnly": false
48
+ },
49
+ "double_precision": {
50
+ "dataType": "double precision",
51
+ "hasDefault": false,
52
+ "isNullable": true,
53
+ "name": "double_precision",
54
+ "precision": 53,
55
+ "radix": 2,
56
+ "readOnly": false
57
+ },
58
+ "dtz1": {
59
+ "columnDefault": "CURRENT_TIMESTAMP",
60
+ "dataType": "timestamptz",
61
+ "dtPrecision": 5,
62
+ "hasDefault": true,
63
+ "isNullable": false,
64
+ "name": "dtz1",
65
+ "readOnly": false
66
+ },
67
+ "gen1": {
68
+ "dataType": "numeric",
69
+ "hasDefault": false,
70
+ "isNullable": true,
71
+ "name": "gen1",
72
+ "radix": 10,
73
+ "readOnly": true
74
+ },
75
+ "i1": {
76
+ "columnDefault": "25",
77
+ "dataType": "int",
78
+ "hasDefault": true,
79
+ "isNullable": false,
80
+ "name": "i1",
81
+ "precision": 32,
82
+ "radix": 2,
83
+ "readOnly": false,
84
+ "scale": 0
85
+ },
86
+ "i2": {
87
+ "dataType": "int",
88
+ "hasDefault": false,
89
+ "isNullable": true,
90
+ "name": "i2",
91
+ "precision": 32,
92
+ "radix": 2,
93
+ "readOnly": false,
94
+ "scale": 0
95
+ },
96
+ "money": {
97
+ "dataType": "money",
98
+ "hasDefault": false,
99
+ "isNullable": true,
100
+ "name": "money",
101
+ "readOnly": false
102
+ },
103
+ "numeric": {
104
+ "dataType": "numeric",
105
+ "hasDefault": false,
106
+ "isNullable": true,
107
+ "name": "numeric",
108
+ "precision": 7,
109
+ "radix": 10,
110
+ "readOnly": false,
111
+ "scale": 5
112
+ },
113
+ "real": {
114
+ "dataType": "real",
115
+ "hasDefault": false,
116
+ "isNullable": true,
117
+ "name": "real",
118
+ "precision": 24,
119
+ "radix": 2,
120
+ "readOnly": false
121
+ },
122
+ "ser1": {
123
+ "columnDefault": "nextval('test.table_schema_ser1_seq'::regclass)",
124
+ "dataType": "int",
125
+ "hasDefault": true,
126
+ "isNullable": false,
127
+ "name": "ser1",
128
+ "precision": 32,
129
+ "radix": 2,
130
+ "readOnly": false,
131
+ "scale": 0
132
+ },
133
+ "ser2": {
134
+ "columnDefault": "nextval('test.table_schema_ser2_seq'::regclass)",
135
+ "dataType": "int",
136
+ "hasDefault": true,
137
+ "isNullable": false,
138
+ "name": "ser2",
139
+ "precision": 32,
140
+ "radix": 2,
141
+ "readOnly": false,
142
+ "scale": 0
143
+ },
144
+ "si1": {
145
+ "dataType": "smallint",
146
+ "hasDefault": false,
147
+ "isNullable": false,
148
+ "name": "si1",
149
+ "precision": 16,
150
+ "radix": 2,
151
+ "readOnly": false,
152
+ "scale": 0
153
+ },
154
+ "time1": {
155
+ "dataType": "time",
156
+ "dtPrecision": 6,
157
+ "hasDefault": false,
158
+ "isNullable": false,
159
+ "name": "time1",
160
+ "readOnly": false
161
+ },
162
+ "vc1": {
163
+ "dataType": "varchar",
164
+ "hasDefault": false,
165
+ "isNullable": false,
166
+ "length": 10,
167
+ "name": "vc1",
168
+ "readOnly": false
169
+ }
170
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const path = __importStar(require("path"));
27
+ const gen_table_interfaces_pg_1 = require("../../../src/pg/gen-table-interfaces-pg");
28
+ const tables = [
29
+ 'test.hard_case',
30
+ 'test.only_one_serial',
31
+ 'test.only_one_uniq',
32
+ 'test.serial_and_uniq',
33
+ 'test.table_schema',
34
+ ];
35
+ (0, gen_table_interfaces_pg_1.genTableInterfacesPg)('test', tables, path.normalize(path.join(process.cwd(), '__tests__/db/pg/@gen-types'))).then(() => 0);
36
+ //# sourceMappingURL=gen-table-interfaces-4-test-pg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-table-interfaces-4-test-pg.js","sourceRoot":"","sources":["../../../../../__tests__/db/pg/gen-table-interfaces-4-test-pg.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,qFAA+E;AAE/E,MAAM,MAAM,GAAG;IACb,gBAAgB;IAChB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IACtB,mBAAmB;CACpB,CAAC;AAEF,IAAA,8CAAoB,EAClB,MAAM,EACN,MAAM,EACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC,CACvE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ // noinspection SqlDialectInspection
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const path = __importStar(require("path"));
31
+ const fs_1 = __importDefault(require("fs"));
32
+ const src_1 = require("../../../src");
33
+ const connectionId = 'test';
34
+ const commonSchemaAndTable = 'test.table_schema';
35
+ beforeAll(async () => {
36
+ const sql = fs_1.default.readFileSync(path.normalize(path.join(process.cwd(), '__tests__/db/pg/ddl/test.test_table_schema.sql')), 'utf-8');
37
+ await (0, src_1.queryPg)(connectionId, sql);
38
+ });
39
+ const norm = (s) => s.replace(/\s+/sg, '').replace(/^\s*--/s, '');
40
+ describe('Sql Pg', () => {
41
+ test('getInsertSqlPg()', async () => {
42
+ const expectedInsertSql = norm(`
43
+ --
44
+ INSERT INTO "test"."table_schema" (
45
+ "i1",
46
+ "i2",
47
+ "si1",
48
+ "vc1",
49
+ "dtz1",
50
+ "time1",
51
+ "bool1",
52
+ "arr_int",
53
+ "arr_str",
54
+ "decimal",
55
+ "numeric",
56
+ "money",
57
+ "real",
58
+ "double_precision"
59
+ )
60
+ VALUES (
61
+ 111,
62
+ null,
63
+ 11,
64
+ 'aaa',
65
+ '2023-01-01T01:02:03.34500+03:00'::timestamptz,
66
+ '23:04:06.1234'::time,
67
+ true,
68
+ '{1,null,null}',
69
+ '{"1","e",null}',
70
+ 1111.2222,
71
+ 99.99999,
72
+ 5555.6666,
73
+ 7777.8888,
74
+ 99999.12345
75
+ ), (
76
+ 222,
77
+ 222,
78
+ 12,
79
+ 'bbb',
80
+ CURRENT_TIMESTAMP,
81
+ '23:04:06'::time,
82
+ true,
83
+ null,
84
+ null,
85
+ null,
86
+ 33.44446,
87
+ null,
88
+ null,
89
+ null
90
+ )
91
+ ON CONFLICT DO NOTHING RETURNING *;
92
+ `);
93
+ const recordset = [
94
+ {
95
+ i1: 111,
96
+ si1: 11,
97
+ vc1: 'aaa',
98
+ dtz1: '2023-01-01T01:02:03.345',
99
+ time1: '23:04:06.1234',
100
+ bool1: 1,
101
+ bool2: 1,
102
+ arr_int: [1, 'e', null],
103
+ arr_str: [1, 'e', null],
104
+ decimal: 1111.2222,
105
+ numeric: 3333.4444,
106
+ money: 5555.6666,
107
+ real: 7777.8888,
108
+ double_precision: 99999.12345,
109
+ },
110
+ {
111
+ i1: 222,
112
+ i2: 222,
113
+ si1: 12,
114
+ vc1: 'bbb',
115
+ // dtz1: '2023-01-01T01:02:03.345',
116
+ time1: '23:04:06',
117
+ numeric: 33.444456,
118
+ // bool1: 1,
119
+ // bool2: 1,
120
+ },
121
+ ];
122
+ const arg = {
123
+ connectionId,
124
+ commonSchemaAndTable,
125
+ recordset,
126
+ excludeFromInsert: ['bool2', 'bytea'], // , 'decimal', 'numeric', 'money', 'real', 'double_precision'
127
+ addOutputInserted: true,
128
+ };
129
+ const insertSql = await (0, src_1.getInsertSqlPg)(arg);
130
+ expect(norm(insertSql)).toEqual(expectedInsertSql);
131
+ });
132
+ test('getUpdateSqlPg()', async () => {
133
+ const expectedUpdateSql = norm(`
134
+ --
135
+ UPDATE "test"."table_schema"
136
+ SET "vc1" = 'aaa',
137
+ "dtz1" = '2023-01-01T01:02:03.34500+03:00'::timestamptz, "time1" = '23:04:06'::time, "bool1" = NOT bool1, "bool2" = true
138
+ WHERE "i1" = 111 AND "si1" = 11;
139
+ `);
140
+ const record = {
141
+ i1: 111,
142
+ si1: 11,
143
+ vc1: 'aaa',
144
+ dtz1: '2023-01-01T01:02:03.345',
145
+ time1: '23:04:06',
146
+ bool1: 1,
147
+ bool2: 1,
148
+ };
149
+ const customSets = { bool1: `NOT bool1` };
150
+ const arg = {
151
+ connectionId,
152
+ commonSchemaAndTable,
153
+ record,
154
+ customSets,
155
+ // updateIdentity: [],
156
+ };
157
+ const updateSql = await (0, src_1.getUpdateSqlPg)(arg);
158
+ expect(norm(updateSql)).toEqual(expectedUpdateSql);
159
+ });
160
+ test('getMergeSqlPg()', async () => {
161
+ const expectedMergeSql = norm(`
162
+ --
163
+ INSERT INTO "test"."table_schema" (
164
+ "i1",
165
+ "si1",
166
+ "vc1",
167
+ "dtz1",
168
+ "time1",
169
+ "bool1",
170
+ "bool2",
171
+ "arr_int",
172
+ "arr_str",
173
+ "decimal",
174
+ "numeric",
175
+ "money",
176
+ "real",
177
+ "double_precision"
178
+ )
179
+ VALUES
180
+ (
181
+ 111, 11, 'aaa', '2023-01-01T01:02:03.34500+03:00'::timestamptz, '23:04:06'::time,
182
+ false, true,
183
+ '{1,null,null}',
184
+ '{"1","e",null}',
185
+ 1111.2222,
186
+ 99.99999,
187
+ 5555.6666,
188
+ 7777.8888,
189
+ 99999.12345
190
+ ),
191
+ (
192
+ 222, 12, 'bbb', CURRENT_TIMESTAMP, '23:04:06'::time,
193
+ true, false,
194
+ null,
195
+ null,
196
+ null,
197
+ 33.44446,
198
+ null,
199
+ null,
200
+ null
201
+ )
202
+ ON CONFLICT ("i1", "si1")
203
+ DO UPDATE SET
204
+ "i1" = COALESCE(EXCLUDED."i1", "test"."table_schema"."i1", 25),
205
+ "si1" = COALESCE(EXCLUDED."si1", "test"."table_schema"."si1"),
206
+ "vc1" = COALESCE(EXCLUDED."vc1", "test"."table_schema"."vc1"),
207
+ "dtz1" = COALESCE(EXCLUDED."dtz1", "test"."table_schema"."dtz1", CURRENT_TIMESTAMP),
208
+ "time1" = COALESCE(EXCLUDED."time1", "test"."table_schema"."time1"),
209
+ "bool1" = COALESCE(EXCLUDED."bool1", "test"."table_schema"."bool1", true),
210
+ "bool2" = COALESCE(EXCLUDED."bool2", "test"."table_schema"."bool2", false),
211
+ "arr_int" = COALESCE(EXCLUDED."arr_int", "test"."table_schema"."arr_int"),
212
+ "arr_str" = COALESCE(EXCLUDED."arr_str", "test"."table_schema"."arr_str"),
213
+ "decimal" = COALESCE(EXCLUDED."decimal", "test"."table_schema"."decimal"),
214
+ "numeric" = COALESCE(EXCLUDED."numeric", "test"."table_schema"."numeric"),
215
+ "money" = COALESCE(EXCLUDED."money", "test"."table_schema"."money"),
216
+ "real" = COALESCE(EXCLUDED."real", "test"."table_schema"."real"),
217
+ "double_precision" = COALESCE(EXCLUDED."double_precision","test"."table_schema"."double_precision")
218
+ ;
219
+ --corrected`);
220
+ const recordset = [
221
+ {
222
+ i1: 111,
223
+ si1: 11,
224
+ vc1: 'aaa',
225
+ dtz1: '2023-01-01T01:02:03.345',
226
+ time1: '23:04:06',
227
+ bool1: false,
228
+ bool2: true,
229
+ arr_int: [1, 'e', null],
230
+ arr_str: [1, 'e', null],
231
+ decimal: 1111.2222,
232
+ numeric: 3333.4444,
233
+ money: 5555.6666,
234
+ real: 7777.8888,
235
+ double_precision: 99999.12345,
236
+ },
237
+ {
238
+ i1: 222,
239
+ i2: 222,
240
+ si1: 12,
241
+ vc1: 'bbb',
242
+ // dtz1: '2023-01-01T01:02:03.345',
243
+ time1: '23:04:06',
244
+ numeric: 33.444456,
245
+ // bool1: 1,
246
+ // bool2: 1,
247
+ },
248
+ ];
249
+ const arg = {
250
+ connectionId,
251
+ commonSchemaAndTable,
252
+ recordset,
253
+ omitFields: ['i2', 'bytea'], // , 'decimal', 'numeric', 'money', 'real', 'double_precision'
254
+ noUpdateIfNull: true,
255
+ mergeCorrection: (sql) => `${sql}\n--corrected`,
256
+ };
257
+ const mergeSql = await (0, src_1.getMergeSqlPg)(arg);
258
+ expect(norm(mergeSql)).toEqual(expectedMergeSql);
259
+ });
260
+ });
261
+ //# sourceMappingURL=pg-get-sql.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-get-sql.spec.js","sourceRoot":"","sources":["../../../../../__tests__/db/pg/pg-get-sql.spec.ts"],"names":[],"mappings":"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"}