@supalive/core 1.12.0 → 1.13.1

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 (219) hide show
  1. package/dist/db-ClCicssQ.js.map +1 -1
  2. package/dist/helper-zdJT5FUc.js +58 -0
  3. package/dist/helper-zdJT5FUc.js.map +1 -0
  4. package/dist/index-BIIcgvu8.d.ts +2300 -0
  5. package/dist/index-BIIcgvu8.d.ts.map +1 -0
  6. package/dist/index-BedlCLem.d.ts +2292 -0
  7. package/dist/index-BedlCLem.d.ts.map +1 -0
  8. package/dist/index-BnV8LnOf.d.ts +2286 -0
  9. package/dist/index-BnV8LnOf.d.ts.map +1 -0
  10. package/dist/index-BziK63TZ.d.ts +2271 -0
  11. package/dist/index-BziK63TZ.d.ts.map +1 -0
  12. package/dist/index-C_i3U4cd.d.ts +2302 -0
  13. package/dist/index-C_i3U4cd.d.ts.map +1 -0
  14. package/dist/index-D31hMBDE.d.ts +2288 -0
  15. package/dist/index-D31hMBDE.d.ts.map +1 -0
  16. package/dist/index-DZhReQWB.d.ts +2288 -0
  17. package/dist/index-DZhReQWB.d.ts.map +1 -0
  18. package/dist/index-DlG8HDCO.d.ts +2215 -0
  19. package/dist/index-DlG8HDCO.d.ts.map +1 -0
  20. package/dist/index-Wgi_dGzj.d.ts +2215 -0
  21. package/dist/index-Wgi_dGzj.d.ts.map +1 -0
  22. package/dist/index-j3YTMNlF.d.ts +2223 -0
  23. package/dist/index-j3YTMNlF.d.ts.map +1 -0
  24. package/dist/mysql-BBbilD4I.js +614 -0
  25. package/dist/mysql-BBbilD4I.js.map +1 -0
  26. package/dist/mysql-BHJ2mrwZ.d.ts +113 -0
  27. package/dist/mysql-BHJ2mrwZ.d.ts.map +1 -0
  28. package/dist/mysql-BPWGBeum.js +623 -0
  29. package/dist/mysql-BPWGBeum.js.map +1 -0
  30. package/dist/mysql-BQbHJ_rK.js +617 -0
  31. package/dist/mysql-BQbHJ_rK.js.map +1 -0
  32. package/dist/mysql-BXoAON7c.d.ts +113 -0
  33. package/dist/mysql-BXoAON7c.d.ts.map +1 -0
  34. package/dist/mysql-BgfCUYGt.d.ts +113 -0
  35. package/dist/mysql-BgfCUYGt.d.ts.map +1 -0
  36. package/dist/mysql-Br7MqUXg.js +620 -0
  37. package/dist/mysql-Br7MqUXg.js.map +1 -0
  38. package/dist/mysql-BrueWtO9.d.ts +113 -0
  39. package/dist/mysql-BrueWtO9.d.ts.map +1 -0
  40. package/dist/mysql-CCo--z6n.d.ts +113 -0
  41. package/dist/mysql-CCo--z6n.d.ts.map +1 -0
  42. package/dist/mysql-CQcbcZB8.d.ts +113 -0
  43. package/dist/mysql-CQcbcZB8.d.ts.map +1 -0
  44. package/dist/mysql-CbgCY89y.d.ts +113 -0
  45. package/dist/mysql-CbgCY89y.d.ts.map +1 -0
  46. package/dist/mysql-CqD1ZnNY.js +619 -0
  47. package/dist/mysql-CqD1ZnNY.js.map +1 -0
  48. package/dist/mysql-D3Db2q3_.js +619 -0
  49. package/dist/mysql-D3Db2q3_.js.map +1 -0
  50. package/dist/mysql-DBrhTmYm.js +619 -0
  51. package/dist/mysql-DBrhTmYm.js.map +1 -0
  52. package/dist/mysql-DX7YA7IS.d.ts +113 -0
  53. package/dist/mysql-DX7YA7IS.d.ts.map +1 -0
  54. package/dist/mysql-DZ0_Rsjc.js +614 -0
  55. package/dist/mysql-DZ0_Rsjc.js.map +1 -0
  56. package/dist/mysql-Di6iuKWT.d.ts +114 -0
  57. package/dist/mysql-Di6iuKWT.d.ts.map +1 -0
  58. package/dist/mysql-Dko1MJqQ.js +619 -0
  59. package/dist/mysql-Dko1MJqQ.js.map +1 -0
  60. package/dist/mysql-F831ycnw.d.ts +113 -0
  61. package/dist/mysql-F831ycnw.d.ts.map +1 -0
  62. package/dist/mysql-TLPG62tv.js +618 -0
  63. package/dist/mysql-TLPG62tv.js.map +1 -0
  64. package/dist/mysql-e-ii74yG.js +613 -0
  65. package/dist/mysql-e-ii74yG.js.map +1 -0
  66. package/dist/overlap-checker-BBkqRdcs.js +259 -0
  67. package/dist/overlap-checker-BBkqRdcs.js.map +1 -0
  68. package/dist/overlap-checker-DHUJe-Yy.js +259 -0
  69. package/dist/overlap-checker-DHUJe-Yy.js.map +1 -0
  70. package/dist/overlap-checker-DWeQLpSD.js +259 -0
  71. package/dist/overlap-checker-DWeQLpSD.js.map +1 -0
  72. package/dist/overlap-checker-Kz7B_jsp.js +259 -0
  73. package/dist/overlap-checker-Kz7B_jsp.js.map +1 -0
  74. package/dist/postgres-7hJuQX4Y.d.ts +117 -0
  75. package/dist/postgres-7hJuQX4Y.d.ts.map +1 -0
  76. package/dist/postgres-B4H78IkW.js +864 -0
  77. package/dist/postgres-B4H78IkW.js.map +1 -0
  78. package/dist/postgres-B4h8D5U2.d.ts +117 -0
  79. package/dist/postgres-B4h8D5U2.d.ts.map +1 -0
  80. package/dist/postgres-BXFPamkP.js +864 -0
  81. package/dist/postgres-BXFPamkP.js.map +1 -0
  82. package/dist/postgres-CkhK4DqZ.d.ts +118 -0
  83. package/dist/postgres-CkhK4DqZ.d.ts.map +1 -0
  84. package/dist/postgres-CoR3TUMd.js +865 -0
  85. package/dist/postgres-CoR3TUMd.js.map +1 -0
  86. package/dist/postgres-D-RsG12a.d.ts +117 -0
  87. package/dist/postgres-D-RsG12a.d.ts.map +1 -0
  88. package/dist/postgres-D5Z1S3J9.d.ts +117 -0
  89. package/dist/postgres-D5Z1S3J9.d.ts.map +1 -0
  90. package/dist/postgres-DHs89iWT.js +864 -0
  91. package/dist/postgres-DHs89iWT.js.map +1 -0
  92. package/dist/postgres-DvBIRnYA.d.ts +117 -0
  93. package/dist/postgres-DvBIRnYA.d.ts.map +1 -0
  94. package/dist/postgres-Eo-lpUiX.d.ts +117 -0
  95. package/dist/postgres-Eo-lpUiX.d.ts.map +1 -0
  96. package/dist/postgres-VLAGIFLR.d.ts +117 -0
  97. package/dist/postgres-VLAGIFLR.d.ts.map +1 -0
  98. package/dist/postgres-ZKEo6Mjg.js +868 -0
  99. package/dist/postgres-ZKEo6Mjg.js.map +1 -0
  100. package/dist/postgres-hrQmDPUp.d.ts +117 -0
  101. package/dist/postgres-hrQmDPUp.d.ts.map +1 -0
  102. package/dist/postgres-pXrP9Fx0.d.ts +117 -0
  103. package/dist/postgres-pXrP9Fx0.d.ts.map +1 -0
  104. package/dist/query-BuOs9w-U.js +730 -0
  105. package/dist/query-BuOs9w-U.js.map +1 -0
  106. package/dist/query-Xw2hi6TB.js +730 -0
  107. package/dist/query-Xw2hi6TB.js.map +1 -0
  108. package/dist/read-routing-BUcQAwnd.js +62 -0
  109. package/dist/read-routing-BUcQAwnd.js.map +1 -0
  110. package/dist/read-routing-BXflWzQI.js +61 -0
  111. package/dist/read-routing-BXflWzQI.js.map +1 -0
  112. package/dist/read-routing-CcsLp0ow.js +61 -0
  113. package/dist/read-routing-CcsLp0ow.js.map +1 -0
  114. package/dist/realtime_db-B70vqtRZ.js +272 -0
  115. package/dist/realtime_db-B70vqtRZ.js.map +1 -0
  116. package/dist/realtime_db-BMysrWym.js +312 -0
  117. package/dist/realtime_db-BMysrWym.js.map +1 -0
  118. package/dist/realtime_db-Bi7S938D.js +312 -0
  119. package/dist/realtime_db-Bi7S938D.js.map +1 -0
  120. package/dist/realtime_db-CVze3gM0.js +312 -0
  121. package/dist/realtime_db-CVze3gM0.js.map +1 -0
  122. package/dist/realtime_db-DMipkUmD.js +312 -0
  123. package/dist/realtime_db-DMipkUmD.js.map +1 -0
  124. package/dist/realtime_db-XWzuq2JS.js +272 -0
  125. package/dist/realtime_db-XWzuq2JS.js.map +1 -0
  126. package/dist/router-Kgrlci8X.js +337 -0
  127. package/dist/router-Kgrlci8X.js.map +1 -0
  128. package/dist/router-g8qSQb8m.js +314 -0
  129. package/dist/router-g8qSQb8m.js.map +1 -0
  130. package/dist/schema-DLue3K2s.js +134 -0
  131. package/dist/schema-DLue3K2s.js.map +1 -0
  132. package/dist/schema-DfowI0ip.js +134 -0
  133. package/dist/schema-DfowI0ip.js.map +1 -0
  134. package/dist/schema-fKldWzwc.js +134 -0
  135. package/dist/schema-fKldWzwc.js.map +1 -0
  136. package/dist/src/client/index.d.ts +1 -1
  137. package/dist/src/client/index.js +69 -29
  138. package/dist/src/client/index.js.map +1 -1
  139. package/dist/src/exports/mysql.d.ts +1 -1
  140. package/dist/src/exports/mysql.js +1 -1
  141. package/dist/src/exports/postgres.d.ts +1 -1
  142. package/dist/src/exports/postgres.js +1 -1
  143. package/dist/src/exports/procedure.d.ts +1 -1
  144. package/dist/src/exports/procedure.js +5 -6
  145. package/dist/src/exports/procedure.js.map +1 -1
  146. package/dist/src/exports/schema-sql.d.ts +18 -1
  147. package/dist/src/exports/schema-sql.d.ts.map +1 -1
  148. package/dist/src/exports/schema-sql.js +91 -15
  149. package/dist/src/exports/schema-sql.js.map +1 -1
  150. package/dist/src/exports/server.d.ts +16 -6
  151. package/dist/src/exports/server.d.ts.map +1 -1
  152. package/dist/src/exports/server.js +136 -59
  153. package/dist/src/exports/server.js.map +1 -1
  154. package/dist/src/exports/sub-manager-worker-entry.js +1 -1
  155. package/dist/src/exports/types.d.ts +2 -2
  156. package/dist/src/exports/types.js +4 -4
  157. package/dist/sub-worker-dispatch-CO9nVdSG.js +813 -0
  158. package/dist/sub-worker-dispatch-CO9nVdSG.js.map +1 -0
  159. package/dist/sub-worker-dispatch-CQBknEL7.js +813 -0
  160. package/dist/sub-worker-dispatch-CQBknEL7.js.map +1 -0
  161. package/dist/sub-worker-dispatch-CQHeit6D.js +813 -0
  162. package/dist/sub-worker-dispatch-CQHeit6D.js.map +1 -0
  163. package/dist/sub-worker-dispatch-CmEW10it.js +813 -0
  164. package/dist/sub-worker-dispatch-CmEW10it.js.map +1 -0
  165. package/dist/sub-worker-dispatch-CunxuOPT.js +823 -0
  166. package/dist/sub-worker-dispatch-CunxuOPT.js.map +1 -0
  167. package/dist/sub-worker-dispatch-CvvFm40r.js +817 -0
  168. package/dist/sub-worker-dispatch-CvvFm40r.js.map +1 -0
  169. package/dist/sub-worker-dispatch-CzwVHQVi.js +826 -0
  170. package/dist/sub-worker-dispatch-CzwVHQVi.js.map +1 -0
  171. package/dist/sub-worker-dispatch-D15UHo1g.js +813 -0
  172. package/dist/sub-worker-dispatch-D15UHo1g.js.map +1 -0
  173. package/dist/sub-worker-dispatch-D8DY56ry.js +817 -0
  174. package/dist/sub-worker-dispatch-D8DY56ry.js.map +1 -0
  175. package/dist/sub-worker-dispatch-DJgWxtSQ.js +823 -0
  176. package/dist/sub-worker-dispatch-DJgWxtSQ.js.map +1 -0
  177. package/dist/sub-worker-dispatch-Dplqeubd.js +813 -0
  178. package/dist/sub-worker-dispatch-Dplqeubd.js.map +1 -0
  179. package/dist/sub-worker-dispatch-MneZYjXl.js +823 -0
  180. package/dist/sub-worker-dispatch-MneZYjXl.js.map +1 -0
  181. package/dist/sub-worker-dispatch-dXjUmSMN.js +813 -0
  182. package/dist/sub-worker-dispatch-dXjUmSMN.js.map +1 -0
  183. package/dist/table-id-BJdmctEQ.js +91 -0
  184. package/dist/table-id-BJdmctEQ.js.map +1 -0
  185. package/dist/table-id-DyrJBKAQ.js +105 -0
  186. package/dist/table-id-DyrJBKAQ.js.map +1 -0
  187. package/dist/types_client_rpc-BGMwPJst.js +123 -0
  188. package/dist/types_client_rpc-BGMwPJst.js.map +1 -0
  189. package/dist/types_client_rpc-ByGwoRCL.js +132 -0
  190. package/dist/types_client_rpc-ByGwoRCL.js.map +1 -0
  191. package/dist/types_db-BsR02Sph.js +171 -0
  192. package/dist/types_db-BsR02Sph.js.map +1 -0
  193. package/dist/types_db-CgGlOMmr.js +187 -0
  194. package/dist/types_db-CgGlOMmr.js.map +1 -0
  195. package/dist/types_db-OUou3o2Z.js +172 -0
  196. package/dist/types_db-OUou3o2Z.js.map +1 -0
  197. package/dist/types_server-B3z8hi-Z.d.ts +523 -0
  198. package/dist/types_server-B3z8hi-Z.d.ts.map +1 -0
  199. package/dist/types_server-BXBvz4T8.d.ts +523 -0
  200. package/dist/types_server-BXBvz4T8.d.ts.map +1 -0
  201. package/dist/types_server-BhC19R2a.js +27 -0
  202. package/dist/types_server-BhC19R2a.js.map +1 -0
  203. package/dist/types_server-CClUPZn1.d.ts +521 -0
  204. package/dist/types_server-CClUPZn1.d.ts.map +1 -0
  205. package/dist/types_server-CG453PHb.d.ts +523 -0
  206. package/dist/types_server-CG453PHb.d.ts.map +1 -0
  207. package/dist/types_server-CnYTSPhM.d.ts +523 -0
  208. package/dist/types_server-CnYTSPhM.d.ts.map +1 -0
  209. package/dist/types_server-DHpGUHB_.d.ts +521 -0
  210. package/dist/types_server-DHpGUHB_.d.ts.map +1 -0
  211. package/dist/types_server-Ded1u3bL.d.ts +521 -0
  212. package/dist/types_server-Ded1u3bL.d.ts.map +1 -0
  213. package/dist/types_server-fons7nmo.d.ts +523 -0
  214. package/dist/types_server-fons7nmo.d.ts.map +1 -0
  215. package/dist/types_server-okvBG4v_.d.ts +521 -0
  216. package/dist/types_server-okvBG4v_.d.ts.map +1 -0
  217. package/dist/types_server-pD8DiI7s.d.ts +521 -0
  218. package/dist/types_server-pD8DiI7s.d.ts.map +1 -0
  219. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-j3YTMNlF.d.ts","names":[],"sources":["../src/db/types_db.ts","../src/server/sub-manager-types.ts","../src/db/cache.ts","../src/db/db.ts","../src/db/table-id.ts","../src/db/schema.ts","../src/db/query.ts","../src/db/context.ts","../src/db/query_definition.ts","../src/db/realtime_db.ts","../src/jobs/scheduler.ts","../src/router/procedure.ts","../src/router/router.ts","../src/client/ws_client_manager.ts","../src/db/types_client_rpc.ts","../src/client/client.ts","../src/client/caller_client.ts"],"mappings":"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"}
