drizzle-orm 0.33.0 → 0.34.0-05b9e35

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 (856) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +12 -9
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.d.cts +4 -2
  6. package/aws-data-api/pg/driver.d.ts +4 -2
  7. package/aws-data-api/pg/driver.js +6 -3
  8. package/aws-data-api/pg/driver.js.map +1 -1
  9. package/aws-data-api/pg/migrator.cjs.map +1 -1
  10. package/aws-data-api/pg/migrator.d.cts +1 -1
  11. package/aws-data-api/pg/migrator.d.ts +1 -1
  12. package/aws-data-api/pg/migrator.js.map +1 -1
  13. package/better-sqlite3/driver.cjs +10 -2
  14. package/better-sqlite3/driver.cjs.map +1 -1
  15. package/better-sqlite3/driver.d.cts +7 -2
  16. package/better-sqlite3/driver.d.ts +7 -2
  17. package/better-sqlite3/driver.js +9 -2
  18. package/better-sqlite3/driver.js.map +1 -1
  19. package/better-sqlite3/migrator.cjs.map +1 -1
  20. package/better-sqlite3/migrator.d.cts +1 -1
  21. package/better-sqlite3/migrator.d.ts +1 -1
  22. package/better-sqlite3/migrator.js.map +1 -1
  23. package/bun-sqlite/driver.cjs +10 -2
  24. package/bun-sqlite/driver.cjs.map +1 -1
  25. package/bun-sqlite/driver.d.cts +7 -2
  26. package/bun-sqlite/driver.d.ts +7 -2
  27. package/bun-sqlite/driver.js +9 -2
  28. package/bun-sqlite/driver.js.map +1 -1
  29. package/bun-sqlite/migrator.cjs.map +1 -1
  30. package/bun-sqlite/migrator.d.cts +1 -1
  31. package/bun-sqlite/migrator.d.ts +1 -1
  32. package/bun-sqlite/migrator.js.map +1 -1
  33. package/casing.cjs +85 -0
  34. package/casing.cjs.map +1 -0
  35. package/casing.d.cts +14 -0
  36. package/casing.d.ts +14 -0
  37. package/casing.js +59 -0
  38. package/casing.js.map +1 -0
  39. package/column-builder.cjs +7 -0
  40. package/column-builder.cjs.map +1 -1
  41. package/column-builder.d.cts +7 -2
  42. package/column-builder.d.ts +7 -2
  43. package/column-builder.js +7 -0
  44. package/column-builder.js.map +1 -1
  45. package/column.cjs +3 -0
  46. package/column.cjs.map +1 -1
  47. package/column.js +3 -0
  48. package/column.js.map +1 -1
  49. package/d1/driver.cjs +4 -2
  50. package/d1/driver.cjs.map +1 -1
  51. package/d1/driver.d.cts +6 -2
  52. package/d1/driver.d.ts +6 -2
  53. package/d1/driver.js +4 -2
  54. package/d1/driver.js.map +1 -1
  55. package/d1/migrator.cjs +1 -1
  56. package/d1/migrator.cjs.map +1 -1
  57. package/d1/migrator.d.cts +1 -1
  58. package/d1/migrator.d.ts +1 -1
  59. package/d1/migrator.js +1 -1
  60. package/d1/migrator.js.map +1 -1
  61. package/expo-sqlite/driver.cjs +10 -2
  62. package/expo-sqlite/driver.cjs.map +1 -1
  63. package/expo-sqlite/driver.d.cts +7 -2
  64. package/expo-sqlite/driver.d.ts +7 -2
  65. package/expo-sqlite/driver.js +9 -2
  66. package/expo-sqlite/driver.js.map +1 -1
  67. package/index.cjs +4 -0
  68. package/index.cjs.map +1 -1
  69. package/index.d.cts +2 -0
  70. package/index.d.ts +2 -0
  71. package/index.js +2 -0
  72. package/index.js.map +1 -1
  73. package/libsql/driver.cjs +4 -2
  74. package/libsql/driver.cjs.map +1 -1
  75. package/libsql/driver.d.cts +3 -1
  76. package/libsql/driver.d.ts +3 -1
  77. package/libsql/driver.js +4 -2
  78. package/libsql/driver.js.map +1 -1
  79. package/libsql/migrator.cjs +2 -2
  80. package/libsql/migrator.cjs.map +1 -1
  81. package/libsql/migrator.js +2 -2
  82. package/libsql/migrator.js.map +1 -1
  83. package/libsql/session.cjs +12 -0
  84. package/libsql/session.cjs.map +1 -1
  85. package/libsql/session.d.cts +1 -0
  86. package/libsql/session.d.ts +1 -0
  87. package/libsql/session.js +12 -0
  88. package/libsql/session.js.map +1 -1
  89. package/migrator.cjs +1 -12
  90. package/migrator.cjs.map +1 -1
  91. package/migrator.d.cts +1 -1
  92. package/migrator.d.ts +1 -1
  93. package/migrator.js +1 -12
  94. package/migrator.js.map +1 -1
  95. package/monodriver.cjs +283 -0
  96. package/monodriver.cjs.map +1 -0
  97. package/monodriver.d.cts +194 -0
  98. package/monodriver.d.ts +194 -0
  99. package/monodriver.js +249 -0
  100. package/monodriver.js.map +1 -0
  101. package/monomigrator.cjs +99 -0
  102. package/monomigrator.cjs.map +1 -0
  103. package/monomigrator.d.cts +16 -0
  104. package/monomigrator.d.ts +16 -0
  105. package/monomigrator.js +65 -0
  106. package/monomigrator.js.map +1 -0
  107. package/mysql-core/columns/all.cjs +80 -0
  108. package/mysql-core/columns/all.cjs.map +1 -0
  109. package/mysql-core/columns/all.d.cts +51 -0
  110. package/mysql-core/columns/all.d.ts +51 -0
  111. package/mysql-core/columns/all.js +56 -0
  112. package/mysql-core/columns/all.js.map +1 -0
  113. package/mysql-core/columns/bigint.cjs +3 -1
  114. package/mysql-core/columns/bigint.cjs.map +1 -1
  115. package/mysql-core/columns/bigint.d.cts +2 -2
  116. package/mysql-core/columns/bigint.d.ts +2 -2
  117. package/mysql-core/columns/bigint.js +3 -1
  118. package/mysql-core/columns/bigint.js.map +1 -1
  119. package/mysql-core/columns/binary.cjs +3 -1
  120. package/mysql-core/columns/binary.cjs.map +1 -1
  121. package/mysql-core/columns/binary.d.cts +2 -0
  122. package/mysql-core/columns/binary.d.ts +2 -0
  123. package/mysql-core/columns/binary.js +3 -1
  124. package/mysql-core/columns/binary.js.map +1 -1
  125. package/mysql-core/columns/boolean.cjs +1 -1
  126. package/mysql-core/columns/boolean.cjs.map +1 -1
  127. package/mysql-core/columns/boolean.d.cts +1 -0
  128. package/mysql-core/columns/boolean.d.ts +1 -0
  129. package/mysql-core/columns/boolean.js +1 -1
  130. package/mysql-core/columns/boolean.js.map +1 -1
  131. package/mysql-core/columns/char.cjs +3 -1
  132. package/mysql-core/columns/char.cjs.map +1 -1
  133. package/mysql-core/columns/char.d.cts +4 -2
  134. package/mysql-core/columns/char.d.ts +4 -2
  135. package/mysql-core/columns/char.js +3 -1
  136. package/mysql-core/columns/char.js.map +1 -1
  137. package/mysql-core/columns/custom.cjs +4 -2
  138. package/mysql-core/columns/custom.cjs.map +1 -1
  139. package/mysql-core/columns/custom.d.cts +10 -3
  140. package/mysql-core/columns/custom.d.ts +10 -3
  141. package/mysql-core/columns/custom.js +4 -2
  142. package/mysql-core/columns/custom.js.map +1 -1
  143. package/mysql-core/columns/date.cjs +4 -2
  144. package/mysql-core/columns/date.cjs.map +1 -1
  145. package/mysql-core/columns/date.d.cts +3 -1
  146. package/mysql-core/columns/date.d.ts +3 -1
  147. package/mysql-core/columns/date.js +4 -2
  148. package/mysql-core/columns/date.js.map +1 -1
  149. package/mysql-core/columns/datetime.cjs +4 -2
  150. package/mysql-core/columns/datetime.cjs.map +1 -1
  151. package/mysql-core/columns/datetime.d.cts +3 -1
  152. package/mysql-core/columns/datetime.d.ts +3 -1
  153. package/mysql-core/columns/datetime.js +4 -2
  154. package/mysql-core/columns/datetime.js.map +1 -1
  155. package/mysql-core/columns/decimal.cjs +3 -1
  156. package/mysql-core/columns/decimal.cjs.map +1 -1
  157. package/mysql-core/columns/decimal.d.cts +2 -0
  158. package/mysql-core/columns/decimal.d.ts +2 -0
  159. package/mysql-core/columns/decimal.js +3 -1
  160. package/mysql-core/columns/decimal.js.map +1 -1
  161. package/mysql-core/columns/double.cjs +3 -1
  162. package/mysql-core/columns/double.cjs.map +1 -1
  163. package/mysql-core/columns/double.d.cts +2 -0
  164. package/mysql-core/columns/double.d.ts +2 -0
  165. package/mysql-core/columns/double.js +3 -1
  166. package/mysql-core/columns/double.js.map +1 -1
  167. package/mysql-core/columns/enum.cjs +3 -1
  168. package/mysql-core/columns/enum.cjs.map +1 -1
  169. package/mysql-core/columns/enum.d.cts +2 -1
  170. package/mysql-core/columns/enum.d.ts +2 -1
  171. package/mysql-core/columns/enum.js +3 -1
  172. package/mysql-core/columns/enum.js.map +1 -1
  173. package/mysql-core/columns/float.cjs +1 -1
  174. package/mysql-core/columns/float.cjs.map +1 -1
  175. package/mysql-core/columns/float.d.cts +1 -0
  176. package/mysql-core/columns/float.d.ts +1 -0
  177. package/mysql-core/columns/float.js +1 -1
  178. package/mysql-core/columns/float.js.map +1 -1
  179. package/mysql-core/columns/int.cjs +3 -1
  180. package/mysql-core/columns/int.cjs.map +1 -1
  181. package/mysql-core/columns/int.d.cts +2 -0
  182. package/mysql-core/columns/int.d.ts +2 -0
  183. package/mysql-core/columns/int.js +3 -1
  184. package/mysql-core/columns/int.js.map +1 -1
  185. package/mysql-core/columns/json.cjs +1 -1
  186. package/mysql-core/columns/json.cjs.map +1 -1
  187. package/mysql-core/columns/json.d.cts +1 -0
  188. package/mysql-core/columns/json.d.ts +1 -0
  189. package/mysql-core/columns/json.js +1 -1
  190. package/mysql-core/columns/json.js.map +1 -1
  191. package/mysql-core/columns/mediumint.cjs +3 -1
  192. package/mysql-core/columns/mediumint.cjs.map +1 -1
  193. package/mysql-core/columns/mediumint.d.cts +2 -0
  194. package/mysql-core/columns/mediumint.d.ts +2 -0
  195. package/mysql-core/columns/mediumint.js +3 -1
  196. package/mysql-core/columns/mediumint.js.map +1 -1
  197. package/mysql-core/columns/real.cjs +3 -1
  198. package/mysql-core/columns/real.cjs.map +1 -1
  199. package/mysql-core/columns/real.d.cts +2 -0
  200. package/mysql-core/columns/real.d.ts +2 -0
  201. package/mysql-core/columns/real.js +3 -1
  202. package/mysql-core/columns/real.js.map +1 -1
  203. package/mysql-core/columns/serial.cjs +1 -1
  204. package/mysql-core/columns/serial.cjs.map +1 -1
  205. package/mysql-core/columns/serial.d.cts +1 -0
  206. package/mysql-core/columns/serial.d.ts +1 -0
  207. package/mysql-core/columns/serial.js +1 -1
  208. package/mysql-core/columns/serial.js.map +1 -1
  209. package/mysql-core/columns/smallint.cjs +3 -1
  210. package/mysql-core/columns/smallint.cjs.map +1 -1
  211. package/mysql-core/columns/smallint.d.cts +2 -0
  212. package/mysql-core/columns/smallint.d.ts +2 -0
  213. package/mysql-core/columns/smallint.js +3 -1
  214. package/mysql-core/columns/smallint.js.map +1 -1
  215. package/mysql-core/columns/text.cjs +9 -4
  216. package/mysql-core/columns/text.cjs.map +1 -1
  217. package/mysql-core/columns/text.d.cts +10 -2
  218. package/mysql-core/columns/text.d.ts +10 -2
  219. package/mysql-core/columns/text.js +9 -4
  220. package/mysql-core/columns/text.js.map +1 -1
  221. package/mysql-core/columns/time.cjs +3 -1
  222. package/mysql-core/columns/time.cjs.map +1 -1
  223. package/mysql-core/columns/time.d.cts +2 -0
  224. package/mysql-core/columns/time.d.ts +2 -0
  225. package/mysql-core/columns/time.js +3 -1
  226. package/mysql-core/columns/time.js.map +1 -1
  227. package/mysql-core/columns/timestamp.cjs +4 -2
  228. package/mysql-core/columns/timestamp.cjs.map +1 -1
  229. package/mysql-core/columns/timestamp.d.cts +3 -1
  230. package/mysql-core/columns/timestamp.d.ts +3 -1
  231. package/mysql-core/columns/timestamp.js +4 -2
  232. package/mysql-core/columns/timestamp.js.map +1 -1
  233. package/mysql-core/columns/tinyint.cjs +3 -1
  234. package/mysql-core/columns/tinyint.cjs.map +1 -1
  235. package/mysql-core/columns/tinyint.d.cts +2 -0
  236. package/mysql-core/columns/tinyint.d.ts +2 -0
  237. package/mysql-core/columns/tinyint.js +3 -1
  238. package/mysql-core/columns/tinyint.js.map +1 -1
  239. package/mysql-core/columns/varbinary.cjs +4 -2
  240. package/mysql-core/columns/varbinary.cjs.map +1 -1
  241. package/mysql-core/columns/varbinary.d.cts +2 -1
  242. package/mysql-core/columns/varbinary.d.ts +2 -1
  243. package/mysql-core/columns/varbinary.js +4 -2
  244. package/mysql-core/columns/varbinary.js.map +1 -1
  245. package/mysql-core/columns/varchar.cjs +3 -1
  246. package/mysql-core/columns/varchar.cjs.map +1 -1
  247. package/mysql-core/columns/varchar.d.cts +3 -2
  248. package/mysql-core/columns/varchar.d.ts +3 -2
  249. package/mysql-core/columns/varchar.js +3 -1
  250. package/mysql-core/columns/varchar.js.map +1 -1
  251. package/mysql-core/columns/year.cjs +1 -1
  252. package/mysql-core/columns/year.cjs.map +1 -1
  253. package/mysql-core/columns/year.d.cts +1 -0
  254. package/mysql-core/columns/year.d.ts +1 -0
  255. package/mysql-core/columns/year.js +1 -1
  256. package/mysql-core/columns/year.js.map +1 -1
  257. package/mysql-core/db.cjs +8 -2
  258. package/mysql-core/db.cjs.map +1 -1
  259. package/mysql-core/db.d.cts +5 -2
  260. package/mysql-core/db.d.ts +5 -2
  261. package/mysql-core/db.js +8 -2
  262. package/mysql-core/db.js.map +1 -1
  263. package/mysql-core/dialect.cjs +14 -7
  264. package/mysql-core/dialect.cjs.map +1 -1
  265. package/mysql-core/dialect.d.cts +5 -1
  266. package/mysql-core/dialect.d.ts +5 -1
  267. package/mysql-core/dialect.js +14 -7
  268. package/mysql-core/dialect.js.map +1 -1
  269. package/mysql-core/foreign-keys.cjs +3 -3
  270. package/mysql-core/foreign-keys.cjs.map +1 -1
  271. package/mysql-core/foreign-keys.d.cts +1 -1
  272. package/mysql-core/foreign-keys.d.ts +1 -1
  273. package/mysql-core/foreign-keys.js +3 -3
  274. package/mysql-core/foreign-keys.js.map +1 -1
  275. package/mysql-core/query-builders/count.cjs +73 -0
  276. package/mysql-core/query-builders/count.cjs.map +1 -0
  277. package/mysql-core/query-builders/count.d.cts +27 -0
  278. package/mysql-core/query-builders/count.d.ts +27 -0
  279. package/mysql-core/query-builders/count.js +49 -0
  280. package/mysql-core/query-builders/count.js.map +1 -0
  281. package/mysql-core/query-builders/query-builder.cjs +6 -1
  282. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  283. package/mysql-core/query-builders/query-builder.d.cts +4 -0
  284. package/mysql-core/query-builders/query-builder.d.ts +4 -0
  285. package/mysql-core/query-builders/query-builder.js +7 -2
  286. package/mysql-core/query-builders/query-builder.js.map +1 -1
  287. package/mysql-core/session.cjs +6 -0
  288. package/mysql-core/session.cjs.map +1 -1
  289. package/mysql-core/session.d.cts +1 -0
  290. package/mysql-core/session.d.ts +1 -0
  291. package/mysql-core/session.js +6 -0
  292. package/mysql-core/session.js.map +1 -1
  293. package/mysql-core/table.cjs +4 -1
  294. package/mysql-core/table.cjs.map +1 -1
  295. package/mysql-core/table.d.cts +8 -1
  296. package/mysql-core/table.d.ts +8 -1
  297. package/mysql-core/table.js +4 -1
  298. package/mysql-core/table.js.map +1 -1
  299. package/mysql-core/unique-constraint.cjs +2 -2
  300. package/mysql-core/unique-constraint.cjs.map +1 -1
  301. package/mysql-core/unique-constraint.d.cts +1 -1
  302. package/mysql-core/unique-constraint.d.ts +1 -1
  303. package/mysql-core/unique-constraint.js +2 -2
  304. package/mysql-core/unique-constraint.js.map +1 -1
  305. package/mysql-proxy/driver.cjs +8 -2
  306. package/mysql-proxy/driver.cjs.map +1 -1
  307. package/mysql-proxy/driver.d.cts +4 -1
  308. package/mysql-proxy/driver.d.ts +4 -1
  309. package/mysql-proxy/driver.js +7 -2
  310. package/mysql-proxy/driver.js.map +1 -1
  311. package/mysql2/driver.cjs +13 -8
  312. package/mysql2/driver.cjs.map +1 -1
  313. package/mysql2/driver.d.cts +6 -2
  314. package/mysql2/driver.d.ts +6 -2
  315. package/mysql2/driver.js +11 -7
  316. package/mysql2/driver.js.map +1 -1
  317. package/neon-http/driver.cjs +4 -2
  318. package/neon-http/driver.cjs.map +1 -1
  319. package/neon-http/driver.d.cts +3 -1
  320. package/neon-http/driver.d.ts +3 -1
  321. package/neon-http/driver.js +4 -2
  322. package/neon-http/driver.js.map +1 -1
  323. package/neon-http/migrator.cjs +2 -2
  324. package/neon-http/migrator.cjs.map +1 -1
  325. package/neon-http/migrator.d.cts +1 -1
  326. package/neon-http/migrator.d.ts +1 -1
  327. package/neon-http/migrator.js +2 -2
  328. package/neon-http/migrator.js.map +1 -1
  329. package/neon-http/session.cjs +6 -0
  330. package/neon-http/session.cjs.map +1 -1
  331. package/neon-http/session.d.cts +2 -1
  332. package/neon-http/session.d.ts +2 -1
  333. package/neon-http/session.js +6 -0
  334. package/neon-http/session.js.map +1 -1
  335. package/neon-serverless/driver.cjs +9 -2
  336. package/neon-serverless/driver.cjs.map +1 -1
  337. package/neon-serverless/driver.d.cts +6 -2
  338. package/neon-serverless/driver.d.ts +6 -2
  339. package/neon-serverless/driver.js +8 -2
  340. package/neon-serverless/driver.js.map +1 -1
  341. package/neon-serverless/migrator.cjs.map +1 -1
  342. package/neon-serverless/migrator.d.cts +1 -1
  343. package/neon-serverless/migrator.d.ts +1 -1
  344. package/neon-serverless/migrator.js.map +1 -1
  345. package/node-postgres/driver.cjs +9 -2
  346. package/node-postgres/driver.cjs.map +1 -1
  347. package/node-postgres/driver.d.cts +6 -2
  348. package/node-postgres/driver.d.ts +6 -2
  349. package/node-postgres/driver.js +8 -2
  350. package/node-postgres/driver.js.map +1 -1
  351. package/node-postgres/migrator.cjs.map +1 -1
  352. package/node-postgres/migrator.d.cts +1 -1
  353. package/node-postgres/migrator.d.ts +1 -1
  354. package/node-postgres/migrator.js.map +1 -1
  355. package/node-postgres/session.cjs +6 -0
  356. package/node-postgres/session.cjs.map +1 -1
  357. package/node-postgres/session.d.cts +2 -1
  358. package/node-postgres/session.d.ts +2 -1
  359. package/node-postgres/session.js +6 -0
  360. package/node-postgres/session.js.map +1 -1
  361. package/op-sqlite/driver.cjs +10 -2
  362. package/op-sqlite/driver.cjs.map +1 -1
  363. package/op-sqlite/driver.d.cts +7 -2
  364. package/op-sqlite/driver.d.ts +7 -2
  365. package/op-sqlite/driver.js +9 -2
  366. package/op-sqlite/driver.js.map +1 -1
  367. package/operations.cjs.map +1 -1
  368. package/package.json +172 -51
  369. package/pg-core/columns/all.cjs +96 -0
  370. package/pg-core/columns/all.cjs.map +1 -0
  371. package/pg-core/columns/all.d.cts +67 -0
  372. package/pg-core/columns/all.d.ts +67 -0
  373. package/pg-core/columns/all.js +72 -0
  374. package/pg-core/columns/all.js.map +1 -0
  375. package/pg-core/columns/bigint.cjs +3 -1
  376. package/pg-core/columns/bigint.cjs.map +1 -1
  377. package/pg-core/columns/bigint.d.cts +2 -2
  378. package/pg-core/columns/bigint.d.ts +2 -2
  379. package/pg-core/columns/bigint.js +3 -1
  380. package/pg-core/columns/bigint.js.map +1 -1
  381. package/pg-core/columns/bigserial.cjs +4 -2
  382. package/pg-core/columns/bigserial.cjs.map +1 -1
  383. package/pg-core/columns/bigserial.d.cts +2 -2
  384. package/pg-core/columns/bigserial.d.ts +2 -2
  385. package/pg-core/columns/bigserial.js +4 -2
  386. package/pg-core/columns/bigserial.js.map +1 -1
  387. package/pg-core/columns/boolean.cjs +1 -1
  388. package/pg-core/columns/boolean.cjs.map +1 -1
  389. package/pg-core/columns/boolean.d.cts +1 -0
  390. package/pg-core/columns/boolean.d.ts +1 -0
  391. package/pg-core/columns/boolean.js +1 -1
  392. package/pg-core/columns/boolean.js.map +1 -1
  393. package/pg-core/columns/char.cjs +3 -1
  394. package/pg-core/columns/char.cjs.map +1 -1
  395. package/pg-core/columns/char.d.cts +5 -3
  396. package/pg-core/columns/char.d.ts +5 -3
  397. package/pg-core/columns/char.js +3 -1
  398. package/pg-core/columns/char.js.map +1 -1
  399. package/pg-core/columns/cidr.cjs +1 -1
  400. package/pg-core/columns/cidr.cjs.map +1 -1
  401. package/pg-core/columns/cidr.d.cts +1 -0
  402. package/pg-core/columns/cidr.d.ts +1 -0
  403. package/pg-core/columns/cidr.js +1 -1
  404. package/pg-core/columns/cidr.js.map +1 -1
  405. package/pg-core/columns/custom.cjs +4 -2
  406. package/pg-core/columns/custom.cjs.map +1 -1
  407. package/pg-core/columns/custom.d.cts +10 -3
  408. package/pg-core/columns/custom.d.ts +10 -3
  409. package/pg-core/columns/custom.js +4 -2
  410. package/pg-core/columns/custom.js.map +1 -1
  411. package/pg-core/columns/date.cjs +3 -1
  412. package/pg-core/columns/date.cjs.map +1 -1
  413. package/pg-core/columns/date.d.cts +7 -6
  414. package/pg-core/columns/date.d.ts +7 -6
  415. package/pg-core/columns/date.js +3 -1
  416. package/pg-core/columns/date.js.map +1 -1
  417. package/pg-core/columns/double-precision.cjs +1 -1
  418. package/pg-core/columns/double-precision.cjs.map +1 -1
  419. package/pg-core/columns/double-precision.d.cts +1 -0
  420. package/pg-core/columns/double-precision.d.ts +1 -0
  421. package/pg-core/columns/double-precision.js +1 -1
  422. package/pg-core/columns/double-precision.js.map +1 -1
  423. package/pg-core/columns/enum.cjs +1 -1
  424. package/pg-core/columns/enum.cjs.map +1 -1
  425. package/pg-core/columns/enum.d.cts +3 -1
  426. package/pg-core/columns/enum.d.ts +3 -1
  427. package/pg-core/columns/enum.js +1 -1
  428. package/pg-core/columns/enum.js.map +1 -1
  429. package/pg-core/columns/index.cjs +2 -0
  430. package/pg-core/columns/index.cjs.map +1 -1
  431. package/pg-core/columns/index.d.cts +1 -0
  432. package/pg-core/columns/index.d.ts +1 -0
  433. package/pg-core/columns/index.js +1 -0
  434. package/pg-core/columns/index.js.map +1 -1
  435. package/pg-core/columns/inet.cjs +1 -1
  436. package/pg-core/columns/inet.cjs.map +1 -1
  437. package/pg-core/columns/inet.d.cts +1 -0
  438. package/pg-core/columns/inet.d.ts +1 -0
  439. package/pg-core/columns/inet.js +1 -1
  440. package/pg-core/columns/inet.js.map +1 -1
  441. package/pg-core/columns/integer.cjs +1 -1
  442. package/pg-core/columns/integer.cjs.map +1 -1
  443. package/pg-core/columns/integer.d.cts +1 -0
  444. package/pg-core/columns/integer.d.ts +1 -0
  445. package/pg-core/columns/integer.js +1 -1
  446. package/pg-core/columns/integer.js.map +1 -1
  447. package/pg-core/columns/interval.cjs +3 -1
  448. package/pg-core/columns/interval.cjs.map +1 -1
  449. package/pg-core/columns/interval.d.cts +2 -0
  450. package/pg-core/columns/interval.d.ts +2 -0
  451. package/pg-core/columns/interval.js +3 -1
  452. package/pg-core/columns/interval.js.map +1 -1
  453. package/pg-core/columns/json.cjs +1 -1
  454. package/pg-core/columns/json.cjs.map +1 -1
  455. package/pg-core/columns/json.d.cts +1 -0
  456. package/pg-core/columns/json.d.ts +1 -0
  457. package/pg-core/columns/json.js +1 -1
  458. package/pg-core/columns/json.js.map +1 -1
  459. package/pg-core/columns/jsonb.cjs +1 -1
  460. package/pg-core/columns/jsonb.cjs.map +1 -1
  461. package/pg-core/columns/jsonb.d.cts +1 -0
  462. package/pg-core/columns/jsonb.d.ts +1 -0
  463. package/pg-core/columns/jsonb.js +1 -1
  464. package/pg-core/columns/jsonb.js.map +1 -1
  465. package/pg-core/columns/line.cjs +3 -1
  466. package/pg-core/columns/line.cjs.map +1 -1
  467. package/pg-core/columns/line.d.cts +3 -1
  468. package/pg-core/columns/line.d.ts +3 -1
  469. package/pg-core/columns/line.js +3 -1
  470. package/pg-core/columns/line.js.map +1 -1
  471. package/pg-core/columns/macaddr.cjs +1 -1
  472. package/pg-core/columns/macaddr.cjs.map +1 -1
  473. package/pg-core/columns/macaddr.d.cts +1 -0
  474. package/pg-core/columns/macaddr.d.ts +1 -0
  475. package/pg-core/columns/macaddr.js +1 -1
  476. package/pg-core/columns/macaddr.js.map +1 -1
  477. package/pg-core/columns/macaddr8.cjs +1 -1
  478. package/pg-core/columns/macaddr8.cjs.map +1 -1
  479. package/pg-core/columns/macaddr8.d.cts +1 -0
  480. package/pg-core/columns/macaddr8.d.ts +1 -0
  481. package/pg-core/columns/macaddr8.js +1 -1
  482. package/pg-core/columns/macaddr8.js.map +1 -1
  483. package/pg-core/columns/numeric.cjs +3 -1
  484. package/pg-core/columns/numeric.cjs.map +1 -1
  485. package/pg-core/columns/numeric.d.cts +6 -3
  486. package/pg-core/columns/numeric.d.ts +6 -3
  487. package/pg-core/columns/numeric.js +3 -1
  488. package/pg-core/columns/numeric.js.map +1 -1
  489. package/pg-core/columns/point.cjs +3 -1
  490. package/pg-core/columns/point.cjs.map +1 -1
  491. package/pg-core/columns/point.d.cts +5 -3
  492. package/pg-core/columns/point.d.ts +5 -3
  493. package/pg-core/columns/point.js +3 -1
  494. package/pg-core/columns/point.js.map +1 -1
  495. package/pg-core/columns/postgis_extension/geometry.cjs +6 -4
  496. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  497. package/pg-core/columns/postgis_extension/geometry.d.cts +4 -3
  498. package/pg-core/columns/postgis_extension/geometry.d.ts +4 -3
  499. package/pg-core/columns/postgis_extension/geometry.js +3 -1
  500. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  501. package/pg-core/columns/real.cjs +1 -1
  502. package/pg-core/columns/real.cjs.map +1 -1
  503. package/pg-core/columns/real.d.cts +2 -1
  504. package/pg-core/columns/real.d.ts +2 -1
  505. package/pg-core/columns/real.js +1 -1
  506. package/pg-core/columns/real.js.map +1 -1
  507. package/pg-core/columns/serial.cjs +1 -1
  508. package/pg-core/columns/serial.cjs.map +1 -1
  509. package/pg-core/columns/serial.d.cts +2 -1
  510. package/pg-core/columns/serial.d.ts +2 -1
  511. package/pg-core/columns/serial.js +1 -1
  512. package/pg-core/columns/serial.js.map +1 -1
  513. package/pg-core/columns/smallint.cjs +1 -1
  514. package/pg-core/columns/smallint.cjs.map +1 -1
  515. package/pg-core/columns/smallint.d.cts +1 -0
  516. package/pg-core/columns/smallint.d.ts +1 -0
  517. package/pg-core/columns/smallint.js +1 -1
  518. package/pg-core/columns/smallint.js.map +1 -1
  519. package/pg-core/columns/smallserial.cjs +1 -1
  520. package/pg-core/columns/smallserial.cjs.map +1 -1
  521. package/pg-core/columns/smallserial.d.cts +2 -1
  522. package/pg-core/columns/smallserial.d.ts +2 -1
  523. package/pg-core/columns/smallserial.js +1 -1
  524. package/pg-core/columns/smallserial.js.map +1 -1
  525. package/pg-core/columns/text.cjs +3 -1
  526. package/pg-core/columns/text.cjs.map +1 -1
  527. package/pg-core/columns/text.d.cts +4 -2
  528. package/pg-core/columns/text.d.ts +4 -2
  529. package/pg-core/columns/text.js +3 -1
  530. package/pg-core/columns/text.js.map +1 -1
  531. package/pg-core/columns/time.cjs +3 -1
  532. package/pg-core/columns/time.cjs.map +1 -1
  533. package/pg-core/columns/time.d.cts +2 -0
  534. package/pg-core/columns/time.d.ts +2 -0
  535. package/pg-core/columns/time.js +3 -1
  536. package/pg-core/columns/time.js.map +1 -1
  537. package/pg-core/columns/timestamp.cjs +5 -3
  538. package/pg-core/columns/timestamp.cjs.map +1 -1
  539. package/pg-core/columns/timestamp.d.cts +5 -3
  540. package/pg-core/columns/timestamp.d.ts +5 -3
  541. package/pg-core/columns/timestamp.js +5 -3
  542. package/pg-core/columns/timestamp.js.map +1 -1
  543. package/pg-core/columns/uuid.cjs +1 -1
  544. package/pg-core/columns/uuid.cjs.map +1 -1
  545. package/pg-core/columns/uuid.d.cts +1 -0
  546. package/pg-core/columns/uuid.d.ts +1 -0
  547. package/pg-core/columns/uuid.js +1 -1
  548. package/pg-core/columns/uuid.js.map +1 -1
  549. package/pg-core/columns/varchar.cjs +3 -1
  550. package/pg-core/columns/varchar.cjs.map +1 -1
  551. package/pg-core/columns/varchar.d.cts +5 -3
  552. package/pg-core/columns/varchar.d.ts +5 -3
  553. package/pg-core/columns/varchar.js +3 -1
  554. package/pg-core/columns/varchar.js.map +1 -1
  555. package/pg-core/columns/vector_extension/bit.cjs +3 -1
  556. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  557. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  558. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  559. package/pg-core/columns/vector_extension/bit.js +3 -1
  560. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  561. package/pg-core/columns/vector_extension/halfvec.cjs +3 -1
  562. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  563. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  564. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  565. package/pg-core/columns/vector_extension/halfvec.js +3 -1
  566. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  567. package/pg-core/columns/vector_extension/sparsevec.cjs +3 -1
  568. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  569. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  570. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  571. package/pg-core/columns/vector_extension/sparsevec.js +3 -1
  572. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  573. package/pg-core/columns/vector_extension/vector.cjs +3 -1
  574. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  575. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  576. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  577. package/pg-core/columns/vector_extension/vector.js +3 -1
  578. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  579. package/pg-core/db.cjs +10 -4
  580. package/pg-core/db.cjs.map +1 -1
  581. package/pg-core/db.d.cts +6 -3
  582. package/pg-core/db.d.ts +6 -3
  583. package/pg-core/db.js +10 -4
  584. package/pg-core/db.js.map +1 -1
  585. package/pg-core/dialect.cjs +13 -4
  586. package/pg-core/dialect.cjs.map +1 -1
  587. package/pg-core/dialect.d.cts +5 -1
  588. package/pg-core/dialect.d.ts +5 -1
  589. package/pg-core/dialect.js +13 -4
  590. package/pg-core/dialect.js.map +1 -1
  591. package/pg-core/foreign-keys.cjs +3 -3
  592. package/pg-core/foreign-keys.cjs.map +1 -1
  593. package/pg-core/foreign-keys.d.cts +1 -1
  594. package/pg-core/foreign-keys.d.ts +1 -1
  595. package/pg-core/foreign-keys.js +3 -3
  596. package/pg-core/foreign-keys.js.map +1 -1
  597. package/pg-core/query-builders/count.cjs +73 -0
  598. package/pg-core/query-builders/count.cjs.map +1 -0
  599. package/pg-core/query-builders/count.d.cts +26 -0
  600. package/pg-core/query-builders/count.d.ts +26 -0
  601. package/pg-core/query-builders/count.js +49 -0
  602. package/pg-core/query-builders/count.js.map +1 -0
  603. package/pg-core/query-builders/insert.cjs +2 -2
  604. package/pg-core/query-builders/insert.cjs.map +1 -1
  605. package/pg-core/query-builders/insert.js +2 -2
  606. package/pg-core/query-builders/insert.js.map +1 -1
  607. package/pg-core/query-builders/query-builder.cjs +6 -1
  608. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  609. package/pg-core/query-builders/query-builder.d.cts +4 -0
  610. package/pg-core/query-builders/query-builder.d.ts +4 -0
  611. package/pg-core/query-builders/query-builder.js +7 -2
  612. package/pg-core/query-builders/query-builder.js.map +1 -1
  613. package/pg-core/session.cjs +6 -0
  614. package/pg-core/session.cjs.map +1 -1
  615. package/pg-core/session.d.cts +1 -0
  616. package/pg-core/session.d.ts +1 -0
  617. package/pg-core/session.js +6 -0
  618. package/pg-core/session.js.map +1 -1
  619. package/pg-core/table.cjs +6 -2
  620. package/pg-core/table.cjs.map +1 -1
  621. package/pg-core/table.d.cts +7 -0
  622. package/pg-core/table.d.ts +7 -0
  623. package/pg-core/table.js +6 -2
  624. package/pg-core/table.js.map +1 -1
  625. package/pg-core/unique-constraint.cjs +2 -2
  626. package/pg-core/unique-constraint.cjs.map +1 -1
  627. package/pg-core/unique-constraint.d.cts +1 -1
  628. package/pg-core/unique-constraint.d.ts +1 -1
  629. package/pg-core/unique-constraint.js +2 -2
  630. package/pg-core/unique-constraint.js.map +1 -1
  631. package/pg-core/view.cjs +22 -2
  632. package/pg-core/view.cjs.map +1 -1
  633. package/pg-core/view.d.cts +25 -5
  634. package/pg-core/view.d.ts +25 -5
  635. package/pg-core/view.js +21 -3
  636. package/pg-core/view.js.map +1 -1
  637. package/pg-proxy/driver.cjs +8 -2
  638. package/pg-proxy/driver.cjs.map +1 -1
  639. package/pg-proxy/driver.d.cts +4 -1
  640. package/pg-proxy/driver.d.ts +4 -1
  641. package/pg-proxy/driver.js +7 -2
  642. package/pg-proxy/driver.js.map +1 -1
  643. package/pg-proxy/migrator.cjs.map +1 -1
  644. package/pg-proxy/migrator.d.cts +1 -1
  645. package/pg-proxy/migrator.d.ts +1 -1
  646. package/pg-proxy/migrator.js.map +1 -1
  647. package/pg-proxy/session.cjs.map +1 -1
  648. package/pg-proxy/session.js.map +1 -1
  649. package/pglite/driver.cjs +9 -2
  650. package/pglite/driver.cjs.map +1 -1
  651. package/pglite/driver.d.cts +6 -2
  652. package/pglite/driver.d.ts +6 -2
  653. package/pglite/driver.js +8 -2
  654. package/pglite/driver.js.map +1 -1
  655. package/pglite/migrator.cjs.map +1 -1
  656. package/pglite/migrator.d.cts +1 -1
  657. package/pglite/migrator.d.ts +1 -1
  658. package/pglite/migrator.js.map +1 -1
  659. package/pglite/session.cjs +6 -0
  660. package/pglite/session.cjs.map +1 -1
  661. package/pglite/session.d.cts +2 -1
  662. package/pglite/session.d.ts +2 -1
  663. package/pglite/session.js +6 -0
  664. package/pglite/session.js.map +1 -1
  665. package/planetscale-serverless/driver.cjs +10 -2
  666. package/planetscale-serverless/driver.cjs.map +1 -1
  667. package/planetscale-serverless/driver.d.cts +7 -2
  668. package/planetscale-serverless/driver.d.ts +7 -2
  669. package/planetscale-serverless/driver.js +9 -2
  670. package/planetscale-serverless/driver.js.map +1 -1
  671. package/planetscale-serverless/migrator.cjs.map +1 -1
  672. package/planetscale-serverless/migrator.js.map +1 -1
  673. package/planetscale-serverless/session.cjs +6 -0
  674. package/planetscale-serverless/session.cjs.map +1 -1
  675. package/planetscale-serverless/session.d.cts +1 -0
  676. package/planetscale-serverless/session.d.ts +1 -0
  677. package/planetscale-serverless/session.js +6 -0
  678. package/planetscale-serverless/session.js.map +1 -1
  679. package/postgres-js/driver.cjs +10 -2
  680. package/postgres-js/driver.cjs.map +1 -1
  681. package/postgres-js/driver.d.cts +7 -2
  682. package/postgres-js/driver.d.ts +7 -2
  683. package/postgres-js/driver.js +9 -2
  684. package/postgres-js/driver.js.map +1 -1
  685. package/postgres-js/migrator.cjs.map +1 -1
  686. package/postgres-js/migrator.d.cts +1 -1
  687. package/postgres-js/migrator.d.ts +1 -1
  688. package/postgres-js/migrator.js.map +1 -1
  689. package/sql/sql.cjs +4 -2
  690. package/sql/sql.cjs.map +1 -1
  691. package/sql/sql.d.cts +2 -0
  692. package/sql/sql.d.ts +2 -0
  693. package/sql/sql.js +4 -2
  694. package/sql/sql.js.map +1 -1
  695. package/sql-js/driver.cjs +1 -1
  696. package/sql-js/driver.cjs.map +1 -1
  697. package/sql-js/driver.js +1 -1
  698. package/sql-js/driver.js.map +1 -1
  699. package/sql-js/migrator.cjs.map +1 -1
  700. package/sql-js/migrator.d.cts +1 -1
  701. package/sql-js/migrator.d.ts +1 -1
  702. package/sql-js/migrator.js.map +1 -1
  703. package/sqlite-core/columns/all.cjs +44 -0
  704. package/sqlite-core/columns/all.cjs.map +1 -0
  705. package/sqlite-core/columns/all.d.cts +15 -0
  706. package/sqlite-core/columns/all.d.ts +15 -0
  707. package/sqlite-core/columns/all.js +20 -0
  708. package/sqlite-core/columns/all.js.map +1 -0
  709. package/sqlite-core/columns/blob.cjs +3 -1
  710. package/sqlite-core/columns/blob.cjs.map +1 -1
  711. package/sqlite-core/columns/blob.d.cts +3 -1
  712. package/sqlite-core/columns/blob.d.ts +3 -1
  713. package/sqlite-core/columns/blob.js +3 -1
  714. package/sqlite-core/columns/blob.js.map +1 -1
  715. package/sqlite-core/columns/custom.cjs +5 -3
  716. package/sqlite-core/columns/custom.cjs.map +1 -1
  717. package/sqlite-core/columns/custom.d.cts +10 -3
  718. package/sqlite-core/columns/custom.d.ts +10 -3
  719. package/sqlite-core/columns/custom.js +5 -3
  720. package/sqlite-core/columns/custom.js.map +1 -1
  721. package/sqlite-core/columns/integer.cjs +3 -1
  722. package/sqlite-core/columns/integer.cjs.map +1 -1
  723. package/sqlite-core/columns/integer.d.cts +3 -1
  724. package/sqlite-core/columns/integer.d.ts +3 -1
  725. package/sqlite-core/columns/integer.js +3 -1
  726. package/sqlite-core/columns/integer.js.map +1 -1
  727. package/sqlite-core/columns/numeric.cjs +1 -1
  728. package/sqlite-core/columns/numeric.cjs.map +1 -1
  729. package/sqlite-core/columns/numeric.d.cts +1 -0
  730. package/sqlite-core/columns/numeric.d.ts +1 -0
  731. package/sqlite-core/columns/numeric.js +1 -1
  732. package/sqlite-core/columns/numeric.js.map +1 -1
  733. package/sqlite-core/columns/real.cjs +1 -1
  734. package/sqlite-core/columns/real.cjs.map +1 -1
  735. package/sqlite-core/columns/real.d.cts +1 -0
  736. package/sqlite-core/columns/real.d.ts +1 -0
  737. package/sqlite-core/columns/real.js +1 -1
  738. package/sqlite-core/columns/real.js.map +1 -1
  739. package/sqlite-core/columns/text.cjs +7 -2
  740. package/sqlite-core/columns/text.cjs.map +1 -1
  741. package/sqlite-core/columns/text.d.cts +4 -2
  742. package/sqlite-core/columns/text.d.ts +4 -2
  743. package/sqlite-core/columns/text.js +7 -2
  744. package/sqlite-core/columns/text.js.map +1 -1
  745. package/sqlite-core/db.cjs +23 -17
  746. package/sqlite-core/db.cjs.map +1 -1
  747. package/sqlite-core/db.d.cts +8 -5
  748. package/sqlite-core/db.d.ts +8 -5
  749. package/sqlite-core/db.js +23 -17
  750. package/sqlite-core/db.js.map +1 -1
  751. package/sqlite-core/dialect.cjs +14 -8
  752. package/sqlite-core/dialect.cjs.map +1 -1
  753. package/sqlite-core/dialect.d.cts +5 -1
  754. package/sqlite-core/dialect.d.ts +5 -1
  755. package/sqlite-core/dialect.js +14 -8
  756. package/sqlite-core/dialect.js.map +1 -1
  757. package/sqlite-core/foreign-keys.cjs +3 -3
  758. package/sqlite-core/foreign-keys.cjs.map +1 -1
  759. package/sqlite-core/foreign-keys.d.cts +1 -1
  760. package/sqlite-core/foreign-keys.d.ts +1 -1
  761. package/sqlite-core/foreign-keys.js +3 -3
  762. package/sqlite-core/foreign-keys.js.map +1 -1
  763. package/sqlite-core/query-builders/count.cjs +72 -0
  764. package/sqlite-core/query-builders/count.cjs.map +1 -0
  765. package/sqlite-core/query-builders/count.d.cts +27 -0
  766. package/sqlite-core/query-builders/count.d.ts +27 -0
  767. package/sqlite-core/query-builders/count.js +48 -0
  768. package/sqlite-core/query-builders/count.js.map +1 -0
  769. package/sqlite-core/query-builders/query-builder.cjs +6 -1
  770. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  771. package/sqlite-core/query-builders/query-builder.d.cts +4 -0
  772. package/sqlite-core/query-builders/query-builder.d.ts +4 -0
  773. package/sqlite-core/query-builders/query-builder.js +8 -3
  774. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  775. package/sqlite-core/session.cjs +4 -0
  776. package/sqlite-core/session.cjs.map +1 -1
  777. package/sqlite-core/session.d.cts +1 -0
  778. package/sqlite-core/session.d.ts +1 -0
  779. package/sqlite-core/session.js +4 -0
  780. package/sqlite-core/session.js.map +1 -1
  781. package/sqlite-core/table.cjs +4 -1
  782. package/sqlite-core/table.cjs.map +1 -1
  783. package/sqlite-core/table.d.cts +7 -0
  784. package/sqlite-core/table.d.ts +7 -0
  785. package/sqlite-core/table.js +4 -1
  786. package/sqlite-core/table.js.map +1 -1
  787. package/sqlite-core/unique-constraint.cjs +2 -2
  788. package/sqlite-core/unique-constraint.cjs.map +1 -1
  789. package/sqlite-core/unique-constraint.d.cts +1 -1
  790. package/sqlite-core/unique-constraint.d.ts +1 -1
  791. package/sqlite-core/unique-constraint.js +2 -2
  792. package/sqlite-core/unique-constraint.js.map +1 -1
  793. package/sqlite-proxy/driver.cjs +1 -1
  794. package/sqlite-proxy/driver.cjs.map +1 -1
  795. package/sqlite-proxy/driver.js +1 -1
  796. package/sqlite-proxy/driver.js.map +1 -1
  797. package/sqlite-proxy/migrator.cjs.map +1 -1
  798. package/sqlite-proxy/migrator.d.cts +1 -1
  799. package/sqlite-proxy/migrator.d.ts +1 -1
  800. package/sqlite-proxy/migrator.js.map +1 -1
  801. package/table.cjs +6 -8
  802. package/table.cjs.map +1 -1
  803. package/table.js +1 -2
  804. package/table.js.map +1 -1
  805. package/table.utils.cjs +29 -0
  806. package/table.utils.cjs.map +1 -0
  807. package/table.utils.d.cts +1 -0
  808. package/table.utils.d.ts +1 -0
  809. package/table.utils.js +5 -0
  810. package/table.utils.js.map +1 -0
  811. package/tidb-serverless/driver.cjs +10 -2
  812. package/tidb-serverless/driver.cjs.map +1 -1
  813. package/tidb-serverless/driver.d.cts +7 -2
  814. package/tidb-serverless/driver.d.ts +7 -2
  815. package/tidb-serverless/driver.js +9 -2
  816. package/tidb-serverless/driver.js.map +1 -1
  817. package/tidb-serverless/session.cjs +6 -0
  818. package/tidb-serverless/session.cjs.map +1 -1
  819. package/tidb-serverless/session.d.cts +1 -0
  820. package/tidb-serverless/session.d.ts +1 -0
  821. package/tidb-serverless/session.js +6 -0
  822. package/tidb-serverless/session.js.map +1 -1
  823. package/utils.cjs +8 -0
  824. package/utils.cjs.map +1 -1
  825. package/utils.d.cts +4 -0
  826. package/utils.d.ts +4 -0
  827. package/utils.js +7 -0
  828. package/utils.js.map +1 -1
  829. package/vercel-postgres/driver.cjs +9 -2
  830. package/vercel-postgres/driver.cjs.map +1 -1
  831. package/vercel-postgres/driver.d.cts +6 -2
  832. package/vercel-postgres/driver.d.ts +6 -2
  833. package/vercel-postgres/driver.js +8 -2
  834. package/vercel-postgres/driver.js.map +1 -1
  835. package/vercel-postgres/migrator.cjs.map +1 -1
  836. package/vercel-postgres/migrator.d.cts +1 -1
  837. package/vercel-postgres/migrator.d.ts +1 -1
  838. package/vercel-postgres/migrator.js.map +1 -1
  839. package/version.cjs +2 -2
  840. package/version.cjs.map +1 -1
  841. package/version.d.cts +2 -2
  842. package/version.d.ts +2 -2
  843. package/version.js +2 -2
  844. package/version.js.map +1 -1
  845. package/xata-http/driver.cjs +4 -2
  846. package/xata-http/driver.cjs.map +1 -1
  847. package/xata-http/driver.d.cts +3 -1
  848. package/xata-http/driver.d.ts +3 -1
  849. package/xata-http/driver.js +4 -2
  850. package/xata-http/driver.js.map +1 -1
  851. package/xata-http/migrator.cjs +1 -1
  852. package/xata-http/migrator.cjs.map +1 -1
  853. package/xata-http/migrator.d.cts +1 -1
  854. package/xata-http/migrator.d.ts +1 -1
  855. package/xata-http/migrator.js +1 -1
  856. package/xata-http/migrator.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect();\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,qBAA6B;AAG7B,6BAAsC;AAEtC,sBAA6B;AAC7B,oBAAmC;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EAER,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,6BAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,6CAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,iCAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,iCAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,iCAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,iCAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,4BAAa;AAAA,IACjC;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { MySqlDialectConfig } from '~/mysql-core/dialect.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\tprivate dialectConfig: MySqlDialectConfig | undefined;\n\n\tconstructor(dialect?: MySqlDialect | MySqlDialectConfig) {\n\t\tthis.dialect = is(dialect, MySqlDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, MySqlDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAE/B,qBAA6B;AAG7B,6BAAsC;AAEtC,sBAA6B;AAC7B,oBAAmC;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAA6C;AACxD,SAAK,cAAU,kBAAG,SAAS,2BAAY,IAAI,UAAU;AACrD,SAAK,oBAAgB,kBAAG,SAAS,2BAAY,IAAI,SAAY;AAAA,EAC9D;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,6BAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,6CAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,iCAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,iCAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,iCAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,iCAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,4BAAa,KAAK,aAAa;AAAA,IACnD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -1,4 +1,6 @@
