public class DialectUtils
extends java.lang.Object
| Constructor and Description |
|---|
DialectUtils() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkExistenceQueries(java.sql.Connection conn,
java.lang.String... existenceQueries)
Given a series of existence queries, returns true if they all execute successfully and contain at least one record.
|
HostRole |
getHostRole(java.sql.Connection conn,
java.lang.String isReaderQuery)
Evaluate the database role of the given connection, either
HostRole.WRITER or HostRole.READER. |
@Nullable Pair<java.lang.String,java.lang.String> |
getInstanceId(java.sql.Connection connection,
java.lang.String instanceIdQuery)
Identifies instances across different database types using instanceId and instanceName values.
|
public boolean checkExistenceQueries(java.sql.Connection conn,
java.lang.String... existenceQueries)
conn - the connection to use for executing the queries.existenceQueries - the queries to check for existing records.public HostRole getHostRole(java.sql.Connection conn, java.lang.String isReaderQuery) throws java.sql.SQLException
HostRole.WRITER or HostRole.READER.conn - the connection to evaluate.isReaderQuery - it's a query to check if the connection is to a reader instance.java.sql.SQLException - if an exception occurs when querying the database or processing the database response.public @Nullable Pair<java.lang.String,java.lang.String> getInstanceId(java.sql.Connection connection, java.lang.String instanceIdQuery)
Database types handle these identifiers differently: - Aurora: Uses the instance name as both instanceId and instanceName Example: "test-instance-1" for both values - RDS Cluster: Uses distinct values for instanceId and instanceName Example: instanceId: "db-WQFQKBTL2LQUPIEFIFBGENS4ZQ" instanceName: "test-multiaz-instance-1"
connection - the connection to use for executing the query.instanceIdQuery - the query to execute to retrieve the instance identifiers.