Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -278,6 +278,16 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
driver = undefined;
});

// ── Why the two it() blocks below carry an explicit 60_000 budget (#14100) ──
// Both construct a FRESH `new SqlDriver(PG_CELL.config())` against the live
// Postgres cell inside their own body and then drive `initObjects(...)`, so
// the connect cycle plus schema-sync DDL and catalog read-back are paid PER
// TEST rather than once in a beforeAll. With no third argument vitest applies
// its own 5000ms default — a number nobody chose for that work, and one that
// reddens unrelated PRs when the runner is merely a bit slow. Sized to match
// this package's live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that
// these tests are known to be slow: they were found by an AST walk over the
// package, never by a measured timeout here.
it.skipIf(!PG_CELL.available)(
'postgres: index introspection reports the indexes that exist in the file’s schema',
async () => {
Expand DownExpand Up@@ -309,6 +319,7 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
expect(seen.some((i: any) => i.primary)).toBe(true);
expect(seen.some((i: any) => i.unique && !i.primary)).toBe(true);
},
60_000,
);

it.skipIf(!PG_CELL.available)(
Expand All@@ -320,5 +331,6 @@ describe('live-dialect matrix — the driver can SEE its own isolated schema (#9
const introspected = await driver.introspectSchema();
expect(Object.keys(introspected.tables ?? {})).toContain(TABLE);
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -156,6 +156,16 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
// The mechanism itself, pinned directly: this is what makes the SECOND
// speculative site (`SELECT … FOR UPDATE`, which has no `ON CONFLICT` form)
// safe as well. Postgres-only for the same reason as above.
// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// It constructs a FRESH `new SqlDriver(pgCell.config())` against the live
// Postgres cell inside its own body, then creates and drops a probe table, so
// the connect cycle and its DDL are paid PER TEST rather than once in a hook.
// With no third argument vitest applies its own 5000ms default — a number
// nobody chose for that work, and one that reddens unrelated PRs when the
// runner is merely a bit slow. Sized to match this package's live-DDL
// siblings (#13902 / #13688). ⛔ NOT a claim that this test is known to be
// slow: it was found by an AST walk over the package, never by a measured
// timeout here.
it.skipIf(!pgCell.available)(
'leaves the surrounding transaction usable after a statement error',
async () => {
Expand DownExpand Up@@ -195,5 +205,6 @@ describe(`sql-driver — attemptWithoutPoisoning (${pgCell.available ? 'live pos
await driver.disconnect();
}
},
60_000,
);
});
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,23 @@ function declareSweep(cell: DialectCell): void {
describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.label})`, () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// The it() blocks in this file are deliberately NOT budgeted: each only sends
// a query or two down a connection this hook already opened, so their cost
// model really is the fast one. But the live cost did not disappear — it
// lives HERE: a full connect cycle, two drops, `initObjects(...)` schema-sync
// DDL and two inserts, all against the cell's live server. ⚠️ A hook inherits
// `hookTimeout`, NOT `testTimeout` — measured in this package's config, an
// unbudgeted hook dies at 10000ms ("Hook timed out in 10000ms"), not at the
// 5000ms an unbudgeted it() gets. Ten seconds is still the wrong ceiling for
// this much live work, and the third argument does lift it (measured).
// Budgeting the it() blocks would have been wrong;
// leaving the hook unbudgeted just moved the exposure one scope outward.
// Budgeting hooks is established practice in this package (see the beforeAll
// hooks in sql-driver-diagnostic-value-probe, sql-driver-12380-json-roundtrip,
// sql-driver-13567-audit-stamp-materialisation and
// sql-driver-value-roundtrip-conformance). ⛔ NOT a claim that this hook is
// known to time out: it was found by an AST walk, never by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand All@@ -166,7 +183,7 @@ describe(`[#8931] driver-sql — the terminal backend-fault envelope (${cell.lab
]);
await driver.create(TABLE, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
await driver.create(TABLE, { id: 't2', title: 'Build', rank: 2 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}`).catch(() => {});
Expand DownExpand Up@@ -340,14 +357,19 @@ declareDialectCell(PG, 'backend-fault envelope — the pg-only rows', (cell) =>
describe('[#8931] postgres — the dotted route and the value-bearing diagnostic', () => {
let driver: SqlDriver;

// ── Why this beforeAll carries an explicit 60_000 budget (#14100) ──
// Same reasoning as the hook in `declareSweep` above, on the Postgres-only
// pair: a live connect, a drop, `initObjects(...)` DDL and an insert, none of
// which the two it() blocks below repeat. ⛔ NOT a claim that this hook is
// known to time out — found structurally, not by a measured red.
beforeAll(async () => {
driver = new SqlDriver(cell.config());
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
await driver.initObjects([
{ name: `${TABLE}_pg`, fields: { title: { type: 'string' }, rank: { type: 'integer' } } },
]);
await driver.create(`${TABLE}_pg`, { id: 't1', title: 'Design', rank: 1 }, { bypassTenantAudit: true });
});
}, 60_000);

afterAll(async () => {
await driver.execute(`drop table if exists ${TABLE}_pg`).catch(() => {});
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,6 +170,16 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object

// ── §3 The other posture with the same empty registry: DDL REFUSED ───────

// ── Why the it() below carries an explicit 60_000 budget (#14100) ──
// Unlike §1–§2, which reuse the connection the beforeAll opened, §3 builds a
// SECOND live driver (`guest`) inside its own body and runs an out-of-band
// `create table` through it — a full connect cycle plus DDL, paid by this
// test alone. With no third argument vitest applies its own 5000ms default —
// a number nobody chose for that work, and one that reddens unrelated PRs
// when the runner is merely a bit slow. Sized to match this package's
// live-DDL siblings (#13902 / #13688). ⛔ NOT a claim that this test is known
// to be slow: it was found by an AST walk over the package, never by a
// measured timeout here.
it('§3 a datasource we are a guest in registers its objects even though DDL is refused', async () => {
// `schemaMode !== 'managed'` (ADR-0015): `initObjects` must still refuse the
// DDL — and must no longer leave the driver ignorant of the objects it was
Expand All@@ -188,7 +198,7 @@ describe.skipIf(!PG_URL)('#10995 — live Postgres, driver told about the object
} finally {
await guest.disconnect();
}
});
}, 60_000);
});

// ── §4 The SQLite path is unchanged ────────────────────────────────────────
Expand Down
Loading