diff --git a/aws_advanced_python_wrapper/database_dialect.py b/aws_advanced_python_wrapper/database_dialect.py index 7b3d2f27..53bab7ee 100644 --- a/aws_advanced_python_wrapper/database_dialect.py +++ b/aws_advanced_python_wrapper/database_dialect.py @@ -380,8 +380,8 @@ def is_blue_green_status_available(self, conn: Connection) -> bool: class RdsPgDialect(PgDatabaseDialect, BlueGreenDialect): - _EXTENSIONS_QUERY = ("SELECT (setting LIKE '%rds_tools%') AS rds_tools, " - "(setting LIKE '%aurora_stat_utils%') AS aurora_stat_utils " + _EXTENSIONS_QUERY = ("SELECT (setting OPERATOR(pg_catalog.~~) '%rds_tools%') AS rds_tools, " + "(setting OPERATOR(pg_catalog.~~) '%aurora_stat_utils%') AS aurora_stat_utils " "FROM pg_catalog.pg_settings " "WHERE name OPERATOR(pg_catalog.=) 'rds.extensions'") _DIALECT_UPDATE_CANDIDATES = (DialectCode.AURORA_PG, DialectCode.GLOBAL_AURORA_PG, DialectCode.MULTI_AZ_CLUSTER_PG) @@ -391,7 +391,7 @@ class RdsPgDialect(PgDatabaseDialect, BlueGreenDialect): "WHERE id OPERATOR(pg_catalog.=) rds_tools.dbi_resource_id()") _BG_STATUS_QUERY = (f"SELECT version, endpoint, port, role, status " f"FROM rds_tools.show_topology('aws_advanced_python_wrapper-{DriverInfo.DRIVER_VERSION}')") - _BG_STATUS_EXISTS_QUERY = "SELECT 'rds_tools.show_topology'::regproc" + _BG_STATUS_EXISTS_QUERY = "SELECT 'rds_tools.show_topology'::pg_catalog.regproc" @property def host_id_query(self) -> str: @@ -497,7 +497,7 @@ def is_blue_green_status_available(self, conn: Connection) -> bool: class AuroraPgDialect(PgDatabaseDialect, TopologyAwareDatabaseDialect, AuroraLimitlessDialect, BlueGreenDialect): _DIALECT_UPDATE_CANDIDATES: Tuple[DialectCode, ...] = (DialectCode.GLOBAL_AURORA_PG, DialectCode.MULTI_AZ_CLUSTER_PG) - _AURORA_UTILS_EXIST_QUERY = "SELECT (setting LIKE '%aurora_stat_utils%') AS aurora_stat_utils " \ + _AURORA_UTILS_EXIST_QUERY = "SELECT (setting OPERATOR(pg_catalog.~~) '%aurora_stat_utils%') AS aurora_stat_utils " \ "FROM pg_catalog.pg_settings WHERE name OPERATOR(pg_catalog.=) 'rds.extensions'" _HAS_TOPOLOGY_QUERY = "SELECT 1 FROM pg_catalog.aurora_replica_status() LIMIT 1" @@ -515,7 +515,7 @@ class AuroraPgDialect(PgDatabaseDialect, TopologyAwareDatabaseDialect, AuroraLim _BG_STATUS_QUERY = (f"SELECT version, endpoint, port, role, status " f"FROM pg_catalog.get_blue_green_fast_switchover_metadata('aws_advanced_python_wrapper-{DriverInfo.DRIVER_VERSION}')") - _BG_STATUS_EXISTS_QUERY = "SELECT 'pg_catalog.get_blue_green_fast_switchover_metadata'::regproc" + _BG_STATUS_EXISTS_QUERY = "SELECT 'pg_catalog.get_blue_green_fast_switchover_metadata'::pg_catalog.regproc" _WRITER_HOST_QUERY = \ ("SELECT SERVER_ID FROM pg_catalog.aurora_replica_status() " "WHERE SESSION_ID OPERATOR(pg_catalog.=) 'MASTER_SESSION_ID' " @@ -628,15 +628,15 @@ def get_host_list_provider_supplier(self, plugin_service: PluginService) -> Call class GlobalAuroraPgDialect(AuroraPgDialect, GlobalAuroraTopologyDialect): - _GLOBAL_STATUS_TABLE_EXISTS_QUERY = "select 'pg_catalog.aurora_global_db_status'::regproc" - _GLOBAL_INSTANCE_STATUS_EXISTS_QUERY = "select 'pg_catalog.aurora_global_db_instance_status'::regproc" + _GLOBAL_STATUS_TABLE_EXISTS_QUERY = "SELECT 'pg_catalog.aurora_global_db_status'::pg_catalog.regproc" + _GLOBAL_INSTANCE_STATUS_EXISTS_QUERY = "SELECT 'pg_catalog.aurora_global_db_instance_status'::pg_catalog.regproc" _TOPOLOGY_QUERY = \ - ("SELECT SERVER_ID, CASE WHEN SESSION_ID = 'MASTER_SESSION_ID' THEN TRUE ELSE FALSE END, " + ("SELECT SERVER_ID, CASE WHEN SESSION_ID OPERATOR(pg_catalog.=) 'MASTER_SESSION_ID' THEN TRUE ELSE FALSE END, " "VISIBILITY_LAG_IN_MSEC, AWS_REGION " "FROM pg_catalog.aurora_global_db_instance_status()") - _REGION_COUNT_QUERY = "SELECT count(1) FROM pg_catalog.aurora_global_db_status()" + _REGION_COUNT_QUERY = "SELECT pg_catalog.count(1) FROM pg_catalog.aurora_global_db_status()" _REGION_BY_INSTANCE_ID_QUERY = \ - "SELECT AWS_REGION FROM pg_catalog.aurora_global_db_instance_status() WHERE SERVER_ID = %s" + "SELECT AWS_REGION FROM pg_catalog.aurora_global_db_instance_status() WHERE SERVER_ID OPERATOR(pg_catalog.=) %s" @property def dialect_update_candidates(self) -> Optional[Tuple[DialectCode, ...]]: