private void runInitialQueries(ProtocolConnection protoConnection, Properties info, Logger logger) throws SQLException { String dbVersion = protoConnection.getServerVersion(); if (dbVersion.compareTo("9.0") >= 0) { SetupQueryRunner.run(protoConnection, "SET extra_float_digits = 3", false); } String appName = info.getProperty("ApplicationName"); if (appName != null && dbVersion.compareTo("9.0") >= 0) { StringBuffer sql = new StringBuffer(); sql.append("SET application_name = '"); Utils.appendEscapedLiteral(sql, appName, protoConnection.getStandardConformingStrings()); sql.append("'"); SetupQueryRunner.run(protoConnection, sql.toString(), false); } }
private boolean isMaster(QueryExecutor queryExecutor) throws SQLException, IOException { byte[][] results = SetupQueryRunner.run(queryExecutor, "show transaction_read_only", true); String value = queryExecutor.getEncoding().decode(results[0]); return value.equalsIgnoreCase("off"); } }
private void runInitialQueries(QueryExecutor queryExecutor, Properties info) throws SQLException { String assumeMinServerVersion = PGProperty.ASSUME_MIN_SERVER_VERSION.get(info); if (Utils.parseServerVersionStr(assumeMinServerVersion) >= ServerVersion.v9_0.getVersionNum()) { // We already sent the parameter values in the StartupMessage so skip this return; } final int dbVersion = queryExecutor.getServerVersionNum(); if (dbVersion >= ServerVersion.v9_0.getVersionNum()) { SetupQueryRunner.run(queryExecutor, "SET extra_float_digits = 3", false); } String appName = PGProperty.APPLICATION_NAME.get(info); if (appName != null && dbVersion >= ServerVersion.v9_0.getVersionNum()) { StringBuilder sql = new StringBuilder(); sql.append("SET application_name = '"); Utils.escapeLiteral(sql, appName, queryExecutor.getStandardConformingStrings()); sql.append("'"); SetupQueryRunner.run(queryExecutor, sql.toString(), false); } }
private void runInitialQueries(ProtocolConnectionImpl protoConnection, Properties info, Logger logger) throws SQLException, IOException { byte[][] results = SetupQueryRunner.run(protoConnection, "set datestyle = 'ISO'; select version(), case when pg_encoding_to_char(1) = 'SQL_ASCII' then 'UNKNOWN' else getdatabaseencoding() end", true); SetupQueryRunner.run(protoConnection, sql, false); protoConnection.setEncoding(Encoding.getDatabaseEncoding("UTF8")); results = SetupQueryRunner.run(protoConnection, "select current_setting('standard_conforming_strings')", true); String value = protoConnection.getEncoding().decode(results[0]); protoConnection.setStandardConformingStrings(value.equalsIgnoreCase("on")); Utils.appendEscapedLiteral(sb, appName, protoConnection.getStandardConformingStrings()); sb.append("'"); SetupQueryRunner.run(protoConnection, sb.toString(), false);
private void runInitialQueries(ProtocolConnection protoConnection, Properties info, Logger logger) throws SQLException { String dbVersion = protoConnection.getServerVersion(); if (dbVersion.compareTo("9.0") >= 0) { SetupQueryRunner.run(protoConnection, "SET extra_float_digits = 3", false); } String appName = info.getProperty("ApplicationName"); if (appName != null && dbVersion.compareTo("9.0") >= 0) { StringBuffer sql = new StringBuffer(); sql.append("SET application_name = '"); Utils.appendEscapedLiteral(sql, appName, protoConnection.getStandardConformingStrings()); sql.append("'"); SetupQueryRunner.run(protoConnection, sql.toString(), false); } }
private void runInitialQueries(ProtocolConnectionImpl protoConnection, Properties info, Logger logger) throws SQLException, IOException { byte[][] results = SetupQueryRunner.run(protoConnection, "set datestyle = 'ISO'; select version(), case when pg_encoding_to_char(1) = 'SQL_ASCII' then 'UNKNOWN' else getdatabaseencoding() end", true); SetupQueryRunner.run(protoConnection, sql, false); protoConnection.setEncoding(Encoding.getDatabaseEncoding("UTF8")); results = SetupQueryRunner.run(protoConnection, "select current_setting('standard_conforming_strings')", true); String value = protoConnection.getEncoding().decode(results[0]); protoConnection.setStandardConformingStrings(value.equalsIgnoreCase("on")); Utils.appendEscapedLiteral(sb, appName, protoConnection.getStandardConformingStrings()); sb.append("'"); SetupQueryRunner.run(protoConnection, sb.toString(), false);