From 95ea7f22229db778360a54e1e864f03b86aa590e Mon Sep 17 00:00:00 2001 From: Sun Yuhan Date: Tue, 10 Jun 2025 16:05:51 +0800 Subject: [PATCH] fix: Fixed GH-3492, Fixed the SQL error in the `isTableExists` method of `MariaDBSchemaValidator`. Signed-off-by: Sun Yuhan (cherry picked from commit b925c50f0407af0097ac409baa7e0cc44b4782d0) --- .../ai/vectorstore/mariadb/MariaDBSchemaValidator.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBSchemaValidator.java b/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBSchemaValidator.java index cb8235895..82fbc0d68 100644 --- a/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBSchemaValidator.java +++ b/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBSchemaValidator.java @@ -45,12 +45,11 @@ public class MariaDBSchemaValidator { private boolean isTableExists(String schemaName, String tableName) { // schema and table are expected to be escaped - String sql = String.format( - "SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s", - (schemaName == null) ? "SCHEMA()" : schemaName, tableName); + String sql = "SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?"; try { // Query for a single integer value, if it exists, table exists - this.jdbcTemplate.queryForObject(sql, Integer.class); + this.jdbcTemplate.queryForObject(sql, Integer.class, (schemaName == null) ? "SCHEMA()" : schemaName, + tableName); return true; } catch (DataAccessException e) {