1
1
  import { entityKind } from "../../entity.cjs";
2
+ import type { MySqlDialectConfig } from "../dialect.cjs";
3
+ import { MySqlDialect } from "../dialect.cjs";
2
4
  import type { WithSubqueryWithSelection } from "../subquery.cjs";
3
5
  import type { TypedQueryBuilder } from "../../query-builders/query-builder.cjs";
4
6
  import type { ColumnsSelection } from "../../sql/sql.cjs";
@@ -8,6 +10,8 @@ import type { SelectedFields } from "./select.types.cjs";
8
10
  export declare class QueryBuilder {
9
11
  static readonly [entityKind]: string;
10
12
  private dialect;
13
+ private dialectConfig;
14
+ constructor(dialect?: MySqlDialect | MySqlDialectConfig);
11
15
  $with<TAlias extends string>(alias: TAlias): {
12
16
  as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
13
17
  };
@@ -1,4 +1,6 @@
1
1
  import { entityKind } from "../../entity.js";
2
+ import type { MySqlDialectConfig } from "../dialect.js";
3
+ import { MySqlDialect } from "../dialect.js";
2
4
  import type { WithSubqueryWithSelection } from "../subquery.js";
3
5
  import type { TypedQueryBuilder } from "../../query-builders/query-builder.js";
4
6
  import type { ColumnsSelection } from "../../sql/sql.js";
@@ -8,6 +10,8 @@ import type { SelectedFields } from "./select.types.js";
8
10
  export declare class QueryBuilder {
9
11
  static readonly [entityKind]: string;
10
12
  private dialect;
13
+ private dialectConfig;
14
+ constructor(dialect?: MySqlDialect | MySqlDialectConfig);
11
15
  $with<TAlias extends string>(alias: TAlias): {
12
16
  as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
13
17
  };
@@ -1,4 +1,4 @@
1
- import { entityKind } from "../../entity.js";
1
+ import { entityKind, is } from "../../entity.js";
2
2
  import { MySqlDialect } from "../dialect.js";
3
3
  import { SelectionProxyHandler } from "../../selection-proxy.js";
4
4
  import { WithSubquery } from "../../subquery.js";
@@ -6,6 +6,11 @@ import { MySqlSelectBuilder } from "./select.js";
6
6
  class QueryBuilder {
7
7
  static [entityKind] = "MySqlQueryBuilder";
8
8
  dialect;
9
+ dialectConfig;
10
+ constructor(dialect) {
11
+ this.dialect = is(dialect, MySqlDialect) ? dialect : void 0;
12
+ this.dialectConfig = is(dialect, MySqlDialect) ? void 0 : dialect;
13
+ }
9
14
  $with(alias) {
10
15
  const queryBuilder = this;
11
16
  return {
@@ -55,7 +60,7 @@ class QueryBuilder {
55
60
  // Lazy load dialect to avoid circular dependency
56
61
  getDialect() {
57
62
  if (!this.dialect) {
58
- this.dialect = new MySqlDialect();
63
+ this.dialect = new MySqlDialect(this.dialectConfig);
59
64
  }
60
65
  return this.dialect;
61
66
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect();\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAG7B,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EAER,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,aAAa;AAAA,IACjC;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { MySqlDialectConfig } from '~/mysql-core/dialect.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\tprivate dialectConfig: MySqlDialectConfig | undefined;\n\n\tconstructor(dialect?: MySqlDialect | MySqlDialectConfig) {\n\t\tthis.dialect = is(dialect, MySqlDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, MySqlDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,oBAAoB;AAG7B,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAA6C;AACxD,SAAK,UAAU,GAAG,SAAS,YAAY,IAAI,UAAU;AACrD,SAAK,gBAAgB,GAAG,SAAS,YAAY,IAAI,SAAY;AAAA,EAC9D;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,aAAa,KAAK,aAAa;AAAA,IACnD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -43,6 +43,12 @@ class MySqlSession {
43
43
  void 0
44
44
  ).execute();
45
45
  }
46
+ async count(sql2) {
47
+ const res = await this.execute(sql2);
48
+ return Number(
49
+ res[0][0]["count"]
50
+ );
51
+ }
46
52
  getSetTransactionSQL(config) {
47
53
  const parts = [];
48
54
  if (config.isolationLevel) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql`set transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql`start transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAEzC,iBAA0C;AAE1C,gBAA8B;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,wBAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EASU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,iCAAsB,eAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC1E;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,mCAAwB,eAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC5E;AACD;AAEO,MAAe,yBAKZ,wBAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAMD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[[{ count: string }]]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0][0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql`set transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql`start transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAEzC,iBAA0C;AAE1C,gBAA8B;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,wBAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EAIA,MAAM,MAAMA,MAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA+BA,IAAG;AAEzD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO;AAAA,IAClB;AAAA,EACD;AAAA,EAOU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,iCAAsB,eAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC1E;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,mCAAwB,eAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC5E;AACD;AAEO,MAAe,yBAKZ,wBAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAMD;","names":["sql"]}
@@ -48,6 +48,7 @@ export declare abstract class MySqlSession<TQueryResult extends MySqlQueryResult
48
48
  abstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<TPreparedQueryHKT, T>;
49
49
  execute<T>(query: SQL): Promise<T>;
50
50
  abstract all<T = unknown>(query: SQL): Promise<T[]>;
51
+ count(sql: SQL): Promise<number>;
51
52
  abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
52
53
  protected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
53
54
  protected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
@@ -48,6 +48,7 @@ export declare abstract class MySqlSession<TQueryResult extends MySqlQueryResult
48
48
  abstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<TPreparedQueryHKT, T>;
49
49
  execute<T>(query: SQL): Promise<T>;
50
50
  abstract all<T = unknown>(query: SQL): Promise<T[]>;
51
+ count(sql: SQL): Promise<number>;
51
52
  abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
52
53
  protected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
53
54
  protected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
@@ -18,6 +18,12 @@ class MySqlSession {
18
18
  void 0
19
19
  ).execute();
20
20
  }
21
+ async count(sql2) {
22
+ const res = await this.execute(sql2);
23
+ return Number(
24
+ res[0][0]["count"]
25
+ );
26
+ }
21
27
  getSetTransactionSQL(config) {
22
28
  const parts = [];
23
29
  if (config.isolationLevel) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql`set transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql`start transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAEzC,SAA+B,WAAW;AAE1C,SAAS,qBAAqB;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,UAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EASU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,sBAAsB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC1E;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,wBAAwB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC5E;AACD;AAEO,MAAe,yBAKZ,cAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAMD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[[{ count: string }]]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0][0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql`set transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql`start transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAEzC,SAA+B,WAAW;AAE1C,SAAS,qBAAqB;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,UAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EAIA,MAAM,MAAMA,MAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA+BA,IAAG;AAEzD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO;AAAA,IAClB;AAAA,EACD;AAAA,EAOU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,sBAAsB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC1E;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,wBAAwB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC5E;AACD;AAEO,MAAe,yBAKZ,cAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAMD;","names":["sql"]}
@@ -27,6 +27,7 @@ __export(table_exports, {
27
27
  module.exports = __toCommonJS(table_exports);
28
28
  var import_entity = require("../entity.cjs");
29
29
  var import_table = require("../table.cjs");
30
+ var import_all = require("./columns/all.cjs");
30
31
  const InlineForeignKeys = Symbol.for("drizzle:MySqlInlineForeignKeys");
31
32
  class MySqlTable extends import_table.Table {
32
33
  static [import_entity.entityKind] = "MySqlTable";
@@ -43,9 +44,11 @@ class MySqlTable extends import_table.Table {
43
44
  }
44
45
  function mysqlTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
45
46
  const rawTable = new MySqlTable(name, schema, baseName);
47
+ const parsedColumns = typeof columns === "function" ? columns((0, import_all.getMySqlColumnBuilders)()) : columns;
46
48
  const builtColumns = Object.fromEntries(
47
- Object.entries(columns).map(([name2, colBuilderBase]) => {
49
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
48
50
  const colBuilder = colBuilderBase;
51
+ colBuilder.setName(name2);
49
52
  const column = colBuilder.build(rawTable);
50
53
  rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
51
54
  return [name2, column];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap,\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(columns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAoB5E,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,mBAAS;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AACvD,YAAM,aAAa;AACnB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAkBO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getMySqlColumnBuilders, type MySqlColumnBuilders } from './columns/all.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap),\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getMySqlColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: MySqlColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAEnF,iBAAiE;AAmB1D,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,mBAAS;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,mCAAuB,CAAC,IAAI;AAEvG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAgCO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
@@ -2,6 +2,7 @@ import type { BuildColumns } from "../column-builder.cjs";
2
2
  import { entityKind } from "../entity.cjs";
3
3
  import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.cjs";
4
4
  import type { CheckBuilder } from "./checks.cjs";
5
+ import { type MySqlColumnBuilders } from "./columns/all.cjs";
5
6
  import type { MySqlColumn, MySqlColumnBuilderBase } from "./columns/common.cjs";
6
7
  import type { ForeignKeyBuilder } from "./foreign-keys.cjs";
7
8
  import type { AnyIndexBuilder } from "./indexes.cjs";
@@ -17,7 +18,7 @@ export type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTab
17
18
  export type MySqlTableWithColumns<T extends TableConfig> = MySqlTable<T> & {
18
19
  [Key in keyof T['columns']]: T['columns'][Key];
19
20
  };
20
- export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
+ export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
22
  name: TTableName;
22
23
  schema: TSchemaName;
23
24
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
@@ -30,6 +31,12 @@ export interface MySqlTableFn<TSchemaName extends string | undefined = undefined
30
31
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
31
32
  dialect: 'mysql';
32
33
  }>;
34
+ <TTableName extends string, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: (columnTypes: MySqlColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig): MySqlTableWithColumns<{
35
+ name: TTableName;
36
+ schema: TSchemaName;
37
+ columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
38
+ dialect: 'mysql';
39
+ }>;
33
40
  }
34
41
  export declare const mysqlTable: MySqlTableFn;
35
42
  export declare function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn;
@@ -2,6 +2,7 @@ import type { BuildColumns } from "../column-builder.js";
2
2
  import { entityKind } from "../entity.js";
3
3
  import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.js";
4
4
  import type { CheckBuilder } from "./checks.js";
5
+ import { type MySqlColumnBuilders } from "./columns/all.js";
5
6
  import type { MySqlColumn, MySqlColumnBuilderBase } from "./columns/common.js";
6
7
  import type { ForeignKeyBuilder } from "./foreign-keys.js";
7
8
  import type { AnyIndexBuilder } from "./indexes.js";
@@ -17,7 +18,7 @@ export type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTab
17
18
  export type MySqlTableWithColumns<T extends TableConfig> = MySqlTable<T> & {
18
19
  [Key in keyof T['columns']]: T['columns'][Key];
19
20
  };
20
- export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
+ export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
22
  name: TTableName;
22
23
  schema: TSchemaName;
23
24
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
@@ -30,6 +31,12 @@ export interface MySqlTableFn<TSchemaName extends string | undefined = undefined
30
31
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
31
32
  dialect: 'mysql';
32
33
  }>;
34
+ <TTableName extends string, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: (columnTypes: MySqlColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig): MySqlTableWithColumns<{
35
+ name: TTableName;
36
+ schema: TSchemaName;
37
+ columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
38
+ dialect: 'mysql';
39
+ }>;
33
40
  }
34
41
  export declare const mysqlTable: MySqlTableFn;
35
42
  export declare function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn;
@@ -1,5 +1,6 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { Table } from "../table.js";
3
+ import { getMySqlColumnBuilders } from "./columns/all.js";
3
4
  const InlineForeignKeys = Symbol.for("drizzle:MySqlInlineForeignKeys");
4
5
  class MySqlTable extends Table {
5
6
  static [entityKind] = "MySqlTable";
@@ -16,9 +17,11 @@ class MySqlTable extends Table {
16
17
  }
17
18
  function mysqlTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
18
19
  const rawTable = new MySqlTable(name, schema, baseName);
20
+ const parsedColumns = typeof columns === "function" ? columns(getMySqlColumnBuilders()) : columns;
19
21
  const builtColumns = Object.fromEntries(
20
- Object.entries(columns).map(([name2, colBuilderBase]) => {
22
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
21
23
  const colBuilder = colBuilderBase;
24
+ colBuilder.setName(name2);
22
25
  const column = colBuilder.build(rawTable);
23
26
  rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
24
27
  return [name2, column];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap,\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(columns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAoB5E,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,MAAS;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AACvD,YAAM,aAAa;AACnB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAkBO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getMySqlColumnBuilders, type MySqlColumnBuilders } from './columns/all.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap),\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getMySqlColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: MySqlColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAEnF,SAAS,8BAAwD;AAmB1D,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,MAAS;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,uBAAuB,CAAC,IAAI;AAEvG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAgCO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
@@ -26,12 +26,12 @@ __export(unique_constraint_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(unique_constraint_exports);
28
28
  var import_entity = require("../entity.cjs");
29
- var import_table = require("./table.cjs");
29
+ var import_table_utils = require("../table.utils.cjs");
30
30
  function unique(name) {
31
31
  return new UniqueOnConstraintBuilder(name);
32
32
  }
33
33
  function uniqueKeyName(table, columns) {
34
- return `${table[import_table.MySqlTable.Symbol.Name]}_${columns.join("_")}_unique`;
34
+ return `${table[import_table_utils.TableName]}_${columns.join("_")}_unique`;
35
35
  }
36
36
  class UniqueConstraintBuilder {
37
37
  constructor(columns, name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[MySqlTable.Symbol.Name]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,mBAA2B;AAEpB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,wBAAW,OAAO,IAAI,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAC7D;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,yBAA0B;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,4BAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { entityKind } from "../entity.cjs";
2
2
  import type { MySqlColumn } from "./columns/index.cjs";
3
- import { MySqlTable } from "./table.cjs";
3
+ import type { MySqlTable } from "./table.cjs";
4
4
  export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
5
  export declare function uniqueKeyName(table: MySqlTable, columns: string[]): string;
6
6
  export declare class UniqueConstraintBuilder {
@@ -1,6 +1,6 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import type { MySqlColumn } from "./columns/index.js";
3
- import { MySqlTable } from "./table.js";
3
+ import type { MySqlTable } from "./table.js";
4
4
  export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
5
  export declare function uniqueKeyName(table: MySqlTable, columns: string[]): string;
6
6
  export declare class UniqueConstraintBuilder {
@@ -1,10 +1,10 @@
1
1
  import { entityKind } from "../entity.js";
2
- import { MySqlTable } from "./table.js";
2
+ import { TableName } from "../table.utils.js";
3
3
  function unique(name) {
4
4
  return new UniqueOnConstraintBuilder(name);
5
5
  }
6
6
  function uniqueKeyName(table, columns) {
7
- return `${table[MySqlTable.Symbol.Name]}_${columns.join("_")}_unique`;
7
+ return `${table[TableName]}_${columns.join("_")}_unique`;
8
8
  }
9
9
  class UniqueConstraintBuilder {
10
10
  constructor(columns, name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[MySqlTable.Symbol.Name]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAEpB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,WAAW,OAAO,IAAI,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAC7D;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,SAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -18,16 +18,21 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var driver_exports = {};
20
20
  __export(driver_exports, {
21
+ MySqlRemoteDatabase: () => MySqlRemoteDatabase,
21
22
  drizzle: () => drizzle
22
23
  });
23
24
  module.exports = __toCommonJS(driver_exports);
25
+ var import_entity = require("../entity.cjs");
24
26
  var import_logger = require("../logger.cjs");
25
27
  var import_db = require("../mysql-core/db.cjs");
26
28
  var import_dialect = require("../mysql-core/dialect.cjs");
27
29
  var import_relations = require("../relations.cjs");
28
30
  var import_session = require("./session.cjs");
31
+ class MySqlRemoteDatabase extends import_db.MySqlDatabase {
32
+ static [import_entity.entityKind] = "MySqlRemoteDatabase";
33
+ }
29
34
  function drizzle(callback, config = {}) {
30
- const dialect = new import_dialect.MySqlDialect();
35
+ const dialect = new import_dialect.MySqlDialect({ casing: config.casing });
31
36
  let logger;
32
37
  if (config.logger === true) {
33
38
  logger = new import_logger.DefaultLogger();
@@ -47,10 +52,11 @@ function drizzle(callback, config = {}) {
47
52
  };
48
53
  }
49
54
  const session = new import_session.MySqlRemoteSession(callback, dialect, schema, { logger });
50
- return new import_db.MySqlDatabase(dialect, session, schema, "default");
55
+ return new MySqlRemoteDatabase(dialect, session, schema, "default");
51
56
  }
52
57
  // Annotate the CommonJS export names for ESM import in node:
53
58
  0 && (module.exports = {
59
+ MySqlRemoteDatabase,
54
60
  drizzle
55
61
  });
56
62
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport type MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema>;\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlDatabase(dialect, session, schema, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AAEP,qBAAqG;AAY9F,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,4BAAa;AACjC,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,wBAAc,SAAS,SAAS,QAAQ,SAAS;AAC7D;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlRemoteDatabase(dialect, session, schema as any, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AAEP,qBAAqG;AAE9F,MAAM,4BAEH,wBAA+E;AAAA,EACxF,QAAiB,wBAAU,IAAY;AACxC;AAQO,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,oBAAoB,SAAS,SAAS,QAAe,SAAS;AAC1E;","names":[]}
@@ -1,7 +1,10 @@
1
+ import { entityKind } from "../entity.cjs";
1
2
  import { MySqlDatabase } from "../mysql-core/db.cjs";
2
3
  import type { DrizzleConfig } from "../utils.cjs";
3
4
  import { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT } from "./session.cjs";
4
- export type MySqlRemoteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> = MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema>;
5
+ export declare class MySqlRemoteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {
6
+ static readonly [entityKind]: string;
7
+ }
5
8
  export type RemoteCallback = (sql: string, params: any[], method: 'all' | 'execute') => Promise<{
6
9
  rows: any[];
7
10
  insertId?: number;
@@ -1,7 +1,10 @@
1
+ import { entityKind } from "../entity.js";
1
2
  import { MySqlDatabase } from "../mysql-core/db.js";
2
3
  import type { DrizzleConfig } from "../utils.js";
3
4
  import { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT } from "./session.js";
4
- export type MySqlRemoteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> = MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema>;
5
+ export declare class MySqlRemoteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {
6
+ static readonly [entityKind]: string;
7
+ }
5
8
  export type RemoteCallback = (sql: string, params: any[], method: 'all' | 'execute') => Promise<{
6
9
  rows: any[];
7
10
  insertId?: number;