Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
3 changes: 1 addition & 2 deletions packages/extension-driver-duckdb/src/lib/duckdbDataSource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ export class DuckDBDataSource extends DataSource<any, DuckDBOptions> {
const { db, configurationParameters, ...options } =
this.dbMapping.get(profileName)!;
const [firstDataSQL, restDataSQL] = buildSQL(sql, operations);

// create new connection for each query
const parameters = Array.from(bindParams.values());
this.logRequest(firstDataSQL, parameters, options);
Expand Down Expand Up @@ -144,7 +143,7 @@ export class DuckDBDataSource extends DataSource<any, DuckDBOptions> {
this.push(null);
},
});
if (firstData.length >= chunkSize) {
if (firstData.length >= chunkSize && restDataStream) {
readable._read = async function () {
if (restDataStream) {
for await (const row of restDataStream) {
Expand Down
6 changes: 5 additions & 1 deletion packages/extension-driver-duckdb/src/lib/sqlBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@ export const buildSQL = (
sql: string,
operations: Partial<Parameterized<SQLClauseOperation>>
): string[] => {
if (isNoOP(operations) && !/^select/.test(sql.toLowerCase()))
if (
isNoOP(operations) &&
!/^select/.test(sql.toLowerCase()) &&
!/^with recursive/.test(sql.toLowerCase())
)
return [sql, ''];
let builtSQL = '';
builtSQL += `SELECT * FROM (${removeEndingSemiColon(sql)})`;
Expand Down