@@ -0,0 +1,614 @@
1
+ import { r as utf8Encode } from "./bytes-AuEkyxeU.js";
2
+ import { r as supaliveStringify } from "./helper-wGbzz6zo.js";
3
+ import { n as CORE_INIT_LOCK_NAME } from "./db-ClCicssQ.js";
4
+ import { C as normalizeIdToBytes, l as OccConflictError, w as normalizeToBytes } from "./types_db-CmxFWgU3.js";
5
+ import { i as mapReadSetToRaw, t as checkLogsAffectReadSet } from "./overlap-checker-BdNoCPtA.js";
6
+ import mysql from "mysql2/promise";
7
+ //#region src/db/mysql.ts
8
+ function toBufferView(bytes) {
9
+ if (Buffer.isBuffer(bytes)) return bytes;
10
+ return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
11
+ }
12
+ /**
13
+ * mysql2 returns `ResultSetHeader` for non-SELECT queries (carrying
14
+ * `affectedRows`) and `RowDataPacket[]` for SELECTs. The previous shim
15
+ * blindly cast to T[] which made `rowCount` zero for UPDATE/DELETE, breaking
16
+ * CAS detection. This helper picks the right shape.
17
+ */
18
+ function normalizeMysqlResult(raw) {
19
+ if (Array.isArray(raw)) return {
20
+ rows: raw,
21
+ rowCount: raw.length
22
+ };
23
+ if (raw && typeof raw === "object" && "affectedRows" in raw) {
24
+ const header = raw;
25
+ return {
26
+ rows: [],
27
+ rowCount: Number(header.affectedRows) || 0,
28
+ insertId: header.insertId
29
+ };
30
+ }
31
+ return {
32
+ rows: [],
33
+ rowCount: 0
34
+ };
35
+ }
36
+ var MySqlDatabase = class {
37
+ constructor(logger, config, pool = void 0) {
38
+ this.logger = logger;
39
+ const { queryTimeoutMs, ...poolConfig } = config;
40
+ this.queryTimeoutMs = queryTimeoutMs ?? 0;
41
+ this.config = poolConfig;
42
+ if (pool) this.pool = pool;
43
+ else this.pool = mysql.createPool(poolConfig);
44
+ }
45
+ logger;
46
+ config;
47
+ queryTimeoutMs;
48
+ pool;
49
+ dbType = "mysql";
50
+ sqlBuilder = mysqlSql;
51
+ columnTypes = /* @__PURE__ */ new Map();
52
+ sqlCache = /* @__PURE__ */ new Map();
53
+ /**
54
+ * Fetches actual column types from MySQL for `table` and returns a
55
+ * map of DB column name → MySQL type string (as produced by `COLUMN_TYPE`,
56
+ * e.g. `bigint`, `integer`, `varchar(32)`, `text`, `json`).
57
+ * No caching here — see {@link getColumnTypes} for the cached path.
58
+ */
59
+ async loadColumnTypesFromMySql(table) {
60
+ const result = await this.query(`SELECT COLUMN_NAME AS column_name, COLUMN_TYPE AS mysql_type
61
+ FROM INFORMATION_SCHEMA.COLUMNS
62
+ WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?
63
+ ORDER BY ORDINAL_POSITION`, [table]);
64
+ const out = /* @__PURE__ */ new Map();
65
+ for (const row of result.rows) out.set(row.column_name.toLowerCase(), row.mysql_type);
66
+ return out;
67
+ }
68
+ /**
69
+ * Synchronous column-type lookup. The apply path calls this on every
70
+ * batched write, so it can't await — populate the cache via
71
+ * {@link bootstrapColumnTypes} at server start. Throws if `table` is
72
+ * missing (programmer error / bootstrap skipped).
73
+ */
74
+ getColumnTypes(table) {
75
+ const hit = this.columnTypes.get(table);
76
+ if (!hit) {
77
+ this.logger.warn({ table }, "MySqlDatabase: no cached column types fallback to non-batched writes");
78
+ return null;
79
+ }
80
+ return hit;
81
+ }
82
+ /**
83
+ * Eagerly load column types into the in-memory cache. With a Redis
84
+ * client supplied, attempts the cache key first and falls through to
85
+ * MySQL on miss (writing the result back to Redis). This is the
86
+ * "one server queries MySQL, the rest read from Redis" pattern for cold
87
+ * starts in a multi-instance deploy. Without Redis, always queries MySQL.
88
+ *
89
+ * Pass `tables` to limit the load to a specific list; otherwise every
90
+ * user table in the connected database is loaded.
91
+ *
92
+ * The Redis cache key should encode whatever invalidates types in your
93
+ * environment (typically a schema version / deploy version). The
94
+ * subscriber in supalive-server.ts is expected to publish a reload
95
+ * signal after migrations and invoke {@link invalidateColumnTypes}.
96
+ */
97
+ async bootstrapColumnTypes(opts) {
98
+ this.invalidateColumnTypes();
99
+ const { redis, cacheKey, tables } = opts;
100
+ if (redis) {
101
+ const cached = await redis.getCachedTableColumnTypes(cacheKey);
102
+ if (cached) {
103
+ for (const [table, cols] of Object.entries(cached)) this.columnTypes.set(table, new Map(Object.entries(cols)));
104
+ return;
105
+ }
106
+ }
107
+ const names = tables ?? await this.listUserTables();
108
+ for (const t of names) {
109
+ if (this.columnTypes.has(t)) continue;
110
+ const fresh = await this.loadColumnTypesFromMySql(t);
111
+ this.columnTypes.set(t, fresh);
112
+ }
113
+ if (redis) {
114
+ const dump = {};
115
+ for (const [table, cols] of this.columnTypes) dump[table] = Object.fromEntries(Object.entries(cols).sort());
116
+ await redis.setCachedTableColumnsTypes(cacheKey, dump);
117
+ }
118
+ }
119
+ /**
120
+ * Invalidate cached types (and dependent SQL) for `table`, or the entire
121
+ * cache if `table` is omitted. The Redis-pubsub reload signal in
122
+ * supalive-server.ts is expected to call this on schema changes.
123
+ */
124
+ invalidateColumnTypes(table) {
125
+ if (table) {
126
+ this.columnTypes.delete(table);
127
+ for (const k of [...this.sqlCache.keys()]) if (k.includes(`:${table}:`) || k === `d:${table}`) this.sqlCache.delete(k);
128
+ } else {
129
+ this.columnTypes.clear();
130
+ this.sqlCache.clear();
131
+ }
132
+ }
133
+ /** Replace this instance's caches with shared references from a parent.
134
+ * Used by getTransactionClient so types loaded once at startup are
135
+ * visible inside transactions. */
136
+ adoptCaches(columnTypes, sqlCache) {
137
+ this.columnTypes = columnTypes;
138
+ this.sqlCache = sqlCache;
139
+ }
140
+ /** Enumerate the user-defined tables in the connected database for mysql — used
141
+ * by bootstrapColumnTypes() when no explicit list is provided. */
142
+ async listUserTables() {
143
+ return (await this.query(`SELECT table_name FROM information_schema.tables
144
+ WHERE table_schema = DATABASE() AND table_type = 'BASE TABLE'
145
+ AND table_name NOT IN ('commit_logs', 'metadata', 'global_commit_ts')`)).rows.map((r) => r.table_name);
146
+ }
147
+ async getCoreVersion() {
148
+ const result = await this.query("SELECT meta_value FROM metadata WHERE meta_key = 'core_version'");
149
+ return BigInt(result.rows[0]?.meta_value ?? 0);
150
+ }
151
+ coreMigrationStatements(toVersion) {
152
+ if (toVersion === 1n) return [
153
+ `INSERT IGNORE INTO global_commit_ts VALUES (0)`,
154
+ `INSERT IGNORE INTO metadata (meta_key, meta_value) VALUES ('latest_committed_ts', 0)`,
155
+ `INSERT IGNORE INTO metadata (meta_key, meta_value) VALUES ('min_retained_ts', 0)`
156
+ ];
157
+ return [];
158
+ }
159
+ async withCoreInitLock(fn) {
160
+ const conn = await this.pool.getConnection();
161
+ try {
162
+ const [rows] = await conn.query("SELECT GET_LOCK(?, 30) AS locked", [CORE_INIT_LOCK_NAME]);
163
+ if ((Array.isArray(rows) ? rows[0]?.locked : void 0) !== 1) throw new Error(`Failed to acquire core-init lock '${CORE_INIT_LOCK_NAME}'`);
164
+ await fn({
165
+ exec: async (sql, params = []) => {
166
+ const [r] = await conn.query(sql, params);
167
+ return normalizeMysqlResult(r);
168
+ },
169
+ getVersion: async () => {
170
+ const [r] = await conn.query("SELECT meta_value FROM metadata WHERE meta_key = 'core_version'");
171
+ const row = Array.isArray(r) ? r[0] : void 0;
172
+ return BigInt(row?.meta_value ?? 0);
173
+ },
174
+ setVersion: async (version) => {
175
+ await conn.query(`INSERT INTO metadata (meta_key, meta_value) VALUES ('core_version', ?)
176
+ ON DUPLICATE KEY UPDATE meta_value = VALUES(meta_value)`, [version.toString()]);
177
+ }
178
+ });
179
+ } finally {
180
+ await conn.query("SELECT RELEASE_LOCK(?)", [CORE_INIT_LOCK_NAME]).catch(() => {});
181
+ conn.release();
182
+ }
183
+ }
184
+ async query(sql, params = []) {
185
+ const client = await this.pool.getConnection();
186
+ try {
187
+ const [rows] = this.queryTimeoutMs > 0 ? await client.query({
188
+ sql,
189
+ values: params,
190
+ timeout: this.queryTimeoutMs
191
+ }) : await client.query(sql, params);
192
+ return normalizeMysqlResult(rows);
193
+ } catch (err) {
194
+ throw translateMysqlError(err);
195
+ } finally {
196
+ client.release();
197
+ }
198
+ }
199
+ async getClient() {
200
+ return await this.pool.getConnection();
201
+ }
202
+ async getTransactionClient() {
203
+ const client = await this.pool.getConnection();
204
+ const tx = new MySqlTxDatabase(this.logger, {
205
+ ...this.config,
206
+ queryTimeoutMs: this.queryTimeoutMs
207
+ }, this.pool, client);
208
+ tx.adoptCaches(this.columnTypes, this.sqlCache);
209
+ return tx;
210
+ }
211
+ async getLatestSnapshotTimestamp() {
212
+ const result = await this.query("SELECT meta_value FROM metadata WHERE meta_key = 'latest_committed_ts'");
213
+ return BigInt(result.rows[0]?.meta_value ?? 0);
214
+ }
215
+ async updateLatestSnapshotTimestamp(commitTs) {
216
+ await this.query(`UPDATE metadata SET meta_value = ? WHERE meta_key = 'latest_committed_ts' AND meta_value < ?`, [commitTs, commitTs]);
217
+ }
218
+ async getMinSnapshotTimestamp() {
219
+ const result = await this.query("SELECT meta_value FROM metadata WHERE meta_key = 'min_retained_ts'");
220
+ return BigInt(result.rows[0]?.meta_value ?? 0);
221
+ }
222
+ async updateMinSnapshotTimestamp(ts) {
223
+ await this.query(`UPDATE metadata SET meta_value = ? WHERE meta_key = 'min_retained_ts' AND meta_value < ?`, [ts, ts]);
224
+ }
225
+ async getNextTimestamp() {
226
+ const result = await this.query("UPDATE global_commit_ts SET id = LAST_INSERT_ID(id + 1)");
227
+ return BigInt(result.insertId ?? 0);
228
+ }
229
+ async attachPrevDataToWriteSet(writeSet, readSet) {
230
+ const readTsByKey = /* @__PURE__ */ new Map();
231
+ for (let i = readSet.length - 1; i >= 0; i--) {
232
+ const r = readSet[i];
233
+ if (r.kind !== "point" || r.expectedCommitTs === void 0) continue;
234
+ const key = `${r.table} ${r.id}`;
235
+ if (!readTsByKey.has(key)) readTsByKey.set(key, r.expectedCommitTs);
236
+ }
237
+ const byTable = /* @__PURE__ */ new Map();
238
+ for (const entry of writeSet) {
239
+ if (entry.op !== "update" && entry.op !== "delete") continue;
240
+ const bucket = byTable.get(entry.table);
241
+ if (bucket) bucket.push(entry);
242
+ else byTable.set(entry.table, [entry]);
243
+ }
244
+ if (byTable.size === 0) return;
245
+ for (const [table, entries] of byTable) {
246
+ const ids = entries.map((e) => e.id);
247
+ const sql = `SELECT * FROM ${table} WHERE id IN (${ids.map(() => "?").join(", ")})`;
248
+ const result = await this.query(sql, ids);
249
+ const byId = /* @__PURE__ */ new Map();
250
+ for (const row of result.rows) byId.set(String(row.id), row);
251
+ for (const entry of entries) {
252
+ const row = byId.get(String(entry.id));
253
+ const key = `${entry.table} ${entry.id}`;
254
+ const priorReadTs = readTsByKey.get(key);
255
+ if (row) {
256
+ entry.prevData = row;
257
+ entry.expectedCommitTs = priorReadTs !== void 0 ? priorReadTs : BigInt(row.commit_ts);
258
+ } else if (priorReadTs !== void 0) entry.expectedCommitTs = priorReadTs;
259
+ }
260
+ }
261
+ }
262
+ async prepareCommitWrites(readSet, writeSet, commitTs) {
263
+ const result = [];
264
+ await this.mysqlPrepareBatchWrites(result, writeSet, commitTs);
265
+ await this.mysqlPrepareCommitLogs(result, writeSet, commitTs);
266
+ if (!readSet.some((r) => r.kind === "range")) return {
267
+ commits: result,
268
+ validateReadPoints: this.mysqlPrepareValidatePointReadsByCommitTs(readSet, writeSet),
269
+ hasRangeRead: false
270
+ };
271
+ const rawReadSet = mapReadSetToRaw(readSet);
272
+ return {
273
+ commits: result,
274
+ hasRangeRead: true,
275
+ tableIds: [...new Set(rawReadSet.map((r) => r.tableId))],
276
+ rawReadSet
277
+ };
278
+ }
279
+ async mysqlPrepareBatchWrites(result, writeSet, commitTs) {
280
+ let i = 0;
281
+ let counter = 0;
282
+ while (i < writeSet.length) {
283
+ counter++;
284
+ const { table, op } = writeSet[i];
285
+ let j = i + 1;
286
+ while (j < writeSet.length && writeSet[j].table === table && writeSet[j].op === op) j++;
287
+ const batch = writeSet.slice(i, j);
288
+ if (op === "insert") await this.mysqlPrepareInsertBatch(result, table, batch, commitTs);
289
+ else if (op === "update") await this.mysqlPrepareUpdateSingle(result, table, batch, commitTs);
290
+ else await this.mysqlPrepareDeleteBatch(result, table, batch);
291
+ i = j;
292
+ if (counter % 50 == 0) await new Promise((resolve) => setImmediate(resolve));
293
+ }
294
+ }
295
+ async mysqlPrepareInsertBatch(result, table, entries, commitTs) {
296
+ if (entries.length === 0) return;
297
+ const groups = /* @__PURE__ */ new Map();
298
+ for (const entry of entries) {
299
+ const cols = [...Object.keys(entry.data ?? {}), "commit_ts"].sort();
300
+ const key = cols.join("|");
301
+ let g = groups.get(key);
302
+ if (!g) {
303
+ g = {
304
+ cols,
305
+ rows: []
306
+ };
307
+ groups.set(key, g);
308
+ }
309
+ g.rows.push(entry);
310
+ }
311
+ let counter = 0;
312
+ for (const { cols, rows } of groups.values()) {
313
+ counter++;
314
+ const values = [];
315
+ const tuples = [];
316
+ for (const entry of rows) {
317
+ const data = {
318
+ ...entry.data ?? {},
319
+ commit_ts: commitTs
320
+ };
321
+ tuples.push(`(${cols.map(() => "?").join(", ")})`);
322
+ for (const col of cols) values.push(data[col]);
323
+ }
324
+ if (counter % 50 == 0) await new Promise((resolve) => setImmediate(resolve));
325
+ result.push({
326
+ sql: `INSERT INTO ${table} (${cols.join(", ")}) VALUES ${tuples.join(", ")}`,
327
+ params: values,
328
+ operation: "insertBatch",
329
+ table
330
+ });
331
+ }
332
+ }
333
+ async mysqlPrepareUpdateSingle(result, table, entries, commitTs) {
334
+ if (entries.length === 0) return;
335
+ let counter = 0;
336
+ for (const entry of entries) {
337
+ counter++;
338
+ const data = {
339
+ ...entry.data ?? {},
340
+ commit_ts: commitTs
341
+ };
342
+ const sets = Object.keys(data).map((c) => `${c} = ?`);
343
+ const values = Object.values(data);
344
+ const expected = entry.expectedCommitTs ?? -1n;
345
+ if (counter % 50 == 0) await new Promise((resolve) => setImmediate(resolve));
346
+ result.push({
347
+ sql: `UPDATE ${table} SET ${sets.join(", ")} WHERE id = ? AND commit_ts = ?`,
348
+ params: [
349
+ ...values,
350
+ entry.id,
351
+ expected
352
+ ],
353
+ operation: "updateSingle",
354
+ table,
355
+ entryId: entry.id,
356
+ expectedTs: expected
357
+ });
358
+ }
359
+ }
360
+ async mysqlPrepareDeleteBatch(result, table, entries) {
361
+ if (entries.length === 0) return;
362
+ let counter = 0;
363
+ for (const entry of entries) {
364
+ counter++;
365
+ const expected = entry.expectedCommitTs ?? -1n;
366
+ if (counter % 50 == 0) await new Promise((resolve) => setImmediate(resolve));
367
+ result.push({
368
+ sql: `DELETE FROM ${table} WHERE id = ? AND commit_ts = ?`,
369
+ params: [entry.id, expected],
370
+ table,
371
+ operation: "deleteSingle",
372
+ entryId: entry.id,
373
+ expectedTs: expected
374
+ });
375
+ }
376
+ }
377
+ async mysqlPrepareCommitLogs(result, writeEntries, commitTs) {
378
+ if (writeEntries.length === 0) return;
379
+ const values = [];
380
+ const tuples = [];
381
+ let counter = 0;
382
+ for (const entry of writeEntries) {
383
+ counter++;
384
+ tuples.push(`(?, ?, ?, ?)`);
385
+ values.push(toBufferView(normalizeIdToBytes(entry.id)), commitTs, toBufferView(entry.tableId), toBufferView(utf8Encode(supaliveStringify(entry))));
386
+ if (counter % 50 == 0) await new Promise((resolve) => setImmediate(resolve));
387
+ }
388
+ result.push({
389
+ sql: `INSERT INTO commit_logs (id, ts, table_id, data) VALUES ${tuples.join(", ")}`,
390
+ params: values,
391
+ table: "commit_logs",
392
+ operation: "commit_logs"
393
+ });
394
+ }
395
+ /**
396
+ * Point-only OCC check. For each genuine point read, compare the row's
397
+ * current commit_ts against the value captured at read time. A `null`
398
+ * expectedCommitTs means "row didn't exist when we read"; any row found
399
+ * now is a conflict. Reads whose row is being written in this same txn
400
+ * are skipped — the CAS UPDATE/DELETE already validated those.
401
+ */
402
+ mysqlPrepareValidatePointReadsByCommitTs(readSet, writeSet) {
403
+ const result = [];
404
+ const writeKeys = /* @__PURE__ */ new Set();
405
+ for (const w of writeSet) writeKeys.add(`${w.table} ${w.id}`);
406
+ const byTable = /* @__PURE__ */ new Map();
407
+ const seen = /* @__PURE__ */ new Set();
408
+ for (const entry of readSet) {
409
+ if (entry.kind !== "point") continue;
410
+ const key = `${entry.table} ${entry.id}`;
411
+ if (writeKeys.has(key) || seen.has(key)) continue;
412
+ seen.add(key);
413
+ if (entry.expectedCommitTs === void 0) continue;
414
+ const bucket = byTable.get(entry.table);
415
+ if (bucket) bucket.push({
416
+ entry,
417
+ key
418
+ });
419
+ else byTable.set(entry.table, [{
420
+ entry,
421
+ key
422
+ }]);
423
+ }
424
+ for (const [table, pendings] of byTable) {
425
+ const ids = pendings.map((p) => p.entry.id);
426
+ const placeholders = ids.map(() => "?").join(", ");
427
+ result.push({
428
+ sql: `SELECT id, commit_ts FROM ${table} WHERE id IN (${placeholders})`,
429
+ params: ids,
430
+ table,
431
+ operation: "pointReadValidation",
432
+ pendingsEntry: pendings
433
+ });
434
+ }
435
+ return result;
436
+ }
437
+ async commitWrites(beginTs, queries, commitTs) {
438
+ await this.mysqlApplyWrites(queries.commits);
439
+ if (!queries.hasRangeRead) {
440
+ if ((queries.validateReadPoints?.length ?? 0) > 0) await this.validatePointReadsByCommitTs(queries.validateReadPoints ?? []);
441
+ return { success: true };
442
+ }
443
+ const logs = await this.getCommitLogsSinceTs(beginTs, commitTs, queries.tableIds ?? []);
444
+ if (checkLogsAffectReadSet(logs, queries.rawReadSet ?? [])) throw new OccConflictError(`Conflict detected: overlapping commit logs since ${beginTs}`, { logs });
445
+ return { success: true };
446
+ }
447
+ async mysqlApplyWrites(result) {
448
+ for (const q of result) switch (q.operation) {
449
+ case "insertBatch":
450
+ try {
451
+ await this.query(q.sql, q.params);
452
+ } catch (err) {
453
+ if (err && typeof err === "object" && (err.errno === 1062 || err.code === "ER_DUP_ENTRY")) {
454
+ const failedId = (err.message ?? "").match(/key '[^']+'.*?\(.*?\)=\(?([^,\)]+)/)?.[1];
455
+ throw new OccConflictError(failedId !== void 0 ? `Conflict: insert into ${q.table}/${failedId} hit duplicate key` : `Conflict: batch insert into ${q.table} hit duplicate key`, err);
456
+ }
457
+ throw err;
458
+ }
459
+ break;
460
+ case "updateSingle":
461
+ if (((await this.query(q.sql, q.params)).rowCount ?? 0) === 0) throw new OccConflictError(`Conflict: CAS update of ${q.table}/${q.entryId} (expected commit_ts=${q.expectedTs}) matched no rows`, {
462
+ table: q.table,
463
+ id: q.entryId,
464
+ expected: q.expectedTs
465
+ });
466
+ break;
467
+ case "deleteBatch":
468
+ if (((await this.query(q.sql, q.params)).rowCount ?? 0) === 0) throw new OccConflictError(`Conflict: CAS delete of ${q.table}/${q.entryId} (expected commit_ts=${q.expectedTs}) matched no rows`, {
469
+ table: q.table,
470
+ id: q.entryId,
471
+ expected: q.expectedTs
472
+ });
473
+ break;
474
+ case "commit_logs":
475
+ await this.query(q.sql, q.params);
476
+ break;
477
+ default: throw new Error("Unhandled MySQL Operation: " + q.operation);
478
+ }
479
+ }
480
+ async validatePointReadsByCommitTs(queries) {
481
+ for (const q of queries) {
482
+ const result = await this.query(q.sql, q.params);
483
+ const currentById = /* @__PURE__ */ new Map();
484
+ for (const row of result.rows) currentById.set(String(row.id), BigInt(row.commit_ts));
485
+ for (const { entry } of q.pendingsEntry ?? []) {
486
+ const current = currentById.get(String(entry.id));
487
+ const expected = entry.expectedCommitTs;
488
+ if (expected === null) {
489
+ if (current !== void 0) throw new OccConflictError(`Conflict: row ${entry.table}/${entry.id} was inserted concurrently`, {
490
+ table: entry.table,
491
+ id: entry.id
492
+ });
493
+ } else {
494
+ if (current === void 0) throw new OccConflictError(`Conflict: row ${entry.table}/${entry.id} was deleted concurrently`, {
495
+ table: entry.table,
496
+ id: entry.id,
497
+ expected
498
+ });
499
+ if (current !== expected) throw new OccConflictError(`Conflict: row ${entry.table}/${entry.id} changed from ts=${expected} to ts=${current}`, {
500
+ table: entry.table,
501
+ id: entry.id,
502
+ expected,
503
+ current
504
+ });
505
+ }
506
+ }
507
+ }
508
+ }
509
+ async pruneCommitLogsBefore(ts) {
510
+ const result = await this.query(`DELETE FROM commit_logs WHERE ts < ?`, [ts]);
511
+ return BigInt(result.rowCount ?? 0);
512
+ }
513
+ async getMinCommitLogTs() {
514
+ const min = (await this.query(`SELECT min(ts) AS min FROM commit_logs`)).rows[0]?.min;
515
+ return min === null || min === void 0 ? null : BigInt(min);
516
+ }
517
+ async getCommitLogsBetweenTs(beginTs, endTs, tableIds) {
518
+ if (tableIds.length === 0) return [];
519
+ const sql = `SELECT id, ts, table_id, data FROM commit_logs WHERE ts >= ? AND ts < ? AND table_id IN (${tableIds.map(() => "?").join(", ")})`;
520
+ return (await this.query(sql, [
521
+ beginTs,
522
+ endTs,
523
+ ...tableIds.map(toBufferView)
524
+ ])).rows.map((row) => ({
525
+ id: normalizeToBytes(row.id),
526
+ ts: BigInt(row.ts),
527
+ tableId: normalizeToBytes(row.table_id),
528
+ data: normalizeToBytes(row.data)
529
+ }));
530
+ }
531
+ async hasCommitForPoints(beginTs, endTs, points) {
532
+ if (points.length === 0) return false;
533
+ const sql = `SELECT 1 FROM commit_logs WHERE ts >= ? AND ts < ? AND (table_id, id) IN (${points.map(() => "(?, ?)").join(", ")}) LIMIT 1`;
534
+ const params = [beginTs, endTs];
535
+ for (const p of points) params.push(toBufferView(p.tableId), toBufferView(p.id));
536
+ return (await this.query(sql, params)).rows.length > 0;
537
+ }
538
+ async getCommitLogsSinceTs(sinceTs, excludeTs, tableIds) {
539
+ if (tableIds.length === 0) return [];
540
+ const sql = `SELECT id, ts, table_id, data FROM commit_logs WHERE ts >= ? AND ts <> ? AND table_id IN (${tableIds.map(() => "?").join(", ")})`;
541
+ return (await this.query(sql, [
542
+ sinceTs,
543
+ excludeTs,
544
+ ...tableIds.map(toBufferView)
545
+ ])).rows.map((row) => ({
546
+ id: normalizeToBytes(row.id),
547
+ ts: BigInt(row.ts),
548
+ tableId: normalizeToBytes(row.table_id),
549
+ data: normalizeToBytes(row.data)
550
+ }));
551
+ }
552
+ async close() {
553
+ await this.pool.end();
554
+ }
555
+ };
556
+ var MySqlTxDatabase = class extends MySqlDatabase {
557
+ constructor(logger, config, pool, client) {
558
+ super(logger, config, pool);
559
+ this.client = client;
560
+ }
561
+ client;
562
+ async query(sql, params = []) {
563
+ try {
564
+ const [rows] = this.queryTimeoutMs > 0 ? await this.client.query({
565
+ sql,
566
+ values: params,
567
+ timeout: this.queryTimeoutMs
568
+ }) : await this.client.query(sql, params);
569
+ return normalizeMysqlResult(rows);
570
+ } catch (err) {
571
+ throw translateMysqlError(err);
572
+ }
573
+ }
574
+ async begin() {
575
+ await this.client.beginTransaction();
576
+ }
577
+ async commit() {
578
+ await this.client.commit();
579
+ }
580
+ async rollback() {
581
+ await this.client.rollback();
582
+ }
583
+ release() {
584
+ this.client.release();
585
+ }
586
+ };
587
+ /**
588
+ * MySQL InnoDB deadlock (errno 1213 / SQLSTATE 40001) is transient and
589
+ * semantically equivalent to an OCC conflict from the mutation runner's
590
+ * perspective: re-execute the handler with a fresh snapshot. Wrapping
591
+ * here lets realtime_db.ts stay driver-agnostic — its retry loop already
592
+ * handles OccConflictError.
593
+ */
594
+ function translateMysqlError(err) {
595
+ if (err && typeof err === "object" && (err.errno === 1213 || err.code === "ER_LOCK_DEADLOCK")) return new OccConflictError("deadlock detected", err);
596
+ return err;
597
+ }
598
+ const mysqlSql = {
599
+ placeholder: (i) => `?`,
600
+ like: (col, i) => `${col} LIKE ?`,
601
+ ilike: (col, i) => `${col} LIKE ?`,
602
+ icontains: (col, i) => `${col} LIKE ?`,
603
+ jsonContains: (col, _i, opts) => opts?.pathIndex !== void 0 ? `JSON_CONTAINS(${col}, CAST(? AS JSON), ?)` : `JSON_CONTAINS(${col}, CAST(? AS JSON))`,
604
+ jsonContainedBy: (col, _i, opts) => opts?.pathIndex !== void 0 ? `JSON_CONTAINS(CAST(? AS JSON), JSON_EXTRACT(${col}, ?))` : `JSON_CONTAINS(CAST(? AS JSON), ${col})`,
605
+ jsonHasKey: (col, _i, opts) => {
606
+ if (opts?.pathCount && opts.pathCount > 0) return `JSON_CONTAINS_PATH(${col}, ${opts.mode === "all" ? "'all'" : "'one'"}, ${new Array(opts.pathCount).fill("?").join(", ")})`;
607
+ return opts?.raw ? `JSON_CONTAINS_PATH(${col}, 'one', ?)` : `JSON_CONTAINS_PATH(${col}, 'one', CONCAT('$."', REPLACE(?, '"', '\\\\"'), '"'))`;
608
+ },
609
+ jsonArrayContains: (col, _i, opts) => opts?.pathIndex !== void 0 ? `JSON_CONTAINS(${col}, JSON_ARRAY(CAST(? AS JSON)), ?)` : `JSON_CONTAINS(${col}, JSON_ARRAY(CAST(? AS JSON)))`
610
+ };
611
+ //#endregion
612
+ export { MySqlDatabase as t };
613
+
614
+ //# sourceMappingURL=mysql-BBbilD4I.js.map