From 4d649d78b954478d9cac0ab5d6b72bd9b708bb49 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Mon, 8 Dec 2025 03:53:06 +0100 Subject: [PATCH] Ignore `SET key = 'value'` queries on PostgreSQL interface (#416) ## Problem CrateDB's built-in PostgreSQL JDBC FDW connector emits this SQL statement, which currently fails on ROAPI: ```sql SET application_name = 'PostgreSQL JDBC Driver' ``` ## Solution Ignore all `SET key = 'value'` queries, or, to be more precise, all queries starting with `SET`. Is it too harsh? ## References - GH-415 - https://github.com/crate/cratedb-examples/pull/1286#pullrequestreview-3549651369 --- roapi/src/server/postgres.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roapi/src/server/postgres.rs b/roapi/src/server/postgres.rs index 28e42b6..a0d334f 100644 --- a/roapi/src/server/postgres.rs +++ b/roapi/src/server/postgres.rs @@ -116,7 +116,8 @@ impl RoapiQueryHandler { info!("executing query: {query}"); // Handle some special PostgreSQL queries - if query.trim().to_lowercase().starts_with("show") { + let query_normalized = query.trim().to_lowercase(); + if query_normalized.starts_with("show") || query_normalized.starts_with("set") { let empty_schema = Arc::new(vec![]); let empty_stream = stream::iter(vec![]); return Ok(QueryResponse::new(empty_schema, empty_stream));