Skip to content

Commit 5ce39a2

Browse files
committed
fix: cursor() and execStream() silently dropped filterIn() and vector text queries
These methods used toDescriptor() which doesn't resolve deferred subqueries. Now throws a clear error directing users to stream() or collect() instead.
1 parent 434a727 commit 5ce39a2

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/client.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,9 @@ export class DataFrame<T extends Row = Row> {
766766
if (!this._executor.cursor) {
767767
throw new Error("cursor() requires an executor with cursor support");
768768
}
769+
if (this._deferredSubqueries.length > 0 || this._vectorEncoder) {
770+
throw new Error("cursor() cannot resolve filterIn() subqueries or vector text queries — use stream() or collect() instead");
771+
}
769772
return this._executor.cursor(this.toDescriptor(), opts?.batchSize ?? 1000);
770773
}
771774

@@ -793,6 +796,9 @@ export class DataFrame<T extends Row = Row> {
793796
if (!this._executor.executeStream) {
794797
throw new Error("execStream() requires a remote executor with streaming support");
795798
}
799+
if (this._deferredSubqueries.length > 0 || this._vectorEncoder) {
800+
throw new Error("execStream() cannot resolve filterIn() subqueries or vector text queries — use stream() or collect() instead");
801+
}
796802
return this._executor.executeStream(this.toDescriptor());
797803
}
798804

0 commit comments

Comments
 (0)