You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
driver-turso remote: a federated object's external.remoteName is ignored — remote find queries a table named after the object and throws a bare LibsqlError (no code, no status), while the local face reads the mapped table #20107
Filing gate: ① a defect with a named landing site: packages/drivers/driver-turso/src/turso-driver.ts, the remote arms of the read doors, and the RemoteTransport statements they build (packages/drivers/driver-turso/src/remote-transport.ts). Finding class (a).
The domain:engine execution seat 1 (session_01Bvd69VPa6puiNzzPUroDBx) filed this from its #20055 dev's out-of-scope findings (os-dev-report on #20055, PR #20104). The runtime reading is the dev's. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.
What happens
Measured by the #20055 dev at origin/maind4c897e0e7 and at PR #20104's head:
Local face (the control). After registerExternalObject({ name: 'ext_t', external: { remoteName: 'probe_t' } }), find('ext_t') reads probe_t's rows. The external-object mapping resolves the table.
Remote face. The same registration, then find('ext_t'), throws a bare LibsqlError, SQLITE_ERROR: no such table: ext_t. It has no code / status envelope, so REST serves an unclassified 500.
So on a remote Turso database a federated object cannot be read under its own name. The remote read doors compile against the object name, not the registered remote table.
Suggested shape (⛔ not a ruling)
Resolve the table name on the remote face the way the local face does, through the same external-object mapping, for every remote read and write door. Or refuse registerExternalObject on the remote face with the transport's NOT_IMPLEMENTED / 501, if federation is out of contract there. Measure which answer the local face's docs and callers expect first.
Whichever it is, a backend "no such table" must not reach a caller as a bare LibsqlError.
Pin local against remote with one table: find, findOne, count and aggregate on an external object.
Filing gate: ① a defect with a named landing site:
packages/drivers/driver-turso/src/turso-driver.ts, the remote arms of the read doors, and theRemoteTransportstatements they build (packages/drivers/driver-turso/src/remote-transport.ts). Finding class (a).The
domain:engineexecution seat 1 (session_01Bvd69VPa6puiNzzPUroDBx) filed this from its #20055 dev's out-of-scope findings (os-dev-reporton #20055, PR #20104). The runtime reading is the dev's. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.What happens
Measured by the #20055 dev at
origin/maind4c897e0e7and at PR #20104's head:registerExternalObject({ name: 'ext_t', external: { remoteName: 'probe_t' } }),find('ext_t')readsprobe_t's rows. The external-object mapping resolves the table.find('ext_t'), throws a bareLibsqlError,SQLITE_ERROR: no such table: ext_t. It has nocode/statusenvelope, so REST serves an unclassified 500.So on a remote Turso database a federated object cannot be read under its own name. The remote read doors compile against the object name, not the registered remote table.
Suggested shape (⛔ not a ruling)
registerExternalObjecton the remote face with the transport'sNOT_IMPLEMENTED/ 501, if federation is out of contract there. Measure which answer the local face's docs and callers expect first.LibsqlError.Filing-gate answers
SqlDrivermethods the remote face does not override answer from the placeholder:memory:Knex database —introspectSchema()returns no tables,distinct()a 500,findWithWindowFunctions()a raw SQLite error #20055 dev.domain:engine, the owner ofdriver-turso). It is sequenced after PR fix(driver-turso)!: a remote TursoDriver answers or refuses every inherited SqlDriver member (#20055) #20104 (driver-turso remote: inheritedSqlDrivermethods the remote face does not override answer from the placeholder:memory:Knex database —introspectSchema()returns no tables,distinct()a 500,findWithWindowFunctions()a raw SQLite error #20055), which edits the remote arms of the same file. That is a region order, not aBlocked-by:.closedincluded:turso remote external remoteName ignored registerExternalObject federation no such table LibsqlError→ 7 hits, all read: driver-turso remote: inheritedSqlDrivermethods the remote face does not override answer from the placeholder:memory:Knex database —introspectSchema()returns no tables,distinct()a 500,findWithWindowFunctions()a raw SQLite error #20055 (the source card, the positive control), driver-turso remotesyncSchemasBatch— the engine boot door — skips read-coercion registration, managed-object recording and the canonical backfill: a remote boolean can read back as 1, JSON as a string #19844, driver-turso remote planMediaColumnMove answers empty, so os migrate files-to-references reports nothing to move on a remote Turso database whose media columns are present #19894, external-datasource-federated-read: federated read returns empty — the external object→remote-table mapping never registers (boot ordering) #7737, external-datasource-federated-read: the platform injects its org-scoping predicate onto a federated remote table that has no organization_id column #7738, drivers(turso): RemoteTransport 条件层的$-算子键被当列名编译成静默空集 —— SqlDriver 已按 #5348 拒收,remote 是唯一剩余面(cloud#1077 移交) #5769 and drivers(turso): remote 模式没有继承 #5146 的$notNULL-safe —— 同一个 TursoDriver,local 返回 NULL 行、remote 不返回(实测,origin/main) #5903.remoteName.Dedupe words:
turso remote external remoteName ignored·turso remote federation registerExternalObject·turso remote find raw LibsqlError