Add native literal substring query predicates
Implement checked containsInsensitive string predicates in GraphQL, protobuf, native SQL and bounded residual evaluation. ASCII folding is deterministic; SQL pattern characters remain literal. Retain deferred full-text index design. Studio migration awaits a decision on checked native getter forwarding across conformances; do not duplicate titles or bypass private state ownership. Compiler and local full-stack substring-query acceptance pass.
This commit is contained in:
@@ -276,6 +276,10 @@ test("fixed GraphQL yields exact effects, typed references and distinct query ar
|
||||
test("query allowlist and two-sided RPC effects fail during compilation", async () => {
|
||||
const rejects = (promise: Promise<unknown>, code: string) =>
|
||||
assert.rejects(promise, (error: unknown) => error instanceof QueryCompileError && error.code === code);
|
||||
const substring = (field: string) =>
|
||||
`query Upcoming {root {items(first: 3, where: {${field}: {containsInsensitive: "TASK"}}) {entries {node {...Row}}}}}`;
|
||||
await compile(substring("title"));
|
||||
await rejects(compile(substring("due")), "QUERY_VALIDATION");
|
||||
await rejects(compile(document, "fragment Row on TaskFacts { hidden }"), "QUERY_VALIDATION");
|
||||
await rejects(compile(document, "fragment Row on TaskFacts { score }"), "QUERY_RPC_CONSUMER_REASON");
|
||||
await compile(
|
||||
|
||||
Reference in New Issue
Block a user