From d0082da8db643e633494f9266c8bd26f18b42c65 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Fri, 10 Jul 2026 09:17:25 -0700 Subject: [PATCH 1/2] fix: add default to engine in [[query_parsers]] --- pgdog-config/src/sharding.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pgdog-config/src/sharding.rs b/pgdog-config/src/sharding.rs index 6659922f1..3990b3108 100644 --- a/pgdog-config/src/sharding.rs +++ b/pgdog-config/src/sharding.rs @@ -561,8 +561,37 @@ impl Display for UniqueIdFunction { pub struct QueryParser { /// Database name. pub database: String, + + #[serde(default)] /// Query parser level. pub level: QueryParserLevel, + /// Query parser engine used. + #[serde(default)] pub engine: QueryParserEngine, } + +#[cfg(test)] +mod tests { + use crate::Config; + + use super::{QueryParserEngine, QueryParserLevel}; + + #[test] + fn query_parser_reads_default_values_from_config() { + let source = r#" +[[query_parsers]] +database = "production" +"#; + + let config: Config = toml::from_str(source).unwrap(); + + assert_eq!(config.query_parsers.len(), 1); + assert_eq!(config.query_parsers[0].database, "production"); + assert_eq!(config.query_parsers[0].level, QueryParserLevel::Auto); + assert_eq!( + config.query_parsers[0].engine, + QueryParserEngine::PgQueryProtobuf + ); + } +} From d95f0ace980706cf7bc061b05b97f80ad0d56e19 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Fri, 10 Jul 2026 09:20:02 -0700 Subject: [PATCH 2/2] json schema --- .schema/pgdog.schema.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.schema/pgdog.schema.json b/.schema/pgdog.schema.json index d689adbb4..dd823567e 100644 --- a/.schema/pgdog.schema.json +++ b/.schema/pgdog.schema.json @@ -189,7 +189,7 @@ "$ref": "#/$defs/Plugin" } }, - "query_parser": { + "query_parsers": { "description": "Query parser levels per-database.", "type": "array", "default": [], @@ -1621,18 +1621,18 @@ }, "engine": { "description": "Query parser engine used.", - "$ref": "#/$defs/QueryParserEngine" + "$ref": "#/$defs/QueryParserEngine", + "default": "pg_query_protobuf" }, "level": { "description": "Query parser level.", - "$ref": "#/$defs/QueryParserLevel" + "$ref": "#/$defs/QueryParserLevel", + "default": "auto" } }, "additionalProperties": false, "required": [ - "database", - "level", - "engine" + "database" ] }, "QueryParserEngine": {