@prisma/orm-target-mysql 8.0.0-rc.22-dev.9 → 8.0.0-rc.22-dev.11
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.
- package/README.md +1 -1
- package/dist/{adapter-_WBomuTw.d.mts → adapter-Dl4Wwz1I.d.mts} +4 -2
- package/dist/adapter-Dl4Wwz1I.d.mts.map +1 -0
- package/dist/adapter.d.mts +1 -1
- package/dist/adapter.mjs +2 -2
- package/dist/adapter__adapter.d.mts +1 -1
- package/dist/adapter__adapter.mjs +1 -1
- package/dist/adapter__control.mjs +1 -1
- package/dist/adapter__runtime.mjs +74 -10
- package/dist/adapter__runtime.mjs.map +1 -1
- package/dist/{contract-contributions-B9njRJbt-ClEtrK2L.mjs → contract-contributions-ChiX6W0F-CAng98bZ.mjs} +5 -4
- package/dist/contract-contributions-ChiX6W0F-CAng98bZ.mjs.map +1 -0
- package/dist/{control-6wRZXIJ7.mjs → control-CgeXsxCR.mjs} +2 -2
- package/dist/{control-6wRZXIJ7.mjs.map → control-CgeXsxCR.mjs.map} +1 -1
- package/dist/{control-WTY7Jpxk.mjs → control-H2sjKXXS.mjs} +2 -2
- package/dist/{control-WTY7Jpxk.mjs.map → control-H2sjKXXS.mjs.map} +1 -1
- package/dist/{descriptor-meta-BurjcSiU-Cbk2L1jf.mjs → descriptor-meta-D7tc0iue-C4W7o0Av.mjs} +3 -3
- package/dist/{descriptor-meta-BurjcSiU-Cbk2L1jf.mjs.map → descriptor-meta-D7tc0iue-C4W7o0Av.mjs.map} +1 -1
- package/dist/{descriptor-meta-runtime-Bk_00UrX-BLN4Ahpj.mjs → descriptor-meta-runtime-Cur6umHo-C_4rsCGC.mjs} +7 -4
- package/dist/descriptor-meta-runtime-Cur6umHo-C_4rsCGC.mjs.map +1 -0
- package/dist/driver.mjs +1 -1
- package/dist/driver__control.mjs +1 -1
- package/dist/driver__runtime.mjs +275 -126
- package/dist/driver__runtime.mjs.map +1 -1
- package/dist/{marker-read-aEaHihYj-Cyg16yn1.mjs → marker-read-Cf80LSbG-BZaJ8Ll6.mjs} +3 -3
- package/dist/{marker-read-aEaHihYj-Cyg16yn1.mjs.map → marker-read-Cf80LSbG-BZaJ8Ll6.mjs.map} +1 -1
- package/dist/{pack-YVG-iBMQ.d.mts → pack-DXsOvRJn.d.mts} +2 -1
- package/dist/{pack-YVG-iBMQ.d.mts.map → pack-DXsOvRJn.d.mts.map} +1 -1
- package/dist/{statement-kfMRMKIt-D6cAOKys.mjs → statement-DC62oiSx-DTx1JaP7.mjs} +17 -11
- package/dist/statement-DC62oiSx-DTx1JaP7.mjs.map +1 -0
- package/dist/target.d.mts +1 -1
- package/dist/target__control.mjs +1 -1
- package/dist/target__control.mjs.map +1 -1
- package/dist/target__pack.d.mts +1 -1
- package/dist/target__pack.mjs +1 -1
- package/dist/target__runtime.mjs +1 -1
- package/dist/target__runtime.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/adapter-_WBomuTw.d.mts.map +0 -1
- package/dist/contract-contributions-B9njRJbt-ClEtrK2L.mjs.map +0 -1
- package/dist/descriptor-meta-runtime-Bk_00UrX-BLN4Ahpj.mjs.map +0 -1
- package/dist/statement-kfMRMKIt-D6cAOKys.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-WTY7Jpxk.mjs","names":["#inTransaction"],"sources":["../../../../3-targets/mysql/2-adapter/dist/control.mjs"],"sourcesContent":["import { a as tableExists, i as readMarkerRows, n as parseJsonColumn, o as mysqlAdapterDescriptorMeta, r as readMarkerResult, t as decodeMysqlMarkerRow } from \"./marker-read-aEaHihYj.mjs\";\nimport { checkSqlDefaultText, contractColumns, readColumnDefault, sqlDefaultFunctions } from \"@internal/family-sql/control\";\nimport { assembleMysqlCodecRegistry, decodeMysqlDatetime, encodeMysqlDatetime } from \"@internal/target-mysql/codecs\";\nimport { parseMarkerRowSafely, withMarkerReadErrorHandling } from \"@internal/errors/execution\";\nimport { codecForRef } from \"@internal/framework-components/codec\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { encodeLiteralDefault, isDdlNode, renderOpaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries } from \"@internal/target-mysql/contract-free\";\nimport { CONTROL_TABLE_NAMES, LEDGER_TABLE_NAME, MARKER_TABLE_NAME } from \"@internal/target-mysql/control-tables\";\nimport { mysqlQueryNotYetSupported } from \"@internal/target-mysql/errors\";\nimport { withMarkerLock } from \"@internal/target-mysql/marker-lock\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { quoteIdentifier, quoteLiteral } from \"@internal/target-mysql/sql-utils\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { resolveIntrospectedColumnType } from \"@internal/family-sql/control-adapter\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { readMysqlDefault } from \"@internal/target-mysql/default-normalizer\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ledgerOriginFromStored } from \"@internal/migration-tools/ledger-origin\";\n//#region src/core/migrations/ddl-renderer.ts\n/** Column types MySQL gives a default only when it is written as an expression in parentheses. */\nconst EXPRESSION_DEFAULT_ONLY = /^(?:(?:tiny|medium|long)?(?:text|blob)|json|geometry)\\b/i;\nconst FRACTIONAL_SECONDS = /^(?:datetime|timestamp)\\((\\d)\\)$/i;\nfunction refusedDefault(where, why) {\n\tthrow structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has a default MySQL cannot store: ${why}`, { meta: {\n\t\ttable: where.table,\n\t\tcolumn: where.column\n\t} });\n}\n/** A wire value as the SQL literal MySQL reads for it. */\nfunction mysqlInlineLiteral(wire, where) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"1\" : \"0\";\n\tif (typeof wire === \"number\") {\n\t\tif (!Number.isFinite(wire)) return refusedDefault(where, `${wire} is not a finite number`);\n\t\treturn String(wire);\n\t}\n\tif (typeof wire === \"bigint\") return String(wire);\n\tif (typeof wire === \"string\") return quoteLiteral(wire);\n\tif (wire instanceof Date) return quoteLiteral(encodeMysqlDatetime(wire));\n\tif (wire instanceof Uint8Array) return `X'${Buffer.from(wire).toString(\"hex\")}'`;\n\tif (typeof wire === \"object\") return quoteLiteral(JSON.stringify(wire));\n\treturn refusedDefault(where, `a ${typeof wire} has no SQL literal`);\n}\nfunction withinParentheses(columnType, literal) {\n\treturn EXPRESSION_DEFAULT_ONLY.test(columnType.trim()) ? `(${literal})` : literal;\n}\n/** `CURRENT_TIMESTAMP` with the column's fractional-second precision, which MySQL requires to match. */\nfunction currentTimestampFor(columnType) {\n\tconst precision = FRACTIONAL_SECONDS.exec(columnType.trim())?.[1];\n\treturn precision === void 0 ? \"CURRENT_TIMESTAMP\" : `CURRENT_TIMESTAMP(${precision})`;\n}\n/**\n* The `DEFAULT …` clause of a column, or `''` for an `autoincrement()` default, which a column writes as `AUTO_INCREMENT` instead. A literal is read by the column's codec, and a text or blob column's literal is written as an expression, as MySQL requires.\n*/\nasync function renderMysqlColumnDefault(def, columnType, codecLookup, codecRef, where) {\n\tif (def.kind === \"function\") {\n\t\tconst text = def.expression.text;\n\t\tif (text === \"autoincrement()\") return \"\";\n\t\tif (text === \"now()\") return `DEFAULT (${currentTimestampFor(columnType)})`;\n\t\tif (checkSqlDefaultText(text) !== void 0) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Unsafe default expression in contract: \"${text}\". Default expressions must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.`, { meta: { expression: text } });\n\t\treturn `DEFAULT (${renderOpaqueSql(def.expression)})`;\n\t}\n\tconst encoded = codecRef === void 0 ? void 0 : await encodeLiteralDefault(codecLookup, codecRef, def.value, where);\n\tif (encoded?.kind === \"sql-null\") return \"DEFAULT NULL\";\n\treturn `DEFAULT ${withinParentheses(columnType, mysqlInlineLiteral(encoded === void 0 ? def.value : encoded.wire, where))}`;\n}\nfunction isAutoincrement(column) {\n\treturn column.default?.kind === \"function\" && column.default.expression.text === \"autoincrement()\";\n}\nasync function renderColumn(column, codecLookup, table) {\n\tconst parts = [quoteIdentifier(column.name), column.type];\n\tif (column.notNull) parts.push(\"NOT NULL\");\n\tif (column.default !== void 0) {\n\t\tconst clause = await renderMysqlColumnDefault(column.default, column.type, codecLookup, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t\tif (clause.length > 0) parts.push(clause);\n\t}\n\tif (isAutoincrement(column)) parts.push(\"AUTO_INCREMENT\");\n\tif (column.primaryKey) parts.push(\"PRIMARY KEY\");\n\treturn parts.join(\" \");\n}\nfunction columnList(columns) {\n\treturn columns.map(quoteIdentifier).join(\", \");\n}\nfunction named(name, body) {\n\treturn name === void 0 ? body : `CONSTRAINT ${quoteIdentifier(name)} ${body}`;\n}\nfunction renderConstraint(constraint) {\n\tswitch (constraint.kind) {\n\t\tcase \"primary-key\": return named(constraint.name, `PRIMARY KEY (${columnList(constraint.columns)})`);\n\t\tcase \"unique\": return named(constraint.name, `UNIQUE (${columnList(constraint.columns)})`);\n\t\tcase \"foreign-key\": {\n\t\t\tconst actions = [constraint.onDelete === void 0 ? void 0 : `ON DELETE ${REFERENTIAL_ACTION_SQL[constraint.onDelete]}`, constraint.onUpdate === void 0 ? void 0 : `ON UPDATE ${REFERENTIAL_ACTION_SQL[constraint.onUpdate]}`].filter((action) => action !== void 0);\n\t\t\treturn named(constraint.name, [`FOREIGN KEY (${columnList(constraint.columns)}) REFERENCES ${quoteIdentifier(constraint.refTable)} (${columnList(constraint.refColumns)})`, ...actions].join(\" \"));\n\t\t}\n\t\tcase \"check-expression\": throw structuredError(\"CONTRACT.CONSTRAINT_INVALID\", `The MySQL target does not write CHECK constraints yet (constraint \"${constraint.name}\").`, { meta: { constraintName: constraint.name } });\n\t}\n}\n/** The `CREATE TABLE` statement of a MySQL DDL node. */\nasync function renderMysqlCreateTable(node, codecLookup) {\n\tconst definitions = [...await Promise.all(node.columns.map((column) => renderColumn(column, codecLookup, node.table))), ...(node.constraints ?? []).map(renderConstraint)];\n\treturn {\n\t\tsql: `CREATE TABLE ${node.ifNotExists === true ? \"IF NOT EXISTS \" : \"\"}${quoteIdentifier(node.table)} (\\n ${definitions.join(\",\\n \")}\\n)`,\n\t\tparams: []\n\t};\n}\n//#endregion\n//#region src/core/migrations/declared-indexes.ts\nfunction isLoose(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction child(value, key) {\n\tconst found = isLoose(value) ? value[key] : void 0;\n\treturn isLoose(found) ? found : void 0;\n}\nfunction tableIndexKey(tableName, indexName) {\n\treturn JSON.stringify([tableName, indexName]);\n}\n/** The indexes the contract handed to introspection declares, read from every contract space it holds. */\nfunction declaredIndexes(contract) {\n\tconst contracts = isLoose(contract) && Array.isArray(contract[\"contracts\"]) ? contract[\"contracts\"] : [contract];\n\tconst declared = /* @__PURE__ */ new Set();\n\tconst declaredUnique = /* @__PURE__ */ new Set();\n\tfor (const space of contracts) for (const namespace of Object.values(child(child(space, \"storage\"), \"namespaces\") ?? {})) for (const [tableName, table] of Object.entries(child(child(namespace, \"entries\"), \"table\") ?? {})) {\n\t\tconst indexes = isLoose(table) ? table[\"indexes\"] : void 0;\n\t\tfor (const index of Array.isArray(indexes) ? indexes : []) {\n\t\t\tif (!isLoose(index) || typeof index[\"name\"] !== \"string\") continue;\n\t\t\tconst key = tableIndexKey(tableName, index[\"name\"]);\n\t\t\tdeclared.add(key);\n\t\t\tif (index[\"unique\"] === true) declaredUnique.add(key);\n\t\t}\n\t}\n\treturn {\n\t\tdeclaresIndex: (tableName, indexName) => declared.has(tableIndexKey(tableName, indexName)),\n\t\tdeclaresUniqueIndex: (tableName, indexName) => declaredUnique.has(tableIndexKey(tableName, indexName))\n\t};\n}\n//#endregion\n//#region src/core/migrations/introspection.ts\nconst NOTHING_DECLARED = {\n\tdeclaresIndex: () => false,\n\tdeclaresUniqueIndex: () => false\n};\nconst PRIMARY_INDEX = \"PRIMARY\";\nconst REFERENTIAL_ACTIONS = {\n\tRESTRICT: \"restrict\",\n\tCASCADE: \"cascade\",\n\t\"SET NULL\": \"setNull\",\n\t\"SET DEFAULT\": \"setDefault\"\n};\n/** A rule `REFERENTIAL_CONSTRAINTS` reports, with `NO ACTION`, MySQL's default, as no action at all. */\nfunction referentialAction(rule) {\n\tconst normalized = rule.toUpperCase();\n\tif (normalized === \"NO ACTION\") return void 0;\n\tconst action = REFERENTIAL_ACTIONS[normalized];\n\tif (action === void 0) throw structuredError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Unknown MySQL referential action rule: \"${rule}\". Expected one of: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT.`, { meta: { rule } });\n\treturn action;\n}\nfunction tableDependsOn(tableName) {\n\treturn [{\n\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\tid: tableName\n\t}];\n}\nfunction columnDependsOn(tableName, columns) {\n\treturn columns.map((column) => [...tableDependsOn(tableName), {\n\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\tid: `column:${column}`\n\t}]);\n}\nfunction groupBy(rows, key) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const row of rows) {\n\t\tconst group = groups.get(key(row));\n\t\tif (group === void 0) groups.set(key(row), [row]);\n\t\telse group.push(row);\n\t}\n\treturn groups;\n}\nfunction byPosition(position) {\n\treturn (a, b) => Number(position(a)) - Number(position(b));\n}\nasync function columnOf(row, dataTypes, readLiteralDefault) {\n\tconst reported = readMysqlDefault(row.column_default, row.extra);\n\tconst readDefault = reported === void 0 ? {} : reported.kind === \"function\" ? { resolvedDefault: reported } : await readLiteralDefault(row.table_name, row.column_name, reported.literal.body);\n\tconst reportedType = {\n\t\ttext: row.column_type,\n\t\tkind: void 0,\n\t\tschema: void 0,\n\t\tname: void 0\n\t};\n\treturn {\n\t\tname: row.column_name,\n\t\ttypeText: row.column_type,\n\t\tnullable: row.is_nullable === \"YES\",\n\t\t...ifDefined(\"default\", row.column_default ?? void 0),\n\t\t...readDefault,\n\t\treportedType,\n\t\t...resolveIntrospectedColumnType(reportedType, dataTypes)\n\t};\n}\nfunction indexesOf(rows) {\n\treturn [...groupBy(rows, (row) => row.index_name).entries()].map(([name, parts]) => {\n\t\tconst ordered = [...parts].sort(byPosition((part) => part.seq_in_index));\n\t\tconst expressions = ordered.flatMap((part) => part.expression === null ? [] : [part.expression]);\n\t\treturn {\n\t\t\tname,\n\t\t\tunique: ordered[0]?.non_unique === \"0\",\n\t\t\tcolumns: ordered.flatMap((part) => part.column_name === null ? [] : [part.column_name]),\n\t\t\texpression: expressions.length === 0 ? void 0 : expressions.join(\", \")\n\t\t};\n\t});\n}\nfunction sameColumns(a, b) {\n\treturn a.length === b.length && a.every((column, index) => column === b[index]);\n}\nfunction foreignKeysOf(tableName, rows) {\n\treturn [...groupBy(rows, (row) => row.constraint_name).entries()].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([name, parts]) => {\n\t\tconst ordered = [...parts].sort(byPosition((part) => part.ordinal_position));\n\t\tconst [first] = ordered;\n\t\tconst columns = ordered.map((part) => part.column_name);\n\t\tconst referencedTable = first?.referenced_table_name ?? \"\";\n\t\tconst referencedSchema = first?.referenced_table_schema ?? void 0;\n\t\treturn {\n\t\t\tcolumns,\n\t\t\treferencedTable,\n\t\t\treferencedColumns: ordered.map((part) => part.referenced_column_name),\n\t\t\t...ifDefined(\"referencedSchema\", referencedSchema),\n\t\t\tname,\n\t\t\t...ifDefined(\"onDelete\", first === void 0 ? void 0 : referentialAction(first.delete_rule)),\n\t\t\t...ifDefined(\"onUpdate\", first === void 0 ? void 0 : referentialAction(first.update_rule)),\n\t\t\tdependsOn: [...referencedSchema === void 0 ? [tableDependsOn(referencedTable)] : [], ...columnDependsOn(tableName, columns)]\n\t\t};\n\t});\n}\n/**\n* The index InnoDB creates for a foreign key that no index already serves: it carries the key's name and exactly the key's columns. Introspection leaves it out, because the contract describes the key, not that index. An explicit index can look the same, so one the contract declares is kept.\n*/\nfunction isForeignKeyIndex(tableName, index, foreignKeys, declared) {\n\tif (declared.declaresIndex(tableName, index.name)) return false;\n\treturn foreignKeys.some((fk) => fk.name === index.name && index.expression === void 0 && sameColumns(fk.columns, index.columns));\n}\nasync function tableOf(tableName, rows, dataTypes, readLiteralDefault, declared) {\n\tconst columns = {};\n\tfor (const row of [...rows.columns].sort(byPosition((column) => column.ordinal_position))) columns[row.column_name] = await columnOf(row, dataTypes, readLiteralDefault);\n\tconst foreignKeys = foreignKeysOf(tableName, rows.foreignKeys);\n\tconst indexes = indexesOf(rows.indexes);\n\tconst expressionIndexNames = new Set(indexes.filter((index) => index.expression !== void 0).map((index) => index.name));\n\tconst uniqueConstraintNames = new Set(rows.constraints.filter((constraint) => constraint.constraint_type === \"UNIQUE\" && !expressionIndexNames.has(constraint.constraint_name) && !declared.declaresUniqueIndex(tableName, constraint.constraint_name)).map((constraint) => constraint.constraint_name));\n\tconst primary = indexes.find((index) => index.name === PRIMARY_INDEX);\n\tconst primaryKey = primary === void 0 ? void 0 : {\n\t\tcolumns: primary.columns,\n\t\tdependsOn: columnDependsOn(tableName, primary.columns)\n\t};\n\tconst uniques = indexes.filter((index) => uniqueConstraintNames.has(index.name)).map((index) => ({\n\t\tcolumns: index.columns,\n\t\tname: index.name,\n\t\tdependsOn: columnDependsOn(tableName, index.columns)\n\t}));\n\tconst plainIndexes = indexes.filter((index) => index.name !== PRIMARY_INDEX && !uniqueConstraintNames.has(index.name) && !isForeignKeyIndex(tableName, index, foreignKeys, declared)).map((index) => {\n\t\tconst base = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: index.name\n\t\t\t},\n\t\t\twhere: void 0,\n\t\t\tunique: index.unique,\n\t\t\tpartial: false,\n\t\t\ttype: void 0,\n\t\t\toptions: void 0,\n\t\t\tannotations: void 0,\n\t\t\tdependsOn: columnDependsOn(tableName, index.columns)\n\t\t};\n\t\treturn index.expression === void 0 ? {\n\t\t\t...base,\n\t\t\tcolumns: index.columns\n\t\t} : {\n\t\t\t...base,\n\t\t\texpression: index.expression\n\t\t};\n\t});\n\treturn new SqlTableIR({\n\t\tname: tableName,\n\t\tcolumns,\n\t\t...ifDefined(\"primaryKey\", primaryKey),\n\t\tforeignKeys,\n\t\tuniques,\n\t\tindexes: plainIndexes\n\t});\n}\n/**\n* The schema IR of the database the rows describe: one flat tree of its tables. MySQL lists every unique index as a UNIQUE constraint, so one is reported as a unique constraint unless the contract declares a unique index of that name on the table, or it indexes an expression. The index InnoDB creates for a foreign key is left out, unless the contract declares an index of that name on the table.\n*/\nasync function buildMysqlSchemaIR(rows, dataTypes, readLiteralDefault, declared = NOTHING_DECLARED) {\n\tconst columnsByTable = groupBy(rows.columns, (row) => row.table_name);\n\tconst indexesByTable = groupBy(rows.indexes, (row) => row.table_name);\n\tconst constraintsByTable = groupBy(rows.constraints, (row) => row.table_name);\n\tconst foreignKeysByTable = groupBy(rows.foreignKeys, (row) => row.table_name);\n\tconst tables = {};\n\tfor (const tableName of rows.tables) tables[tableName] = await tableOf(tableName, {\n\t\tcolumns: columnsByTable.get(tableName) ?? [],\n\t\tindexes: indexesByTable.get(tableName) ?? [],\n\t\tconstraints: constraintsByTable.get(tableName) ?? [],\n\t\tforeignKeys: foreignKeysByTable.get(tableName) ?? []\n\t}, dataTypes, readLiteralDefault, declared);\n\treturn new SqlSchemaIR({ tables });\n}\n//#endregion\n//#region src/core/migrations/introspection-queries.ts\nconst TABLES = `SELECT TABLE_NAME AS table_name\n FROM information_schema.TABLES\n WHERE TABLE_SCHEMA = DATABASE() AND TABLE_TYPE = 'BASE TABLE'\n ORDER BY TABLE_NAME`;\nconst COLUMNS = `SELECT TABLE_NAME AS table_name, COLUMN_NAME AS column_name,\n ORDINAL_POSITION AS ordinal_position, COLUMN_DEFAULT AS column_default,\n IS_NULLABLE AS is_nullable, COLUMN_TYPE AS column_type, EXTRA AS extra\n FROM information_schema.COLUMNS\n WHERE TABLE_SCHEMA = DATABASE()\n ORDER BY TABLE_NAME, ORDINAL_POSITION`;\nconst INDEXES = `SELECT TABLE_NAME AS table_name, INDEX_NAME AS index_name,\n NON_UNIQUE AS non_unique, SEQ_IN_INDEX AS seq_in_index,\n COLUMN_NAME AS column_name, EXPRESSION AS expression\n FROM information_schema.STATISTICS\n WHERE TABLE_SCHEMA = DATABASE()\n ORDER BY TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX`;\nconst CONSTRAINTS = `SELECT TABLE_NAME AS table_name, CONSTRAINT_NAME AS constraint_name,\n CONSTRAINT_TYPE AS constraint_type\n FROM information_schema.TABLE_CONSTRAINTS\n WHERE TABLE_SCHEMA = DATABASE()`;\nconst FOREIGN_KEYS = `SELECT k.TABLE_NAME AS table_name, k.CONSTRAINT_NAME AS constraint_name,\n k.COLUMN_NAME AS column_name, k.ORDINAL_POSITION AS ordinal_position,\n NULLIF(k.REFERENCED_TABLE_SCHEMA, k.TABLE_SCHEMA) AS referenced_table_schema,\n k.REFERENCED_TABLE_NAME AS referenced_table_name,\n k.REFERENCED_COLUMN_NAME AS referenced_column_name,\n r.UPDATE_RULE AS update_rule, r.DELETE_RULE AS delete_rule\n FROM information_schema.KEY_COLUMN_USAGE k\n JOIN information_schema.REFERENTIAL_CONSTRAINTS r\n ON r.CONSTRAINT_SCHEMA = k.CONSTRAINT_SCHEMA\n AND r.TABLE_NAME = k.TABLE_NAME\n AND r.CONSTRAINT_NAME = k.CONSTRAINT_NAME\n WHERE k.TABLE_SCHEMA = DATABASE() AND k.REFERENCED_TABLE_NAME IS NOT NULL\n ORDER BY k.TABLE_NAME, k.CONSTRAINT_NAME, k.ORDINAL_POSITION`;\n/** Reads the catalog rows of the connection's database, leaving out the runner's control tables. */\nasync function readMysqlCatalog(driver) {\n\tconst keep = (rows) => rows.filter((row) => !CONTROL_TABLE_NAMES.has(row.table_name));\n\tconst tables = await driver.query(TABLES);\n\tconst columns = await driver.query(COLUMNS);\n\tconst indexes = await driver.query(INDEXES);\n\tconst constraints = await driver.query(CONSTRAINTS);\n\tconst foreignKeys = await driver.query(FOREIGN_KEYS);\n\treturn {\n\t\ttables: keep(tables.rows).map((row) => row.table_name),\n\t\tcolumns: keep(columns.rows),\n\t\tindexes: keep(indexes.rows),\n\t\tconstraints: keep(constraints.rows),\n\t\tforeignKeys: keep(foreignKeys.rows)\n\t};\n}\n//#endregion\n//#region src/core/migrations/marker-ledger.ts\nconst LEDGER_COLUMNS = \"space, migration_name, migration_hash, origin_core_hash, destination_core_hash, operations, created_at\";\nfunction operationCount(operations) {\n\tconst parsed = typeof operations === \"string\" ? parseOperations(operations) : operations;\n\treturn Array.isArray(parsed) ? parsed.length : 0;\n}\nfunction parseOperations(text) {\n\ttry {\n\t\treturn JSON.parse(text);\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction text(row, column) {\n\tconst value = row[column];\n\treturn typeof value === \"string\" ? value : String(value);\n}\n/** The ledger's entries for `space`, or for every space, in the order they were applied. */\nasync function readLedgerEntries(driver, space) {\n\tif (!await tableExists(driver, LEDGER_TABLE_NAME)) return [];\n\tconst select = `SELECT ${LEDGER_COLUMNS} FROM ${quoteIdentifier(LEDGER_TABLE_NAME)}`;\n\tconst { rows } = space === void 0 ? await driver.query(`${select} ORDER BY id`) : await driver.query(`${select} WHERE space = ? ORDER BY id`, [space]);\n\treturn rows.map((row) => {\n\t\tconst origin = row[\"origin_core_hash\"];\n\t\treturn {\n\t\t\tspace: text(row, \"space\"),\n\t\t\tmigrationName: text(row, \"migration_name\"),\n\t\t\tmigrationHash: text(row, \"migration_hash\"),\n\t\t\tfrom: ledgerOriginFromStored(typeof origin === \"string\" ? origin : null),\n\t\t\tto: text(row, \"destination_core_hash\"),\n\t\t\tappliedAt: decodeMysqlDatetime(text(row, \"created_at\")),\n\t\t\toperationCount: operationCount(row[\"operations\"])\n\t\t};\n\t});\n}\nconst MARKER_INSERT = `INSERT INTO ${quoteIdentifier(MARKER_TABLE_NAME)} (space, core_hash, profile_hash, contract_json, canonical_version, updated_at, app_tag, meta, invariants) VALUES (?, ?, ?, NULL, NULL, CURRENT_TIMESTAMP(3), NULL, '{}', ?)`;\nfunction markerInsertParams(space, destination) {\n\treturn [\n\t\tspace,\n\t\tdestination.storageHash,\n\t\tdestination.profileHash,\n\t\tJSON.stringify(destination.invariants ?? [])\n\t];\n}\n/** Inserts the marker row of `space`; fails when the space already has one. */\nasync function insertMarkerRow(driver, space, destination) {\n\tawait driver.query(MARKER_INSERT, markerInsertParams(space, destination));\n}\n/** Writes the marker row of `space`, replacing the row the space already has. */\nasync function upsertMarkerRow(driver, space, destination) {\n\tawait driver.query(`${MARKER_INSERT} AS incoming ON DUPLICATE KEY UPDATE core_hash = incoming.core_hash, profile_hash = incoming.profile_hash, contract_json = incoming.contract_json, canonical_version = incoming.canonical_version, updated_at = CURRENT_TIMESTAMP(3), app_tag = incoming.app_tag, meta = incoming.meta, invariants = incoming.invariants`, markerInsertParams(space, destination));\n}\nfunction invariantsOf(text) {\n\tconst parsed = parseJsonColumn(\"invariants\", text);\n\treturn Array.isArray(parsed) ? parsed.filter((item) => typeof item === \"string\") : [];\n}\n/**\n* Advances the marker row of `space` from `expectedFrom` to `destination`, and says whether it did. MySQL has no `RETURNING`, so the row is read and locked with `FOR UPDATE` first, inside the transaction the caller holds, and written only when it still holds `expectedFrom`. Supplied invariants are merged with the stored ones.\n*/\nasync function compareAndSwapMarkerRow(driver, space, expectedFrom, destination) {\n\tconst { rows } = await driver.query(`SELECT core_hash, invariants FROM ${quoteIdentifier(MARKER_TABLE_NAME)} WHERE space = ? FOR UPDATE`, [space]);\n\tconst [row] = rows;\n\tif (row === void 0 || row[\"core_hash\"] !== expectedFrom) return false;\n\tconst invariants = destination.invariants === void 0 ? void 0 : [.../* @__PURE__ */ new Set([...invariantsOf(row[\"invariants\"]), ...destination.invariants])].sort();\n\tawait driver.query(`UPDATE ${quoteIdentifier(MARKER_TABLE_NAME)} SET core_hash = ?, profile_hash = ?, updated_at = CURRENT_TIMESTAMP(3)${invariants === void 0 ? \"\" : \", invariants = ?\"} WHERE space = ? AND core_hash = ?`, [\n\t\tdestination.storageHash,\n\t\tdestination.profileHash,\n\t\t...invariants === void 0 ? [] : [JSON.stringify(invariants)],\n\t\tspace,\n\t\texpectedFrom\n\t]);\n\treturn true;\n}\n/** Appends a ledger entry for `space`. */\nasync function insertLedgerRow(driver, space, entry) {\n\tawait driver.query(`INSERT INTO ${quoteIdentifier(LEDGER_TABLE_NAME)} (space, migration_name, migration_hash, origin_core_hash, destination_core_hash, operations) VALUES (?, ?, ?, ?, ?, ?)`, [\n\t\tspace,\n\t\tentry.migrationName,\n\t\tentry.migrationHash,\n\t\tentry.from,\n\t\tentry.to,\n\t\tJSON.stringify(entry.operations)\n\t]);\n}\n//#endregion\n//#region src/core/migrations/control-adapter.ts\n/** A DDL node MySQL does not build, such as one another target's visitor accepts. */\nfunction unsupportedDdl(ast) {\n\treturn structuredError(\"RUNTIME.DDL_UNSUPPORTED\", `The MySQL control adapter cannot lower the DDL node \"${ast.kind}\".`, { meta: {\n\t\tsurface: \"control-adapter\",\n\t\tkind: ast.kind\n\t} });\n}\n/**\n* The MySQL control adapter. It introspects the connection's database from `information_schema`, creates, reads and writes the marker and ledger tables, takes the marker lock, and runs work in a transaction. Query lowering refuses with `RUNTIME.AST_UNSUPPORTED`.\n*/\nvar MysqlControlAdapter = class {\n\tcodecRegistry;\n\tdeclaredDataTypes;\n\tfamilyId = \"sql\";\n\ttargetId = \"mysql\";\n\tmarkerLocation = MARKER_TABLE_NAME;\n\t/** `declaredDataTypes` are the stack's data types, which introspection resolves each column's reported type over. */\n\tconstructor(codecRegistry, declaredDataTypes) {\n\t\tthis.codecRegistry = codecRegistry;\n\t\tthis.declaredDataTypes = declaredDataTypes;\n\t}\n\tbootstrapControlTableQueries() {\n\t\treturn buildControlTableBootstrapQueries();\n\t}\n\tbootstrapSignMarkerQueries() {\n\t\treturn buildSignMarkerBootstrapQueries();\n\t}\n\tlower(ast) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() cannot lower DDL: DDL default literals require inline codec encoding, which is async. Use lowerToExecuteRequest().\", { meta: { surface: \"control-adapter\" } });\n\t\tthrow mysqlQueryNotYetSupported(\"Lowering queries\");\n\t}\n\tasync lowerToExecuteRequest(ast) {\n\t\tif (!isDdlNode(ast)) throw mysqlQueryNotYetSupported(\"Lowering queries\");\n\t\tif (typeof ast.accept !== \"function\") throw unsupportedDdl(ast);\n\t\treturn ast.accept(new Proxy({ createTable: (node) => renderMysqlCreateTable(node, this.codecRegistry) }, { get: (target, method) => Reflect.get(target, method) ?? (() => Promise.reject(unsupportedDdl(ast))) }));\n\t}\n\tasync renderColumnDefault(column, table) {\n\t\tif (column.default === void 0) return \"\";\n\t\treturn renderMysqlColumnDefault(column.default, column.type, this.codecRegistry, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t}\n\tasync readMarker(driver, space) {\n\t\tconst result = await readMarkerResult(driver, space);\n\t\treturn result.kind === \"present\" ? result.record : null;\n\t}\n\tasync readAllMarkers(driver) {\n\t\treturn withMarkerReadErrorHandling(async () => {\n\t\t\tconst markers = /* @__PURE__ */ new Map();\n\t\t\tfor (const row of await readMarkerRows(driver, void 0) ?? []) {\n\t\t\t\tconst space = String(row[\"space\"]);\n\t\t\t\tmarkers.set(space, parseMarkerRowSafely(row, () => decodeMysqlMarkerRow(row), {\n\t\t\t\t\tspace,\n\t\t\t\t\tmarkerLocation: MARKER_TABLE_NAME\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn markers;\n\t\t}, {\n\t\t\tspace: APP_SPACE_ID,\n\t\t\tmarkerLocation: MARKER_TABLE_NAME\n\t\t});\n\t}\n\tasync readLedger(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => readLedgerEntries(driver, space), {\n\t\t\tspace: space ?? \"*\",\n\t\t\tmarkerLocation: LEDGER_TABLE_NAME\n\t\t});\n\t}\n\tasync insertMarker(driver, space, destination) {\n\t\tawait insertMarkerRow(driver, space, destination);\n\t}\n\tasync initMarker(driver, space, destination) {\n\t\tawait upsertMarkerRow(driver, space, destination);\n\t}\n\tasync updateMarker(driver, space, expectedFrom, destination) {\n\t\treturn compareAndSwapMarkerRow(driver, space, expectedFrom, destination);\n\t}\n\tasync writeLedgerEntry(driver, space, entry) {\n\t\tawait insertLedgerRow(driver, space, entry);\n\t}\n\t/** Takes no lock: MySQL's `GET_LOCK` lives for the session, not the transaction, so {@link holdMarkerLock} takes it around the transaction instead. */\n\tasync lockMarker(_driver) {}\n\t/** Takes `GET_LOCK` before `work` runs and releases it when `work` ends, so `db sign` creates the marker table, whose DDL would end a transaction, under the lock. */\n\tasync holdMarkerLock(driver, work) {\n\t\treturn withMarkerLock(driver, work);\n\t}\n\tasync withTransaction(driver, fn) {\n\t\treturn this.#inTransaction(driver, fn);\n\t}\n\tasync #inTransaction(driver, fn) {\n\t\tawait driver.query(\"START TRANSACTION\");\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await fn();\n\t\t} catch (error) {\n\t\t\ttry {\n\t\t\t\tawait driver.query(\"ROLLBACK\");\n\t\t\t} catch (rollbackError) {\n\t\t\t\tif (error instanceof Error && error.cause === void 0) error.cause = rollbackError;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tawait driver.query(\"COMMIT\");\n\t\treturn result;\n\t}\n\tasync introspect(driver, contract) {\n\t\tconst columns = contractColumns(contract);\n\t\treturn buildMysqlSchemaIR(await readMysqlCatalog(driver), this.declaredDataTypes, async (tableName, columnName, rawDefault) => {\n\t\t\tconst column = columns.columnOf(void 0, tableName, columnName);\n\t\t\tconst codec = column === void 0 ? void 0 : codecForRef(this.codecRegistry, column.codecRef);\n\t\t\tif (codec === void 0) return {};\n\t\t\treturn readColumnDefault(codec, {\n\t\t\t\tliteral: {\n\t\t\t\t\tkind: \"value\",\n\t\t\t\t\tbody: rawDefault\n\t\t\t\t},\n\t\t\t\traw: rawDefault\n\t\t\t}, void 0);\n\t\t}, declaredIndexes(contract));\n\t}\n};\n//#endregion\n//#region src/exports/control.ts\nconst mysqlAdapterDescriptor = {\n\t...mysqlAdapterDescriptorMeta,\n\tcontrolMutationDefaults: {\n\t\tdefaultFunctionRegistry: new Map(Object.entries(sqlDefaultFunctions())),\n\t\tgeneratorDescriptors: []\n\t},\n\tcreate(stack) {\n\t\treturn new MysqlControlAdapter(assembleMysqlCodecRegistry(stack.target, stack.extensions), stack.declaredDataTypes.map(({ type }) => type));\n\t}\n};\n//#endregion\nexport { MysqlControlAdapter, buildMysqlSchemaIR, mysqlAdapterDescriptor as default };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,0BAA0B;AAChC,MAAM,qBAAqB;AAC3B,SAAS,eAAe,OAAO,KAAK;CACnC,MAAM,gBAAgB,4BAA4B,WAAW,MAAM,MAAM,KAAK,MAAM,OAAO,sCAAsC,OAAO,EAAE,MAAM;EAC/I,OAAO,MAAM;EACb,QAAQ,MAAM;CACf,EAAE,CAAC;AACJ;;AAEA,SAAS,mBAAmB,MAAM,OAAO;CACxC,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI,OAAO,SAAS,WAAW,OAAO,OAAO,MAAM;CACnD,IAAI,OAAO,SAAS,UAAU;EAC7B,IAAI,CAAC,OAAO,SAAS,IAAI,GAAG,OAAO,eAAe,OAAO,GAAG,KAAK,wBAAwB;EACzF,OAAO,OAAO,IAAI;CACnB;CACA,IAAI,OAAO,SAAS,UAAU,OAAO,OAAO,IAAI;CAChD,IAAI,OAAO,SAAS,UAAU,OAAO,aAAa,IAAI;CACtD,IAAI,gBAAgB,MAAM,OAAO,aAAa,oBAAoB,IAAI,CAAC;CACvE,IAAI,gBAAgB,YAAY,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE;CAC9E,IAAI,OAAO,SAAS,UAAU,OAAO,aAAa,KAAK,UAAU,IAAI,CAAC;CACtE,OAAO,eAAe,OAAO,KAAK,OAAO,KAAK,oBAAoB;AACnE;AACA,SAAS,kBAAkB,YAAY,SAAS;CAC/C,OAAO,wBAAwB,KAAK,WAAW,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK;AAC3E;;AAEA,SAAS,oBAAoB,YAAY;CACxC,MAAM,YAAY,mBAAmB,KAAK,WAAW,KAAK,CAAC,CAAC,GAAG;CAC/D,OAAO,cAAc,KAAK,IAAI,sBAAsB,qBAAqB,UAAU;AACpF;;;;AAIA,eAAe,yBAAyB,KAAK,YAAY,aAAa,UAAU,OAAO;CACtF,IAAI,IAAI,SAAS,YAAY;EAC5B,MAAM,OAAO,IAAI,WAAW;EAC5B,IAAI,SAAS,mBAAmB,OAAO;EACvC,IAAI,SAAS,SAAS,OAAO,YAAY,oBAAoB,UAAU,EAAE;EACzE,IAAI,oBAAoB,IAAI,MAAM,KAAK,GAAG,MAAM,gBAAgB,4BAA4B,2CAA2C,KAAK,yGAAyG,EAAE,MAAM,EAAE,YAAY,KAAK,EAAE,CAAC;EACnR,OAAO,YAAY,gBAAgB,IAAI,UAAU,EAAE;CACpD;CACA,MAAM,UAAU,aAAa,KAAK,IAAI,KAAK,IAAI,MAAM,qBAAqB,aAAa,UAAU,IAAI,OAAO,KAAK;CACjH,IAAI,SAAS,SAAS,YAAY,OAAO;CACzC,OAAO,WAAW,kBAAkB,YAAY,mBAAmB,YAAY,KAAK,IAAI,IAAI,QAAQ,QAAQ,MAAM,KAAK,CAAC;AACzH;AACA,SAAS,gBAAgB,QAAQ;CAChC,OAAO,OAAO,SAAS,SAAS,cAAc,OAAO,QAAQ,WAAW,SAAS;AAClF;AACA,eAAe,aAAa,QAAQ,aAAa,OAAO;CACvD,MAAM,QAAQ,CAAC,gBAAgB,OAAO,IAAI,GAAG,OAAO,IAAI;CACxD,IAAI,OAAO,SAAS,MAAM,KAAK,UAAU;CACzC,IAAI,OAAO,YAAY,KAAK,GAAG;EAC9B,MAAM,SAAS,MAAM,yBAAyB,OAAO,SAAS,OAAO,MAAM,aAAa,OAAO,UAAU;GACxG;GACA,QAAQ,OAAO;EAChB,CAAC;EACD,IAAI,OAAO,SAAS,GAAG,MAAM,KAAK,MAAM;CACzC;CACA,IAAI,gBAAgB,MAAM,GAAG,MAAM,KAAK,gBAAgB;CACxD,IAAI,OAAO,YAAY,MAAM,KAAK,aAAa;CAC/C,OAAO,MAAM,KAAK,GAAG;AACtB;AACA,SAAS,WAAW,SAAS;CAC5B,OAAO,QAAQ,IAAI,eAAe,CAAC,CAAC,KAAK,IAAI;AAC9C;AACA,SAAS,MAAM,MAAM,MAAM;CAC1B,OAAO,SAAS,KAAK,IAAI,OAAO,cAAc,gBAAgB,IAAI,EAAE,GAAG;AACxE;AACA,SAAS,iBAAiB,YAAY;CACrC,QAAQ,WAAW,MAAnB;EACC,KAAK,eAAe,OAAO,MAAM,WAAW,MAAM,gBAAgB,WAAW,WAAW,OAAO,EAAE,EAAE;EACnG,KAAK,UAAU,OAAO,MAAM,WAAW,MAAM,WAAW,WAAW,WAAW,OAAO,EAAE,EAAE;EACzF,KAAK,eAAe;GACnB,MAAM,UAAU,CAAC,WAAW,aAAa,KAAK,IAAI,KAAK,IAAI,aAAa,uBAAuB,WAAW,aAAa,WAAW,aAAa,KAAK,IAAI,KAAK,IAAI,aAAa,uBAAuB,WAAW,WAAW,CAAC,CAAC,QAAQ,WAAW,WAAW,KAAK,CAAC;GACjQ,OAAO,MAAM,WAAW,MAAM,CAAC,gBAAgB,WAAW,WAAW,OAAO,EAAE,eAAe,gBAAgB,WAAW,QAAQ,EAAE,IAAI,WAAW,WAAW,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC;EAClM;EACA,KAAK,oBAAoB,MAAM,gBAAgB,+BAA+B,sEAAsE,WAAW,KAAK,MAAM,EAAE,MAAM,EAAE,gBAAgB,WAAW,KAAK,EAAE,CAAC;CACxN;AACD;;AAEA,eAAe,uBAAuB,MAAM,aAAa;CACxD,MAAM,cAAc,CAAC,GAAG,MAAM,QAAQ,IAAI,KAAK,QAAQ,KAAK,WAAW,aAAa,QAAQ,aAAa,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,KAAK,eAAe,CAAC,EAAA,CAAG,IAAI,gBAAgB,CAAC;CACzK,OAAO;EACN,KAAK,gBAAgB,KAAK,gBAAgB,OAAO,mBAAmB,KAAK,gBAAgB,KAAK,KAAK,EAAE,QAAQ,YAAY,KAAK,OAAO,EAAE;EACvI,QAAQ,CAAC;CACV;AACD;AAGA,SAAS,QAAQ,OAAO;CACvB,OAAO,OAAO,UAAU,YAAY,UAAU;AAC/C;AACA,SAAS,MAAM,OAAO,KAAK;CAC1B,MAAM,QAAQ,QAAQ,KAAK,IAAI,MAAM,OAAO,KAAK;CACjD,OAAO,QAAQ,KAAK,IAAI,QAAQ,KAAK;AACtC;AACA,SAAS,cAAc,WAAW,WAAW;CAC5C,OAAO,KAAK,UAAU,CAAC,WAAW,SAAS,CAAC;AAC7C;;AAEA,SAAS,gBAAgB,UAAU;CAClC,MAAM,YAAY,QAAQ,QAAQ,KAAK,MAAM,QAAQ,SAAS,YAAY,IAAI,SAAS,eAAe,CAAC,QAAQ;CAC/G,MAAM,2BAA2B,IAAI,IAAI;CACzC,MAAM,iCAAiC,IAAI,IAAI;CAC/C,KAAK,MAAM,SAAS,WAAW,KAAK,MAAM,aAAa,OAAO,OAAO,MAAM,MAAM,OAAO,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,MAAM,MAAM,WAAW,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,GAAG;EAC7N,MAAM,UAAU,QAAQ,KAAK,IAAI,MAAM,aAAa,KAAK;EACzD,KAAK,MAAM,SAAS,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,GAAG;GAC1D,IAAI,CAAC,QAAQ,KAAK,KAAK,OAAO,MAAM,YAAY,UAAU;GAC1D,MAAM,MAAM,cAAc,WAAW,MAAM,OAAO;GAClD,SAAS,IAAI,GAAG;GAChB,IAAI,MAAM,cAAc,MAAM,eAAe,IAAI,GAAG;EACrD;CACD;CACA,OAAO;EACN,gBAAgB,WAAW,cAAc,SAAS,IAAI,cAAc,WAAW,SAAS,CAAC;EACzF,sBAAsB,WAAW,cAAc,eAAe,IAAI,cAAc,WAAW,SAAS,CAAC;CACtG;AACD;AAGA,MAAM,mBAAmB;CACxB,qBAAqB;CACrB,2BAA2B;AAC5B;AACA,MAAM,gBAAgB;AACtB,MAAM,sBAAsB;CAC3B,UAAU;CACV,SAAS;CACT,YAAY;CACZ,eAAe;AAChB;;AAEA,SAAS,kBAAkB,MAAM;CAChC,MAAM,aAAa,KAAK,YAAY;CACpC,IAAI,eAAe,aAAa,OAAO,KAAK;CAC5C,MAAM,SAAS,oBAAoB;CACnC,IAAI,WAAW,KAAK,GAAG,MAAM,gBAAgB,sCAAsC,2CAA2C,KAAK,2EAA2E,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;CAChO,OAAO;AACR;AACA,SAAS,eAAe,WAAW;CAClC,OAAO,CAAC;EACP,UAAU,yBAAyB;EACnC,IAAI;CACL,GAAG;EACF,UAAU,yBAAyB;EACnC,IAAI;CACL,CAAC;AACF;AACA,SAAS,gBAAgB,WAAW,SAAS;CAC5C,OAAO,QAAQ,KAAK,WAAW,CAAC,GAAG,eAAe,SAAS,GAAG;EAC7D,UAAU,yBAAyB;EACnC,IAAI,UAAU;CACf,CAAC,CAAC;AACH;AACA,SAAS,QAAQ,MAAM,KAAK;CAC3B,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,OAAO,MAAM;EACvB,MAAM,QAAQ,OAAO,IAAI,IAAI,GAAG,CAAC;EACjC,IAAI,UAAU,KAAK,GAAG,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;OAC3C,MAAM,KAAK,GAAG;CACpB;CACA,OAAO;AACR;AACA,SAAS,WAAW,UAAU;CAC7B,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC;AAC1D;AACA,eAAe,SAAS,KAAK,WAAW,oBAAoB;CAC3D,MAAM,WAAW,iBAAiB,IAAI,gBAAgB,IAAI,KAAK;CAC/D,MAAM,cAAc,aAAa,KAAK,IAAI,CAAC,IAAI,SAAS,SAAS,aAAa,EAAE,iBAAiB,SAAS,IAAI,MAAM,mBAAmB,IAAI,YAAY,IAAI,aAAa,SAAS,QAAQ,IAAI;CAC7L,MAAM,eAAe;EACpB,MAAM,IAAI;EACV,MAAM,KAAK;EACX,QAAQ,KAAK;EACb,MAAM,KAAK;CACZ;CACA,OAAO;EACN,MAAM,IAAI;EACV,UAAU,IAAI;EACd,UAAU,IAAI,gBAAgB;EAC9B,GAAG,UAAU,WAAW,IAAI,kBAAkB,KAAK,CAAC;EACpD,GAAG;EACH;EACA,GAAG,8BAA8B,cAAc,SAAS;CACzD;AACD;AACA,SAAS,UAAU,MAAM;CACxB,OAAO,CAAC,GAAG,QAAQ,OAAO,QAAQ,IAAI,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW;EACnF,MAAM,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,YAAY,SAAS,KAAK,YAAY,CAAC;EACvE,MAAM,cAAc,QAAQ,SAAS,SAAS,KAAK,eAAe,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;EAC/F,OAAO;GACN;GACA,QAAQ,QAAQ,EAAE,EAAE,eAAe;GACnC,SAAS,QAAQ,SAAS,SAAS,KAAK,gBAAgB,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC;GACtF,YAAY,YAAY,WAAW,IAAI,KAAK,IAAI,YAAY,KAAK,IAAI;EACtE;CACD,CAAC;AACF;AACA,SAAS,YAAY,GAAG,GAAG;CAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,QAAQ,UAAU,WAAW,EAAE,MAAM;AAC/E;AACA,SAAS,cAAc,WAAW,MAAM;CACvC,OAAO,CAAC,GAAG,QAAQ,OAAO,QAAQ,IAAI,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW;EACvI,MAAM,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,YAAY,SAAS,KAAK,gBAAgB,CAAC;EAC3E,MAAM,CAAC,SAAS;EAChB,MAAM,UAAU,QAAQ,KAAK,SAAS,KAAK,WAAW;EACtD,MAAM,kBAAkB,OAAO,yBAAyB;EACxD,MAAM,mBAAmB,OAAO,2BAA2B,KAAK;EAChE,OAAO;GACN;GACA;GACA,mBAAmB,QAAQ,KAAK,SAAS,KAAK,sBAAsB;GACpE,GAAG,UAAU,oBAAoB,gBAAgB;GACjD;GACA,GAAG,UAAU,YAAY,UAAU,KAAK,IAAI,KAAK,IAAI,kBAAkB,MAAM,WAAW,CAAC;GACzF,GAAG,UAAU,YAAY,UAAU,KAAK,IAAI,KAAK,IAAI,kBAAkB,MAAM,WAAW,CAAC;GACzF,WAAW,CAAC,GAAG,qBAAqB,KAAK,IAAI,CAAC,eAAe,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,WAAW,OAAO,CAAC;EAC5H;CACD,CAAC;AACF;;;;AAIA,SAAS,kBAAkB,WAAW,OAAO,aAAa,UAAU;CACnE,IAAI,SAAS,cAAc,WAAW,MAAM,IAAI,GAAG,OAAO;CAC1D,OAAO,YAAY,MAAM,OAAO,GAAG,SAAS,MAAM,QAAQ,MAAM,eAAe,KAAK,KAAK,YAAY,GAAG,SAAS,MAAM,OAAO,CAAC;AAChI;AACA,eAAe,QAAQ,WAAW,MAAM,WAAW,oBAAoB,UAAU;CAChF,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,KAAK,YAAY,WAAW,OAAO,gBAAgB,CAAC,GAAG,QAAQ,IAAI,eAAe,MAAM,SAAS,KAAK,WAAW,kBAAkB;CACvK,MAAM,cAAc,cAAc,WAAW,KAAK,WAAW;CAC7D,MAAM,UAAU,UAAU,KAAK,OAAO;CACtC,MAAM,uBAAuB,IAAI,IAAI,QAAQ,QAAQ,UAAU,MAAM,eAAe,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,MAAM,IAAI,CAAC;CACtH,MAAM,wBAAwB,IAAI,IAAI,KAAK,YAAY,QAAQ,eAAe,WAAW,oBAAoB,YAAY,CAAC,qBAAqB,IAAI,WAAW,eAAe,KAAK,CAAC,SAAS,oBAAoB,WAAW,WAAW,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,WAAW,eAAe,CAAC;CACvS,MAAM,UAAU,QAAQ,MAAM,UAAU,MAAM,SAAS,aAAa;CACpE,MAAM,aAAa,YAAY,KAAK,IAAI,KAAK,IAAI;EAChD,SAAS,QAAQ;EACjB,WAAW,gBAAgB,WAAW,QAAQ,OAAO;CACtD;CACA,MAAM,UAAU,QAAQ,QAAQ,UAAU,sBAAsB,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;EAChG,SAAS,MAAM;EACf,MAAM,MAAM;EACZ,WAAW,gBAAgB,WAAW,MAAM,OAAO;CACpD,EAAE;CACF,MAAM,eAAe,QAAQ,QAAQ,UAAU,MAAM,SAAS,iBAAiB,CAAC,sBAAsB,IAAI,MAAM,IAAI,KAAK,CAAC,kBAAkB,WAAW,OAAO,aAAa,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU;EACpM,MAAM,OAAO;GACZ,QAAQ;IACP,MAAM;IACN,MAAM,MAAM;GACb;GACA,OAAO,KAAK;GACZ,QAAQ,MAAM;GACd,SAAS;GACT,MAAM,KAAK;GACX,SAAS,KAAK;GACd,aAAa,KAAK;GAClB,WAAW,gBAAgB,WAAW,MAAM,OAAO;EACpD;EACA,OAAO,MAAM,eAAe,KAAK,IAAI;GACpC,GAAG;GACH,SAAS,MAAM;EAChB,IAAI;GACH,GAAG;GACH,YAAY,MAAM;EACnB;CACD,CAAC;CACD,OAAO,IAAI,WAAW;EACrB,MAAM;EACN;EACA,GAAG,UAAU,cAAc,UAAU;EACrC;EACA;EACA,SAAS;CACV,CAAC;AACF;;;;AAIA,eAAe,mBAAmB,MAAM,WAAW,oBAAoB,WAAW,kBAAkB;CACnG,MAAM,iBAAiB,QAAQ,KAAK,UAAU,QAAQ,IAAI,UAAU;CACpE,MAAM,iBAAiB,QAAQ,KAAK,UAAU,QAAQ,IAAI,UAAU;CACpE,MAAM,qBAAqB,QAAQ,KAAK,cAAc,QAAQ,IAAI,UAAU;CAC5E,MAAM,qBAAqB,QAAQ,KAAK,cAAc,QAAQ,IAAI,UAAU;CAC5E,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,aAAa,KAAK,QAAQ,OAAO,aAAa,MAAM,QAAQ,WAAW;EACjF,SAAS,eAAe,IAAI,SAAS,KAAK,CAAC;EAC3C,SAAS,eAAe,IAAI,SAAS,KAAK,CAAC;EAC3C,aAAa,mBAAmB,IAAI,SAAS,KAAK,CAAC;EACnD,aAAa,mBAAmB,IAAI,SAAS,KAAK,CAAC;CACpD,GAAG,WAAW,oBAAoB,QAAQ;CAC1C,OAAO,IAAI,YAAY,EAAE,OAAO,CAAC;AAClC;AAGA,MAAM,SAAS;;;;AAIf,MAAM,UAAU;;;;;;AAMhB,MAAM,UAAU;;;;;;AAMhB,MAAM,cAAc;;;;AAIpB,MAAM,eAAe;;;;;;;;;;;;;;AAcrB,eAAe,iBAAiB,QAAQ;CACvC,MAAM,QAAQ,SAAS,KAAK,QAAQ,QAAQ,CAAC,oBAAoB,IAAI,IAAI,UAAU,CAAC;CACpF,MAAM,SAAS,MAAM,OAAO,MAAM,MAAM;CACxC,MAAM,UAAU,MAAM,OAAO,MAAM,OAAO;CAC1C,MAAM,UAAU,MAAM,OAAO,MAAM,OAAO;CAC1C,MAAM,cAAc,MAAM,OAAO,MAAM,WAAW;CAClD,MAAM,cAAc,MAAM,OAAO,MAAM,YAAY;CACnD,OAAO;EACN,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,UAAU;EACrD,SAAS,KAAK,QAAQ,IAAI;EAC1B,SAAS,KAAK,QAAQ,IAAI;EAC1B,aAAa,KAAK,YAAY,IAAI;EAClC,aAAa,KAAK,YAAY,IAAI;CACnC;AACD;AAGA,MAAM,iBAAiB;AACvB,SAAS,eAAe,YAAY;CACnC,MAAM,SAAS,OAAO,eAAe,WAAW,gBAAgB,UAAU,IAAI;CAC9E,OAAO,MAAM,QAAQ,MAAM,IAAI,OAAO,SAAS;AAChD;AACA,SAAS,gBAAgB,MAAM;CAC9B,IAAI;EACH,OAAO,KAAK,MAAM,IAAI;CACvB,QAAQ;EACP;CACD;AACD;AACA,SAAS,KAAK,KAAK,QAAQ;CAC1B,MAAM,QAAQ,IAAI;CAClB,OAAO,OAAO,UAAU,WAAW,QAAQ,OAAO,KAAK;AACxD;;AAEA,eAAe,kBAAkB,QAAQ,OAAO;CAC/C,IAAI,CAAC,MAAM,YAAY,QAAA,gBAAyB,GAAG,OAAO,CAAC;CAC3D,MAAM,SAAS,UAAU,eAAe,QAAQ,gBAAgB,iBAAiB;CACjF,MAAM,EAAE,SAAS,UAAU,KAAK,IAAI,MAAM,OAAO,MAAM,GAAG,OAAO,aAAa,IAAI,MAAM,OAAO,MAAM,GAAG,OAAO,+BAA+B,CAAC,KAAK,CAAC;CACrJ,OAAO,KAAK,KAAK,QAAQ;EACxB,MAAM,SAAS,IAAI;EACnB,OAAO;GACN,OAAO,KAAK,KAAK,OAAO;GACxB,eAAe,KAAK,KAAK,gBAAgB;GACzC,eAAe,KAAK,KAAK,gBAAgB;GACzC,MAAM,uBAAuB,OAAO,WAAW,WAAW,SAAS,IAAI;GACvE,IAAI,KAAK,KAAK,uBAAuB;GACrC,WAAW,oBAAoB,KAAK,KAAK,YAAY,CAAC;GACtD,gBAAgB,eAAe,IAAI,aAAa;EACjD;CACD,CAAC;AACF;AACA,MAAM,gBAAgB,eAAe,gBAAgB,iBAAiB,EAAE;AACxE,SAAS,mBAAmB,OAAO,aAAa;CAC/C,OAAO;EACN;EACA,YAAY;EACZ,YAAY;EACZ,KAAK,UAAU,YAAY,cAAc,CAAC,CAAC;CAC5C;AACD;;AAEA,eAAe,gBAAgB,QAAQ,OAAO,aAAa;CAC1D,MAAM,OAAO,MAAM,eAAe,mBAAmB,OAAO,WAAW,CAAC;AACzE;;AAEA,eAAe,gBAAgB,QAAQ,OAAO,aAAa;CAC1D,MAAM,OAAO,MAAM,GAAG,cAAc,2TAA2T,mBAAmB,OAAO,WAAW,CAAC;AACtY;AACA,SAAS,aAAa,MAAM;CAC3B,MAAM,SAAS,gBAAgB,cAAc,IAAI;CACjD,OAAO,MAAM,QAAQ,MAAM,IAAI,OAAO,QAAQ,SAAS,OAAO,SAAS,QAAQ,IAAI,CAAC;AACrF;;;;AAIA,eAAe,wBAAwB,QAAQ,OAAO,cAAc,aAAa;CAChF,MAAM,EAAE,SAAS,MAAM,OAAO,MAAM,qCAAqC,gBAAgB,iBAAiB,EAAE,8BAA8B,CAAC,KAAK,CAAC;CACjJ,MAAM,CAAC,OAAO;CACd,IAAI,QAAQ,KAAK,KAAK,IAAI,iBAAiB,cAAc,OAAO;CAChE,MAAM,aAAa,YAAY,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,aAAa,IAAI,aAAa,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;CACnK,MAAM,OAAO,MAAM,UAAU,gBAAgB,iBAAiB,EAAE,yEAAyE,eAAe,KAAK,IAAI,KAAK,mBAAmB,qCAAqC;EAC7N,YAAY;EACZ,YAAY;EACZ,GAAG,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,UAAU,CAAC;EAC3D;EACA;CACD,CAAC;CACD,OAAO;AACR;;AAEA,eAAe,gBAAgB,QAAQ,OAAO,OAAO;CACpD,MAAM,OAAO,MAAM,eAAe,gBAAgB,iBAAiB,EAAE,0HAA0H;EAC9L;EACA,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,KAAK,UAAU,MAAM,UAAU;CAChC,CAAC;AACF;;AAIA,SAAS,eAAe,KAAK;CAC5B,OAAO,gBAAgB,2BAA2B,wDAAwD,IAAI,KAAK,KAAK,EAAE,MAAM;EAC/H,SAAS;EACT,MAAM,IAAI;CACX,EAAE,CAAC;AACJ;;;;AAIA,IAAI,sBAAsB,MAAM;CAC/B;CACA;CACA,WAAW;CACX,WAAW;CACX,iBAAiB;;CAEjB,YAAY,eAAe,mBAAmB;EAC7C,KAAK,gBAAgB;EACrB,KAAK,oBAAoB;CAC1B;CACA,+BAA+B;EAC9B,OAAO,kCAAkC;CAC1C;CACA,6BAA6B;EAC5B,OAAO,gCAAgC;CACxC;CACA,MAAM,KAAK;EACV,IAAI,UAAU,GAAG,GAAG,MAAM,gBAAgB,2BAA2B,8HAA8H,EAAE,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;EAC3O,MAAM,0BAA0B,kBAAkB;CACnD;CACA,MAAM,sBAAsB,KAAK;EAChC,IAAI,CAAC,UAAU,GAAG,GAAG,MAAM,0BAA0B,kBAAkB;EACvE,IAAI,OAAO,IAAI,WAAW,YAAY,MAAM,eAAe,GAAG;EAC9D,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,cAAc,SAAS,uBAAuB,MAAM,KAAK,aAAa,EAAE,GAAG,EAAE,MAAM,QAAQ,WAAW,QAAQ,IAAI,QAAQ,MAAM,YAAY,QAAQ,OAAO,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;CAClN;CACA,MAAM,oBAAoB,QAAQ,OAAO;EACxC,IAAI,OAAO,YAAY,KAAK,GAAG,OAAO;EACtC,OAAO,yBAAyB,OAAO,SAAS,OAAO,MAAM,KAAK,eAAe,OAAO,UAAU;GACjG;GACA,QAAQ,OAAO;EAChB,CAAC;CACF;CACA,MAAM,WAAW,QAAQ,OAAO;EAC/B,MAAM,SAAS,MAAM,iBAAiB,QAAQ,KAAK;EACnD,OAAO,OAAO,SAAS,YAAY,OAAO,SAAS;CACpD;CACA,MAAM,eAAe,QAAQ;EAC5B,OAAO,4BAA4B,YAAY;GAC9C,MAAM,0BAA0B,IAAI,IAAI;GACxC,KAAK,MAAM,OAAO,MAAM,eAAe,QAAQ,KAAK,CAAC,KAAK,CAAC,GAAG;IAC7D,MAAM,QAAQ,OAAO,IAAI,QAAQ;IACjC,QAAQ,IAAI,OAAO,qBAAqB,WAAW,qBAAqB,GAAG,GAAG;KAC7E;KACA,gBAAgB;IACjB,CAAC,CAAC;GACH;GACA,OAAO;EACR,GAAG;GACF,OAAO;GACP,gBAAgB;EACjB,CAAC;CACF;CACA,MAAM,WAAW,QAAQ,OAAO;EAC/B,OAAO,kCAAkC,kBAAkB,QAAQ,KAAK,GAAG;GAC1E,OAAO,SAAS;GAChB,gBAAgB;EACjB,CAAC;CACF;CACA,MAAM,aAAa,QAAQ,OAAO,aAAa;EAC9C,MAAM,gBAAgB,QAAQ,OAAO,WAAW;CACjD;CACA,MAAM,WAAW,QAAQ,OAAO,aAAa;EAC5C,MAAM,gBAAgB,QAAQ,OAAO,WAAW;CACjD;CACA,MAAM,aAAa,QAAQ,OAAO,cAAc,aAAa;EAC5D,OAAO,wBAAwB,QAAQ,OAAO,cAAc,WAAW;CACxE;CACA,MAAM,iBAAiB,QAAQ,OAAO,OAAO;EAC5C,MAAM,gBAAgB,QAAQ,OAAO,KAAK;CAC3C;;CAEA,MAAM,WAAW,SAAS,CAAC;;CAE3B,MAAM,eAAe,QAAQ,MAAM;EAClC,OAAO,eAAe,QAAQ,IAAI;CACnC;CACA,MAAM,gBAAgB,QAAQ,IAAI;EACjC,OAAO,KAAKA,eAAe,QAAQ,EAAE;CACtC;CACA,MAAMA,eAAe,QAAQ,IAAI;EAChC,MAAM,OAAO,MAAM,mBAAmB;EACtC,IAAI;EACJ,IAAI;GACH,SAAS,MAAM,GAAG;EACnB,SAAS,OAAO;GACf,IAAI;IACH,MAAM,OAAO,MAAM,UAAU;GAC9B,SAAS,eAAe;IACvB,IAAI,iBAAiB,SAAS,MAAM,UAAU,KAAK,GAAG,MAAM,QAAQ;GACrE;GACA,MAAM;EACP;EACA,MAAM,OAAO,MAAM,QAAQ;EAC3B,OAAO;CACR;CACA,MAAM,WAAW,QAAQ,UAAU;EAClC,MAAM,UAAU,gBAAgB,QAAQ;EACxC,OAAO,mBAAmB,MAAM,iBAAiB,MAAM,GAAG,KAAK,mBAAmB,OAAO,WAAW,YAAY,eAAe;GAC9H,MAAM,SAAS,QAAQ,SAAS,KAAK,GAAG,WAAW,UAAU;GAC7D,MAAM,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,YAAY,KAAK,eAAe,OAAO,QAAQ;GAC1F,IAAI,UAAU,KAAK,GAAG,OAAO,CAAC;GAC9B,OAAO,kBAAkB,OAAO;IAC/B,SAAS;KACR,MAAM;KACN,MAAM;IACP;IACA,KAAK;GACN,GAAG,KAAK,CAAC;EACV,GAAG,gBAAgB,QAAQ,CAAC;CAC7B;AACD;AAGA,MAAM,yBAAyB;CAC9B,GAAG;CACH,yBAAyB;EACxB,yBAAyB,IAAI,IAAI,OAAO,QAAQ,oBAAoB,CAAC,CAAC;EACtE,sBAAsB,CAAC;CACxB;CACA,OAAO,OAAO;EACb,OAAO,IAAI,oBAAoB,2BAA2B,MAAM,QAAQ,MAAM,UAAU,GAAG,MAAM,kBAAkB,KAAK,EAAE,WAAW,IAAI,CAAC;CAC3I;AACD"}
|
|
1
|
+
{"version":3,"file":"control-H2sjKXXS.mjs","names":["#inTransaction"],"sources":["../../../../3-targets/mysql/2-adapter/dist/control.mjs"],"sourcesContent":["import { a as tableExists, i as readMarkerRows, n as parseJsonColumn, o as mysqlAdapterDescriptorMeta, r as readMarkerResult, t as decodeMysqlMarkerRow } from \"./marker-read-Cf80LSbG.mjs\";\nimport { checkSqlDefaultText, contractColumns, readColumnDefault, sqlDefaultFunctions } from \"@internal/family-sql/control\";\nimport { assembleMysqlCodecRegistry, decodeMysqlDatetime, encodeMysqlDatetime } from \"@internal/target-mysql/codecs\";\nimport { parseMarkerRowSafely, withMarkerReadErrorHandling } from \"@internal/errors/execution\";\nimport { codecForRef } from \"@internal/framework-components/codec\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { encodeLiteralDefault, isDdlNode, renderOpaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries } from \"@internal/target-mysql/contract-free\";\nimport { CONTROL_TABLE_NAMES, LEDGER_TABLE_NAME, MARKER_TABLE_NAME } from \"@internal/target-mysql/control-tables\";\nimport { mysqlQueryNotYetSupported } from \"@internal/target-mysql/errors\";\nimport { withMarkerLock } from \"@internal/target-mysql/marker-lock\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { quoteIdentifier, quoteLiteral } from \"@internal/target-mysql/sql-utils\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { resolveIntrospectedColumnType } from \"@internal/family-sql/control-adapter\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { readMysqlDefault } from \"@internal/target-mysql/default-normalizer\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ledgerOriginFromStored } from \"@internal/migration-tools/ledger-origin\";\n//#region src/core/migrations/ddl-renderer.ts\n/** Column types MySQL gives a default only when it is written as an expression in parentheses. */\nconst EXPRESSION_DEFAULT_ONLY = /^(?:(?:tiny|medium|long)?(?:text|blob)|json|geometry)\\b/i;\nconst FRACTIONAL_SECONDS = /^(?:datetime|timestamp)\\((\\d)\\)$/i;\nfunction refusedDefault(where, why) {\n\tthrow structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has a default MySQL cannot store: ${why}`, { meta: {\n\t\ttable: where.table,\n\t\tcolumn: where.column\n\t} });\n}\n/** A wire value as the SQL literal MySQL reads for it. */\nfunction mysqlInlineLiteral(wire, where) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"1\" : \"0\";\n\tif (typeof wire === \"number\") {\n\t\tif (!Number.isFinite(wire)) return refusedDefault(where, `${wire} is not a finite number`);\n\t\treturn String(wire);\n\t}\n\tif (typeof wire === \"bigint\") return String(wire);\n\tif (typeof wire === \"string\") return quoteLiteral(wire);\n\tif (wire instanceof Date) return quoteLiteral(encodeMysqlDatetime(wire));\n\tif (wire instanceof Uint8Array) return `X'${Buffer.from(wire).toString(\"hex\")}'`;\n\tif (typeof wire === \"object\") return quoteLiteral(JSON.stringify(wire));\n\treturn refusedDefault(where, `a ${typeof wire} has no SQL literal`);\n}\nfunction withinParentheses(columnType, literal) {\n\treturn EXPRESSION_DEFAULT_ONLY.test(columnType.trim()) ? `(${literal})` : literal;\n}\n/** `CURRENT_TIMESTAMP` with the column's fractional-second precision, which MySQL requires to match. */\nfunction currentTimestampFor(columnType) {\n\tconst precision = FRACTIONAL_SECONDS.exec(columnType.trim())?.[1];\n\treturn precision === void 0 ? \"CURRENT_TIMESTAMP\" : `CURRENT_TIMESTAMP(${precision})`;\n}\n/**\n* The `DEFAULT …` clause of a column, or `''` for an `autoincrement()` default, which a column writes as `AUTO_INCREMENT` instead. A literal is read by the column's codec, and a text or blob column's literal is written as an expression, as MySQL requires.\n*/\nasync function renderMysqlColumnDefault(def, columnType, codecLookup, codecRef, where) {\n\tif (def.kind === \"function\") {\n\t\tconst text = def.expression.text;\n\t\tif (text === \"autoincrement()\") return \"\";\n\t\tif (text === \"now()\") return `DEFAULT (${currentTimestampFor(columnType)})`;\n\t\tif (checkSqlDefaultText(text) !== void 0) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Unsafe default expression in contract: \"${text}\". Default expressions must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.`, { meta: { expression: text } });\n\t\treturn `DEFAULT (${renderOpaqueSql(def.expression)})`;\n\t}\n\tconst encoded = codecRef === void 0 ? void 0 : await encodeLiteralDefault(codecLookup, codecRef, def.value, where);\n\tif (encoded?.kind === \"sql-null\") return \"DEFAULT NULL\";\n\treturn `DEFAULT ${withinParentheses(columnType, mysqlInlineLiteral(encoded === void 0 ? def.value : encoded.wire, where))}`;\n}\nfunction isAutoincrement(column) {\n\treturn column.default?.kind === \"function\" && column.default.expression.text === \"autoincrement()\";\n}\nasync function renderColumn(column, codecLookup, table) {\n\tconst parts = [quoteIdentifier(column.name), column.type];\n\tif (column.notNull) parts.push(\"NOT NULL\");\n\tif (column.default !== void 0) {\n\t\tconst clause = await renderMysqlColumnDefault(column.default, column.type, codecLookup, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t\tif (clause.length > 0) parts.push(clause);\n\t}\n\tif (isAutoincrement(column)) parts.push(\"AUTO_INCREMENT\");\n\tif (column.primaryKey) parts.push(\"PRIMARY KEY\");\n\treturn parts.join(\" \");\n}\nfunction columnList(columns) {\n\treturn columns.map(quoteIdentifier).join(\", \");\n}\nfunction named(name, body) {\n\treturn name === void 0 ? body : `CONSTRAINT ${quoteIdentifier(name)} ${body}`;\n}\nfunction renderConstraint(constraint) {\n\tswitch (constraint.kind) {\n\t\tcase \"primary-key\": return named(constraint.name, `PRIMARY KEY (${columnList(constraint.columns)})`);\n\t\tcase \"unique\": return named(constraint.name, `UNIQUE (${columnList(constraint.columns)})`);\n\t\tcase \"foreign-key\": {\n\t\t\tconst actions = [constraint.onDelete === void 0 ? void 0 : `ON DELETE ${REFERENTIAL_ACTION_SQL[constraint.onDelete]}`, constraint.onUpdate === void 0 ? void 0 : `ON UPDATE ${REFERENTIAL_ACTION_SQL[constraint.onUpdate]}`].filter((action) => action !== void 0);\n\t\t\treturn named(constraint.name, [`FOREIGN KEY (${columnList(constraint.columns)}) REFERENCES ${quoteIdentifier(constraint.refTable)} (${columnList(constraint.refColumns)})`, ...actions].join(\" \"));\n\t\t}\n\t\tcase \"check-expression\": throw structuredError(\"CONTRACT.CONSTRAINT_INVALID\", `The MySQL target does not write CHECK constraints yet (constraint \"${constraint.name}\").`, { meta: { constraintName: constraint.name } });\n\t}\n}\n/** The `CREATE TABLE` statement of a MySQL DDL node. */\nasync function renderMysqlCreateTable(node, codecLookup) {\n\tconst definitions = [...await Promise.all(node.columns.map((column) => renderColumn(column, codecLookup, node.table))), ...(node.constraints ?? []).map(renderConstraint)];\n\treturn {\n\t\tsql: `CREATE TABLE ${node.ifNotExists === true ? \"IF NOT EXISTS \" : \"\"}${quoteIdentifier(node.table)} (\\n ${definitions.join(\",\\n \")}\\n)`,\n\t\tparams: []\n\t};\n}\n//#endregion\n//#region src/core/migrations/declared-indexes.ts\nfunction isLoose(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction child(value, key) {\n\tconst found = isLoose(value) ? value[key] : void 0;\n\treturn isLoose(found) ? found : void 0;\n}\nfunction tableIndexKey(tableName, indexName) {\n\treturn JSON.stringify([tableName, indexName]);\n}\n/** The indexes the contract handed to introspection declares, read from every contract space it holds. */\nfunction declaredIndexes(contract) {\n\tconst contracts = isLoose(contract) && Array.isArray(contract[\"contracts\"]) ? contract[\"contracts\"] : [contract];\n\tconst declared = /* @__PURE__ */ new Set();\n\tconst declaredUnique = /* @__PURE__ */ new Set();\n\tfor (const space of contracts) for (const namespace of Object.values(child(child(space, \"storage\"), \"namespaces\") ?? {})) for (const [tableName, table] of Object.entries(child(child(namespace, \"entries\"), \"table\") ?? {})) {\n\t\tconst indexes = isLoose(table) ? table[\"indexes\"] : void 0;\n\t\tfor (const index of Array.isArray(indexes) ? indexes : []) {\n\t\t\tif (!isLoose(index) || typeof index[\"name\"] !== \"string\") continue;\n\t\t\tconst key = tableIndexKey(tableName, index[\"name\"]);\n\t\t\tdeclared.add(key);\n\t\t\tif (index[\"unique\"] === true) declaredUnique.add(key);\n\t\t}\n\t}\n\treturn {\n\t\tdeclaresIndex: (tableName, indexName) => declared.has(tableIndexKey(tableName, indexName)),\n\t\tdeclaresUniqueIndex: (tableName, indexName) => declaredUnique.has(tableIndexKey(tableName, indexName))\n\t};\n}\n//#endregion\n//#region src/core/migrations/introspection.ts\nconst NOTHING_DECLARED = {\n\tdeclaresIndex: () => false,\n\tdeclaresUniqueIndex: () => false\n};\nconst PRIMARY_INDEX = \"PRIMARY\";\nconst REFERENTIAL_ACTIONS = {\n\tRESTRICT: \"restrict\",\n\tCASCADE: \"cascade\",\n\t\"SET NULL\": \"setNull\",\n\t\"SET DEFAULT\": \"setDefault\"\n};\n/** A rule `REFERENTIAL_CONSTRAINTS` reports, with `NO ACTION`, MySQL's default, as no action at all. */\nfunction referentialAction(rule) {\n\tconst normalized = rule.toUpperCase();\n\tif (normalized === \"NO ACTION\") return void 0;\n\tconst action = REFERENTIAL_ACTIONS[normalized];\n\tif (action === void 0) throw structuredError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Unknown MySQL referential action rule: \"${rule}\". Expected one of: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT.`, { meta: { rule } });\n\treturn action;\n}\nfunction tableDependsOn(tableName) {\n\treturn [{\n\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\tid: tableName\n\t}];\n}\nfunction columnDependsOn(tableName, columns) {\n\treturn columns.map((column) => [...tableDependsOn(tableName), {\n\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\tid: `column:${column}`\n\t}]);\n}\nfunction groupBy(rows, key) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const row of rows) {\n\t\tconst group = groups.get(key(row));\n\t\tif (group === void 0) groups.set(key(row), [row]);\n\t\telse group.push(row);\n\t}\n\treturn groups;\n}\nfunction byPosition(position) {\n\treturn (a, b) => Number(position(a)) - Number(position(b));\n}\nasync function columnOf(row, dataTypes, readLiteralDefault) {\n\tconst reported = readMysqlDefault(row.column_default, row.extra);\n\tconst readDefault = reported === void 0 ? {} : reported.kind === \"function\" ? { resolvedDefault: reported } : await readLiteralDefault(row.table_name, row.column_name, reported.literal.body);\n\tconst reportedType = {\n\t\ttext: row.column_type,\n\t\tkind: void 0,\n\t\tschema: void 0,\n\t\tname: void 0\n\t};\n\treturn {\n\t\tname: row.column_name,\n\t\ttypeText: row.column_type,\n\t\tnullable: row.is_nullable === \"YES\",\n\t\t...ifDefined(\"default\", row.column_default ?? void 0),\n\t\t...readDefault,\n\t\treportedType,\n\t\t...resolveIntrospectedColumnType(reportedType, dataTypes)\n\t};\n}\nfunction indexesOf(rows) {\n\treturn [...groupBy(rows, (row) => row.index_name).entries()].map(([name, parts]) => {\n\t\tconst ordered = [...parts].sort(byPosition((part) => part.seq_in_index));\n\t\tconst expressions = ordered.flatMap((part) => part.expression === null ? [] : [part.expression]);\n\t\treturn {\n\t\t\tname,\n\t\t\tunique: ordered[0]?.non_unique === \"0\",\n\t\t\tcolumns: ordered.flatMap((part) => part.column_name === null ? [] : [part.column_name]),\n\t\t\texpression: expressions.length === 0 ? void 0 : expressions.join(\", \")\n\t\t};\n\t});\n}\nfunction sameColumns(a, b) {\n\treturn a.length === b.length && a.every((column, index) => column === b[index]);\n}\nfunction foreignKeysOf(tableName, rows) {\n\treturn [...groupBy(rows, (row) => row.constraint_name).entries()].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([name, parts]) => {\n\t\tconst ordered = [...parts].sort(byPosition((part) => part.ordinal_position));\n\t\tconst [first] = ordered;\n\t\tconst columns = ordered.map((part) => part.column_name);\n\t\tconst referencedTable = first?.referenced_table_name ?? \"\";\n\t\tconst referencedSchema = first?.referenced_table_schema ?? void 0;\n\t\treturn {\n\t\t\tcolumns,\n\t\t\treferencedTable,\n\t\t\treferencedColumns: ordered.map((part) => part.referenced_column_name),\n\t\t\t...ifDefined(\"referencedSchema\", referencedSchema),\n\t\t\tname,\n\t\t\t...ifDefined(\"onDelete\", first === void 0 ? void 0 : referentialAction(first.delete_rule)),\n\t\t\t...ifDefined(\"onUpdate\", first === void 0 ? void 0 : referentialAction(first.update_rule)),\n\t\t\tdependsOn: [...referencedSchema === void 0 ? [tableDependsOn(referencedTable)] : [], ...columnDependsOn(tableName, columns)]\n\t\t};\n\t});\n}\n/**\n* The index InnoDB creates for a foreign key that no index already serves: it carries the key's name and exactly the key's columns. Introspection leaves it out, because the contract describes the key, not that index. An explicit index can look the same, so one the contract declares is kept.\n*/\nfunction isForeignKeyIndex(tableName, index, foreignKeys, declared) {\n\tif (declared.declaresIndex(tableName, index.name)) return false;\n\treturn foreignKeys.some((fk) => fk.name === index.name && index.expression === void 0 && sameColumns(fk.columns, index.columns));\n}\nasync function tableOf(tableName, rows, dataTypes, readLiteralDefault, declared) {\n\tconst columns = {};\n\tfor (const row of [...rows.columns].sort(byPosition((column) => column.ordinal_position))) columns[row.column_name] = await columnOf(row, dataTypes, readLiteralDefault);\n\tconst foreignKeys = foreignKeysOf(tableName, rows.foreignKeys);\n\tconst indexes = indexesOf(rows.indexes);\n\tconst expressionIndexNames = new Set(indexes.filter((index) => index.expression !== void 0).map((index) => index.name));\n\tconst uniqueConstraintNames = new Set(rows.constraints.filter((constraint) => constraint.constraint_type === \"UNIQUE\" && !expressionIndexNames.has(constraint.constraint_name) && !declared.declaresUniqueIndex(tableName, constraint.constraint_name)).map((constraint) => constraint.constraint_name));\n\tconst primary = indexes.find((index) => index.name === PRIMARY_INDEX);\n\tconst primaryKey = primary === void 0 ? void 0 : {\n\t\tcolumns: primary.columns,\n\t\tdependsOn: columnDependsOn(tableName, primary.columns)\n\t};\n\tconst uniques = indexes.filter((index) => uniqueConstraintNames.has(index.name)).map((index) => ({\n\t\tcolumns: index.columns,\n\t\tname: index.name,\n\t\tdependsOn: columnDependsOn(tableName, index.columns)\n\t}));\n\tconst plainIndexes = indexes.filter((index) => index.name !== PRIMARY_INDEX && !uniqueConstraintNames.has(index.name) && !isForeignKeyIndex(tableName, index, foreignKeys, declared)).map((index) => {\n\t\tconst base = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: index.name\n\t\t\t},\n\t\t\twhere: void 0,\n\t\t\tunique: index.unique,\n\t\t\tpartial: false,\n\t\t\ttype: void 0,\n\t\t\toptions: void 0,\n\t\t\tannotations: void 0,\n\t\t\tdependsOn: columnDependsOn(tableName, index.columns)\n\t\t};\n\t\treturn index.expression === void 0 ? {\n\t\t\t...base,\n\t\t\tcolumns: index.columns\n\t\t} : {\n\t\t\t...base,\n\t\t\texpression: index.expression\n\t\t};\n\t});\n\treturn new SqlTableIR({\n\t\tname: tableName,\n\t\tcolumns,\n\t\t...ifDefined(\"primaryKey\", primaryKey),\n\t\tforeignKeys,\n\t\tuniques,\n\t\tindexes: plainIndexes\n\t});\n}\n/**\n* The schema IR of the database the rows describe: one flat tree of its tables. MySQL lists every unique index as a UNIQUE constraint, so one is reported as a unique constraint unless the contract declares a unique index of that name on the table, or it indexes an expression. The index InnoDB creates for a foreign key is left out, unless the contract declares an index of that name on the table.\n*/\nasync function buildMysqlSchemaIR(rows, dataTypes, readLiteralDefault, declared = NOTHING_DECLARED) {\n\tconst columnsByTable = groupBy(rows.columns, (row) => row.table_name);\n\tconst indexesByTable = groupBy(rows.indexes, (row) => row.table_name);\n\tconst constraintsByTable = groupBy(rows.constraints, (row) => row.table_name);\n\tconst foreignKeysByTable = groupBy(rows.foreignKeys, (row) => row.table_name);\n\tconst tables = {};\n\tfor (const tableName of rows.tables) tables[tableName] = await tableOf(tableName, {\n\t\tcolumns: columnsByTable.get(tableName) ?? [],\n\t\tindexes: indexesByTable.get(tableName) ?? [],\n\t\tconstraints: constraintsByTable.get(tableName) ?? [],\n\t\tforeignKeys: foreignKeysByTable.get(tableName) ?? []\n\t}, dataTypes, readLiteralDefault, declared);\n\treturn new SqlSchemaIR({ tables });\n}\n//#endregion\n//#region src/core/migrations/introspection-queries.ts\nconst TABLES = `SELECT TABLE_NAME AS table_name\n FROM information_schema.TABLES\n WHERE TABLE_SCHEMA = DATABASE() AND TABLE_TYPE = 'BASE TABLE'\n ORDER BY TABLE_NAME`;\nconst COLUMNS = `SELECT TABLE_NAME AS table_name, COLUMN_NAME AS column_name,\n ORDINAL_POSITION AS ordinal_position, COLUMN_DEFAULT AS column_default,\n IS_NULLABLE AS is_nullable, COLUMN_TYPE AS column_type, EXTRA AS extra\n FROM information_schema.COLUMNS\n WHERE TABLE_SCHEMA = DATABASE()\n ORDER BY TABLE_NAME, ORDINAL_POSITION`;\nconst INDEXES = `SELECT TABLE_NAME AS table_name, INDEX_NAME AS index_name,\n NON_UNIQUE AS non_unique, SEQ_IN_INDEX AS seq_in_index,\n COLUMN_NAME AS column_name, EXPRESSION AS expression\n FROM information_schema.STATISTICS\n WHERE TABLE_SCHEMA = DATABASE()\n ORDER BY TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX`;\nconst CONSTRAINTS = `SELECT TABLE_NAME AS table_name, CONSTRAINT_NAME AS constraint_name,\n CONSTRAINT_TYPE AS constraint_type\n FROM information_schema.TABLE_CONSTRAINTS\n WHERE TABLE_SCHEMA = DATABASE()`;\nconst FOREIGN_KEYS = `SELECT k.TABLE_NAME AS table_name, k.CONSTRAINT_NAME AS constraint_name,\n k.COLUMN_NAME AS column_name, k.ORDINAL_POSITION AS ordinal_position,\n NULLIF(k.REFERENCED_TABLE_SCHEMA, k.TABLE_SCHEMA) AS referenced_table_schema,\n k.REFERENCED_TABLE_NAME AS referenced_table_name,\n k.REFERENCED_COLUMN_NAME AS referenced_column_name,\n r.UPDATE_RULE AS update_rule, r.DELETE_RULE AS delete_rule\n FROM information_schema.KEY_COLUMN_USAGE k\n JOIN information_schema.REFERENTIAL_CONSTRAINTS r\n ON r.CONSTRAINT_SCHEMA = k.CONSTRAINT_SCHEMA\n AND r.TABLE_NAME = k.TABLE_NAME\n AND r.CONSTRAINT_NAME = k.CONSTRAINT_NAME\n WHERE k.TABLE_SCHEMA = DATABASE() AND k.REFERENCED_TABLE_NAME IS NOT NULL\n ORDER BY k.TABLE_NAME, k.CONSTRAINT_NAME, k.ORDINAL_POSITION`;\n/** Reads the catalog rows of the connection's database, leaving out the runner's control tables. */\nasync function readMysqlCatalog(driver) {\n\tconst keep = (rows) => rows.filter((row) => !CONTROL_TABLE_NAMES.has(row.table_name));\n\tconst tables = await driver.query(TABLES);\n\tconst columns = await driver.query(COLUMNS);\n\tconst indexes = await driver.query(INDEXES);\n\tconst constraints = await driver.query(CONSTRAINTS);\n\tconst foreignKeys = await driver.query(FOREIGN_KEYS);\n\treturn {\n\t\ttables: keep(tables.rows).map((row) => row.table_name),\n\t\tcolumns: keep(columns.rows),\n\t\tindexes: keep(indexes.rows),\n\t\tconstraints: keep(constraints.rows),\n\t\tforeignKeys: keep(foreignKeys.rows)\n\t};\n}\n//#endregion\n//#region src/core/migrations/marker-ledger.ts\nconst LEDGER_COLUMNS = \"space, migration_name, migration_hash, origin_core_hash, destination_core_hash, operations, created_at\";\nfunction operationCount(operations) {\n\tconst parsed = typeof operations === \"string\" ? parseOperations(operations) : operations;\n\treturn Array.isArray(parsed) ? parsed.length : 0;\n}\nfunction parseOperations(text) {\n\ttry {\n\t\treturn JSON.parse(text);\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction text(row, column) {\n\tconst value = row[column];\n\treturn typeof value === \"string\" ? value : String(value);\n}\n/** The ledger's entries for `space`, or for every space, in the order they were applied. */\nasync function readLedgerEntries(driver, space) {\n\tif (!await tableExists(driver, LEDGER_TABLE_NAME)) return [];\n\tconst select = `SELECT ${LEDGER_COLUMNS} FROM ${quoteIdentifier(LEDGER_TABLE_NAME)}`;\n\tconst { rows } = space === void 0 ? await driver.query(`${select} ORDER BY id`) : await driver.query(`${select} WHERE space = ? ORDER BY id`, [space]);\n\treturn rows.map((row) => {\n\t\tconst origin = row[\"origin_core_hash\"];\n\t\treturn {\n\t\t\tspace: text(row, \"space\"),\n\t\t\tmigrationName: text(row, \"migration_name\"),\n\t\t\tmigrationHash: text(row, \"migration_hash\"),\n\t\t\tfrom: ledgerOriginFromStored(typeof origin === \"string\" ? origin : null),\n\t\t\tto: text(row, \"destination_core_hash\"),\n\t\t\tappliedAt: decodeMysqlDatetime(text(row, \"created_at\")),\n\t\t\toperationCount: operationCount(row[\"operations\"])\n\t\t};\n\t});\n}\nconst MARKER_INSERT = `INSERT INTO ${quoteIdentifier(MARKER_TABLE_NAME)} (space, core_hash, profile_hash, contract_json, canonical_version, updated_at, app_tag, meta, invariants) VALUES (?, ?, ?, NULL, NULL, CURRENT_TIMESTAMP(3), NULL, '{}', ?)`;\nfunction markerInsertParams(space, destination) {\n\treturn [\n\t\tspace,\n\t\tdestination.storageHash,\n\t\tdestination.profileHash,\n\t\tJSON.stringify(destination.invariants ?? [])\n\t];\n}\n/** Inserts the marker row of `space`; fails when the space already has one. */\nasync function insertMarkerRow(driver, space, destination) {\n\tawait driver.query(MARKER_INSERT, markerInsertParams(space, destination));\n}\n/** Writes the marker row of `space`, replacing the row the space already has. */\nasync function upsertMarkerRow(driver, space, destination) {\n\tawait driver.query(`${MARKER_INSERT} AS incoming ON DUPLICATE KEY UPDATE core_hash = incoming.core_hash, profile_hash = incoming.profile_hash, contract_json = incoming.contract_json, canonical_version = incoming.canonical_version, updated_at = CURRENT_TIMESTAMP(3), app_tag = incoming.app_tag, meta = incoming.meta, invariants = incoming.invariants`, markerInsertParams(space, destination));\n}\nfunction invariantsOf(text) {\n\tconst parsed = parseJsonColumn(\"invariants\", text);\n\treturn Array.isArray(parsed) ? parsed.filter((item) => typeof item === \"string\") : [];\n}\n/**\n* Advances the marker row of `space` from `expectedFrom` to `destination`, and says whether it did. MySQL has no `RETURNING`, so the row is read and locked with `FOR UPDATE` first, inside the transaction the caller holds, and written only when it still holds `expectedFrom`. Supplied invariants are merged with the stored ones.\n*/\nasync function compareAndSwapMarkerRow(driver, space, expectedFrom, destination) {\n\tconst { rows } = await driver.query(`SELECT core_hash, invariants FROM ${quoteIdentifier(MARKER_TABLE_NAME)} WHERE space = ? FOR UPDATE`, [space]);\n\tconst [row] = rows;\n\tif (row === void 0 || row[\"core_hash\"] !== expectedFrom) return false;\n\tconst invariants = destination.invariants === void 0 ? void 0 : [.../* @__PURE__ */ new Set([...invariantsOf(row[\"invariants\"]), ...destination.invariants])].sort();\n\tawait driver.query(`UPDATE ${quoteIdentifier(MARKER_TABLE_NAME)} SET core_hash = ?, profile_hash = ?, updated_at = CURRENT_TIMESTAMP(3)${invariants === void 0 ? \"\" : \", invariants = ?\"} WHERE space = ? AND core_hash = ?`, [\n\t\tdestination.storageHash,\n\t\tdestination.profileHash,\n\t\t...invariants === void 0 ? [] : [JSON.stringify(invariants)],\n\t\tspace,\n\t\texpectedFrom\n\t]);\n\treturn true;\n}\n/** Appends a ledger entry for `space`. */\nasync function insertLedgerRow(driver, space, entry) {\n\tawait driver.query(`INSERT INTO ${quoteIdentifier(LEDGER_TABLE_NAME)} (space, migration_name, migration_hash, origin_core_hash, destination_core_hash, operations) VALUES (?, ?, ?, ?, ?, ?)`, [\n\t\tspace,\n\t\tentry.migrationName,\n\t\tentry.migrationHash,\n\t\tentry.from,\n\t\tentry.to,\n\t\tJSON.stringify(entry.operations)\n\t]);\n}\n//#endregion\n//#region src/core/migrations/control-adapter.ts\n/** A DDL node MySQL does not build, such as one another target's visitor accepts. */\nfunction unsupportedDdl(ast) {\n\treturn structuredError(\"RUNTIME.DDL_UNSUPPORTED\", `The MySQL control adapter cannot lower the DDL node \"${ast.kind}\".`, { meta: {\n\t\tsurface: \"control-adapter\",\n\t\tkind: ast.kind\n\t} });\n}\n/**\n* The MySQL control adapter. It introspects the connection's database from `information_schema`, creates, reads and writes the marker and ledger tables, takes the marker lock, and runs work in a transaction. Query lowering refuses with `RUNTIME.AST_UNSUPPORTED`.\n*/\nvar MysqlControlAdapter = class {\n\tcodecRegistry;\n\tdeclaredDataTypes;\n\tfamilyId = \"sql\";\n\ttargetId = \"mysql\";\n\tmarkerLocation = MARKER_TABLE_NAME;\n\t/** `declaredDataTypes` are the stack's data types, which introspection resolves each column's reported type over. */\n\tconstructor(codecRegistry, declaredDataTypes) {\n\t\tthis.codecRegistry = codecRegistry;\n\t\tthis.declaredDataTypes = declaredDataTypes;\n\t}\n\tbootstrapControlTableQueries() {\n\t\treturn buildControlTableBootstrapQueries();\n\t}\n\tbootstrapSignMarkerQueries() {\n\t\treturn buildSignMarkerBootstrapQueries();\n\t}\n\tlower(ast) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() cannot lower DDL: DDL default literals require inline codec encoding, which is async. Use lowerToExecuteRequest().\", { meta: { surface: \"control-adapter\" } });\n\t\tthrow mysqlQueryNotYetSupported(\"Lowering queries\");\n\t}\n\tasync lowerToExecuteRequest(ast) {\n\t\tif (!isDdlNode(ast)) throw mysqlQueryNotYetSupported(\"Lowering queries\");\n\t\tif (typeof ast.accept !== \"function\") throw unsupportedDdl(ast);\n\t\treturn ast.accept(new Proxy({ createTable: (node) => renderMysqlCreateTable(node, this.codecRegistry) }, { get: (target, method) => Reflect.get(target, method) ?? (() => Promise.reject(unsupportedDdl(ast))) }));\n\t}\n\tasync renderColumnDefault(column, table) {\n\t\tif (column.default === void 0) return \"\";\n\t\treturn renderMysqlColumnDefault(column.default, column.type, this.codecRegistry, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t}\n\tasync readMarker(driver, space) {\n\t\tconst result = await readMarkerResult(driver, space);\n\t\treturn result.kind === \"present\" ? result.record : null;\n\t}\n\tasync readAllMarkers(driver) {\n\t\treturn withMarkerReadErrorHandling(async () => {\n\t\t\tconst markers = /* @__PURE__ */ new Map();\n\t\t\tfor (const row of await readMarkerRows(driver, void 0) ?? []) {\n\t\t\t\tconst space = String(row[\"space\"]);\n\t\t\t\tmarkers.set(space, parseMarkerRowSafely(row, () => decodeMysqlMarkerRow(row), {\n\t\t\t\t\tspace,\n\t\t\t\t\tmarkerLocation: MARKER_TABLE_NAME\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn markers;\n\t\t}, {\n\t\t\tspace: APP_SPACE_ID,\n\t\t\tmarkerLocation: MARKER_TABLE_NAME\n\t\t});\n\t}\n\tasync readLedger(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => readLedgerEntries(driver, space), {\n\t\t\tspace: space ?? \"*\",\n\t\t\tmarkerLocation: LEDGER_TABLE_NAME\n\t\t});\n\t}\n\tasync insertMarker(driver, space, destination) {\n\t\tawait insertMarkerRow(driver, space, destination);\n\t}\n\tasync initMarker(driver, space, destination) {\n\t\tawait upsertMarkerRow(driver, space, destination);\n\t}\n\tasync updateMarker(driver, space, expectedFrom, destination) {\n\t\treturn compareAndSwapMarkerRow(driver, space, expectedFrom, destination);\n\t}\n\tasync writeLedgerEntry(driver, space, entry) {\n\t\tawait insertLedgerRow(driver, space, entry);\n\t}\n\t/** Takes no lock: MySQL's `GET_LOCK` lives for the session, not the transaction, so {@link holdMarkerLock} takes it around the transaction instead. */\n\tasync lockMarker(_driver) {}\n\t/** Takes `GET_LOCK` before `work` runs and releases it when `work` ends, so `db sign` creates the marker table, whose DDL would end a transaction, under the lock. */\n\tasync holdMarkerLock(driver, work) {\n\t\treturn withMarkerLock(driver, work);\n\t}\n\tasync withTransaction(driver, fn) {\n\t\treturn this.#inTransaction(driver, fn);\n\t}\n\tasync #inTransaction(driver, fn) {\n\t\tawait driver.query(\"START TRANSACTION\");\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await fn();\n\t\t} catch (error) {\n\t\t\ttry {\n\t\t\t\tawait driver.query(\"ROLLBACK\");\n\t\t\t} catch (rollbackError) {\n\t\t\t\tif (error instanceof Error && error.cause === void 0) error.cause = rollbackError;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tawait driver.query(\"COMMIT\");\n\t\treturn result;\n\t}\n\tasync introspect(driver, contract) {\n\t\tconst columns = contractColumns(contract);\n\t\treturn buildMysqlSchemaIR(await readMysqlCatalog(driver), this.declaredDataTypes, async (tableName, columnName, rawDefault) => {\n\t\t\tconst column = columns.columnOf(void 0, tableName, columnName);\n\t\t\tconst codec = column === void 0 ? void 0 : codecForRef(this.codecRegistry, column.codecRef);\n\t\t\tif (codec === void 0) return {};\n\t\t\treturn readColumnDefault(codec, {\n\t\t\t\tliteral: {\n\t\t\t\t\tkind: \"value\",\n\t\t\t\t\tbody: rawDefault\n\t\t\t\t},\n\t\t\t\traw: rawDefault\n\t\t\t}, void 0);\n\t\t}, declaredIndexes(contract));\n\t}\n};\n//#endregion\n//#region src/exports/control.ts\nconst mysqlAdapterDescriptor = {\n\t...mysqlAdapterDescriptorMeta,\n\tcontrolMutationDefaults: {\n\t\tdefaultFunctionRegistry: new Map(Object.entries(sqlDefaultFunctions())),\n\t\tgeneratorDescriptors: []\n\t},\n\tcreate(stack) {\n\t\treturn new MysqlControlAdapter(assembleMysqlCodecRegistry(stack.target, stack.extensions), stack.declaredDataTypes.map(({ type }) => type));\n\t}\n};\n//#endregion\nexport { MysqlControlAdapter, buildMysqlSchemaIR, mysqlAdapterDescriptor as default };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}
|
package/dist/{descriptor-meta-BurjcSiU-Cbk2L1jf.mjs → descriptor-meta-D7tc0iue-C4W7o0Av.mjs}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { a as MYSQL_TEXT_CODEC_ID, i as MYSQL_INT_CODEC_ID, n as MYSQL_DATETIME_CODEC_ID, t as MYSQL_BIGINT_CODEC_ID } from "./codec-ids-cjxtOcLM-vFeQhgPm.mjs";
|
|
2
2
|
import { f as mysqlTextDataTypes, u as mysqlInt } from "./data-types-Dv9gwVRV-BZPzCWZk.mjs";
|
|
3
3
|
import { t as mysqlDataTypeEntries } from "./data-type-entries-B0AoBozh-f9AEUIUQ.mjs";
|
|
4
|
-
import { t as mysqlTargetDescriptorMetaRuntime } from "./descriptor-meta-runtime-
|
|
4
|
+
import { t as mysqlTargetDescriptorMetaRuntime } from "./descriptor-meta-runtime-Cur6umHo-C_4rsCGC.mjs";
|
|
5
5
|
import { SQL_VARCHAR_CODEC_ID } from "@prisma/orm-family-sql/relational-core/ast";
|
|
6
6
|
import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
|
|
7
7
|
import { idGeneratorFunctionBindings, sqlIntegerArgumentGeneratorFunctions, sqlTargetTypeConstructors } from "@prisma/orm-family-sql/family/pack";
|
|
8
8
|
import { TIMESTAMP_NOW_GENERATOR_ID } from "@prisma/orm-framework/components/authoring";
|
|
9
9
|
import { singleGeneratorBinding } from "@prisma/orm-framework/components/components";
|
|
10
|
-
//#region ../../../3-targets/mysql/1-target/dist/descriptor-meta-
|
|
10
|
+
//#region ../../../3-targets/mysql/1-target/dist/descriptor-meta-D7tc0iue.mjs
|
|
11
11
|
/** The type constructors whose arguments are sizes, which take values of `mysql/int`. */
|
|
12
12
|
const mysqlAuthoringTypes = { .../* @__PURE__ */ sqlTargetTypeConstructors({ sizeType: "mysql/int" }) };
|
|
13
13
|
const mysqlGeneratorFunctions = [
|
|
@@ -79,4 +79,4 @@ const mysqlTargetDescriptorMeta = {
|
|
|
79
79
|
//#endregion
|
|
80
80
|
export { mysqlTargetDescriptorMeta as t };
|
|
81
81
|
|
|
82
|
-
//# sourceMappingURL=descriptor-meta-
|
|
82
|
+
//# sourceMappingURL=descriptor-meta-D7tc0iue-C4W7o0Av.mjs.map
|
package/dist/{descriptor-meta-BurjcSiU-Cbk2L1jf.mjs.map → descriptor-meta-D7tc0iue-C4W7o0Av.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor-meta-
|
|
1
|
+
{"version":3,"file":"descriptor-meta-D7tc0iue-C4W7o0Av.mjs","names":[],"sources":["../../../../3-targets/mysql/1-target/dist/descriptor-meta-D7tc0iue.mjs"],"sourcesContent":["import { a as MYSQL_TEXT_CODEC_ID, i as MYSQL_INT_CODEC_ID, n as MYSQL_DATETIME_CODEC_ID, t as MYSQL_BIGINT_CODEC_ID } from \"./codec-ids-cjxtOcLM.mjs\";\nimport { f as mysqlTextDataTypes, u as mysqlInt } from \"./data-types-Dv9gwVRV.mjs\";\nimport { t as mysqlDataTypeEntries } from \"./data-type-entries-B0AoBozh.mjs\";\nimport { t as mysqlTargetDescriptorMetaRuntime } from \"./descriptor-meta-runtime-Cur6umHo.mjs\";\nimport { SQL_VARCHAR_CODEC_ID } from \"@internal/sql-relational-core/ast\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { idGeneratorFunctionBindings, sqlIntegerArgumentGeneratorFunctions, sqlTargetTypeConstructors } from \"@internal/family-sql/pack\";\nimport { TIMESTAMP_NOW_GENERATOR_ID } from \"@internal/framework-components/authoring\";\nimport { singleGeneratorBinding } from \"@internal/framework-components/components\";\n//#region src/core/authoring.ts\n/** The type constructors whose arguments are sizes, which take values of `mysql/int`. */\nconst mysqlAuthoringTypes = { .../* @__PURE__ */ sqlTargetTypeConstructors({ sizeType: \"mysql/int\" }) };\n//#endregion\n//#region src/core/generator-functions.ts\nconst mysqlGeneratorFunctions = [\n\t...sqlIntegerArgumentGeneratorFunctions({ integer: mysqlInt.id }),\n\t{\n\t\tname: \"now\",\n\t\tbindings: [singleGeneratorBinding({\n\t\t\tcodecIds: [MYSQL_DATETIME_CODEC_ID],\n\t\t\tgeneratorId: TIMESTAMP_NOW_GENERATOR_ID\n\t\t})]\n\t},\n\t...idGeneratorFunctionBindings({ text: [MYSQL_TEXT_CODEC_ID] })\n];\n/** The `now` generator MySQL binds. The SQL family registers the identifier generators. */\nconst mysqlGeneratorDescriptors = [{ id: TIMESTAMP_NOW_GENERATOR_ID }];\n/**\n* The base PSL scalars as zero-arg type constructors. Each names a codec; the column's database type is its data type's. The target contributes them, so PSL and the TypeScript builder's `type.*` see the same names.\n*/\nconst mysqlScalarTypeConstructors = {\n\tString: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: `Text of at most 191 characters, stored as MySQL varchar(191) so that it can be indexed.`,\n\t\toutput: {\n\t\t\tcodecId: SQL_VARCHAR_CODEC_ID,\n\t\t\ttypeParams: { length: 191 }\n\t\t}\n\t},\n\tInt: {\n\t\tkind: \"typeConstructor\",\n\t\tinferred: true,\n\t\tdocumentation: \"A signed 32-bit integer stored as MySQL int and represented as a JavaScript number.\",\n\t\toutput: { codecId: MYSQL_INT_CODEC_ID }\n\t},\n\tBigInt: {\n\t\tkind: \"typeConstructor\",\n\t\tinferred: true,\n\t\tdocumentation: \"A signed 64-bit integer stored as MySQL bigint and represented as a JavaScript bigint.\",\n\t\toutput: { codecId: MYSQL_BIGINT_CODEC_ID }\n\t},\n\tDateTime: {\n\t\tkind: \"typeConstructor\",\n\t\tinferred: true,\n\t\tdocumentation: \"A date and time with millisecond precision, stored as MySQL datetime(3) in UTC and represented as a JavaScript Date.\",\n\t\toutput: {\n\t\t\tcodecId: MYSQL_DATETIME_CODEC_ID,\n\t\t\ttypeParams: { precision: 3 }\n\t\t}\n\t}\n};\nconst mysqlTargetDescriptorMeta = {\n\t...mysqlTargetDescriptorMetaRuntime,\n\tdefaultNamespaceId: UNBOUND_NAMESPACE_ID,\n\tsupportsNamespaces: false,\n\tdisplayName: \"MySQL\",\n\tauthoring: {\n\t\ttype: {\n\t\t\t...mysqlScalarTypeConstructors,\n\t\t\t...mysqlAuthoringTypes\n\t\t},\n\t\tdataTypes: mysqlDataTypeEntries(),\n\t\ttextDataTypes: mysqlTextDataTypes\n\t},\n\tgeneratorFunctions: mysqlGeneratorFunctions,\n\tcontrolMutationDefaults: {\n\t\tdefaultFunctionRegistry: /* @__PURE__ */ new Map(),\n\t\tgeneratorDescriptors: mysqlGeneratorDescriptors\n\t}\n};\n//#endregion\nexport { mysqlTargetDescriptorMeta as t };\n\n//# sourceMappingURL=descriptor-meta-D7tc0iue.mjs.map"],"mappings":";;;;;;;;;;;AAWA,MAAM,sBAAsB,EAAE,GAAmB,0CAA0B,EAAE,UAAU,YAAY,CAAC,EAAE;AAGtG,MAAM,0BAA0B;CAC/B,GAAG,qCAAqC,EAAE,SAAS,SAAS,GAAG,CAAC;CAChE;EACC,MAAM;EACN,UAAU,CAAC,uBAAuB;GACjC,UAAU,CAAC,uBAAuB;GAClC,aAAa;EACd,CAAC,CAAC;CACH;CACA,GAAG,4BAA4B,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;AAC/D;;AAEA,MAAM,4BAA4B,CAAC,EAAE,IAAI,2BAA2B,CAAC;;;;AAIrE,MAAM,8BAA8B;CACnC,QAAQ;EACP,MAAM;EACN,eAAe;EACf,QAAQ;GACP,SAAS;GACT,YAAY,EAAE,QAAQ,IAAI;EAC3B;CACD;CACA,KAAK;EACJ,MAAM;EACN,UAAU;EACV,eAAe;EACf,QAAQ,EAAE,SAAS,mBAAmB;CACvC;CACA,QAAQ;EACP,MAAM;EACN,UAAU;EACV,eAAe;EACf,QAAQ,EAAE,SAAS,sBAAsB;CAC1C;CACA,UAAU;EACT,MAAM;EACN,UAAU;EACV,eAAe;EACf,QAAQ;GACP,SAAS;GACT,YAAY,EAAE,WAAW,EAAE;EAC5B;CACD;AACD;AACA,MAAM,4BAA4B;CACjC,GAAG;CACH,oBAAoB;CACpB,oBAAoB;CACpB,aAAa;CACb,WAAW;EACV,MAAM;GACL,GAAG;GACH,GAAG;EACJ;EACA,WAAW,qBAAqB;EAChC,eAAe;CAChB;CACA,oBAAoB;CACpB,yBAAyB;EACxB,yCAAyC,IAAI,IAAI;EACjD,sBAAsB;CACvB;AACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as mysqlDataTypes } from "./data-types-Dv9gwVRV-BZPzCWZk.mjs";
|
|
2
|
-
//#region ../../../3-targets/mysql/1-target/dist/descriptor-meta-runtime-
|
|
3
|
-
/** The runtime-safe part of the MySQL target's metadata: it leaves out `authoring`, which only contract construction reads. Every session runs in UTC, because the datetime codec reads and writes UTC. */
|
|
2
|
+
//#region ../../../3-targets/mysql/1-target/dist/descriptor-meta-runtime-Cur6umHo.mjs
|
|
3
|
+
/** The runtime-safe part of the MySQL target's metadata: it leaves out `authoring`, which only contract construction reads. Every session runs in UTC, because the datetime codec reads and writes UTC, and at READ COMMITTED, as Postgres does, so a read inside a transaction sees rows other sessions committed. Transaction isolation controls will replace the setting. */
|
|
4
4
|
const mysqlTargetDescriptorMetaRuntime = {
|
|
5
5
|
kind: "target",
|
|
6
6
|
familyId: "sql",
|
|
@@ -9,9 +9,12 @@ const mysqlTargetDescriptorMetaRuntime = {
|
|
|
9
9
|
version: "0.0.1",
|
|
10
10
|
capabilities: {},
|
|
11
11
|
dataTypes: mysqlDataTypes,
|
|
12
|
-
sessionSettings: {
|
|
12
|
+
sessionSettings: {
|
|
13
|
+
time_zone: "+00:00",
|
|
14
|
+
transaction_isolation: "READ-COMMITTED"
|
|
15
|
+
}
|
|
13
16
|
};
|
|
14
17
|
//#endregion
|
|
15
18
|
export { mysqlTargetDescriptorMetaRuntime as t };
|
|
16
19
|
|
|
17
|
-
//# sourceMappingURL=descriptor-meta-runtime-
|
|
20
|
+
//# sourceMappingURL=descriptor-meta-runtime-Cur6umHo-C_4rsCGC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptor-meta-runtime-Cur6umHo-C_4rsCGC.mjs","names":[],"sources":["../../../../3-targets/mysql/1-target/dist/descriptor-meta-runtime-Cur6umHo.mjs"],"sourcesContent":["import { i as mysqlDataTypes } from \"./data-types-Dv9gwVRV.mjs\";\n/** The runtime-safe part of the MySQL target's metadata: it leaves out `authoring`, which only contract construction reads. Every session runs in UTC, because the datetime codec reads and writes UTC, and at READ COMMITTED, as Postgres does, so a read inside a transaction sees rows other sessions committed. Transaction isolation controls will replace the setting. */\nconst mysqlTargetDescriptorMetaRuntime = {\n\tkind: \"target\",\n\tfamilyId: \"sql\",\n\ttargetId: \"mysql\",\n\tid: \"mysql\",\n\tversion: \"0.0.1\",\n\tcapabilities: {},\n\tdataTypes: mysqlDataTypes,\n\tsessionSettings: {\n\t\ttime_zone: \"+00:00\",\n\t\ttransaction_isolation: \"READ-COMMITTED\"\n\t}\n};\n//#endregion\nexport { mysqlTargetDescriptorMetaRuntime as t };\n\n//# sourceMappingURL=descriptor-meta-runtime-Cur6umHo.mjs.map"],"mappings":";;;AAEA,MAAM,mCAAmC;CACxC,MAAM;CACN,UAAU;CACV,UAAU;CACV,IAAI;CACJ,SAAS;CACT,cAAc,CAAC;CACf,WAAW;CACX,iBAAiB;EAChB,WAAW;EACX,uBAAuB;CACxB;AACD"}
|
package/dist/driver.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MysqlControlDriver } from "./control-
|
|
1
|
+
import { t as MysqlControlDriver } from "./control-CgeXsxCR.mjs";
|
|
2
2
|
export { MysqlControlDriver };
|
package/dist/driver__control.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as mysqlDriverDescriptor, t as MysqlControlDriver } from "./control-
|
|
1
|
+
import { n as mysqlDriverDescriptor, t as MysqlControlDriver } from "./control-CgeXsxCR.mjs";
|
|
2
2
|
export { MysqlControlDriver, mysqlDriverDescriptor as default };
|