From ee6443db167da735f5a9402d16f31c3ee6d719dc Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 21 Sep 2017 14:43:18 -0600 Subject: [PATCH 001/427] fix: ignore replication test until 11.1 to avoid random failures (#949) Some replication tests looks that suffer from race conditions for a feature that is missing from the server "Stopping logical replication protocol". Full discussion: https://www.postgresql.org/message-id/flat/CAFgjRd3hdYOa33m69TbeOfNNer2BZbwa8FFjt2V5VFzTBvUU3w@mail.gmail.com#CAFgjRd3hdYOa33m69TbeOfNNer2BZbwa8FFjt2V5VFzTBvUU3w@mail.gmail.com --- .../org/postgresql/replication/LogicalReplicationTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java index b628982f13..f6441914c7 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java @@ -262,7 +262,7 @@ isActive, equalTo(true) * wait new changes and until waiting messages from client ignores. */ @Test(timeout = 1000) - @HaveMinimalServerVersion("10.1") + @HaveMinimalServerVersion("11.1") public void testAfterCloseReplicationStreamDBSlotStatusNotActive() throws Exception { PGConnection pgConnection = (PGConnection) replConnection; @@ -333,7 +333,7 @@ isActive, equalTo(false) * wait new changes and until waiting messages from client ignores. */ @Test(timeout = 10000) - @HaveMinimalServerVersion("10.1") + @HaveMinimalServerVersion("11.1") public void testDuringSendBigTransactionConnectionCloseSlotStatusNotActive() throws Exception { PGConnection pgConnection = (PGConnection) replConnection; @@ -383,7 +383,7 @@ isActive, equalTo(false) * wait new changes and until waiting messages from client ignores. */ @Test(timeout = 60000) - @HaveMinimalServerVersion("10.1") + @HaveMinimalServerVersion("11.1") public void testDuringSendBigTransactionReplicationStreamCloseNotActive() throws Exception { PGConnection pgConnection = (PGConnection) replConnection; From fcb28c7c87a18ba6673b7fd3a48f3421410eb942 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Tue, 26 Sep 2017 08:44:29 +0200 Subject: [PATCH 002/427] feat: improve ResultSet#getObject(int, Class) (#932) In the review of #813 various issues with the initial implementation of CallableStatement#getObject(int, Class) showed up that ResultSet#getObject(int, Class) also has. This commit gives both methods the same behavior. This commit contains the following changes - make errors localizable - add support for SMALLINT <-> Short - add support for BIGINT <-> BigInteger - add support for TIMESTAMP <-> java.util.Date - swap INTEGER and SMALLINT position --- .../java/org/postgresql/jdbc/PgResultSet.java | 94 ++++++++++++++----- .../test/jdbc4/jdbc41/GetObjectTest.java | 83 ++++++++++++++++ 2 files changed, 152 insertions(+), 25 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 58424a5615..ee71cb80d1 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -3166,13 +3166,15 @@ public T getObject(int columnIndex, Class type) throws SQLException { if (sqlType == Types.NUMERIC || sqlType == Types.DECIMAL) { return type.cast(getBigDecimal(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == String.class) { if (sqlType == Types.CHAR || sqlType == Types.VARCHAR) { return type.cast(getString(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Boolean.class) { if (sqlType == Types.BOOLEAN || sqlType == Types.BIT) { @@ -3182,17 +3184,30 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(booleanValue); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); + } + } else if (type == Short.class) { + if (sqlType == Types.SMALLINT) { + short shortValue = getShort(columnIndex); + if (wasNull()) { + return null; + } + return type.cast(shortValue); + } else { + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Integer.class) { - if (sqlType == Types.SMALLINT || sqlType == Types.INTEGER) { + if (sqlType == Types.INTEGER || sqlType == Types.SMALLINT) { int intValue = getInt(columnIndex); if (wasNull()) { return null; } return type.cast(intValue); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Long.class) { if (sqlType == Types.BIGINT) { @@ -3202,7 +3217,19 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(longValue); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); + } + } else if (type == BigInteger.class) { + if (sqlType == Types.BIGINT) { + long longValue = getLong(columnIndex); + if (wasNull()) { + return null; + } + return type.cast(BigInteger.valueOf(longValue)); + } else { + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Float.class) { if (sqlType == Types.REAL) { @@ -3212,7 +3239,8 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(floatValue); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Double.class) { if (sqlType == Types.FLOAT || sqlType == Types.DOUBLE) { @@ -3222,19 +3250,22 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(doubleValue); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Date.class) { if (sqlType == Types.DATE) { return type.cast(getDate(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Time.class) { if (sqlType == Types.TIME) { return type.cast(getTime(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Timestamp.class) { if (sqlType == Types.TIMESTAMP @@ -3244,7 +3275,8 @@ public T getObject(int columnIndex, Class type) throws SQLException { ) { return type.cast(getTimestamp(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Calendar.class) { if (sqlType == Types.TIMESTAMP @@ -3257,37 +3289,44 @@ public T getObject(int columnIndex, Class type) throws SQLException { calendar.setTimeInMillis(timestampValue.getTime()); return type.cast(calendar); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Blob.class) { if (sqlType == Types.BLOB || sqlType == Types.BINARY || sqlType == Types.BIGINT) { return type.cast(getBlob(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Clob.class) { if (sqlType == Types.CLOB || sqlType == Types.BIGINT) { return type.cast(getClob(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } - } else if (type == NClob.class) { - if (sqlType == Types.NCLOB) { - return type.cast(getNClob(columnIndex)); + } else if (type == java.util.Date.class) { + if (sqlType == Types.TIMESTAMP) { + Timestamp timestamp = getTimestamp(columnIndex); + return type.cast(new java.util.Date(timestamp.getTime())); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == Array.class) { if (sqlType == Types.ARRAY) { return type.cast(getArray(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == SQLXML.class) { if (sqlType == Types.SQLXML) { return type.cast(getSQLXML(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == UUID.class) { return type.cast(getObject(columnIndex)); @@ -3318,19 +3357,22 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(dateValue.toLocalDate()); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == LocalTime.class) { if (sqlType == Types.TIME) { return type.cast(getLocalTime(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == LocalDateTime.class) { if (sqlType == Types.TIMESTAMP) { return type.cast(getLocalDateTime(columnIndex)); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } } else if (type == OffsetDateTime.class) { if (sqlType == Types.TIMESTAMP_WITH_TIMEZONE || sqlType == Types.TIMESTAMP) { @@ -3349,7 +3391,8 @@ public T getObject(int columnIndex, Class type) throws SQLException { OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(timestampValue.toInstant(), ZoneOffset.UTC); return type.cast(offsetDateTime); } else { - throw new SQLException("conversion to " + type + " from " + sqlType + " not supported"); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } //#endif } else if (PGobject.class.isAssignableFrom(type)) { @@ -3361,7 +3404,8 @@ public T getObject(int columnIndex, Class type) throws SQLException { } return type.cast(object); } - throw new SQLException("unsupported conversion to " + type); + throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), + PSQLState.INVALID_PARAMETER_VALUE); } public T getObject(String columnLabel, Class type) throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index daa9dd5e41..c4619aff80 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -29,6 +29,7 @@ import org.junit.Test; import java.math.BigDecimal; +import java.math.BigInteger; import java.net.InetAddress; import java.net.UnknownHostException; import java.sql.Array; @@ -212,6 +213,34 @@ public void testGetTimestamp() throws SQLException { } } + /** + * + * Test the behavior getObject for timestamp columns. + */ + @Test + public void testGetJavaUtilDate() throws SQLException { + Statement stmt = _conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","timestamp_without_time_zone_column","TIMESTAMP '2004-10-19 10:23:54'")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "timestamp_without_time_zone_column")); + try { + assertTrue(rs.next()); + Calendar calendar = GregorianCalendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR, 2004); + calendar.set(Calendar.MONTH, Calendar.OCTOBER); + calendar.set(Calendar.DAY_OF_MONTH, 19); + calendar.set(Calendar.HOUR_OF_DAY, 10); + calendar.set(Calendar.MINUTE, 23); + calendar.set(Calendar.SECOND, 54); + java.util.Date expected = new java.util.Date(calendar.getTimeInMillis()); + assertEquals(expected, rs.getObject("timestamp_without_time_zone_column", java.util.Date.class)); + assertEquals(expected, rs.getObject(1, java.util.Date.class)); + } finally { + rs.close(); + } + } + /** * Test the behavior getObject for timestamp columns. */ @@ -334,6 +363,42 @@ public void testGetTime() throws SQLException { } } + /** + * Test the behavior getObject for small integer columns. + */ + @Test + public void testGetShort() throws SQLException { + Statement stmt = _conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","smallint_column","1")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "smallint_column")); + try { + assertTrue(rs.next()); + assertEquals(Short.valueOf((short) 1), rs.getObject("smallint_column", Short.class)); + assertEquals(Short.valueOf((short) 1), rs.getObject(1, Short.class)); + } finally { + rs.close(); + } + } + + /** + * Test the behavior getObject for small integer columns. + */ + @Test + public void testGetShortNull() throws SQLException { + Statement stmt = _conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","smallint_column","NULL")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "smallint_column")); + try { + assertTrue(rs.next()); + assertNull(rs.getObject("smallint_column", Short.class)); + assertNull(rs.getObject(1, Short.class)); + } finally { + rs.close(); + } + } + /** * Test the behavior getObject for integer columns. */ @@ -374,6 +439,24 @@ public void testGetIntegerNull() throws SQLException { } } + /** + * Test the behavior getObject for long columns. + */ + @Test + public void testGetBigInteger() throws SQLException { + Statement stmt = _conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","bigint_column","2147483648")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "bigint_column")); + try { + assertTrue(rs.next()); + assertEquals(BigInteger.valueOf(2147483648L), rs.getObject("bigint_column", BigInteger.class)); + assertEquals(BigInteger.valueOf(2147483648L), rs.getObject(1, BigInteger.class)); + } finally { + rs.close(); + } + } + /** * Test the behavior getObject for long columns. */ From 097db5e70ae8bf193c736b11603332feadb8d544 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Thu, 28 Sep 2017 08:54:08 -0400 Subject: [PATCH 003/427] feat: parse command complete message via regex (#962) Replaces command status whitelist based parsing with a regex approach to handle generic COMMAND OID COUNT or COMMAND COUNT responses. If the response does not match the regex then parsing is skipped. This should allow for automatically supporting new server responses of that same form as well as skipping any that cannot be parsed. Fixes #958 --- .../postgresql/core/v3/QueryExecutorImpl.java | 54 +++++++++++-------- .../postgresql/test/jdbc2/StatementTest.java | 6 +++ 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index a1885059ca..76967e0d2c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -62,6 +62,9 @@ import java.util.TimeZone; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * QueryExecutor implementation for the V3 protocol. @@ -69,6 +72,8 @@ public class QueryExecutorImpl extends QueryExecutorBase { private static final Logger LOGGER = Logger.getLogger(QueryExecutorImpl.class.getName()); + private static final Pattern COMMAND_COMPLETE_PATTERN = Pattern.compile("^([A-Za-z]++)(?: (\\d++))?+(?: (\\d++))?+$"); + /** * TimeZone of the current connection (TimeZone backend parameter) */ @@ -2508,34 +2513,41 @@ private String receiveCommandStatus() throws IOException { } private void interpretCommandStatus(String status, ResultHandler handler) { - int update_count = 0; - long insert_oid = 0; - - if (status.startsWith("INSERT") || status.startsWith("UPDATE") || status.startsWith("DELETE") - || status.startsWith("MOVE")) { + long oid = 0; + long count = 0; + Matcher matcher = COMMAND_COMPLETE_PATTERN.matcher(status); + if (matcher.matches()) { + // String command = matcher.group(1); + String group2 = matcher.group(2); + String group3 = matcher.group(3); try { - long updates = Long.parseLong(status.substring(1 + status.lastIndexOf(' '))); - - // deal with situations where the update modifies more than 2^32 rows - if (updates > Integer.MAX_VALUE) { - update_count = Statement.SUCCESS_NO_INFO; - } else { - update_count = (int) updates; + if (group3 != null) { + // COMMAND OID ROWS + oid = Long.parseLong(group2); + count = Long.parseLong(group3); + } else if (group2 != null) { + // COMMAND ROWS + count = Long.parseLong(group2); } - - if (status.startsWith("INSERT")) { - insert_oid = - Long.parseLong(status.substring(1 + status.indexOf(' '), status.lastIndexOf(' '))); - } - } catch (NumberFormatException nfe) { + } catch (NumberFormatException e) { + // As we're performing a regex validation prior to parsing, this should only + // occurr if the oid or count are out of range. handler.handleError(new PSQLException( - GT.tr("Unable to interpret the update count in command completion tag: {0}.", status), + GT.tr("Unable to parse the count in command completion tag: {0}.", status), PSQLState.CONNECTION_FAILURE)); return; } } - - handler.handleCommandStatus(status, update_count, insert_oid); + int countAsInt = 0; + if (count > Integer.MAX_VALUE) { + // If command status indicates that we've modified more than Integer.MAX_VALUE rows + // then we set the result count to reflect that we cannot provide the actual number + // due to the JDBC field being an int rather than a long. + countAsInt = Statement.SUCCESS_NO_INFO; + } else if (count > 0) { + countAsInt = (int) count; + } + handler.handleCommandStatus(status, countAsInt, oid); } private void receiveRFQ() throws IOException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index b69dcc4f13..a36590a4e0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -12,6 +12,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.postgresql.core.ServerVersion; import org.postgresql.jdbc.PgStatement; import org.postgresql.test.TestUtil; import org.postgresql.util.PSQLState; @@ -125,6 +126,11 @@ public void testUpdateCount() throws SQLException { count = stmt.executeUpdate("CREATE TEMP TABLE another_table (a int)"); assertEquals(0, count); + + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + count = stmt.executeUpdate("CREATE TEMP TABLE yet_another_table AS SELECT x FROM generate_series(1,10) x"); + assertEquals(10, count); + } } @Test From 15aec6a99c5615cdf0c0adaf5fc47b5419c617d4 Mon Sep 17 00:00:00 2001 From: eperez Date: Sun, 1 Oct 2017 00:24:41 +0000 Subject: [PATCH 004/427] Someone forgot to get the next column (#973) --- .../test/java/org/postgresql/test/jdbc2/TimezoneTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java index 208a34c7c3..b436d5ae83 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java @@ -732,22 +732,22 @@ public void testSetTime() throws Exception { assertTrue(rs.next()); assertEquals(seq++, rs.getInt(1)); assertEquals(tUTC, rs.getTime(2, cUTC)); - assertEquals(tUTC, rs.getTime(2, cUTC)); + assertEquals(tUTC, rs.getTime(3, cUTC)); assertTrue(rs.next()); assertEquals(seq++, rs.getInt(1)); assertEquals(tGMT03, rs.getTime(2, cGMT03)); - assertEquals(tGMT03, rs.getTime(2, cGMT03)); + assertEquals(tGMT03, rs.getTime(3, cGMT03)); assertTrue(rs.next()); assertEquals(seq++, rs.getInt(1)); assertEquals(tGMT05, rs.getTime(2, cGMT05)); - assertEquals(tGMT05, rs.getTime(2, cGMT05)); + assertEquals(tGMT05, rs.getTime(3, cGMT05)); assertTrue(rs.next()); assertEquals(seq++, rs.getInt(1)); assertEquals(tGMT13, rs.getTime(2, cGMT13)); - assertEquals(tGMT13, rs.getTime(2, cGMT13)); + assertEquals(tGMT13, rs.getTime(3, cGMT13)); assertTrue(!rs.next()); ps.close(); From 3286c8caa16efe59307b2713784c348e603ee67d Mon Sep 17 00:00:00 2001 From: djydewang Date: Wed, 4 Oct 2017 01:55:01 +0800 Subject: [PATCH 005/427] style: disallowing user to use incomplete fully qualified Check names in config file (#961) --- pgjdbc/src/main/checkstyle/checks.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index 60c103d09c..36a3e6580b 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -176,7 +176,7 @@ --> - + Date: Thu, 5 Oct 2017 14:48:45 -0400 Subject: [PATCH 006/427] Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe (#928) --- docs/documentation/head/thread.md | 32 +++++++------------------------ 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/docs/documentation/head/thread.md b/docs/documentation/head/thread.md index d79f25b445..b1f7b7fc78 100644 --- a/docs/documentation/head/thread.md +++ b/docs/documentation/head/thread.md @@ -9,30 +9,12 @@ nexttitle: Chapter 11. Connection Pools and Data Sources next: datasource.html --- -A problem with many JDBC drivers is that only one thread can use a `Connection` -at any one time --- otherwise a thread could send a query while another one is -receiving results, and this could cause severe confusion. -The PostgreSQL™ JDBC driver is thread safe. Consequently, if your application -uses multiple threads then you do not have to worry about complex algorithms to -ensure that only one thread uses the database at a time. +The PostgreSQL™ JDBC driver is not thread safe. +The PostgreSQL server is not threaded. Each connection creates a new process on the server; +as such any concurrent requests to the process would have to be serialized. +The driver makes no guarantees that methods on connections are synchronized. +It will be up to the caller to synchronize calls to the driver. -If a thread attempts to use the connection while another one is using it, it -will wait until the other thread has finished its current operation. If the -operation is a regular SQL statement, then the operation consists of sending the -statement and retrieving any `ResultSet` (in full). If it is a fast-path call -(e.g., reading a block from a large object) then it consists of sending and -retrieving the respective data. - -This is fine for applications and applets but can cause a performance problem -with servlets. If you have several threads performing queries then each but one -will pause. To solve this, you are advised to create a pool of connections. When -ever a thread needs to use the database, it asks a manager class for a `Connection` -object. The manager hands a free connection to the thread and marks it as busy. -If a free connection is not available, it opens one. Once the thread has -finished using the connection, it returns it to the manager which can then either -close it or add it to the pool. The manager would also check that the connection -is still alive and remove it from the pool if it is dead. The down side of a -connection pool is that it increases the load on the server because a new session -is created for each `Connection` object. It is up to you and your applications's -requirements. \ No newline at end of file +A noteable exception is org/postgresql/jdbc/TimestampUtils.java which is threadsafe. + \ No newline at end of file From ed0a398edb47d0eea62e7f53723e14d9ed278fbb Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 5 Oct 2017 14:57:43 -0600 Subject: [PATCH 007/427] chore: streamlining jobs (#959) --- .travis.yml | 59 +++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index df734f6f22..7a486101d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,7 @@ script: - test -d "${JDK9_HOME}" || export JDK9_HOME=$(jdk_switcher home oraclejdk8) # JDK9 missing on precise, fallback to JDK8 - envsubst < toolchains.xml > ~/.m2/toolchains.xml - test ${JDK} -eq 9 || jdk_switcher use oraclejdk8 # Run Maven with Java 8, build with Toolchains. + - test -z "${ZULU_JDK}" || export TRAVIS_JDK_VERSION=zulujdk${ZULU_JDK} # trick codecov to use correct jdk version - ./.travis/travis_build.sh - ./.travis/travis_check_postgres_health.sh # To avoid useless S3 cache updates (https://github.com/travis-ci/travis-ci/issues/1441#issuecomment-67607074) @@ -116,6 +117,22 @@ matrix: - XA=true - REPLICATION=Y - COVERAGE=Y + - jdk: openjdk7 + sudo: required + addons: + postgresql: "9.2" + env: + - PG_VERSION=9.2 + - ZULU_JDK=7 + - MCENTRAL=Y + - jdk: openjdk6 + sudo: required + addons: + postgresql: "9.1" + env: + - PG_VERSION=9.1 + - ZULU_JDK=6 + - MCENTRAL=Y - jdk: oraclejdk8 sudo: required env: @@ -142,12 +159,6 @@ matrix: - COVERAGE=Y - NO_HSTORE=Y - CREATE_PLPGSQL=Y - - jdk: oraclejdk8 - addons: - postgresql: "9.6" - env: - - PG_VERSION=9.6 - - TEST_CLIENTS=Y - jdk: oraclejdk8 addons: postgresql: "9.6" @@ -158,44 +169,24 @@ matrix: - ANORM_SBT=Y - jdk: oraclejdk8 addons: - postgresql: "9.6" + postgresql: "9.3" env: - - PG_VERSION=9.6 + - PG_VERSION=9.3 - QUERY_MODE=extendedForPrepared - COVERAGE=Y - jdk: oraclejdk8 addons: - postgresql: "9.5" + postgresql: "9.6" env: - - PG_VERSION=9.5 - - NO_WAFFLE_NO_OSGI=Y - - JDOC=Y - - jdk: openjdk7 - sudo: required + - PG_VERSION=9.6 + - TEST_CLIENTS=Y + - jdk: oraclejdk8 addons: postgresql: "9.4" env: - PG_VERSION=9.4 - - ZULU_JDK=7 - - MCENTRAL=Y - - jdk: openjdk7 - sudo: required - addons: - postgresql: "9.3" - env: - - PG_VERSION=9.3 - - ZULU_JDK=7 - - jdk: openjdk6 - sudo: required - env: - - PG_VERSION=9.2 - - ZULU_JDK=6 - - MCENTRAL=Y - - jdk: openjdk6 - sudo: required - env: - - PG_VERSION=9.1 - - ZULU_JDK=6 + - NO_WAFFLE_NO_OSGI=Y + # Deploy snapshots to Maven Central after_success: From e67e8f9685e6c8235134baedeb790f39de39e77c Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Fri, 6 Oct 2017 08:44:13 -0600 Subject: [PATCH 008/427] docs: move changelog to separate file (#956) * docs: move changelog to separate file Move the section of Changelog in README.md file to a CHANGELOG.md file, follow a format based on Keep a Changelog. Starting from 42.0.0 since is the first version to follow a semantic versioning. * mention the changelog file in readme * older releases * docs: improve changelog wording this commit improves wording of changelog and also updates the website release notes * docs: add commit by authors line this help to define a different section --- CHANGELOG.md | 82 +++++++++++++++++++++++ README.md | 71 +------------------- docs/_posts/2017-02-20-42.0.0-release.md | 31 ++++++--- docs/_posts/2017-05-04-42.1.0-release.md | 17 +++-- docs/_posts/2017-05-05-42.1.1-release.md | 5 +- docs/_posts/2017-07-12-42.1.2-release.md | 14 +++- docs/_posts/2017-07-14-42.1.3-release.md | 5 +- docs/_posts/2017-08-01-42.1.4-release.md | 5 +- docs/media/img/slonik_duke.png | Bin 0 -> 29827 bytes 9 files changed, 141 insertions(+), 89 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 docs/media/img/slonik_duke.png diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..5c38b9a228 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,82 @@ +# Changelog +Notable changes since version 42.0.0, read the complete [History of Changes](https://jdbc.postgresql.org/documentation/changelog.html). + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). + +## [Unreleased] +### Added +- Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) + +### Changed +- Improve behavior of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) +- Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) + +### Deprecated +- Reintroduce Driver.getVersion for backward compatibility reasons, mark it as deprecated as application should not rely on it (regression since 42.0.0) [50d5dd3e](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) + +## [42.1.4] (2017-08-01) +### Changed +- Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. [Issue 869](https://github.com/pgjdbc/pgjdbc/issues/869) + +## [42.1.3] (2017-07-14) +### Fixed +- Fix NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2). [PR 867](https://github.com/pgjdbc/pgjdbc/pull/867) + +## [42.1.2] (2017-07-12) +### Changed +- Better logic for *returning* keyword detection. Previously, pgjdbc could be defeated by column names that contain *returning*, so pgjdbc failed to "return generated keys" as it considered statement as already having *returning* keyword [PR 824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) +- Use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first *executeBatch()* execution (previously it waited for *prepareThreshold* *executeBatch()* calls) [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) + +### Fixed +- Replication API: fix issue in #834 setting statusIntervalUpdate causes high CPU load. [PR 835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) + +### Regresions +- NPE in PreparedStatement.executeBatch in case of empty batch. Fixed in 42.1.3 + +## [42.1.1] (2017-05-05) +### Fixed +- Fix infinite dates that might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. [1e5bf563](https://github.com/pgjdbc/pgjdbc/commit/1e5bf563f41203417281117ed20b183cd295b4e0) + +## [42.1.0] (2017-05-04) +### Added +- Support fetching a REF_CURSOR using getObject [PR 809](https://github.com/pgjdbc/pgjdbc/pull/809) + +### Fixed +- Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) [PR 802](https://github.com/pgjdbc/pgjdbc/pull/802) +* Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) +* Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) + +### Regresions +- There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 + +## [42.0.0] (2017-02-20) +### Added +- Replication protocol API was added: [replication API documentation](https://jdbc.postgresql.org//documentation/head/replication.html). [PR 550](https://github.com/pgjdbc/pgjdbc/pull/550) +- java.util.logging is now used for logging: [logging documentation](https://jdbc.postgresql.org//documentation/head/logging.html). [PR 722](https://github.com/pgjdbc/pgjdbc/pull/722) +- Add support for PreparedStatement.setCharacterStream(int, Reader). [ee4c4265](https://github.com/pgjdbc/pgjdbc/commit/ee4c4265aebc1c73a1d1fabac5ba259d1fbfd1e4) + +### Changed +- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better sematic versioning. [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) +- Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. [Issue 742](https://github.com/pgjdbc/pgjdbc/issues/742) +- Error position is displayed when SQL has unterminated literals, comments, etc. [Issue 688](https://github.com/pgjdbc/pgjdbc/issues/688) +- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) +- Return correct versions and name of the driver. [PR 668](https://github.com/pgjdbc/pgjdbc/pull/668) + +### Removed +- Support for PostgreSQL versions below 8.2 was dropped. [PR 661](https://github.com/pgjdbc/pgjdbc/pull/661) + +### Deprecated +- Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. [PR 739](https://github.com/pgjdbc/pgjdbc/pull/739) + +### Regresions +- Data truncated in setCharacterStream. Fixed in 42.1.0 +- No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0 + + +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...HEAD +[42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 +[42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 +[42.1.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.1...REL42.1.2 +[42.1.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.0...REL42.1.1 +[42.1.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.0.0...REL42.1.0 +[42.0.0]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1212...REL42.0.0 diff --git a/README.md b/README.md index f3f3c9a5b8..a932c49b2e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ - - +Slonik Duke # PostgreSQL JDBC Driver @@ -69,74 +68,6 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central There are also available (snapshot) binary RPMs in [Fedora's Copr repository](https://copr.fedorainfracloud.org/coprs/g/pgjdbc/pgjdbc-travis/). - - -## Changelog -Notable changes for: - -**[42.1.4]** (2017-08-01): -* Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. see [issue 869](https://github.com/pgjdbc/pgjdbc/issues/869) - -**[42.1.3]** (2017-07-14): -* fixed NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2) PR#867 - -**[42.1.2]** (2017-07-12): -* Better logic for *returning* keyword detection. Previously, pgjdbc could be defeated by column names that contain *returning*, so pgjdbc failed to "return generated keys" as it considered statement as already having *returning* keyword [PR#824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) -* Replication API: fix issue #834 setting statusIntervalUpdate causes high CPU load [PR#835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) -* perf: use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first *executeBatch()* execution (previously it waited for *prepareThreshold* *executeBatch()* calls) [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) - -**[42.1.1]** (2017-05-05): -* fix: infinite dates might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. - -**[42.1.0]** (2017-05-04): -* fix: data being truncated in setCharacterStream (the bug introduced in 42.0.0) [PR#802](https://github.com/pgjdbc/pgjdbc/pull/802) -* fix: calculation of lastReceiveLSN for logical replication [PR#801](https://github.com/pgjdbc/pgjdbc/pull/801) -* fix: make sure org.postgresql.Driver is loaded when accessing though DataSource interface [#768](https://github.com/pgjdbc/pgjdbc/issues/768) -* feat: support fetching a REF_CURSOR using getObject [PR#809](https://github.com/pgjdbc/pgjdbc/pull/809) -* note: there's no 42.1.0.jre6 due to infinity handling bug. Fixed in 42.1.1.jre6 - -**[42.0.0]** (2017-02-20): -* Support for PostgreSQL versions below 8.2 was dropped -* java.util.logging is now used for logging: [logging documentation](https://jdbc.postgresql.org//documentation/head/logging.html) -* Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0 (see [issue 742](https://github.com/pgjdbc/pgjdbc/issues/742)) -* Replication protocol API was added: [replication API documentation](https://jdbc.postgresql.org//documentation/head/replication.html), [GitHub PR 550](https://github.com/pgjdbc/pgjdbc/pull/550) -* Version bumped to 42.0.0 to avoid version clash with PostgreSQL version -* Error position is displayed when SQL has unterminated literals, comments, etc (see [issue 688](https://github.com/pgjdbc/pgjdbc/issues/688)) - -**[9.4.1212]** (2016-11-02): -* ? can now be used in non-prepared statements (fixed regression of 9.4.1210) - -**[9.4.1211]** (2016-09-18): -* json type is returned as PGObject like in pre-9.4.1210 (fixed regression of 9.4.1210) -* 'current transaction is aborted' exception includes the original exception via caused-by chain - -**[9.4.1210]** (2016-09-07): -* BUG: json datatype is returned as java.lang.String object, not as PGObject (fixed in 9.4.1211) -* Better support for RETURN_GENERATED_KEYS, statements with RETURNING clause -* Avoid user-visible prepared-statement errors if client uses DEALLOCATE/DISCARD statements (invalidate cache when those statements detected) -* Avoid user-visible prepared-statement errors if client changes search_path (invalidate cache when set search_path detected) -* Support comments when replacing {fn ...} JDBC syntax -* Support for Types.REF_CURSOR - -**[9.4.1209]** (2016-07-15): -* Many improvements to `insert into .. values(?,?)` => `insert .. values(?,?), (?,?)...` rewriter. Give it a try by using `reWriteBatchedInserts=true` connection property. 2-3x improvements for insert batch can be expected -* Full test suite passes against PostgreSQL 9.6, and OpenJDK 9 -* Performance optimization for timestamps (~`TimeZone.getDefault` optimization) -* Allow build-from-source on GNU/Linux without maven repositories, and add Fedora Copr test to the regression suite - -[42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 -[42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 -[42.1.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.1...REL42.1.2 -[42.1.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.0...REL42.1.1 -[42.1.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.0.0...REL42.1.0 -[42.0.0]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1212...REL42.0.0 -[9.4.1212]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1211...REL9.4.1212 -[9.4.1211]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1210...REL9.4.1211 -[9.4.1210]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1209...REL9.4.1210 -[9.4.1209]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1208...REL9.4.1209 - -Read the [History of Changes](https://jdbc.postgresql.org/documentation/changelog.html#introduction) for reference of previous versions. - ---------------------------------------------------- ## Documentation For more information you can read [the PgJDBC driver documentation](https://jdbc.postgresql.org/documentation/head/) or for general JDBC documentation please refer to [The Java™ Tutorials](http://docs.oracle.com/javase/tutorial/jdbc/). diff --git a/docs/_posts/2017-02-20-42.0.0-release.md b/docs/_posts/2017-02-20-42.0.0-release.md index 5ebca18202..275af90f0e 100644 --- a/docs/_posts/2017-02-20-42.0.0-release.md +++ b/docs/_posts/2017-02-20-42.0.0-release.md @@ -7,20 +7,35 @@ version: 42.0.0 --- **Notable changes** -* BUG: setCharacterStream truncates data. The bug is fixed in 42.1.0 -* BUG: no suitable driver found for jdbc:postgresql when using a DataSource implementation. The bug is fixed in 42.1.0 -* Support for PostgreSQL versions below 8.2 was dropped -* java.util.logging is now used for logging: [logging documentation](https://jdbc.postgresql.org/documentation/head/logging.html) -* Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0 (see [issue 742](https://github.com/pgjdbc/pgjdbc/issues/742)) -* Replication protocol API was added: [replication API documentation](https://jdbc.postgresql.org/documentation/head/replication.html), [GitHub PR 550](https://github.com/pgjdbc/pgjdbc/pull/550) -* Version bumped to 42.0.0 to avoid version clash with PostgreSQL version -* Error position is displayed when SQL has unterminated literals, comments, etc (see [issue 688](https://github.com/pgjdbc/pgjdbc/issues/688)) +### Added +- Replication protocol API was added: [replication API documentation](https://jdbc.postgresql.org//documentation/head/replication.html). [PR 550](https://github.com/pgjdbc/pgjdbc/pull/550) +- java.util.logging is now used for logging: [logging documentation](https://jdbc.postgresql.org//documentation/head/logging.html). [PR 722](https://github.com/pgjdbc/pgjdbc/pull/722) +- Add support for PreparedStatement.setCharacterStream(int, Reader). [ee4c4265](https://github.com/pgjdbc/pgjdbc/commit/ee4c4265aebc1c73a1d1fabac5ba259d1fbfd1e4) + +### Changed +- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better sematic versioning. [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) +- Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. [Issue 742](https://github.com/pgjdbc/pgjdbc/issues/742) +- Error position is displayed when SQL has unterminated literals, comments, etc. [Issue 688](https://github.com/pgjdbc/pgjdbc/issues/688) +- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) +- Return correct versions and name of the driver. [PR 668](https://github.com/pgjdbc/pgjdbc/pull/668) + +### Removed +- Support for PostgreSQL versions below 8.2 was dropped. [PR 661](https://github.com/pgjdbc/pgjdbc/pull/661) + +### Deprecated +- Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. [PR 739](https://github.com/pgjdbc/pgjdbc/pull/739) + +### Regresions +- Data truncated in setCharacterStream. Fixed in 42.1.0 +- No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0
You may have noticed the change in the versioning of the driver, you can [read the FAQ](documentation/faq.html#versioning) for more information. +**Commits by author** + AlexElin (6): * refactor: use varargs [PR#681](https://github.com/pgjdbc/pgjdbc/pull/681) [50b7fe0f](https://github.com/pgjdbc/pgjdbc/commit/50b7fe0fe901ee24160615bebd4b86603b960b86) diff --git a/docs/_posts/2017-05-04-42.1.0-release.md b/docs/_posts/2017-05-04-42.1.0-release.md index 899d7e9681..b217493a08 100644 --- a/docs/_posts/2017-05-04-42.1.0-release.md +++ b/docs/_posts/2017-05-04-42.1.0-release.md @@ -7,14 +7,21 @@ version: 42.1.0 --- **Notable changes** -* fix: data being truncated in setCharacterStream (the bug introduced in 42.0.0) [PR#802](https://github.com/pgjdbc/pgjdbc/pull/802) -* fix: calculation of lastReceiveLSN for logical replication [PR#801](https://github.com/pgjdbc/pgjdbc/pull/801) -* fix: make sure org.postgresql.Driver is loaded when accessing though DataSource interface [#768](https://github.com/pgjdbc/pgjdbc/issues/768) -* feat: support fetching a REF_CURSOR using getObject [PR#809](https://github.com/pgjdbc/pgjdbc/pull/809) -* note: there's no 42.1.0.jre6 due to infinity handling bug. Fixed in 42.1.1.jre6 +### Added +- Support fetching a REF_CURSOR using getObject [PR 809](https://github.com/pgjdbc/pgjdbc/pull/809) + +### Fixed +- Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) [PR 802](https://github.com/pgjdbc/pgjdbc/pull/802) +* Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) +* Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) + +### Regresions +- There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 +**Commits by author** + Alexander Kjäll (1): * documentation typo [PR#818](https://github.com/pgjdbc/pgjdbc/pull/818) [90f5556f](https://github.com/pgjdbc/pgjdbc/commit/90f5556fd3de2395971496fc4b0b4cacd5d5d562) diff --git a/docs/_posts/2017-05-05-42.1.1-release.md b/docs/_posts/2017-05-05-42.1.1-release.md index c98bf589b4..36c0ec752b 100644 --- a/docs/_posts/2017-05-05-42.1.1-release.md +++ b/docs/_posts/2017-05-05-42.1.1-release.md @@ -7,10 +7,13 @@ version: 42.1.1 --- **Notable changes** -* fix: infinite dates might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. +### Fixed +- Fix infinite dates that might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. [1e5bf563](https://github.com/pgjdbc/pgjdbc/commit/1e5bf563f41203417281117ed20b183cd295b4e0) +**Commits by author** + Vladimir Sitnikov (2): * fix: infinite dates might be corrupted when transferred in binary for certain JREs [1e5bf563](https://github.com/pgjdbc/pgjdbc/commit/1e5bf563f41203417281117ed20b183cd295b4e0) diff --git a/docs/_posts/2017-07-12-42.1.2-release.md b/docs/_posts/2017-07-12-42.1.2-release.md index c37ed52d71..0941a9efd2 100644 --- a/docs/_posts/2017-07-12-42.1.2-release.md +++ b/docs/_posts/2017-07-12-42.1.2-release.md @@ -7,12 +7,20 @@ version: 42.1.2 --- **Notable changes** -* Better logic for *returning* keyword detection. Previously, pgjdbc could be defeated by column names that contain *returning*, so pgjdbc failed to "return generated keys" as it considered statement as already having *returning* keyword [PR#824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) -* Replication API: fix issue #834 setting statusIntervalUpdate causes high CPU load [PR#835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) -* perf: use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first *executeBatch()* execution (previously it waited for *prepareThreshold* *executeBatch()* calls) [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) +### Changed +- Better logic for *returning* keyword detection. Previously, pgjdbc could be defeated by column names that contain *returning*, so pgjdbc failed to "return generated keys" as it considered statement as already having *returning* keyword [PR 824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) +- Use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first *executeBatch()* execution (previously it waited for *prepareThreshold* *executeBatch()* calls) [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) + +### Fixed +- Replication API: fix issue in #834 setting statusIntervalUpdate causes high CPU load. [PR 835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) + +### Regresions +- NPE in PreparedStatement.executeBatch in case of empty batch. Fixed in 42.1.3 +**Commits by author** + AlexElin (1): * refactor: make PSQLState as enum [PR#837](https://github.com/pgjdbc/pgjdbc/pull/837) [fb5df7fe](https://github.com/pgjdbc/pgjdbc/commit/fb5df7fee1d3568356e680c6ac5a62336ec7bf6e) diff --git a/docs/_posts/2017-07-14-42.1.3-release.md b/docs/_posts/2017-07-14-42.1.3-release.md index 1290dc7b05..f1de1f0bbd 100644 --- a/docs/_posts/2017-07-14-42.1.3-release.md +++ b/docs/_posts/2017-07-14-42.1.3-release.md @@ -7,10 +7,13 @@ version: 42.1.3 --- **Notable changes** -* fixed NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2) PR#867 +### Fixed +- Fix NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2). [PR 867](https://github.com/pgjdbc/pgjdbc/pull/867) +**Commits by author** + Vladimir Sitnikov (2): * doc: ensure changelog uses %Y-%m-%d format, not %Y-%d-%m [5d585aac](https://github.com/pgjdbc/pgjdbc/commit/5d585aac7e4f916d4b54dccd11c778143a1f7725) diff --git a/docs/_posts/2017-08-01-42.1.4-release.md b/docs/_posts/2017-08-01-42.1.4-release.md index 51f683226b..81309fca34 100644 --- a/docs/_posts/2017-08-01-42.1.4-release.md +++ b/docs/_posts/2017-08-01-42.1.4-release.md @@ -7,10 +7,13 @@ version: 42.1.4 --- **Notable changes** -* Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. see [issue 869](https://github.com/pgjdbc/pgjdbc/issues/869) +### Changed +- Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. [Issue 869](https://github.com/pgjdbc/pgjdbc/issues/869) +**Commits by author** + AlexElin (4): * test: migrate tests to JUnit 4 [PR#738](https://github.com/pgjdbc/pgjdbc/pull/738) [5b65e2f4](https://github.com/pgjdbc/pgjdbc/commit/5b65e2f45b1cb130b4380b31ff6c0c73210d9fe0) diff --git a/docs/media/img/slonik_duke.png b/docs/media/img/slonik_duke.png new file mode 100644 index 0000000000000000000000000000000000000000..26422c77cd10d113f4b63b9524a2943ee4df2ae3 GIT binary patch literal 29827 zcmV(bLH@ppP)zDxw`?JKVqJld2Z%EG4I8EsSL=N^pr?`PX_fd%HGzid^_%-G}%m*>ABERqrGwdCC zrDo|odMyVohB3<_M~hhEZjqPR*JO|gmY3VF?RaQoLF)-~f96-@W9(u+T?X~4%)fBq z7^Ib>W}MGa=2vBqjY=e7!}x~90rt!CgpQWn6R4H^m7J?QAxBs_jYls@TP7Rk(B`BZ zN!Mh)PzHt&<`K+eT<{>jlz}l!J`aHUdglF@SCUgN&a~g47ys7|dSSGZSFzh=3>YE@u$nOBL{rE))m3g7y&*E6DyLVF8%-|Ro;!a> zzUf%12k8wA-+AX9N|r1cz5DLFlstKIN|7Q3z4zXGlsR)|Dp8^Y)vQ^QTC`|EJ$m$@ z|Ni@r#*G_CQ>ILzY15{WmzNj+7e5;`Xb^Sn+Lf9$Yeql+{4*6SSdc#b^i%$QaC|q8 zf#W&o+;1{(AqNx&3ngh-O&jM*YdemKjq;r;-;Kbvy(TBY}i0!$Bw0j4I5ISLWL+xmMk39-+%vod#?*G(r(PZG;-g%w}v*(kySPZ zYojE~Htt`!B6kiD!zS81o#jN8{E=kZ0L4OsZvzGetn)&KEq)=d-m+1{+^f`!>H8M_OoTDBZhvk1k%k$j2F=K5*bb9zlQh*=JO`bZLGL0R3CHZc$WJ6uGNm zF8KNR(b~0ZIe@24o7UQUi4EdCl8GB{m^KX{`j=#4p?#MKpk3XOfU`r)WjHr_!b=<&Bx>Mr2Q?!>XV-6YS_|^Ru3-41imG5a` z2dG}M;5=8^@%;lGIbiAJrGZ6Y{o{{6(%iXobs4Gc+qaMU_U%iRDplf3Z8ZP~rx+Wm zSe7F-qbCD6@AJJ$OLv~35leSd>j`V9TJL%EeJfAO-e45vY&4p3H6BBGnvA8qO~+Bb zX5%RTKjW!D^9fW?;04(4@fmy;f0LX2Exsd1!_oX_Rl3ijmJHZOF5N?`_n)Uze)sqb zA|yQ0u4|b-eL58>QiR_x3m-0QG#izbiEF*A0KX?H>8wBO0M!^X>6ecs`*xUpwBUi3mZ;b^aYjBE@ zOSRWR!XnB4aS)xq`H+rY@~1s#uG97tS83ysOSIvz$u}LjOxxJccC+6dzIdBXU%O9! zcc0ROfKUpHjCT0-P>06UHaFfY>D zlSk@3W^AI_n~u}|b2sVXvrwC^=jqd@G-AXEYc{A6byYL4G*Rq5d6Ui>0PHRJuEKVv zIMsmlUpv0{hNA{6tDI+1J>W+leZ*;24kMO>{Xtmgl}9s7C5DeI}{jLjTKCayX_^R}GeV0MIo+_ifF z^gP0OOb9R)E?l@k%a$#BL({|mx7DuSe?~s++{bwD<>`WdMz5s0LzmER{pQn8J!UhY zoIyW!oJJ+vO{Eg;rtp7DwV%p=R=)ELs>&kLYQ5*u9|ISf(hg%+vGMU?W3!9qZ#_Z# z&fTDUPwnSeBSmr9|1nMTIYQ++Pv=p!hZ6u>4CE6zkmqkUo=55xyUyg-J7C^6+HvX{ zf3aI@mo8nR4jnpJ6VbIbFxBZ+(MBeQlFH);c7nEAW#o1{zPGm{1`5?-yUiU8bg>&Z zZrHrRc=GC9nzHT?{WE4IRqr#8Dl@<-*J(Njp<-<(vuJ7(6>edAI1BNAOvw`fWxx-mtJ!ih%I8^zn-S9Jw!WCU8nm2jxP=Y69XV_{W#p? z%l_Kz95DuEI(X3!?Al|mwQx(5d%ST^4v=qoOV2pJm;dI?SWVz#1CR&6R%PJ-CyP@1 zGl1K4^b$P_v3+$E^YRtleiTH*m+q!Q%_qD$R${w{e7zWpvYn>!mmKox53G#7!Km4_ zYZra_<(HOH1M$EaW$@0k_BH}x55f06vjbe`3BEIpWP6=Tgq&KjJBMu+u(6!9h0D8_ zMS57$mS(^NP=+VggIxs9j`u^GNgNdMfi|((%i}^S_u;XRs&%nFMC~uy-b_H-NT_463D;A`etfdOpu3g)jO{5eC zzBeKxEE01DlPf`ooses(rpZ0*`uOeVSqI!3$KW+e{9aTDU&UH_SV1m;$`9IzizHhP}-}hP&6;HL}I}6%7K*QpkT!I5Y`(n+SH5N_w z=Mm9#;>um>J!=aG1mrvmJ87fJksDqBE}SbE5I^;tL;dD%rHw}}^L%?ih;8)67YrmW z-G0pJYyc0qhla-iIbv+~Ap##bZ#x~i=+7y4RxwQ2N&?r5R99^3%GHj03jjyn`{M0K z7E=cyA@J?D-~g&1%>Ii02hjSAW}?*Zy1K9B2l)sE#TF6|%rr+eXhp0?PFU^Cs zQl1zq5P*0qwgU0qbB^vjw!AP1nCNr(BK zeDI70E!aW1n~c%SoWMPaO$CAXZP9hyyven`C0R#YhbcBlA@EMY+ zPwn_VaIrsg0M!q??@w$U5d7gD(U+%8nUaniIbxo>d+#YV9kqgQY!%iKSjUYz@$a0? z$LU3k`C^$d-urlTuBH6FqgEe9+f3r@4Dh30TF4vv4#6yrAn0Ud)SmEai5ilJTdWvo!_Wu`lJ? z0~gZ8TjmR*AUxK%abru$-s>88>k#|XPLTDNX?d~M-Old|mV;e1&9Jo_)lgdpqoibN ze5&}xknRL;Rn4{>zaq0B^bOcx9>kc5Dv|H4-glnv$0B~(2+`_T@4XZpW*J8vt1_fn zv^GvyMHK&cGVMBj%`C&@`Sa(zn99t987?`nJlRf59lZVKG1 z>;zdzxmJ+B3lVal1AzOi9e?|sErU=_ZR2t0&Yh|g7EFS|I*%xEeWD<3zlfj0!Juz89iC^bXFiZW%&n0r9iYXtZf z$n-=6Yab;c>R+rsV4hL_zO_;!>gOwXYFh^3fFw|-LoYxz+i}v5mkMj8FvMAoh-=M( z3uaRys3rsxAt?j)TU>Vr-pxj@|L^3!*p zsP}2?I(;MmtO3&EsN18JDP3Z=#Q#MMd96FF$+?Al45h>nGaIcaJ~P86nc`y5OD`!` zJD-$HU8%HgStL7}W-BmCVq65;PaGCyqZ7IsU2FZ}i#*qt6mqj`%|wXk%2Ln(Y>OP# zklon}&K##3E0^I*c4;wg@Mvo< z`k?5`&>vCQdMhxLYc}gWEdtsXG`iKaHctE9r($g;8-Q%3?nmQM-ex!UUc|iOdNo?S z26WMxy6%u_H7r`xVIyCK!7#wZptna-*H9TNXL$&CDw^x7jyvHg)F_;DWaT^x3{;L(stuvl1T-i z3y!Gj5kDTkVm}wcGCFGn=Th?UIMk{ADX3T;2>Cw^XheJN|!tfGe% z8b4)R2zV1M1QoQv%B@k*ZleRxZeYoUqSel6Q7&7pT^Q(Fg_A(h2xLT$U%9K=X{Tb> z8A)O+oV{lNnxwgnUU0opu%orjNpQ+*4Ol2Ve>4Ya-n_Zm1KZMtfY;j!U!%$$i#63m&zRN1RJU;$?&sTp*y zOSSjX+=~*ct+6Y_%9pce&!$wVQi&eeS=Qt<9c)b{>(%JmXb`yDxjAV2*vxT6G0pDX zyM>bvn?kN=h2;vrcJHZjT7)^eedldD)&N`wQ|ZvOSdCSJvEOv`%A4MpT6*a;9^ozI zZ$lYVrEvnvpEJ1#>}+j~HA>P}FHCf4zvafD{m|S6W?;TS>5og6EJ?R+-4b*kc}~Cf zo|`0=>u7KwEVqt~riR0fA{u9neLK%}s!b(81w@lxEk)aSiTv1U8tpoLUGbcQf`X`Y z>C$SP?Yu4myRvow4P;2Q)Zn46n@8KK`XfaolWy|yT51n$B^Lpmhn+xkSPlZU zVDHH14xaJ#n@GVUl zzM>2Il=&8=KPp?cEQN=M3sVAU!=z^=KRk4``Y+_1VBr#Xz=9;z)WFpo?mq`DqWb~r zs(LNQtvfTjG#MLQ5^=*`j#s^B_e`qtw)?Ym_Lge&sEuN??HC>AQH0pR|D`3pA$?y{my$OIowojNs*8#hjQ z=lgjCb)B}+)PY;KCF>KZC*?FZ8moHylSbgTT{)n!-tOJby{%;vQ5R@Qay8YPHQq5qExZEptok>S8-%)L< zT%+$im%U&C+6Z!#>VjUgAF6=%D;I+H11AGfxM+hdkt;tV+yJ!i#6R&g@-pnL55Dux zJJhOGE1{Ng?^&BQvB~31PB5-fWaw*XY(Q$~UbUULR+UXMdih?L$>jpHw;sPjugR@I z+dmP&2s!RDE(Y$(a>_=_pnW_3Nq?a9!DPvjaiMl4dma%*O-HTJwax}g^F>1T$e|8j zyj#~VEw@T#F^9_Js(t5$pndCMAXRgbMox}K;+%G5WTaY7JJN-qeLax?3Ayv{T|{dH z)fw&6j%XaTuPWts6hV9W^5u#XEjTQae(5z=*UXX1-Dc4xe`T!^Xe46;%;^89txaPH zcHMg_F1i`HY>!J;N7#rwbm6v8G)jd%^2~+ok;E)S36e|Aoo!z+Z^7K#$vJyR``-8$ zQeG0su^u{fNSUS-8csj7nXGH(2&x=~{U5L0=X5ip3Q~JTH;Z?i7WQYvysgk>rc2t7 zfyJU^_wL=JufF<9i zTsmfsAoq!821*8b(B-?&>6$s?&f42my3eLZfuX_|?&LLx5;d(C`(g)0RYuHSz~*&B?~ z?Zb~Kdc~e|iq{?<^@4iL++^glHR@nAOfNV;^8H9& z1!>5zYPV7ndF#-KDAi~?u{3kQBmcSQ9AU?!4I4J72}Z4w>nL1dH(dx)7ny%#<9Ro5 zQ+*MUBln&_p4U_9!zogv5Kj67zPEIp9w@;gF_EEsKW8JO*@2cFdN>nTA5;~S!b>+X z#H6rUU3bV5y7M?l*e5b=+O(nv)=OUICpFN9@3&!9?J@O1T>A6ST3MZ8XAL%+Ee>LATegCokT1GDSow^R{2Sd`11|ZBLYF8~O9r~fLrh{)C-x~N;=LS!^%xwwP& z(1kmVe72jsd}pe(`GSBGB65#Ji28fY+)N?ik&5ThwryKZuN6G7|46QDlzUerpyg%Z z`Tnj$z}_Re*mX*O02-2-xJ+xKjA`n;D6Agh^R}0Q}n9cw@nt5T-#VU$Lp-M{(+UIo(+IYyW z3FJP}+!%oEVF04rRJCqBepOkh>E$b$vhEOXa^dXxG;hmEWjTn52r5^uoZ5q1*oEcY zAsPZOG-POK=6uKM476LTU943Ke|iUPMB0Md3=Zac7Rhp#l643_AwovJ821b5s#u4b zAAW}4;WM44tQXGXU8k?{u0zh+ko1u0qoQUFkUjSB@DM$;q0Do-5VWH-77Czv3Kmq6gS^#w8k;|#q%q=u;>j@rd-Fp&j z5s-vNMDyaM*_)10n+a<;fa91+0laaIxYl2L&!vI$x6`ppcgWd>Xxv#F%iw}HAG4B0 z`Vor9_Vn~rdx&Q;Pv;`gPN#8zJ0mHpA6C%l3c->WQ6Xz?&{S(HB9C0St;+%vsZ!oN9DO_9|_J;5wE8X7fEwIKI zfC9K++erpA4;=#3qNWo^*o&b4(4~AYp@Lep z$-JVxad0rzty@>^VXp7OeD+sv5}^(foIkWWCd@V-^GBnJ zFKoF%eMO-CAS|bD$ZfgtP5iHvw&= zLh3qk9Khb$>7;XyQrT2BYb_*!H0#;3XO(q{L&A00i9LJ6QS>-CO!1l__ZeHTvG?2! za+QUIMe-%L9;!02TEWW?dM>Uqul0wWc6~qfm`#`cl>?vS$B)zJpMS0<$(qlFpqFmxo^_V|&@Oh80=Y*QuUId{eFFbEevb`v zH2oF5j3=)>X4VlCBw??0b6Ew-Eg%OdI1e)nnFt}`@n-gd5W0p2yb z{h(|bG0hElzH^+XRemf{-|!u!g4l9Oad%2YhexX1QSdpf6;z(JK`B))>nH^S1Fh zt7Ir_a>j}gD~a%$1reE=q0w)*=^Lp^_gOrm#uB}-V9D(v7xADt3BZiK zflA$G^1ngEn2$x_v6Ybc7qXse(LZ>`h23aF7}xbnZ?RMWn(~4xUq~JU1O{EEZs4pQ zq&QwEfG_p}(6_Yr>@5iZ7%$Dy%l8V8)kooP9K#&(5?&*iBPtK{73SGp4BEfCF=&Um zcoVmg1?QO75hbg0B!N6DxN5{P4OL2F4IeM)-A{*fV?NzS`FPmB=rDP`!_y;p*|wjwPI#V6mMl?wppQtd zw?EumzvHS4t4U!?C3WE|yX{>$tWR)&Pd@pC_U%({2ypf86CPQ*GlL<1M1}|09B98{ zQ5^sm5pZm3!_tk;YQ5+34M|IE&zT#X2@(7KqRuC<0du!ef#&Y9DV&GBgsup<@Gz`c za4+y#tVS-~er(ZrAqwy6wIM;&jMa>{ph@$CXQ7;d;^;DVyabl+IxAqpyr!m2o2uor zr)vPTn@R33yyWe|@%u(4P4dtY2Y5%$p(Qv#x^(Gi-n@B=lMlevVE8hpi^wOY?g;qL zYMXy(>bqjEFO}^y-D-(ej1%&%;CowY=dM5Cz>O-%39AkWKZjCxci3ORstggdm}&EZ z3dV_)aZS@V9N{lYbGG)td9DN)cjbqb3bb3G{-IJE*!&+l32abAy!CK71^_APhpV7m!`f9noj|i zZ&SZHTRDGQ>DmGMcu72b7Ao9KkB!J3`SKsNY>)67r%s)!1~Qi=ZJ3_Az+96HV-njw z7NkfV2HF{!A6B~P(xppNP>`}N#LB(CZpBpvn+xixBFHW!;F1V=y-x zkMtI%SCH#=bSEM(s*Yd2E4;=^l`5$L%p{F~_Dmgtwkz}7z6$4Z%28jA0-O0t7o0nH zZu0f@Rh)qP&fVk>k{&cj5Y0kYL`1LKbo8=A%AI4Qx)~dessc8S2lctwvBkfjBr2x} zhZQp8K5bO$e9F)VtyBIT$8 zE|oL_+RJqY+72mbvB4H9oX2TLeK{B;eI!8#n++Q_C{Du5d?RO}E~0H-#@=!U#XMNzBPD|>O8AMZcNx(5C`QewmK2%ay#QWOsdWj~nH!G@uc4_0plxkc z;u!C}Lb@OJ3mhrDh3~>Xk4WdljNV9$q#fI$L(m3)JF$Cic9E3zvmIvjB!LDA@^DHP z7#cy%$F9_ca1>rVpofVxDo**`b9gUDj2oh3C?=xY4bFj=WDDqfh`dFLcqlHxW}KEO zn0OI+vglT1|4v-z(DTQ5A+04EFGTi^EUdx3^ErG;n2u@Qytx{vY}F8GAJQRc$EGGy zCgM2OP&kK+jyynl(PpHGK?3V3^OfCS<V_o zK4z7sMZ6G+4w}D1IG6g(-R97_RHlO$r$Z{TI35Sluf66v?0ALcexPU;EV8UwvubVm zF0%7F1#P<}QLVHe1RJ9cGjuaPr*xs{uz^k+B0XYvs>n09i6rXhclSxK%e$td6Uz7% z`-RCH&IP}-?f3PNwhkqj8nB>nC^6?S6Bymi!m3}~6{Jl6^p8V?^nOzG37 zR|AtTGz8lIItFdDBCC){y0lfeTaz zMOLc3d&LEU%k&fp}ODd{pTG^g0u%k#Ys0qsVk>D-M6DuCj8(5~8J7FQQk zvWvGKnOGZBuaHnd4(1o zO${0}Py>!}%u{O!v~xQfsME2?IrqmOQQHFf=v z!Bu~v;0l!}s7zT3Dqfm`ekehKg^N;Pf$u3WPaz7-Re*M6&PL_mPfMS@o7|rBS)0iF z0}q{XkYh?0hvgkQZYXMN``x4BZKt?BXrrIt$*cD?4cefU&EKZn#tO^x7UNcFT7v}n zU!-`%MM6&ownV$l)=cPTFzNLaG-=h@o*ql0XX1AO8>5==+ILKm| z7L(xO{QUfc4*?2O^Z?o?u4o&yaSjs&GOb`rC}~P-%^{&GYNG}jf!J1U_Jg*MatS+| zuc(xCL;E>#1I3(WIq4795{8m!a5_Z}6^@-^*j(~KfU4509#eJFfD z4+`(qnZmlXqp)_ZOu*fw0fpA9Lm{D6 z+49iithuOu+7IXh+fpV0PNZDEbY^i)taXx1l73xQ~01>6yCcFg?0Xyp8v}t?&eJ> zv|)V;`Rh+pn&g*XP0@DQ3U6}TK^`pHF36(oyrvXMU=9Y_-{qxe-{z)gS#wf{^dH#@ z+|Ce{dSBr<`<-#qN;3~ty0A{2Itl4oi2e$>c|!z%_UUWd&S@j{0o`wrja#wLp?Vt5 z@-EXh2(RJDMSq9no7+rSD_j|(oZb<~P)qgPx^;`U?32W8r&>$evo4MR>(nVzP?;Rr z==OwR6t!>)MJ-@HZxTh$98Zx`M^VK1VWy~iU{4C`*@?nBwxQ>(n^S1hMig2Nae;{Q*P-Kuj5W@!xwJ5eM1CL{w~~lBxD?DBGPU#f&TSeE7bj-vEi6ofHqhzk6t>6qPxNMMcNdqj$UYu2nW*TA=c20?p-y@35e>eSSvOmT`_>_yQl zXH)c=xh7vZi=viHqo}!_47f)#;2ug5|MjEre%&doYkO0EJ2u+JrsQumDEMcjNGkt7 zMFP++`~wB%_joI>{p{O3Z$SHT=IlJjZNs_WksRAwvW3DiW;*M}ofKVIczC!#us_D_ zHAn#3*X}+QrXI8c+O5W|7FPP9F|a$dfGg8+8f`mqRq-02b_fccy)U1d{TB#%+RJvI zwR^)8^8vzBiqU*b4E_4+uWA6{BWcrS+eP6^mxc!X{xd}_n@-Vd=h2JJOX$V++u_6dQh1-PCN>FAku)@INY?zFf`5&l*DgUp9&xCDaW*64 zf;PO&d+#SW$1YvEyy4DEVr`O=4x&#h5juWP^d010y?O~J>V%d1-C}7j^6wgqqDO*i z!>0@+wE@}_`Lh4sQ)SLP`YA#U&>f_3!6|L!YPK2TkTkVJ~fSo*9GOArTKSjPA&<6^-;S90A4LrBPvQN#aVE+0wk_y+v;XI{gR51e;3`#3)W0{Iks{E} z{T67?`uK|kxouFFd5Y}iODb5fpy+zgaVCYGi99OWZHY?3Hypmi84Vs9A8QYpd4cm4s{XA$XxEDp`r^osi==kJ zvhlESwSx^vq;W)+F=IwGkXtQj*RI(D+8$qjNuexij+{M#qLL1P<5vr&O!r5#0H3Qm+ zQ1KE`vW-VB^Ojd0ZZPK9xE``#2dCgE8M>(d)N{7Y-;Yi|C;jdTU&23jnr2hUf9}R( zdF7_4*}=AL+tdK=HS=FJ4B8>q0``~b($eWpZFtn2Aksd?BJJB3nO|U0x9yR3unm#+ zvrO6PdxZ_j)vNzsDXUVgilUfoHjH0InHi+?or9cx^Tvs8($=k8g`0KFMy=3%afc}F zfJU*Rc4K?b-q2K}Edp(KiL_(K{I`DddDJWHX5+cm=I<}v-b+~WfA489{oZeZ)q60p zFLzM{539z2#*E&DRxOn+QFg7|IVfUSU!I?ioIdvLoHmQLV~%Vv`Mx#$XZW2kr`^U} zPTM-ruAq?D9yxO4n|t->(Id4@No)H#{>3~}@LeyMXL9xptR%WgvB`WT{_B*rhaBGF zIgxTX27;3A#p#v{BbT<|b1-f`M3KzrT63#KmaZZz&- z!-NRZQYKc?BAZww5HS;}?;#D=W5y<{sz+nbVb`f^;+ARs`kCvv{*{J7+rwJWF8tZ2 z6xOXhh4=4H5yShLqHV9yoQoZ`bXq)~_U!-jw7uf+wENr3)0ROyYeLZO{lUix&bfX2 z_6g{j1qu{UyUwGMso!I&IAev4$`Uddhng8DD5oYy(*-Wdepu-wKK}S)dh$ehNsA@| z6}oD>!K`9_l|8(jr}|KYpx|RNTR~_gr2tliNW0m4&pEE`;WoWF<*^r)g7fZ3C;V(K zIqxc{yhLHoNGnU(u^MYK%A4*7C^L7$!oqk!qw?@>l(cPD>y9+dlZ&S{pd*5^^oWrI zC}P4eUiHZH+w&)xDk2xk6_K;#ipU9aMdYBK6wWIm+s3JgtowFFWCc`2mW@*p`Gaaj zWL(hh_rWI#&iUVe|4nf3_UzeX$@Rv_1vs}wQXc|umRL6spgmOSB+{l$ORH9`Qk=Nx zk=K6GI=8Ei#KZgF;$0N|LU~gROJc3G?9xMVO?-{*E?(lYc392+^Z5(Q+Wd3#u`87e zY+k>n*_)18mCC~g`?U2(RK=k_{P07yhqt1}LHloO06W<`@6h~;<+yGLHW8sCf>Z~< zIAYuot}_xjWt2&GglmtCvOs&}@BeF$#OAZhS*|@2AG8O4m=LtF8d98NHETLU-SD`S z$X$tkR63D&-+ed15+iPjFebLU<+V}LJafY_o|jiL0Hr2Cn*nnB$?Jr4GcPvw`I@>P zS03klN09P~ZKY;y+6^Gv;J;F{sWxI!P4`rZKdz@B__kw@KQ2AMz_K6()U8Q*vu*n@pGzRF)ivC3cke70y4 zG8VKMV8j1W$Z1cUI8nLX-PNmVeLQXTl8Jp2u`!|8o!e1 z?njRvrEJ-{fB~wEtAn)BaIaPg|7FhL=-dkNEib2=8N?Hf~#M8dBqFAbo((|&MtJTyf%u0jtlatkPEekFYM@z$YG0=r3A2v+IP-Yw-xR} z>gRzVUkr8$qHSwlNU;qUFdvod;Q3pe%WX+rL75I-wEx^q;ln;^)F`!wH;{QDN&7a- zD$q`qiq8G|Gw(VB(0$&rDd$;-b!cq@?`|D9D}?8}p`DG~HGYQQvCnW$c8jJmVArFN zztFkncM~@|Zs!^~%6^OLmmoEw4BB~8q)c$$P+t@o8oi`XpWacR-NY3)5s^V}r4s_T zaq;5C${R8f(bRFWkK5!{@z7%PPV{htsR0hR7S0tM;h7tc3TbR@C$6OeZYq(B`_O0h zR^bDMYSqRgy)Awzf$ae`K}fwSc3ir4pMLH+hv&Y{eHR!zBD;I{F0T|;d3YB{j#ZCy zmTj^Il+qL1@ z*t`PrCz&x)_WwO1{~u*5utwsiMr6=F{bkk!t;j&45YbCxZP1`WjsR@Ds9n}Z?ibOC zb?@F?+{|?KLAObdV1uhl_t|v)et=M?qI~D+nmE_8ou=`sM|bTJX-O61l{-&`^J?wE z3ml9+EM%sjf8$O8MemaTW3B{fZbgU{z_#O8ZIxh+kT>|;!7f+>Oeg`LRz}@JU@zwu&&l2ahA?VczeFuYSb_>MSl9p1lX~8?Bb>VpBCYak-`>7*#XRR zDWpc`&!110n3;kb&89|T?L+1(B|)>_6DLk6SB3?IP|X1g?2^_@%+0+9!!A0rvU^fBm)V6?Ap>*j@+8{sw!Xsr4-Zg)xkUwgfKpA;zQ24ml zHvJ60!)NeWMAz(Z`FDURf|STxfGtz}-lRn=%VjVA_)AKcEZJMyUu&U=YJlhj)%r%Zp0LI}m}bk5K{b?b-lslw~hqFA&AfK`iE7AycjQJUVwn z+^=)Z{__?^+vt{#d8oK?8yrS0$FCM{n4{KU&4CNTbMW)?GZ$?wmE6Z{?hV;0<5xUF zM&%+0U_{LTW8|j+%yAt*!|(8!Sg=NPU0P;|6pIsKW8*PCV8>01C=}Dc`+V>*rHUuH ziu}8;udh|0{o=(7`u5vzZ5b0ybS28l{G8GW7B60$9zIkqIJkB{fGe%JLwcmKN@+N{ z!IabhXcuQ7xS&hE)DL5=jc>F*9_(Sc%jg2L9jsd)gmdjP(U<}G0SRfpn z;rMU-3_y*%H9m{KiH)wo5-C#r|2gcqfE_oFt&|p#LHpE~St)b!gatCSYSkiJZ0_8- zwv5Rbt=!agqLWm6gVoeXQHnXx{%go$x+{>|ga}h<7jHx&*IPqnLk!H3f^5a$4tofe zM%&m#yzKv2c+JNy-!c1=D#{{ltdvCEaaxRBrT86rn~tUByU+5plj5fD`SX-AWlDF} z8HsP_Yz6J)EQ;-t@oN+CB3cFrqkB3y)~IIuQFi<{eukViK7-H31?$*!2v{O0pvhD4 zZNQG7$Bq|e-~Bq9A}{;B_uivx*RI(F+URhDniMO?q=i;)Y7a@E6+3O(G&Z@F%fH8X z@3V*p>uSp1&%NddHLCZXyTPe;uFms53D zTCD99zHzCzSRn9K4u|pNXt??b>QxPsq)pY@3)PaXnMYRCG3fVN+@Y zAdEBz02#`BC7okHWbfa`YunsZn_ZjTX4|%H+uYh*Tbpg$_SVMDZqhGnv;99k&#QTL zFmuk__ZQdo`8s;j%$;B0`lU!N4$6)B*Uz}q%kEYuMerC2nj2hp-_xY`w}WuL1^%nY zWwp@aCCadNx$LH{eFgMpmoL9u?&D!I3>!>E5!*eL)nEmfk`VP7tSEHg1L=_X(LAd| z)YKu&mfWN%zyTOIw4SnPoFZCuBeI276VFdWoTM$-_Bxad6hm3up>yb|KBu(r35 zwtS9!#8lSB_s`*>Ri_aCatehkmaR}{R*FMS?xC2l6gIBUt#voF_GDP$ql<3S=)oA! ze!PKTBo)2Z5sUVbjv-%m#QECe(N!n*$$US`cA6RX<)y95qYL8AMENe}c`9TW2y%+s z!xsl8ggV=c1J#OUFbyE1`a2$aeN%%h_S}f4Rf{+w{y>;f44)%l#Ltn`8|hDzH)mYG z&)njtL?9S#ng;5#s2_g@`E4obHL)|GZBoi-n1QU`^NKThwKp&ooeF@r1JmGQq}Z2@ z82Se-EW>f?4+6@Eu9~$Zbamk&k4j-$VaGs1&*b{oKk8ezupuFr1%(e^SPe`*3|qs{ zOs2&w9(D4RRXllPe>oC&)=1LvOgj_P*F(fOi4+y5I4S-M3JQvca7Y4UO7*<`r{`ecM?f6<5@7SgI<_Xua9s!^C>V4S76v&gJZ-X6 zHkYh3$Y0r>w_{MWaeB>|%zX>ML$2)9fx<$#r=1@A*=i9D1vdK02M32KaSJ3r?Du^I z@|(O4pO;4|f)XsN-XC^;xm{a`)K`79%=T};I3Fn75@nC4tbQJI=1)bMtrvQw1d#^2 zuN^+&o7cghbc%K$C0*+8AqyW86ln;WRK^hUE~-p3RyAi5RJj!_=VR_Qf34J3-dVRJ zY50tg4o6U*?H~hXN0M-vLt5F^tc126nl05D zGF2_&_n5VoAPUwc!94JTkkL1qj{OfPXq}+kNb<T8i9(w2`Jz2sa|rPt^-qAI?pg@3eV2L#Xv8LbY!H#G_-2KeBC!Zd5T=W`9>30QvI`#m1v>d&}Qra|`xw&Iv znY%#BRi3z?Qx>>;R9xOne?Ci~kevlY>Z2=nK;a@s{hO;mb(2ToX0jZJ5xs?YEDoss zNPLBwpKYSYk1A$=(v4zgDp+|`l*1U+7P}c~J>&Nk)vIpaVri} zQs}zfI)Jv&SO9<92r#hkdtdx;v5}idT1Inz;l56Bz%kckfeix;{dG9gSoB&#N3+F^ zdcSzJS#na}RPJgMsY+{?d#yL5EiOGFgu+pXYdY|pnqIG`1otOxv#=cRTxK9@^vc(y z*!#oImTJcA!$Twy9G3yXB3f}acHpkzRPzlzn~2o)v+uIXgepyTy)mD~qku6U85?O- z#cj@CLEZ0%Xj}fD?>k9Kr4@F^OAuQJyNS;?dmW{(7w^|ln^M!E#AmMQS?sjlUaqGm zt>Q9;WQ&06eI%Mb)$(SCOK1Xxs(<~z+3ks%Vz-92xTo6_L?$dh?MbRduiE}2f$iAU zR$}PO!^IW#9O^smrk$n>J`(IPU2}@BeX-_qYR5dP&Hq`<9tZnlKWS(+lMw3)Sz^X5{^OU^_LPEa8qs`bcFK2Rf>8FEo1x<}3SMyAJ44?Z@V@v@ z*j30y!$tAL4wgYH%KNTo5#HXP>hdR0wZ2)^1$5)Z;} zu}b^@2qUT`NU8iWhR7%_GLu={=%QU)+aXnlY)BgzR4=Y)?xHz4B@fLjc4D zLzhxhfXE4BHPcDH0vyMW5idj*L|$**lVY&%O!~=Kro9$qU`2`|Y{$x-Mr6fNa2c-H zIBIoaZb=3;M#vA9QibX}BM0|6>dr`tFK2be18C4MecwGKGr3($zz_V>+c8We1&GEp zt~)~@hb>swzLWtFBtBcOY)atW-RbJ+x8!z=FZmjF*D|(y|LTxP zvEU05)hjh3;g1_RItS6ZIG_}j!#z}khGcC7Jc|7>ZN2noqok~6sDZ2n`3

58immTO+6_u&Hx8%n&yQTm zEAMd130Qx}@|4Phsa(TT;}DHuPY1Z=Jc=jXPv8+ce2WbsZZ+?A*wN?j87yp2-T7|) z-dDT%z*B;!(d@m|{SRx9z^l(QyQjuy=S&ckzi+B>#n%{~%@oOKfIm144;SA)2%|LY z{<9k#eJjsnd*mPxkoN$usmNrYlq=vr9;74a%{sMSRa*Qr27u<^McC!1Tc1^N^H5{- z`-xF?IqwW{s>EJ`^tIL?QBfBP642Yd*nJ6ZvS7wnB_1lGX+lFeiHKT*4@#k0Z6i)V}retF^Scw5!ryQuRYk`jLj52EHIXboy=jMgGw9{0Ku%W|~ib&grBBSGbFO>bK)$b@r# z-F#-Mld*&zXUK*&FP1J5q5q^7#1(YmoyR zA)#)(k@{$}zmyg}qV6)aSI~5D^$x4)6S@0xr^a3lX*ZG?bytX_+VWL2tSsh;oIzrB zl|on&UyT{Qa$<6GwhK%8C8B1vDF$m@%qSQ;`kzcou8g3T5Tckgdxm&K)$mVwi6nbS zPv8BaLJ@s5c0>?pFO-lLg{ZHkoNse(EZ$XnwCIq-VBZdQS-HSp7RFa{m1>+=$CXh$ z8jD?NS;qI`KS;-(yoRrjJ&QumOwxHT;SC<_qLOHy+XPT;&yy=-s$a2!gvBrnQJAFe|xXD8Hk+`G04YK*X!hZ--zYy#l$jD?=lCjbbS{7y}zTL{6$=&)_~vD=q}-r zY=+M>Zz?fpQMqLn>}s`ClO5F0k%r5k0HaeChtV^Uze&Op@w7YZMb{8Afkv6I^hBny zu2hGA_qNpjxHA$u|EF1z?iRpD85KR!H^#heH*lt@WLE8t}EiY$u%=ekkdU6*;oB^LF` z|Fh!bdh6r9g!u3@poKa7lib;KFz#Nn9NuDF;AXpIjo&^AuOj`xS*|In)8Jf1*@pRD z`($e?pQ10;-H{t)TA7c>w3cFO*yFb%WQ32Dv60Sdi4}8V%g_+plb{wdmM>gsW+eL) z=v*@t*gMtz^~jJoP;;4zZ7IWM*5k9ecp=QPT(hn~QKW(F+k&y=-3lY8m9V|ZRD7OV zS2KM5^G7KhnUH{y_*lr%)O3LYfrk<7BIkDSg`I_Yyer*Wl0zwa=FUQzq&h;tMWiKk zli%RaHZn%voQK$Q3(hj~7iA{u1n~n1ry`|3)}HZ{ce0c-??kk3S1ah;;oZM4%-wDh z1Rc%3*jtFQ05B$7R$fFmL@atK`Am+z%uC%CyDc`JLm@|SQzRfOs>Mnkd{V`yJKhKT zOakN^mbfKk;AKw$KN!rBTBV|AfAjiD$`H)?`oyM}69ad40e#DeyS25YXSt-Y<)ur1 z;mzfK363iY!mo^p(zl!i2V;-B9AO5B&6Rp9#RHu?B6qTpzFyMdb5p|hiw||FY>ddd z3$RPMZS_M($KnIHqj#A8H(C@QM7rGHPj_8bN+6pwe+$a>yKbyz5F>RqeZ@GXTpCH& zw7eu!CXaRNya6))yNJr-nu_mO63vUwT&bdBFbrtBI#q~57D=~xDwS@j{qIH~8JV5a zHq)BVZk)3i)MhrX=j_YlwRgzRXEHHW^?4V;NQA|sHj~s#)Jo5 zjv(AQEEo#>(W+NkQh=IlPmGxFbRkl>3;}2{vR}WB?fr+^85Eya+@kCttU(gmd`yu6EiB~{PNuT59fbUi<=>~WX~ftGjMDZcl$9-QB>ll z{Mn~A1vq8fAjQ>IM@4{zwzuFJaj1~RCH(gGhI~Q^ia7)bHOB$LXqo-uX~98-u)!5M zV=wi8I?^G{FktyLp2q=WfCEWQ@W0aB0F_Scy=EA2Ik_sLcfL;=wK*!$;}6fDGh+>% z&p+iYqOIzF4#jphe*vjbA7+N@y+?c@BjC{PgFR=lH%%xDAZT~{C2op_hBZ3p=*p3+ zwBX@f4DgHo5KT`qO70f)3eq4-0-fBYG6PiV1Gih|@vNpGU)t0`|kaTz+ z`QmJh&|$_~i2t)$*<&Yu;~zx<@-mPC@6AN=|5d(87cHtr;Mr2vOD$R&pWuT=LoZYq zz3RS<8*|U8*=&OI%{LLh>qA1ppO>?n6^TG(IJ@Bdj-(~Es_Hsiv&urd}fs!Wz#F z#+vbf+1OVxY{9#;y36hqZsZ_h{d=-mZyK)SbK0D4S=}~9;9E^1fl2!G0))??CilFB z3U%4jN2bC-tImAzXUJS-GvCQIr^o_AqN^x5n_;wJcEH?38sau-ZuEKg zZbb1MO`urVAERNNN^c$8R8Wq~ghTg#dwYF`ndO;Iq1WE_s2<6)aTjx&rM6LO;A9~%VuV=cG4^X8BN7QJ2?0s-hq!l|QPUY8VVT+By~1RU`%*|Ytv zmX66YPb(Y5c@lV=wXIR7qf6>0lZ>Ur;Kp4R$*Noogzi!*U3g%h_vy#88SQIZImCRS zh>B9ng2FQ}bNm)X$F_Zb&7N4Pw&%ce;3&ZMY~<_hoqqDLp}U9sti)pNNB6qUx_^Y} zvN=R)Mv8lP)<=T=^U+Y&6e=Hr_L{@t6 zBb+&?RIjwit3t1mh{3bD=d9HTdhR+b`kPEg)upA@A}l?%l0oi8lSge1_(#lQML_$} zWTbYk(3~T|SlitsR2i5OB4qH!HA#>>1%lm?!on0^%Hb(8&s;;I-g&u|r{GP0@;xfu zCGdTpYak`I8`7<#+BOfHg?2E?pERnNaDDYdnEDP#?p}L#011&EUM|X>(5=w~Yzf8SsoR)o8)JD;Z zzmWE2T4de$MxyZcy$}%)ROqsJD6N+jqA6v8Rhy+?9v?8k*49lf{{pg*Qvi?$X)`^2gvvLdr z8QR+DLB`UeIP0C0I1+#xqA;1!b8s``A{~KzLf!P#0}wf#FFN?B594v@ za(1}JQJ^;6Q!tL9ORv);l`I;4h`$u5p>F7R34Lw=c^U*PU)t`b^=t3ln|>#K!H{tfSR++F)FWR|mJrcM7~+*Z%1uoXll73MTVc^Ga5F{bgF+-#D+_ZHfb7 z-G_cdi~N+9-2P1g)RA_JFN7%9i{B2?OG`_^-3~>2R=xnblVNr>Y~3GC4k*U&cV5Nn zEEf2-a>x5o-{rsXy*-+=5-0yGGYP(-99v$X{<;5;1}cyPeNk)h1|kjP!SYk}#yQ=K z!A+K1DN$C6OVhB=Ir?3YUehbaLGwERkAOYr%nZMRG4UHdH{m2SopXwVubH=}d>t|< zxP8|hGW<+;|2UgHEUdAqTU7__>7tl)8ci5=zgVZNw^-c=qHH=h#fHW5jMJ|F0bo&^ zd*7fGVf=)U_<}^oxsn*0p8LRa28F=}&!gz@Mu6+#b{6LI8_IxmS~Ql439*87{$)Om zX>l1)4jlre4UI;=E9MK4&>|i5Rnye-i>V{Trr|4)O|#tGsibfhK58v#c5^ydQD^FL zuFSe4fc#>D#;OJJFiyc4C~Te~%Rvqy!^IZu`|J zIPuhYkkwsxi&qCxfLF;)ujn1gwI*M)CMqz=LS8+QTt0)%f>U(ypP=JX2{~yc;7*vn zOAN5!L;)NIw~GKsED+M|;lel^p7%Edz55D6KiF0zDi6Skbr7Q#JiQ)z)NxeuQ;rPKcg@UozQ4>F*j>40+ zhk};!A$$|R**a>3h4n-p@sGzJ^44_P5(DX_jhEUgXi+w_Wm$ds+n=}zPvVRX`Ru3f2aPSr!5-0a0{#($tGo<&B$xLQWjuRLN2GieSL(796Uq3p?|8bGo`DG$+QwYCjSs?O;TDd1J1l z`$+gQK!#gLN!I;gipw(ofg#duENeZ|pY66I9Qa6Z{X6&uz_axXc548fNGalBez!Lc zNAX4bCy9y;OCn1SAwD>oND&X40EoOiZ%F5Ybo|%^2K_M&Vy;@IX$z)p!DZQ}1|j-m zAg1wCJ>4Bm>a<(KE&OGasoVCtd1@-wT6OEulJjq8DtzhQN|ry7r3+)PCu3Q zX}0|pmb3M%NmsrNh<$lr6$uG_cZqm8gfJD zrr&jpyn5Xyl%!%V!U;4fn!K5mMx%j*P96UcV_>_y6MQ-(n<2PNS^Lvt5+G^c57c^c zIS1XtjN3Dr40}Egi&@&ajbPyx7(}cQbA3+)YAchzEc;em8IoXVdQ=}3nIMRVMoxl3 zvO7TT;e4blo3uS|w{q6V19b{N@AG0)V_9vsGZce9Nydf?0ay490bk?+dvEvda8&CM zkwUfb2Zn-ASPM0Qt3uXhA&-i(D8A``QW{Cd9(&EN6r2rc`;-DvIt1$DXr44NL@@=X z7NZHF*pg|D0GSn;l-f*qMl!m-((Ci&Z89z@8UGheaAP3-EpBD^Pd`qXLaHi0A#6wf z{VWqZGaZ|eT1w36AuWI(qg=N2BPk^jav2Y{u`rJS#5)I;8I$)j#idyhJJ4#fQic*o zUzwiQHJ|j`W6XV%nz97~}^Cs{mYB~V#o!K|dOM}9KZDv)?L-l*T+wJKV(i%B0Uwp_Jq5hQ8ID+D%G3v+lAxW5&iOU zlspdz{k|KDHYhKxe;dZXJ5t+MV(^S=nNf8qpg@6j`9%#A5m}G?4>kL%iv(NPO*qA{ zh^fM^u;FS0;^ChzoLTXD%uK0sa?EKMN#84QaMThW4vy6KmrF?#DEBnIFuy==d_?h_ zEMqE+$&W(cW;WZ9=XV6hu8-25vfQ$?4v(n^yy1$md^FP*}`j8}esgr%7v#Y(o zZ2nJfK*u6=0fq7^fD4P-u%-n_-CV(_T)XuLr3m288)z`9OMiv zWs~V3MtAH8R#TT)csEzIrbVqQ=k@s>pZfTdYP`)lReOH^g+*8~$`_9ZKzlIGnb+3{ zh6QYSMz{Srrm4@hAw0@k?Q*D@ZkV@KY9e~l&hF-TB1-d z-eG(&8XJ={+1{;bq?1mv&UR1TNOGUuT)31C&(|ReuEv!5npLKEz=oBJYgtGMJ8f)3 zmg{==3~tSf1V;Nh&iIqXNL-MkRsj#lDAtOvrDH}JxdVA40f-2jdH7AEzxsrH!sqxY zw)DwcE1qFFV76TUJKE~+0YQKH_KHQE~kifBO3v{JKHV<4R`ArtRVnE{Pk&^z+c zRaO9TY#Gqv4HtS@DR80n)#r!(fZerJHZrUEE3NYB)W&}w;qg9>Kq{UzbQZ@x`9RHv zn?#C^_wCu=TaY5TQ-aIcE|~qAa8M+yopGYv#qrJMKsrK0_R!09YSajHS@FoiUKw9h z@W>E#we??OtL;*(=5#*kl-~8mvOGLoQLS!ktk2D1KAtju-l_Blk|2WGeB!p*b}8!Y zl%B?V*~)f5W@comIV@1l$r0wnm?eNR9n2KUgHvTV7RrCQ`by%6yBlFjas{>7sgy60 zbqdL3(8X1I(?1_(Bb>I$73(-a~W(*W~M?A}WP4br|+qvWGv5jPjA0raG2 zy0wc-rQwlx4E7;%S6!_w>5yp<;s}z}Qn*O3+!ren53`jykB0UVI{;7y@ zZ6N)*>8~!UV_iS%xcg$Kr{hd_dqrzxx(tk?l**G1ywlf&@?C5cXGp}@WP`VV?hL^k zRzFGS67S%+!0!wiDP#U`FWgJUsY#f(VDc~1cXe))dBOv9u%5@v<2<_UF2y=9B+W!r zhrCyebQ#HaNh=WHA0H6$U4)3>Dt zOS8B7aa1RH>%fWwR5MV@btMuhr3}$Fv60^+L&CVg&YT z^ozi0U$cv^;pLk^uGQjVVr7xZ>~To0Rw2Jq#jy7I$yLki8m~4u_uvFA33zk{9&-O? zaW^`dhXe)R4fvIRKBhSSQltW z#M)g^F!0syn8&E%xwS@Ara8uznvIj`G&K^h*~g(_{tIQZJcs-zx^o`YuQN>=%_EmWdZ+;FuHNNqrNqszy~Cx-s6tRkNoNdSrg&4uv?yl9;oBy;|!K%BCI zH{IiNUk=hY zBEUMj%hPWg6srJmrcSek6IlpKF*A>TWsKU&=DG!9@K6-&7C>=UW(-m?;ak~vio=?n zgVHrlX3{6tTRB z`+o|8d9NgIAOZiUCMT6P-y%@XLP3AP}(0D;h%D z*8lPB-VfX_&J(Ud%=ciRV9Ah$0mQkq2+|}AA=e))9JAZi844EE2?D6)WJRcVRnh&JSMm~Vx z8I)Z81O^&OEJ`Y-i_Ny0?DebzZlA!u+nfJ!yY9nLiQfub|Nr5W5~hdF)2@TIqM6K? zaZ$5duae1Ys-qI^n{jcdAK#c34e25YX1Be!SZ&Na7U14-(Ey#-F*<~Gb=RUly{gnK zJQ6_V`mbjCMGsHsy%xJ(9cCRUpV}TA2njWRwtDb!tgx7c!b@g!Neihhw*z}EwcFCw zEl)7EY7#^fK=D&9i#C%~jRAb^_;BUI1N(Jj{(mima-Q*dmVc&Hp+X*W z*cYyH+)pgo@wrk4`E`0cj;Os!A}&hyM6EWi^n`UrdjGXH(CK zU!240&7(Eh657>lHX|70TBY5!Evkd~MKgQt+9W}`Vvcc|h|MZ4C=Rdb3z-DD_?>D( zgV{L#aBsVMh1wSdgsBDCH4Qd|%s7E?#@WiHTFhDoV4j5yx6|ea? zJO~Q5V!f3ZX~gxrsIvHv7L{ox)Rq3z(zTX8N^Gc8*B=%=->j_RD1FoTG|n7A6tL`3 z8||*8xyE%CSDJ0Q1c z?U>Br_XVz|0<(KGfH2tGp4LSw>T2key&li40+cH|ZoesAcGT##ix3Aq22G>WL>)uGoj}Cr_21+mdssfvJG=;8jamu;QP#nKM)xl=QxTn)rTy2A8Q3IxbO7Y%uDI0Q0k0Vr z<7vhU%XBk@&tG+v_|>d`K)in}kibvDGYoqQ^!(`*q9V$$=YeFjm9{RZPaVK&AMHc! z@$nZ~^*$X}7NKR&C)2Cm22XaF1RH8%F7o+3#09)PTKe{3GF82f4>Q*e@b#L_?nJDc zNj!JcCrCfmfvyJ^OOklpkN>38)v$~pmSq`I0Naac^UkJGSAFt7@o`xILl&p&+?=00 z>$-1Y{MZ2$-mK8CI$n%UCS+Iz9bp0?&Uljp4)*qv4~;%g-caTGnII~OCb&Uf=aMJd z1vkS~SbF33F;tKbhLu$=vjc9IZg6`td!B+|Smq-ZAwBRu{n(?KN!ih)mK43uf5o)t zP2acYrpY=Si9w)zq#d0Pll_$R>cc^0Z3^PpOpnIrfp6hN$`kFgcFtEoY*XTV;;& zX;!`ZwNSkR6^iV355r3xrx;+A1h)LuhO`y3-{@MfcPy7+XE7Ti;I@#)fav)CE|5&G zJ*!id0Z6ul4lq$MZI(H`S2tPYu7F9WQ*(yNAt*l9AfC>NlRb40TWP^j|hmgEr zNAu%6g|j4~qMPm$xg8wO92SF4k;Wm$=B3GR2_FRP81#ZCrDj(#npfK(sdO?1diwD- zEq}YdtRAEV6-9EyN1!jhUIZ8vYz4$ss;Bs(B2;4Cas>QkKEkVvH6u+Vx$WyM)0qKc zJiKEz9%8lQsxlj~B?<;NQ(>K>cyN0KJC<|OdXN9=nimD9k%Hk}q?t|mZ3=i3fUYJz zg5zgC8W-}VQqwmdN^TRvWYb}>#OM0@q}^wNsGS`oi$6efY&_X$_*Q5i#KvK8h~O&f zHtF@HTC2YQXd$206w5*=O90eV!pXa%RZzkHsNZpdlx!oY-pD4{B%!JrBzn}*zbheQ z6v>R)cGp1qz~xi^%e))&#TMhmuXu*}@7PPu;aa?-hXw3&wQg%g%&NSp%*ovGnB#7% z3c0YbaKA_P|{*8L-hB7PLI=yjN#A4$i>?_R&Gjw`dMetfZRsbD_M_& zFPa&;tyu++*zMj~?QKCshM4rv)Vk9PUb+4fFk*@j84M)Tn)t)cA16yr#`xpJsE6u! z$PWjXPs?x7?xu=1Tr=yB^}&~)SE-4Qk5?;G`a1I`$87D5b8$vH{zHhg+4RV=qe`)) z{77JoF1{3Yf^C1bY6EQN%J_egf%CSm$9$gy#%Ja67=P#Yvu_haGu%>WP>jE?GZx;h7S?oL1 zs`1!inj9rfJ@$FCF`J#9wZ}!;zW?>(t9SpA3eD4`Xxj$7+Qn4AjV-9y)4tI%48FzR z%&3ejFB*P^Xt67TJOm_a_R?;zYO|?zGn!ZIGzLs6c(E*)#WD#^f7_VHh3_I~V?H3c z$3@<^$Lx;;JtNkElb;*{-E&Gz%k>Vd+13x>_>uh-m<+octfXraMD=NoG;zi>@aaE6 z*#2FPPXLBi#TJt)`skg$P{LQp&VUu|3pZ6ne<#W)t3-T>JKW5J;M7M;+RbQW4Y)6t z*z`t*J|P|dZp9yYjHE3G5Rd+I6O{$MLIKzU*O`!>{uke!6so!$QYZc1fbK!lUlntJ z7Eb%qve9W*?apNuZO7fm#4gu`Q)Y>|ZAS~7W^{F~zq*m)Q z^48a6`C27z1`{n2TdEc9gc!FB+=X^6gBK}orRm14&|NA#Shu*=VE|ZMz%eBH^C*iA zDa&55So&hcG8bTmuF_}7L4Mupa%qTOf~nxNqj?4UGM+PQ1Mr$;n{)Bvm0n;XOlbwb zg=#ekjyQ2$~*Iqjuh}Drr4M7%+grAIt zXE%|Ic8VW;(eUO}67u3dso;~U%ga^;ygu3N=q;p8N)IcIRV_Qf%cBA6e{=oLGRu6o zv2&tRZr5xM!frWyWW(+EGcNa-SiPIlO3xgn|6HGM0nMp^odeo{r7XC%##D0&Y#Pz6bwObL< zsqgeWzasL-q93KgM_;M(&*uoUN(ho@p;FA*WjY6J@7f597ct|4as@jGgbs!?%WO9D zBgfv3C0gUdX=Bn;Bs1PxDn}xKRMsl>$1Pyj@|L9)!v{_WiyvrT&kvvtnqNZA!2ih| z%Y~iq)jLTwlV5Gonr{3_8zWfczi=Uc*&Qq$dvgMaMWgU>`Tir+cw<5HUaK`F^q_+g z0$zmEakZg<0_JfbHPc-je0;{>6g9LRf4W%EjAayphkLcuK0?qV{f z>yJm{woY2C8p9eHS{lsYh~x`r(Mz!fw7cvT&}r6CH#U6wROYbWvA-XnVHyES+{F+L zp+I4{`b!~`lm{5X=hB!>+cubJ(LXu`&}9I6;Lm&L_G*v+^9T_2y7mEUt27YQ6(C^J zI{DDHOlzSYJ($zU6UH*kJX>bi$bQ(M2dc1#6QY({Xbo#!ppZ1*$7bKT$ zZoM~xnrW3M&zL0V(lWjAwunR2Idq#9oD+O7evL0`lQyCvTY_e$`QsLARP7Raea~!& zfq7j1)K*#;ZAAuFx2TIbDNNhsFuGNj#Xg|R4UMaC%c+QuIUfdA*;6!q>Knhdz-ZD& znG(j?QUFi$&vCSg*&@x@r+IvQO7}7=52E6i zncWkfMXB(wXGL!J25FYPOhesokonKP8Z7Kz3IBA(Cb8YpAjyKmRPJjMTr}^kMw8xi jDAND5sI2 Date: Fri, 6 Oct 2017 08:56:18 -0600 Subject: [PATCH 009/427] docs: improve website front page (#968) Limit the Releases to the last 3, add right navigation with a download section of the last 5 releases, a shortcut section and the support us (postgresql.org) section. --- docs/index.html | 95 ++++++++++++++-------- docs/media/css/layout.css | 2 +- docs/media/css/text.css | 2 +- docs/media/img/hdr/hdr_latestreleases.png | Bin 0 -> 537 bytes docs/media/img/hdr/hdr_shortcuts.png | Bin 0 -> 492 bytes docs/media/img/hdr/hdr_supportus.png | Bin 0 -> 511 bytes 6 files changed, 61 insertions(+), 38 deletions(-) create mode 100644 docs/media/img/hdr/hdr_latestreleases.png create mode 100644 docs/media/img/hdr/hdr_shortcuts.png create mode 100644 docs/media/img/hdr/hdr_supportus.png diff --git a/docs/index.html b/docs/index.html index 8405ae2e04..54d4f96368 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,39 +6,62 @@ ---
-
- -
-
- {% for post in site.posts %} -

{{ post.date | date_to_long_string }}

-

{{ post.title }}

-
- {{ post.excerpt | prepend: "" | split: "" | last }} -
-

See full changelog for {{ post.version}} - {% endfor %} -

- -

-

- The PostgreSQL JDBC group would like to thank YourKit for graciously providing licenses to the project - -

-
-
- -
+
+
+
+
+ {% for post in site.posts offset: 0 limit: 3 %} +

{{ post.date | date_to_long_string }}

+

{{ post.title }}

+
{{ post.excerpt | prepend: "" | split: "" | last }}
+
+

See full changelog for {{ post.version}} +


+ {% endfor %} +



+ The PostgreSQL JDBC group would like to thank YourKit
for graciously providing licenses to the project.
+ +

+
+
+
+
+
+
+

Latest Releases

+
+ {% for post in site.posts offset: 0 limit: 5 %} + {{ post.version}} · {{ post.date | date_to_string }} · Notes +
+ {% endfor %} +
+
+ Downloads + | + Snapshots +
+
+ +
+

Support Us

+
+
+ PostgreSQL is free. Please support our work by making a donation. +
+
+
+
+ +
+
diff --git a/docs/media/css/layout.css b/docs/media/css/layout.css index 5124ec8979..bdbea136bc 100644 --- a/docs/media/css/layout.css +++ b/docs/media/css/layout.css @@ -167,7 +167,7 @@ #pgFrontFeature #pgFrontFeatureContent { /* This padding controls the size of the text in the front blurb, and needs to be * adjusted whenever the image is changed. */ - padding: 6px 132px 16px 10px; + padding: 6px 16px 16px 10px; } #pgFrontRightContainer { diff --git a/docs/media/css/text.css b/docs/media/css/text.css index 902a118624..f7fb708fb1 100644 --- a/docs/media/css/text.css +++ b/docs/media/css/text.css @@ -50,7 +50,7 @@ h4 { .txtDate { font-size: 0.9em; - color: #666; + color: #333; } .txtMediumGrey { diff --git a/docs/media/img/hdr/hdr_latestreleases.png b/docs/media/img/hdr/hdr_latestreleases.png new file mode 100644 index 0000000000000000000000000000000000000000..1113d421066cfe9428b763334dc6237e901d9a88 GIT binary patch literal 537 zcmV+!0_OdRP)Sn&|FK!{L8fA6YL-Q)O{E*2*y%u~3 b{=D@c6K7MAW8`BO00000NkvXXu0mjf^pXs6 literal 0 HcmV?d00001 diff --git a/docs/media/img/hdr/hdr_shortcuts.png b/docs/media/img/hdr/hdr_shortcuts.png new file mode 100644 index 0000000000000000000000000000000000000000..627b5aa07fc213186ee79ab346063ee59de76009 GIT binary patch literal 492 zcmV*L6P{zsv&<@xiE)%P$@ zIb9u>db(#<2k;gEOdaVKhtnme0}yj_ye+kq^7QjUrx6i?p#kbpEA#JY)DHDQc7ZgWDLR3H12vCT9e{Dyws2HN-3|h5{JMrkkQVY zAS>I69GL!86YMsZ`dmtRTDOdw!GOqks~WVwsoDeL^&f)O2#GZ)%2F^anr7HH{&sOFGi2P4|j# iQ|IL7XY)w?NA(+xcRW;<82DuX0000o1!N`q>OjBS%k%r0)#CV& zvunrY;B)POFQvV^#U?r6qW}m=JFa6S%)3x)?dk7H?0BCxK`KEI&YaMVd50-r5kx@s zfWAmdkRZ#52%+z-wYU4mtjBXF<_$~G4GX$7pde*uhc3i{r6lz8TWjsHBR1ESIPe4w z+!&IK8^pw-PsB2ao6t*Z?ddM-77!Pr!I}W97ox%VOjOPWiCSwv?mCvVft;a%3t}Eh z=<`qzkE<8r1F;HHQW*pNYOjC(oy3^B)3svVSar0Wlb4^#;-aI1X(E&sffXOTv^c($ zv`$RxVTscnlCrzSII6++sHgVx literal 0 HcmV?d00001 From 7df56f816770a7129cb56d150c6d556c64632a5c Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Sat, 7 Oct 2017 01:54:16 -0600 Subject: [PATCH 010/427] docs: fix test db password in docs (#984) fixes #980 --- docs/development/development.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/development.html b/docs/development/development.html index d5a969f3ae..7a866c8986 100644 --- a/docs/development/development.html +++ b/docs/development/development.html @@ -71,7 +71,7 @@

Test Suite

JUnit tests that should be run. These require a database to run against that has the plpgsql procedural language installed. The default parameters for username and database are "test", and for - password it's "password". + password it's "test". so a sample interaction to set this up would look the following, if you enter "password" when asked for it:

From 0d918c3b21ba2a368da34bd30668908723dc4d36 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Thu, 19 Oct 2017 13:34:58 +0200 Subject: [PATCH 011/427] test: add ubenchmark for UTF-8 decoding (#988) We have custom UTF-8 decoding code in UTF8Encoding for performance reasons but no companion benchmarks to verify its performance. --- .../benchmark/encoding/UTF8Decoding.java | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java b/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java new file mode 100644 index 0000000000..4a23db54f7 --- /dev/null +++ b/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.benchmark.encoding; + +import org.postgresql.core.Encoding; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.CharacterCodingException; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.util.concurrent.TimeUnit; + +/** + * Tests the performance of UTF-8 decoding. UTF-8 is used a lot, so we need to know the performance + */ +@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") +@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) +@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) +@State(Scope.Thread) +@Threads(1) +@BenchmarkMode(Mode.AverageTime) +@OutputTimeUnit(TimeUnit.NANOSECONDS) +public class UTF8Decoding { + + @Param({"1", "5", "10", "50", "100"}) + public int length; + + private byte[] source; + private CharsetDecoder decoder; + private Encoding encoding; + private CharBuffer buf; + private static final Charset UTF_8 = Charset.forName("UTF-8"); + + @Setup + public void setup() { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < length; i++) { + sb.append("Hello мир,"); + } + source = sb.toString().getBytes(UTF_8); + decoder = UTF_8.newDecoder(); + encoding = Encoding.getJVMEncoding("UTF-8"); + buf = CharBuffer.allocate(10240); + } + + @Benchmark + public char[] utilsDecodeUTF8_old() { + CharBuffer buf = UTF_8.decode(ByteBuffer.wrap(source)); + char[] c = new char[buf.limit()]; + buf.get(c, 0, buf.limit()); + return c; + } + + @Benchmark + public String encodingDecodeUTF8_current() throws IOException { + return encoding.decode(source, 0, source.length); + } + + @Benchmark + public String string_string() throws UnsupportedEncodingException { + return new String(source, 0, source.length, "UTF-8"); + } + + @Benchmark + public String string_charset() { + return new String(source, 0, source.length, UTF_8); + } + + @Benchmark + public Object decoder_byteBufferReuse() throws CharacterCodingException { + buf.clear(); + return decoder.decode(ByteBuffer.wrap(source), buf, true); + } + + public static void main(String[] args) throws RunnerException { + Options opt = new OptionsBuilder() + .include(UTF8Decoding.class.getSimpleName()) + //.addProfiler(GCProfiler.class) + .detectJvmArgs() + .build(); + + new Runner(opt).run(); + } +} From f187645896e9f86a654390581163a7064b611404 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 19 Oct 2017 05:37:37 -0600 Subject: [PATCH 012/427] test: add openj9 to the matrix (#974) --- .travis.yml | 8 ++++++++ .travis/travis_install_openj9.sh | 13 +++++++++++++ 2 files changed, 21 insertions(+) create mode 100755 .travis/travis_install_openj9.sh diff --git a/.travis.yml b/.travis.yml index 7a486101d1..b58fcc2023 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,6 +24,8 @@ env: before_install: - ./.travis/travis_install_zulu.sh - test -z "${ZULU_JDK}" || export JDK${ZULU_JDK}_HOME=/usr/lib/jvm/zulu-${ZULU_JDK}-amd64 + - ./.travis/travis_install_openj9.sh + - test -z "${OPENJ9}" || export JDK${JDK}_HOME=${HOME}/jdk-9+${OPENJ9} script: # make sure previous build artifacts are not used for subsequent builds @@ -77,6 +79,12 @@ matrix: env: - PG_VERSION=9.6 - JDK=9 + - jdk: oraclejdk9 + sudo: required + env: + - PG_VERSION=10 + - JDK=9 + - OPENJ9=181 - jdk: oraclejdk8 sudo: required env: diff --git a/.travis/travis_install_openj9.sh b/.travis/travis_install_openj9.sh new file mode 100755 index 0000000000..2dad4b443a --- /dev/null +++ b/.travis/travis_install_openj9.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -o xtrace -o errexit + +if [[ "${TRAVIS_SUDO}" == "true" && -n "${OPENJ9}" ]] +then + # Build to Download + BUILD=${OPENJ9} + # Download from AdoptOpenJDK + wget --quiet -O /tmp/openj9.tar.gz https://github.com/AdoptOpenJDK/openjdk9-openj9-releases/releases/download/jdk-9%2B${BUILD}/OpenJDK9-OPENJ9_x64_Linux_jdk-9.${BUILD}.tar.gz + tar xfz /tmp/openj9.tar.gz -C ${HOME} # extract to ${HOME}/jdk-9+${BUILD}/ + ${HOME}/jdk-9+${BUILD}/bin/java -version +fi From 0d8fde6da6dd28a14e12715a3b01d3787cac7fb8 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Fri, 20 Oct 2017 01:48:23 -0600 Subject: [PATCH 013/427] chore: remove testing of the latest Java updates (#993) Testing the latest Java update is unstable when in comes to the Java update itself, so it makes sense to just stick with default versions. --- .travis.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b58fcc2023..7a3d80c9a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,9 +72,6 @@ matrix: - docker - jdk: oraclejdk9 addons: - apt: - packages: - - oracle-java9-installer # Test with latest update postgresql: "9.6" env: - PG_VERSION=9.6 @@ -115,13 +112,9 @@ matrix: - jdk: oraclejdk8 sudo: required addons: - apt: - packages: - - oracle-java8-installer # Test with latest update postgresql: "9.4" env: - PG_VERSION=9.4 - - LATEST_JAVA_UPDATE=Y # Use Travis last Java update - XA=true - REPLICATION=Y - COVERAGE=Y From 83dd5fea94928b349e05c1417e264797052f2bbe Mon Sep 17 00:00:00 2001 From: Magnus Date: Fri, 20 Oct 2017 23:17:32 +1100 Subject: [PATCH 014/427] fix: make warnings available as soon as they are received (#857) Until REL9.4.1210 warnings were available via Statement#getWarnings() and ResultSet#getWarnings() as soon as they were received from the server. This commit returns to that behavior. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. fixes #856 --- .../postgresql/jdbc/PSQLWarningWrapper.java | 35 +++++ .../java/org/postgresql/jdbc/PgStatement.java | 45 +++--- .../postgresql/test/jdbc2/StatementTest.java | 142 ++++++++++++++++++ 3 files changed, 201 insertions(+), 21 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/jdbc/PSQLWarningWrapper.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PSQLWarningWrapper.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PSQLWarningWrapper.java new file mode 100644 index 0000000000..a7f008139e --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PSQLWarningWrapper.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import java.sql.SQLWarning; + +/** + * Wrapper class for SQLWarnings that provides an optimisation to add + * new warnings to the tail of the SQLWarning singly linked list, avoiding Θ(n) insertion time + * of calling #setNextWarning on the head. By encapsulating this into a single object it allows + * users(ie PgStatement) to atomically set and clear the warning chain. + */ +class PSQLWarningWrapper { + + private final SQLWarning firstWarning; + private SQLWarning lastWarning; + + PSQLWarningWrapper(SQLWarning warning) { + firstWarning = warning; + lastWarning = warning; + } + + void addWarning(SQLWarning sqlWarning) { + lastWarning.setNextWarning(sqlWarning); + lastWarning = sqlWarning; + } + + SQLWarning getFirstWarning() { + return firstWarning; + } + +} diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 331fa5db26..7a09f68818 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -98,11 +98,7 @@ public class PgStatement implements Statement, BaseStatement { /** * The warnings chain. */ - protected SQLWarning warnings = null; - /** - * The last warning of the warning chain. - */ - protected SQLWarning lastWarning = null; + protected volatile PSQLWarningWrapper warnings = null; /** * Maximum number of rows to return, 0 = unlimited @@ -218,13 +214,10 @@ public void handleCommandStatus(String status, int updateCount, long insertOID) } @Override - public void handleCompletion() throws SQLException { - SQLWarning warning = getWarning(); - if (warning != null) { - PgStatement.this.addWarning(warning); - } - super.handleCompletion(); + public void handleWarning(SQLWarning warning) { + PgStatement.this.addWarning(warning); } + } public java.sql.ResultSet executeQuery(String p_sql) throws SQLException { @@ -536,25 +529,29 @@ public void setQueryTimeoutMs(int millis) throws SQLException { } /** - * This adds a warning to the warning chain. We track the tail of the warning chain as well to - * avoid O(N) behavior for adding a new warning to an existing chain. Some server functions which - * RAISE NOTICE (or equivalent) produce a ton of warnings. + * Either initializes new warning wrapper, or adds warning onto the chain. + * + * Although warnings are expected to be added sequentially, the warnings chain may be cleared + * concurrently at any time via {@link #clearWarnings()}, therefore it is possible that a warning + * added via this method is placed onto the end of the previous warning chain * * @param warn warning to add */ public void addWarning(SQLWarning warn) { - if (warnings == null) { - warnings = warn; - lastWarning = warn; + //copy reference to avoid NPE from concurrent modification of this.warnings + final PSQLWarningWrapper warnWrap = this.warnings; + if (warnWrap == null) { + this.warnings = new PSQLWarningWrapper(warn); } else { - lastWarning.setNextWarning(warn); - lastWarning = warn; + warnWrap.addWarning(warn); } } public SQLWarning getWarnings() throws SQLException { checkClosed(); - return warnings; + //copy reference to avoid NPE from concurrent modification of this.warnings + final PSQLWarningWrapper warnWrap = this.warnings; + return warnWrap != null ? warnWrap.getFirstWarning() : null; } public int getMaxFieldSize() throws SQLException { @@ -571,9 +568,15 @@ public void setMaxFieldSize(int max) throws SQLException { maxfieldSize = max; } + /** + * Clears the warning chain.

+ * Note that while it is safe to clear warnings while the query is executing, warnings that are + * added between calls to {@link #getWarnings()} and #clearWarnings() may be missed. + * Therefore you should hold a reference to the tail of the previous warning chain + * and verify if its {@link SQLWarning#getNextWarning()} value is holds any new value. + */ public void clearWarnings() throws SQLException { warnings = null; - lastWarning = null; } public java.sql.ResultSet getResultSet() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index a36590a4e0..445a15dcc2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -25,8 +25,16 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.SQLWarning; import java.sql.Statement; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -43,6 +51,7 @@ public void setUp() throws Exception { TestUtil.createTempTable(con, "escapetest", "ts timestamp, d date, t time, \")\" varchar(5), \"\"\"){a}'\" text "); TestUtil.createTempTable(con, "comparisontest", "str1 varchar(5), str2 varchar(15)"); + TestUtil.createTable(con, "test_lock", "name text"); Statement stmt = con.createStatement(); stmt.executeUpdate(TestUtil.insertSQL("comparisontest", "str1,str2", "'_abcd','_found'")); stmt.executeUpdate(TestUtil.insertSQL("comparisontest", "str1,str2", "'%abcd','%found'")); @@ -54,6 +63,9 @@ public void tearDown() throws Exception { TestUtil.dropTable(con, "test_statement"); TestUtil.dropTable(con, "escapetest"); TestUtil.dropTable(con, "comparisontest"); + TestUtil.dropTable(con, "test_lock"); + con.createStatement().execute("DROP FUNCTION IF EXISTS notify_loop()"); + con.createStatement().execute("DROP FUNCTION IF EXISTS notify_then_sleep()"); con.close(); } @@ -417,6 +429,136 @@ public void testWarningsAreCleared() throws SQLException { stmt.close(); } + @Test + public void testWarningsAreAvailableAsap() + throws Exception { + final Connection outerLockCon = TestUtil.openDB(); + outerLockCon.setAutoCommit(false); + //Acquire an exclusive lock so we can block the notice generating statement + outerLockCon.createStatement().execute("LOCK TABLE test_lock IN ACCESS EXCLUSIVE MODE;"); + con.createStatement() + .execute("CREATE OR REPLACE FUNCTION notify_then_sleep() RETURNS VOID AS " + + "$BODY$ " + + "BEGIN " + + "RAISE NOTICE 'Test 1'; " + + "RAISE NOTICE 'Test 2'; " + + "LOCK TABLE test_lock IN ACCESS EXCLUSIVE MODE; " + + "END " + + "$BODY$ " + + "LANGUAGE plpgsql;"); + con.createStatement().execute("SET SESSION client_min_messages = 'NOTICE'"); + //If we never receive the two warnings the statement will just hang, so set a low timeout + con.createStatement().execute("SET SESSION statement_timeout = 1000"); + final PreparedStatement preparedStatement = con.prepareStatement("SELECT notify_then_sleep()"); + final Callable warningReader = new Callable() { + @Override + public Void call() throws SQLException, InterruptedException { + while (true) { + SQLWarning warning = preparedStatement.getWarnings(); + if (warning != null) { + assertEquals("First warning received not first notice raised", + "Test 1", warning.getMessage()); + SQLWarning next = warning.getNextWarning(); + if (next != null) { + assertEquals("Second warning received not second notice raised", + "Test 2", next.getMessage()); + //Release the lock so that the notice generating statement can end. + outerLockCon.commit(); + return null; + } + } + //Break the loop on InterruptedException + Thread.sleep(0); + } + } + }; + ExecutorService executorService = Executors.newSingleThreadExecutor(); + try { + Future future = executorService.submit(warningReader); + //Statement should only finish executing once we have + //received the two notices and released the outer lock. + preparedStatement.execute(); + + //If test takes longer than 2 seconds its a failure. + future.get(2, TimeUnit.SECONDS); + } finally { + executorService.shutdownNow(); + } + } + + + /** + * Demonstrates a safe approach to concurrently reading the latest + * warnings while periodically clearing them. + * + * One drawback of this approach is that it requires the reader to make it to the end of the + * warning chain before clearing it, so long as your warning processing step is not very slow, + * this should happen more or less instantaneously even if you receive a lot of warnings. + */ + @Test + public void testConcurrentWarningReadAndClear() + throws SQLException, InterruptedException, ExecutionException, TimeoutException { + final int iterations = 1000; + con.createStatement() + .execute("CREATE OR REPLACE FUNCTION notify_loop() RETURNS VOID AS " + + "$BODY$ " + + "BEGIN " + + "FOR i IN 1.. " + iterations + " LOOP " + + " RAISE NOTICE 'Warning %', i; " + + "END LOOP; " + + "END " + + "$BODY$ " + + "LANGUAGE plpgsql;"); + con.createStatement().execute("SET SESSION client_min_messages = 'NOTICE'"); + final PreparedStatement statement = con.prepareStatement("SELECT notify_loop()"); + final Callable warningReader = new Callable() { + @Override + public Void call() throws SQLException, InterruptedException { + SQLWarning lastProcessed = null; + int warnings = 0; + //For production code replace this with some condition that + //ends after the statement finishes execution + while (warnings < iterations) { + SQLWarning warn = statement.getWarnings(); + //if next linked warning has value use that, otherwise keep using latest head + if (lastProcessed != null && lastProcessed.getNextWarning() != null) { + warn = lastProcessed.getNextWarning(); + } + if (warn != null) { + warnings++; + //System.out.println("Processing " + warn.getMessage()); + assertEquals("Received warning out of expected order", + "Warning " + warnings, warn.getMessage()); + lastProcessed = warn; + //If the processed warning was the head of the chain clear + if (warn == statement.getWarnings()) { + //System.out.println("Clearing warnings"); + statement.clearWarnings(); + } + } else { + //Not required for this test, but a good idea adding some delay for production code + //to avoid high cpu usage while the query is running and no warnings are coming in. + //Alternatively use JDK9's Thread.onSpinWait() + Thread.sleep(10); + } + } + assertEquals("Didn't receive expected last warning", + "Warning " + iterations, lastProcessed.getMessage()); + return null; + } + }; + + final ExecutorService executor = Executors.newSingleThreadExecutor(); + try { + final Future warningReaderThread = executor.submit(warningReader); + statement.execute(); + //If the reader doesn't return after 2 seconds, it failed. + warningReaderThread.get(2, TimeUnit.SECONDS); + } finally { + executor.shutdownNow(); + } + } + /** * The parser tries to break multiple statements into individual queries as required by the V3 * extended query protocol. It can be a little overzealous sometimes and this test ensures we keep From c759a58313c4344924a311021e1c860580f3e318 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Fri, 20 Oct 2017 21:59:24 +0600 Subject: [PATCH 015/427] refactor: replace some usages of assertTrue (#957) --- .../java/org/postgresql/core/ParserTest.java | 4 +- .../postgresql/core/ReturningParserTest.java | 8 +- .../org/postgresql/test/jdbc2/BlobTest.java | 9 +- .../postgresql/test/jdbc2/ConnectionTest.java | 3 +- .../org/postgresql/test/jdbc2/CopyTest.java | 14 +- .../jdbc2/DatabaseMetaDataPropertiesTest.java | 39 ++-- .../test/jdbc2/DatabaseMetaDataTest.java | 183 ++++++++---------- .../org/postgresql/test/jdbc2/GetXXXTest.java | 3 +- .../org/postgresql/test/jdbc2/PGTimeTest.java | 4 +- .../test/jdbc2/PreparedStatementTest.java | 4 +- .../postgresql/test/jdbc2/RefCursorTest.java | 17 +- .../postgresql/test/jdbc2/TimestampTest.java | 15 +- .../test/jdbc2/UpdateableResultTest.java | 8 +- .../jdbc2/optional/BaseDataSourceTest.java | 16 +- .../jdbc2/optional/ConnectionPoolTest.java | 68 +++---- .../jdbc2/optional/PoolingDataSourceTest.java | 8 +- .../postgresql/test/jdbc3/Jdbc3BlobTest.java | 8 +- .../jdbc3/Jdbc3CallableStatementTest.java | 35 ++-- .../postgresql/test/jdbc4/ClientInfoTest.java | 3 +- 19 files changed, 211 insertions(+), 238 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 1b16a19268..da989c23cb 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -146,7 +146,7 @@ public void insertSelectFakeReturning() throws SQLException { "insert test(id, name) select 1, 'value' as RETURNING from test2"; List qry = Parser.parseJdbcSql( - query, true, true, true, true, new String[0]); + query, true, true, true, true); boolean returningKeywordPresent = qry.get(0).command.isReturningKeywordPresent(); Assert.assertFalse("Query does not have returning clause " + query, returningKeywordPresent); } @@ -157,7 +157,7 @@ public void insertSelectReturning() throws SQLException { "insert test(id, name) select 1, 'value' from test2 RETURNING id"; List qry = Parser.parseJdbcSql( - query, true, true, true, true, new String[0]); + query, true, true, true, true); boolean returningKeywordPresent = qry.get(0).command.isReturningKeywordPresent(); Assert.assertTrue("Query has a returning clause " + query, returningKeywordPresent); } diff --git a/pgjdbc/src/test/java/org/postgresql/core/ReturningParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ReturningParserTest.java index 3e48b65889..6aef08bdbc 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ReturningParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ReturningParserTest.java @@ -53,14 +53,12 @@ public void test() throws SQLException { String query = "insert into\"prep\"(a, " + prefix + columnName + suffix + ")values(1,2)" + prefix + returning + suffix; - List qry = - Parser.parseJdbcSql( - query, true, true, true, true, new String[0]); + List qry = Parser.parseJdbcSql(query, true, true, true, true); boolean returningKeywordPresent = qry.get(0).command.isReturningKeywordPresent(); boolean expectedReturning = this.returning.equalsIgnoreCase("returning") - && (prefix.length() == 0 || !Character.isJavaIdentifierStart(prefix.charAt(0))) - && (suffix.length() == 0 || !Character.isJavaIdentifierPart(suffix.charAt(0))); + && (prefix.isEmpty() || !Character.isJavaIdentifierStart(prefix.charAt(0))) + && (suffix.isEmpty() || !Character.isJavaIdentifierPart(suffix.charAt(0))); if (expectedReturning != returningKeywordPresent) { Assert.assertEquals("Wrong detected in SQL " + query, expectedReturning, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java index 99beadf124..6b2647a387 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java @@ -8,6 +8,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import org.postgresql.core.ServerVersion; import org.postgresql.largeobject.LargeObject; @@ -275,7 +276,7 @@ private long uploadFile(String file, int method) throws Exception { break; default: - assertTrue("Unknown method in uploadFile", false); + fail("Unknown method in uploadFile"); } blob.close(); @@ -323,7 +324,7 @@ private boolean compareBlobsLOAPI() throws Exception { result = result && f == -1 && b == -1; if (!result) { - assertTrue("Large Object API Blob compare failed at " + c + " of " + blob.size(), false); + fail("Large Object API Blob compare failed at " + c + " of " + blob.size()); } blob.close(); @@ -364,7 +365,7 @@ private boolean compareBlobs() throws Exception { result = result && f == -1 && b == -1; if (!result) { - assertTrue("JDBC API Blob compare failed at " + c + " of " + blob.length(), false); + fail("JDBC API Blob compare failed at " + c + " of " + blob.length()); } bis.close(); @@ -405,7 +406,7 @@ private boolean compareClobs() throws Exception { result = result && f == -1 && b == -1; if (!result) { - assertTrue("Clob compare failed at " + c + " of " + clob.length(), false); + fail("Clob compare failed at " + c + " of " + clob.length()); } bis.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java index 2e1082dabe..a0e211b961 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java @@ -7,6 +7,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -195,7 +196,7 @@ public void testWarnings() throws Exception { // Finally test clearWarnings() this time there must be something to delete con.clearWarnings(); - assertTrue(con.getWarnings() == null); + assertNull(con.getWarnings()); TestUtil.closeDB(con); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java index b71a7eb3f9..01f9e80941 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.jdbc2; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -107,10 +108,8 @@ public void testCopyInByRow() throws SQLException { long count1 = cp.endCopy(); long count2 = cp.getHandledRowCount(); - long expectedResult = -1; - expectedResult = dataRows; - assertEquals(expectedResult, count1); - assertEquals(expectedResult, count2); + assertEquals(dataRows, count1); + assertEquals(dataRows, count2); try { cp.cancelCopy(); @@ -212,10 +211,8 @@ public void testCopyOutByRow() throws SQLException, IOException { assertEquals(dataRows, count); long rowCount = cp.getHandledRowCount(); - long expectedResult = -1; - expectedResult = dataRows; - assertEquals(expectedResult, rowCount); + assertEquals(dataRows, rowCount); assertEquals(dataRows, getCount()); } @@ -229,10 +226,9 @@ public void testCopyOut() throws SQLException, IOException { assertEquals(dataRows, getCount()); // deep comparison of data written and read byte[] copybytes = copydata.toByteArray(); - assertTrue(copybytes != null); + assertNotNull(copybytes); for (int i = 0, l = 0; i < origData.length; i++) { byte[] origBytes = origData[i].getBytes(); - assertTrue(origBytes != null); assertTrue("Copy is shorter than original", copybytes.length >= l + origBytes.length); for (int j = 0; j < origBytes.length; j++, l++) { assertEquals("content changed at byte#" + j + ": " + origBytes[j] + copybytes[l], diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataPropertiesTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataPropertiesTest.java index 1661f27722..d313ec9280 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataPropertiesTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataPropertiesTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.jdbc2; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -109,10 +110,10 @@ public void testNulls() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); - assertTrue(!dbmd.nullsAreSortedAtStart()); - assertTrue(dbmd.nullsAreSortedAtEnd() != true); - assertTrue(dbmd.nullsAreSortedHigh() == true); - assertTrue(!dbmd.nullsAreSortedLow()); + assertFalse(dbmd.nullsAreSortedAtStart()); + assertFalse(dbmd.nullsAreSortedAtEnd()); + assertTrue(dbmd.nullsAreSortedHigh()); + assertFalse(dbmd.nullsAreSortedLow()); assertTrue(dbmd.nullPlusNonNullIsNull()); @@ -133,16 +134,16 @@ public void testIdentifiers() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); - assertTrue(!dbmd.supportsMixedCaseIdentifiers()); // always false - assertTrue(dbmd.supportsMixedCaseQuotedIdentifiers()); // always true + assertFalse(dbmd.supportsMixedCaseIdentifiers()); + assertTrue(dbmd.supportsMixedCaseQuotedIdentifiers()); - assertTrue(!dbmd.storesUpperCaseIdentifiers()); // always false - assertTrue(dbmd.storesLowerCaseIdentifiers()); // always true - assertTrue(!dbmd.storesUpperCaseQuotedIdentifiers()); // always false - assertTrue(!dbmd.storesLowerCaseQuotedIdentifiers()); // always false - assertTrue(!dbmd.storesMixedCaseQuotedIdentifiers()); // always false + assertFalse(dbmd.storesUpperCaseIdentifiers()); + assertTrue(dbmd.storesLowerCaseIdentifiers()); + assertFalse(dbmd.storesUpperCaseQuotedIdentifiers()); + assertFalse(dbmd.storesLowerCaseQuotedIdentifiers()); + assertFalse(dbmd.storesMixedCaseQuotedIdentifiers()); - assertTrue(dbmd.getIdentifierQuoteString().equals("\"")); + assertEquals( "\"", dbmd.getIdentifierQuoteString()); } @@ -183,8 +184,8 @@ public void testDBParams() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); - assertTrue(dbmd.getURL().equals(TestUtil.getURL())); - assertTrue(dbmd.getUserName().equals(TestUtil.getUser())); + assertEquals(TestUtil.getURL(), dbmd.getURL()); + assertEquals(TestUtil.getUser(), dbmd.getUserName()); } @Test @@ -194,7 +195,7 @@ public void testDbProductDetails() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); - assertTrue(dbmd.getDatabaseProductName().equals("PostgreSQL")); + assertEquals("PostgreSQL", dbmd.getDatabaseProductName()); assertTrue(dbmd.getDatabaseMajorVersion() >= 8); assertTrue(dbmd.getDatabaseMinorVersion() >= 0); assertTrue(dbmd.getDatabaseProductVersion().startsWith(String.valueOf(dbmd.getDatabaseMajorVersion()))); @@ -205,10 +206,10 @@ public void testDriverVersioning() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); - assertTrue(dbmd.getDriverName().equals("PostgreSQL JDBC Driver")); - assertTrue(dbmd.getDriverVersion().equals(org.postgresql.util.DriverInfo.DRIVER_VERSION)); - assertTrue(dbmd.getDriverMajorVersion() == new org.postgresql.Driver().getMajorVersion()); - assertTrue(dbmd.getDriverMinorVersion() == new org.postgresql.Driver().getMinorVersion()); + assertEquals("PostgreSQL JDBC Driver", dbmd.getDriverName()); + assertEquals(org.postgresql.util.DriverInfo.DRIVER_VERSION, dbmd.getDriverVersion()); + assertEquals(new org.postgresql.Driver().getMajorVersion(), dbmd.getDriverMajorVersion()); + assertEquals(new org.postgresql.Driver().getMinorVersion(), dbmd.getDriverMinorVersion()); assertTrue(dbmd.getJDBCMajorVersion() >= 4); assertTrue(dbmd.getJDBCMinorVersion() >= 0); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 13d536c349..c1ceae49a2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -252,14 +252,14 @@ public void testForeignKeyActions() throws Exception { ResultSet rs = dbmd.getImportedKeys(null, "", "fkt1"); assertTrue(rs.next()); - assertTrue(rs.getInt("UPDATE_RULE") == DatabaseMetaData.importedKeyRestrict); - assertTrue(rs.getInt("DELETE_RULE") == DatabaseMetaData.importedKeyCascade); + assertEquals(DatabaseMetaData.importedKeyRestrict, rs.getInt("UPDATE_RULE")); + assertEquals(DatabaseMetaData.importedKeyCascade, rs.getInt("DELETE_RULE")); rs.close(); rs = dbmd.getImportedKeys(null, "", "fkt2"); assertTrue(rs.next()); - assertTrue(rs.getInt("UPDATE_RULE") == DatabaseMetaData.importedKeySetNull); - assertTrue(rs.getInt("DELETE_RULE") == DatabaseMetaData.importedKeySetDefault); + assertEquals(DatabaseMetaData.importedKeySetNull, rs.getInt("UPDATE_RULE")); + assertEquals(DatabaseMetaData.importedKeySetDefault, rs.getInt("DELETE_RULE")); rs.close(); TestUtil.dropTable(conn, "fkt2"); @@ -280,12 +280,12 @@ public void testForeignKeysToUniqueIndexes() throws Exception { ResultSet rs = dbmd.getImportedKeys("", "", "fkt"); int j = 0; for (; rs.next(); j++) { - assertTrue("pkt".equals(rs.getString("PKTABLE_NAME"))); - assertTrue("fkt".equals(rs.getString("FKTABLE_NAME"))); - assertTrue("pkt_un_b".equals(rs.getString("PK_NAME"))); - assertTrue("b".equals(rs.getString("PKCOLUMN_NAME"))); + assertEquals("pkt", rs.getString("PKTABLE_NAME")); + assertEquals("fkt", rs.getString("FKTABLE_NAME")); + assertEquals("pkt_un_b", rs.getString("PK_NAME")); + assertEquals("b", rs.getString("PKCOLUMN_NAME")); } - assertTrue(j == 1); + assertEquals(1, j); TestUtil.dropTable(con1, "fkt"); TestUtil.dropTable(con1, "pkt"); @@ -304,18 +304,18 @@ public void testMultiColumnForeignKeys() throws Exception { ResultSet rs = dbmd.getImportedKeys("", "", "fkt"); int j = 0; for (; rs.next(); j++) { - assertTrue("pkt".equals(rs.getString("PKTABLE_NAME"))); - assertTrue("fkt".equals(rs.getString("FKTABLE_NAME"))); - assertTrue(j + 1 == rs.getInt("KEY_SEQ")); + assertEquals("pkt", rs.getString("PKTABLE_NAME")); + assertEquals("fkt", rs.getString("FKTABLE_NAME")); + assertEquals(j + 1, rs.getInt("KEY_SEQ")); if (j == 0) { - assertTrue("b".equals(rs.getString("PKCOLUMN_NAME"))); - assertTrue("c".equals(rs.getString("FKCOLUMN_NAME"))); + assertEquals("b", rs.getString("PKCOLUMN_NAME")); + assertEquals("c", rs.getString("FKCOLUMN_NAME")); } else { - assertTrue("a".equals(rs.getString("PKCOLUMN_NAME"))); - assertTrue("d".equals(rs.getString("FKCOLUMN_NAME"))); + assertEquals("a", rs.getString("PKCOLUMN_NAME")); + assertEquals("d", rs.getString("FKCOLUMN_NAME")); } } - assertTrue(j == 2); + assertEquals(2, j); TestUtil.dropTable(con1, "fkt"); TestUtil.dropTable(con1, "pkt"); @@ -375,7 +375,7 @@ public void testSameTableForeignKeys() throws Exception { // continue foreign key, i.e. fkName matches the last foreign key assertEquals(fkNames.get(fkNames.size() - 1), fkName); // see always increases by 1 - assertTrue(seq == lastFieldCount + 1); + assertEquals(seq, lastFieldCount + 1); } lastFieldCount = seq; } @@ -427,7 +427,7 @@ public void testForeignKeys() throws Exception { } - assertTrue(j == 2); + assertEquals(2, j); rs = dbmd.getExportedKeys(null, "", "people"); @@ -490,7 +490,7 @@ public void testDroppedColumns() throws SQLException { assertTrue(rs.next()); assertEquals("quest", rs.getString("COLUMN_NAME")); assertEquals(3, rs.getInt("ORDINAL_POSITION")); - assertTrue(!rs.next()); + assertFalse(rs.next()); rs.close(); /* getFunctionColumns also has to be aware of dropped columns @@ -973,22 +973,15 @@ public void testGetUDT1() throws Exception { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getUDTs(null, null, "testint8", null); assertTrue(rs.next()); - String cat; - String schema; - String typeName; - String remarks; - String className; - int dataType; - int baseType; - cat = rs.getString("type_cat"); - schema = rs.getString("type_schem"); - typeName = rs.getString("type_name"); - className = rs.getString("class_name"); - dataType = rs.getInt("data_type"); - remarks = rs.getString("remarks"); + String cat = rs.getString("type_cat"); + String schema = rs.getString("type_schem"); + String typeName = rs.getString("type_name"); + String className = rs.getString("class_name"); + int dataType = rs.getInt("data_type"); + String remarks = rs.getString("remarks"); - baseType = rs.getInt("base_type"); + int baseType = rs.getInt("base_type"); assertTrue("base type", !rs.wasNull()); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); @@ -1013,22 +1006,16 @@ public void testGetUDT2() throws Exception { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getUDTs(null, null, "testint8", new int[]{Types.DISTINCT, Types.STRUCT}); assertTrue(rs.next()); - String cat; - String schema; String typeName; - String remarks; - String className; - int dataType; - int baseType; - cat = rs.getString("type_cat"); - schema = rs.getString("type_schem"); + String cat = rs.getString("type_cat"); + String schema = rs.getString("type_schem"); typeName = rs.getString("type_name"); - className = rs.getString("class_name"); - dataType = rs.getInt("data_type"); - remarks = rs.getString("remarks"); + String className = rs.getString("class_name"); + int dataType = rs.getInt("data_type"); + String remarks = rs.getString("remarks"); - baseType = rs.getInt("base_type"); + int baseType = rs.getInt("base_type"); assertTrue("base type", !rs.wasNull()); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); @@ -1052,22 +1039,15 @@ public void testGetUDT3() throws Exception { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getUDTs(null, null, "testint8", new int[]{Types.DISTINCT}); assertTrue(rs.next()); - String cat; - String schema; - String typeName; - String remarks; - String className; - int dataType; - int baseType; - cat = rs.getString("type_cat"); - schema = rs.getString("type_schem"); - typeName = rs.getString("type_name"); - className = rs.getString("class_name"); - dataType = rs.getInt("data_type"); - remarks = rs.getString("remarks"); + String cat = rs.getString("type_cat"); + String schema = rs.getString("type_schem"); + String typeName = rs.getString("type_name"); + String className = rs.getString("class_name"); + int dataType = rs.getInt("data_type"); + String remarks = rs.getString("remarks"); - baseType = rs.getInt("base_type"); + int baseType = rs.getInt("base_type"); assertTrue("base type", !rs.wasNull()); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); @@ -1090,22 +1070,15 @@ public void testGetUDT4() throws Exception { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getUDTs(null, null, "testint8", null); assertTrue(rs.next()); - String cat; - String schema; - String typeName; - String remarks; - String className; - int dataType; - int baseType; - cat = rs.getString("type_cat"); - schema = rs.getString("type_schem"); - typeName = rs.getString("type_name"); - className = rs.getString("class_name"); - dataType = rs.getInt("data_type"); - remarks = rs.getString("remarks"); + String cat = rs.getString("type_cat"); + String schema = rs.getString("type_schem"); + String typeName = rs.getString("type_name"); + String className = rs.getString("class_name"); + int dataType = rs.getInt("data_type"); + String remarks = rs.getString("remarks"); - baseType = rs.getInt("base_type"); + int baseType = rs.getInt("base_type"); assertTrue("base type", rs.wasNull()); assertEquals("data type", Types.STRUCT, dataType); assertEquals("type name ", "testint8", typeName); @@ -1123,38 +1096,36 @@ public void testGetUDT4() throws Exception { public void testTypes() throws SQLException { // https://www.postgresql.org/docs/8.2/static/datatype.html List stringTypeList = new ArrayList(); - stringTypeList.addAll(Arrays.asList(new String[]{ - "bit", - "bool", - "box", - "bytea", - "char", - "cidr", - "circle", - "date", - "float4", - "float8", - "inet", - "int2", - "int4", - "int8", - "interval", - "line", - "lseg", - "macaddr", - "money", - "numeric", - "path", - "point", - "polygon", - "text", - "time", - "timestamp", - "timestamptz", - "timetz", - "varbit", - "varchar" - })); + stringTypeList.addAll(Arrays.asList("bit", + "bool", + "box", + "bytea", + "char", + "cidr", + "circle", + "date", + "float4", + "float8", + "inet", + "int2", + "int4", + "int8", + "interval", + "line", + "lseg", + "macaddr", + "money", + "numeric", + "path", + "point", + "polygon", + "text", + "time", + "timestamp", + "timestamptz", + "timetz", + "varbit", + "varchar")); if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_3)) { stringTypeList.add("tsquery"); stringTypeList.add("tsvector"); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GetXXXTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GetXXXTest.java index f93e45ec19..cb717c9d1c 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GetXXXTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GetXXXTest.java @@ -5,6 +5,7 @@ package org.postgresql.test.jdbc2; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -40,7 +41,7 @@ public void setUp() throws Exception { pstmt.setTimestamp(1, new Timestamp(cal.getTime().getTime())); pstmt.setTimestamp(2, new Timestamp(System.currentTimeMillis())); - assertTrue(pstmt.executeUpdate() == 1); + assertEquals(1, pstmt.executeUpdate()); pstmt.close(); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGTimeTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGTimeTest.java index 911acae5ff..3463f21562 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGTimeTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGTimeTest.java @@ -58,7 +58,7 @@ public void testTimeWithInterval() throws SQLException { assumeTrue(TestUtil.haveIntegerDateTimes(con)); Calendar cal = Calendar.getInstance(); - cal.set(1970, 0, 1); + cal.set(1970, Calendar.JANUARY, 1); final long now = cal.getTimeInMillis(); verifyTimeWithInterval(new PGTime(now), new PGInterval(0, 0, 0, 1, 2, 3.14), true); @@ -136,7 +136,7 @@ private void verifyTimeWithInterval(PGTime time, PGInterval interval, boolean us @Test public void testTimeInsertAndSelect() throws SQLException { Calendar cal = Calendar.getInstance(); - cal.set(1970, 0, 1); + cal.set(1970, Calendar.JANUARY, 1); final long now = cal.getTimeInMillis(); verifyInsertAndSelect(new PGTime(now), true); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index 8c5e80abd3..dea0f34b6d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -771,8 +771,8 @@ public void testSetFloatString() throws SQLException { assertTrue(rs.wasNull()); assertTrue(rs.next()); - assertTrue("expected true, received " + rs.getBoolean(1), rs.getBoolean(1) == true); - assertTrue("expected false,received " + rs.getBoolean(2), rs.getBoolean(2) == false); + assertTrue("expected true, received " + rs.getBoolean(1), rs.getBoolean(1)); + assertFalse("expected false,received " + rs.getBoolean(2), rs.getBoolean(2)); rs.close(); pstmt.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java index c1926cb26e..4f273c1919 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.jdbc2; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -34,7 +35,7 @@ @RunWith(Parameterized.class) public class RefCursorTest extends BaseTest4 { - final int cursorType; + private final int cursorType; public RefCursorTest(String typeName, int cursorType) { this.cursorType = cursorType; @@ -96,24 +97,24 @@ public void testResult() throws SQLException { ResultSet rs = (ResultSet) call.getObject(1); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 1); + assertEquals(1, rs.getInt(1)); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 2); + assertEquals(2, rs.getInt(1)); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 3); + assertEquals(3, rs.getInt(1)); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 4); + assertEquals(4, rs.getInt(1)); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 6); + assertEquals(6, rs.getInt(1)); assertTrue(rs.next()); - assertTrue(rs.getInt(1) == 9); + assertEquals(9, rs.getInt(1)); - assertTrue(!rs.next()); + assertFalse(rs.next()); rs.close(); call.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java index 37d3b01309..a59d933cb9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java @@ -565,42 +565,41 @@ private void timestampTestWTZ() throws SQLException { */ private void timestampTestWOTZ() throws SQLException { Statement stmt = con.createStatement(); - ResultSet rs; java.sql.Timestamp t; - rs = stmt.executeQuery("select ts from " + TSWOTZ_TABLE); // removed the order by ts + ResultSet rs = stmt.executeQuery("select ts from " + TSWOTZ_TABLE); // removed the order by ts assertNotNull(rs); for (int i = 0; i < 3; i++) { assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS1WOTZ)); + assertEquals(TS1WOTZ, t); assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS2WOTZ)); + assertEquals(TS2WOTZ, t); assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS3WOTZ)); + assertEquals(TS3WOTZ, t); assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS4WOTZ)); + assertEquals(TS4WOTZ, t); assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS5WOTZ)); + assertEquals(TS5WOTZ, t); assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); - assertTrue(t.equals(TS6WOTZ)); + assertEquals(TS6WOTZ, t); } // Testing for Date diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java index 847b9f7c41..e98e4cae2d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java @@ -5,6 +5,7 @@ package org.postgresql.test.jdbc2; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -25,7 +26,6 @@ import java.sql.Statement; import java.sql.Timestamp; import java.sql.Types; -import java.util.Arrays; import java.util.TimeZone; public class UpdateableResultTest extends BaseTest4 { @@ -244,21 +244,21 @@ public void testUpdateStreams() throws SQLException, UnsupportedEncodingExceptio assertEquals(2, rs.getInt(1)); assertEquals(string, rs.getString(2)); assertEquals(string, rs.getString(3)); - assertTrue(Arrays.equals(bytes, rs.getBytes(4))); + assertArrayEquals(bytes, rs.getBytes(4)); rs.refreshRow(); assertEquals(2, rs.getInt(1)); assertEquals(string, rs.getString(2)); assertEquals(string, rs.getString(3)); - assertTrue(Arrays.equals(bytes, rs.getBytes(4))); + assertArrayEquals(bytes, rs.getBytes(4)); rs.next(); assertEquals(3, rs.getInt(1)); assertEquals(string, rs.getString(2)); assertEquals(string, rs.getString(3)); - assertTrue(Arrays.equals(bytes, rs.getBytes(4))); + assertArrayEquals(bytes, rs.getBytes(4)); rs.close(); stmt.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java index 5c08944769..36e970b09c 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java @@ -5,7 +5,10 @@ package org.postgresql.test.jdbc2.optional; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; import org.postgresql.PGConnection; @@ -167,7 +170,7 @@ public void testNotPooledConnection() throws SQLException { con = getDataSourceConnection(); String name2 = con.toString(); con.close(); - assertTrue(!name.equals(name2)); + assertNotEquals(name, name2); } /** @@ -198,15 +201,15 @@ public void testJndi() { try { ic.rebind(DATA_SOURCE_JNDI, bds); bds = (BaseDataSource) ic.lookup(DATA_SOURCE_JNDI); - assertTrue("Got null looking up DataSource from JNDI!", bds != null); + assertNotNull("Got null looking up DataSource from JNDI!", bds); compareJndiDataSource(oldbds, bds); } catch (NamingException e) { fail(e.getMessage()); } oldbds = bds; testUseConnection(); - assertTrue("Test should not have changed DataSource (" + bds + " != " + oldbds + ")!", - bds == oldbds); + assertSame("Test should not have changed DataSource (" + bds + " != " + oldbds + ")!", + oldbds , bds); } /** @@ -227,7 +230,6 @@ protected InitialContext getInitialContext() { * Check whether a DS was dereferenced from JNDI or recreated. */ protected void compareJndiDataSource(BaseDataSource oldbds, BaseDataSource bds) { - assertTrue("DataSource was dereferenced, should have been serialized or recreated", - bds != oldbds); + assertNotSame("DataSource was dereferenced, should have been serialized or recreated", oldbds, bds); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index feb94f1379..5d90e1eb25 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -186,21 +186,21 @@ public void testCloseEvent() { CountClose cc = new CountClose(); pc.addConnectionEventListener(cc); con = pc.getConnection(); - assertTrue(cc.getCount() == 0); - assertTrue(cc.getErrorCount() == 0); + assertEquals(0, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con.close(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con = pc.getConnection(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con.close(); - assertTrue(cc.getCount() == 2); - assertTrue(cc.getErrorCount() == 0); + assertEquals(2, cc.getCount()); + assertEquals(0, cc.getErrorCount()); // a double close shouldn't fire additional events con.close(); - assertTrue(cc.getCount() == 2); - assertTrue(cc.getErrorCount() == 0); + assertEquals(2, cc.getCount()); + assertEquals(0, cc.getErrorCount()); pc.close(); } catch (SQLException e) { fail(e.getMessage()); @@ -217,18 +217,18 @@ public void testNoCloseEvent() { CountClose cc = new CountClose(); pc.addConnectionEventListener(cc); con = pc.getConnection(); - assertTrue(cc.getCount() == 0); - assertTrue(cc.getErrorCount() == 0); + assertEquals(0, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con.close(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); pc.removeConnectionEventListener(cc); con = pc.getConnection(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con.close(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); } catch (SQLException e) { fail(e.getMessage()); } @@ -269,22 +269,22 @@ public void testAutomaticCloseEvent() { CountClose cc = new CountClose(); pc.addConnectionEventListener(cc); con = pc.getConnection(); - assertTrue(cc.getCount() == 0); - assertTrue(cc.getErrorCount() == 0); + assertEquals(0, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con.close(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con = pc.getConnection(); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); // Open a 2nd connection, causing the first to be closed. No even should be generated. Connection con2 = pc.getConnection(); assertTrue("Connection handle was not closed when new handle was opened", con.isClosed()); - assertTrue(cc.getCount() == 1); - assertTrue(cc.getErrorCount() == 0); + assertEquals(1, cc.getCount()); + assertEquals(0, cc.getErrorCount()); con2.close(); - assertTrue(cc.getCount() == 2); - assertTrue(cc.getErrorCount() == 0); + assertEquals(2, cc.getCount()); + assertEquals(0, cc.getErrorCount()); pc.close(); } catch (SQLException e) { fail(e.getMessage()); @@ -363,8 +363,8 @@ public void testStatementConnection() { Statement s = con.createStatement(); Connection conRetrieved = s.getConnection(); - assertTrue(con.getClass().equals(conRetrieved.getClass())); - assertTrue(con.equals(conRetrieved)); + assertEquals(con.getClass(), conRetrieved.getClass()); + assertEquals(con, conRetrieved); } catch (SQLException e) { fail(e.getMessage()); } @@ -406,8 +406,8 @@ public void testPreparedStatementConnection() { PreparedStatement s = con.prepareStatement("select 'x'"); Connection conRetrieved = s.getConnection(); - assertTrue(con.getClass().equals(conRetrieved.getClass())); - assertTrue(con.equals(conRetrieved)); + assertEquals(con.getClass(), conRetrieved.getClass()); + assertEquals(con, conRetrieved); } catch (SQLException e) { fail(e.getMessage()); } @@ -425,8 +425,8 @@ public void testCallableStatementConnection() { CallableStatement s = con.prepareCall("select 'x'"); Connection conRetrieved = s.getConnection(); - assertTrue(con.getClass().equals(conRetrieved.getClass())); - assertTrue(con.equals(conRetrieved)); + assertEquals(con.getClass(), conRetrieved.getClass()); + assertEquals(con, conRetrieved); } catch (SQLException e) { fail(e.getMessage()); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java index 49e23c9a3c..73a982432d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java @@ -6,7 +6,7 @@ package org.postgresql.test.jdbc2.optional; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; import org.postgresql.ds.common.BaseDataSource; @@ -60,7 +60,7 @@ public void testNotPooledConnection() throws SQLException { con = getDataSourceConnection(); String name2 = con.toString(); con.close(); - assertTrue("Pooled DS doesn't appear to be pooling connections!", name.equals(name2)); + assertEquals("Pooled DS doesn't appear to be pooling connections!", name, name2); } /** @@ -68,8 +68,8 @@ public void testNotPooledConnection() throws SQLException { */ @Override protected void compareJndiDataSource(BaseDataSource oldbds, BaseDataSource bds) { - assertTrue("DataSource was serialized or recreated, should have been dereferenced", - bds == oldbds); + assertSame("DataSource was serialized or recreated, should have been dereferenced", + bds, oldbds); } /** diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java index cb74c2cfcb..21f5d277e0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java @@ -5,6 +5,7 @@ package org.postgresql.test.jdbc3; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -24,7 +25,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.Arrays; public class Jdbc3BlobTest { private static final String TABLE = "blobtest"; @@ -180,7 +180,7 @@ public void readWrite(int offset, byte[] data) throws SQLException { assertTrue(rs.next()); b = rs.getBlob("DATA"); byte[] rspData = b.getBytes(offset, data.length); - assertTrue("Request should be the same as the response", Arrays.equals(data, rspData)); + assertArrayEquals("Request should be the same as the response", data, rspData); rs.close(); ps.close(); @@ -272,7 +272,7 @@ public void readWriteStream(int offset, byte[] data) throws SQLException, IOExce in.read(rspData); in.close(); - assertTrue("Request should be the same as the response", Arrays.equals(data, rspData)); + assertArrayEquals("Request should be the same as the response", data, rspData); rs.close(); ps.close(); @@ -304,7 +304,7 @@ public void testPattern() throws SQLException { b = rs.getBlob("DATA"); long position = b.position(pattern, 1); byte[] rspData = b.getBytes(position, pattern.length); - assertTrue("Request should be the same as the response", Arrays.equals(pattern, rspData)); + assertArrayEquals("Request should be the same as the response", pattern, rspData); rs.close(); ps.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java index 672cbb6e0c..10157d452a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java @@ -7,6 +7,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -217,11 +218,11 @@ public void testGetObjectDecimal() throws Throwable { cstmt.registerOutParameter(3, Types.DECIMAL); cstmt.executeUpdate(); BigDecimal val = (BigDecimal) cstmt.getObject(1); - assertTrue(val.compareTo(new BigDecimal("999999999999999.000000000000000")) == 0); + assertEquals(0, val.compareTo(new BigDecimal("999999999999999.000000000000000"))); val = (BigDecimal) cstmt.getObject(2); - assertTrue(val.compareTo(new BigDecimal("0.000000000000001")) == 0); + assertEquals(0, val.compareTo(new BigDecimal("0.000000000000001"))); val = (BigDecimal) cstmt.getObject(3); - assertTrue(val == null); + assertNull(val); } catch (Exception ex) { fail(ex.getMessage()); } finally { @@ -399,9 +400,9 @@ public void testGetObjectLongVarchar() throws Throwable { cstmt.registerOutParameter(2, Types.LONGVARCHAR); cstmt.executeUpdate(); String val = (String) cstmt.getObject(1); - assertTrue(val.equals("testdata")); + assertEquals("testdata", val); val = (String) cstmt.getObject(2); - assertTrue(val == null); + assertNull(val); cstmt.close(); cstmt = con.prepareCall("{ call lvarchar_in_name(?) }"); String maxFloat = "3.4E38"; @@ -458,11 +459,11 @@ public void testGetBytes01() throws Throwable { cstmt.executeUpdate(); byte[] retval = cstmt.getBytes(1); for (int i = 0; i < testdata.length; i++) { - assertTrue(testdata[i] == retval[i]); + assertEquals(testdata[i], retval[i]); } retval = cstmt.getBytes(2); - assertTrue(retval == null); + assertNull(retval); } catch (Exception ex) { fail(ex.getMessage()); } finally { @@ -631,11 +632,11 @@ public void testGetBytes02() throws Throwable { cstmt.executeUpdate(); byte[] retval = cstmt.getBytes(1); for (int i = 0; i < testdata.length; i++) { - assertTrue(testdata[i] == retval[i]); + assertEquals(testdata[i], retval[i]); } retval = cstmt.getBytes(2); - assertTrue(retval == null); + assertNull(retval); } catch (Exception ex) { fail(ex.getMessage()); } finally { @@ -793,8 +794,8 @@ public void testGetShort01() throws Throwable { cstmt.registerOutParameter(2, java.sql.Types.SMALLINT); cstmt.registerOutParameter(3, java.sql.Types.SMALLINT); cstmt.executeUpdate(); - assertTrue(cstmt.getShort(1) == 32767); - assertTrue(cstmt.getShort(2) == -32768); + assertEquals(32767, cstmt.getShort(1)); + assertEquals(-32768, cstmt.getShort(2)); cstmt.getShort(3); assertTrue(cstmt.wasNull()); } catch (Exception ex) { @@ -834,8 +835,8 @@ public void testGetInt01() throws Throwable { cstmt.registerOutParameter(2, java.sql.Types.INTEGER); cstmt.registerOutParameter(3, java.sql.Types.INTEGER); cstmt.executeUpdate(); - assertTrue(cstmt.getInt(1) == 2147483647); - assertTrue(cstmt.getInt(2) == -2147483648); + assertEquals(2147483647, cstmt.getInt(1)); + assertEquals(-2147483648, cstmt.getInt(2)); cstmt.getInt(3); assertTrue(cstmt.wasNull()); } catch (Exception ex) { @@ -875,8 +876,8 @@ public void testGetLong01() throws Throwable { cstmt.registerOutParameter(2, java.sql.Types.BIGINT); cstmt.registerOutParameter(3, java.sql.Types.BIGINT); cstmt.executeUpdate(); - assertTrue(cstmt.getLong(1) == 9223372036854775807L); - assertTrue(cstmt.getLong(2) == -9223372036854775808L); + assertEquals(9223372036854775807L, cstmt.getLong(1)); + assertEquals(-9223372036854775808L, cstmt.getLong(2)); cstmt.getLong(3); assertTrue(cstmt.wasNull()); } catch (Exception ex) { @@ -957,8 +958,8 @@ public void testGetByte01() throws Throwable { cstmt.registerOutParameter(2, java.sql.Types.TINYINT); cstmt.registerOutParameter(3, java.sql.Types.TINYINT); cstmt.executeUpdate(); - assertTrue(cstmt.getByte(1) == 127); - assertTrue(cstmt.getByte(2) == -128); + assertEquals(127, cstmt.getByte(1)); + assertEquals(-128, cstmt.getByte(2)); cstmt.getByte(3); assertTrue(cstmt.wasNull()); } catch (Exception ex) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java index 9e3140217a..d20337fba5 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.jdbc4; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -86,7 +87,7 @@ public void testWarningOnUnknownName() throws SQLException { } catch (SQLClientInfoException e) { fail("Trying to set an unexisting name must not throw an exception (spec)"); } - assertTrue(con.getWarnings() != null); + assertNotNull(con.getWarnings()); } /** From f2d8ec5740aa26c417d666a7afedaaf0fdf62d37 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 24 Oct 2017 05:34:16 -0400 Subject: [PATCH 016/427] fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX (#992) 'infinity'::time does not work, so 00:00:00 and 24:00:00 are used. # select '24:00:01'::time; ERROR: date/time field value out of range: "24:00:01" LINE 1: select '24:00:01'::time; fixes #991 --- .../java/org/postgresql/jdbc/PgResultSet.java | 8 ++++- .../org/postgresql/jdbc/TimestampUtils.java | 14 ++++++--- .../test/jdbc42/PreparedStatementTest.java | 31 +++++++++++++++++++ 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index ee71cb80d1..769f198873 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -529,7 +529,13 @@ public Time getTime(int i, java.util.Calendar cal) throws SQLException { } String string = getString(i); - return connection.getTimestampUtils().toTime(cal, string); + if (string.equals("24:00:00")) { + return Time.valueOf(string); + } else if (string.equals("00:00:00")) { + return new Time(0); + } else { + return connection.getTimestampUtils().toTime(cal, string); + } } //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 8e328173b4..f7b57fca40 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -405,6 +405,11 @@ public LocalTime toLocalTime(String s) throws SQLException { if (s == null) { return null; } + + if (s.equals("24:00:00")) { + return LocalTime.MAX; + } + try { return LocalTime.parse(s); } catch (DateTimeParseException nfe) { @@ -692,14 +697,13 @@ public synchronized String toString(LocalDate localDate) { } public synchronized String toString(LocalTime localTime) { - if (LocalTime.MAX.equals(localTime)) { - return "infinity"; - } else if (LocalTime.MIN.equals(localTime)) { - return "-infinity"; - } sbuf.setLength(0); + if (localTime.equals( LocalTime.MAX )) { + return "24:00:00"; + } + appendTime(sbuf, localTime); return sbuf.toString(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java index 0440637eb7..73a7d7cdff 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java @@ -8,11 +8,14 @@ import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; +import org.junit.Assert; import org.junit.Test; import java.sql.PreparedStatement; +import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; +import java.time.LocalTime; public class PreparedStatementTest extends BaseTest4 { @@ -22,12 +25,14 @@ public void setUp() throws Exception { super.setUp(); TestUtil.createTable(con, "timestamptztable", "tstz timestamptz"); TestUtil.createTable(con, "timetztable", "ttz timetz"); + TestUtil.createTable(con, "timetable", "id serial, tt time"); } @Override public void tearDown() throws SQLException { TestUtil.dropTable(con, "timestamptztable"); TestUtil.dropTable(con, "timetztable"); + TestUtil.dropTable(con, "timetable"); super.tearDown(); } @@ -60,4 +65,30 @@ public void testTimeTzSetNull() throws SQLException { pstmt.close(); } + + @Test + public void testLocalTimeMax() throws SQLException { + PreparedStatement pstmt = con.prepareStatement("INSERT INTO timetable (tt) VALUES (?)"); + + pstmt.setObject(1, LocalTime.MAX); + pstmt.executeUpdate(); + + pstmt.setObject(1, LocalTime.MIN); + pstmt.executeUpdate(); + + ResultSet rs = con.createStatement().executeQuery("select tt from timetable order by id asc"); + Assert.assertTrue(rs.next()); + + LocalTime localTime = (LocalTime)rs.getObject(1,LocalTime.class); + + + Assert.assertEquals( LocalTime.MAX, localTime); + + Assert.assertTrue(rs.next()); + + localTime = (LocalTime)rs.getObject(1, LocalTime.class); + + Assert.assertEquals( LocalTime.MIN, localTime); + + } } From bdfc1dbb45315d659a49c1ef7a831ca2d6326be4 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Tue, 24 Oct 2017 06:47:46 -0600 Subject: [PATCH 017/427] chore: updates to CHANGELOG.md in release_notes.sh (#981) This automates the generation of the post file for the website using the CHANGELOG.md notes of Unreleased version, it also updates the CHANGELOG.md to stamp the new version there at the same time. [skip ci] --- CHANGELOG.md | 16 ++++++++-------- docs/_posts/2017-05-04-42.1.0-release.md | 4 ++-- release_notes.sh | 11 ++++++++++- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c38b9a228..07afed1d15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,8 +43,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) [PR 802](https://github.com/pgjdbc/pgjdbc/pull/802) -* Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) -* Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) +- Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) +- Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) ### Regresions - There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 @@ -73,10 +73,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...HEAD -[42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 -[42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 -[42.1.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.1...REL42.1.2 -[42.1.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.0...REL42.1.1 -[42.1.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.0.0...REL42.1.0 [42.0.0]: https://github.com/pgjdbc/pgjdbc/compare/REL9.4.1212...REL42.0.0 +[42.1.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.0.0...REL42.1.0 +[42.1.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.0...REL42.1.1 +[42.1.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.1...REL42.1.2 +[42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 +[42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...HEAD diff --git a/docs/_posts/2017-05-04-42.1.0-release.md b/docs/_posts/2017-05-04-42.1.0-release.md index b217493a08..b24e12303e 100644 --- a/docs/_posts/2017-05-04-42.1.0-release.md +++ b/docs/_posts/2017-05-04-42.1.0-release.md @@ -12,8 +12,8 @@ version: 42.1.0 ### Fixed - Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) [PR 802](https://github.com/pgjdbc/pgjdbc/pull/802) -* Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) -* Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) +- Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) +- Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) ### Regresions - There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 diff --git a/release_notes.sh b/release_notes.sh index dc7356808d..d0994376d8 100755 --- a/release_notes.sh +++ b/release_notes.sh @@ -38,9 +38,18 @@ echo --- echo **Notable changes** echo -echo '*' +awk "/^## \[Unreleased\]/,/^## \[${PREV_VERSION:3}\]/ {print}" CHANGELOG.md | sed -e '1d' -e '$d' echo echo '' echo +echo **Commits by author** +echo git shortlog --format="%s@@@%H@@@%h@@@" --grep="maven-release-plugin|update versions in readme.md" --extended-regexp --invert-grep --no-merges $PREV_VERSION..HEAD | perl release_notes_filter.pl ${VERS} + +# Update CHANGELOG.md with the new version +sed -i -e "s/^## \[Unreleased\]$/## \[${VERS}\] (${DATE_YMD})/" CHANGELOG.md +sed -i -e "s/^\[Unreleased\]: /\[${VERS}\]: /" CHANGELOG.md +sed -i -e "s/$PREV_VERSION\.\.\.HEAD/$PREV_VERSION\.\.\.REL${VERS}/" CHANGELOG.md +sed -i -e "s/^## \[${VERS}\] (${DATE_YMD})$/## \[Unreleased\]\n\n&/g" CHANGELOG.md +echo "[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL${VERS}...HEAD" >> CHANGELOG.md From 76188228ddb412db74959fbe59b5c2d6ef5eddfc Mon Sep 17 00:00:00 2001 From: AlexElin Date: Tue, 24 Oct 2017 19:02:06 +0600 Subject: [PATCH 018/427] refactor: state of PGXAConnection as enum (#966) make state of PGXAConnection as enum --- .../org/postgresql/ds/PGPooledConnection.java | 6 ++ .../org/postgresql/xa/PGXAConnection.java | 87 +++++++++++-------- 2 files changed, 57 insertions(+), 36 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java index b9bcdbbb43..64b1b40108 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java @@ -62,6 +62,7 @@ public PGPooledConnection(Connection con, boolean autoCommit) { /** * Adds a listener for close or fatal error events on the connection handed out to a client. */ + @Override public void addConnectionEventListener(ConnectionEventListener connectionEventListener) { listeners.add(connectionEventListener); } @@ -69,6 +70,7 @@ public void addConnectionEventListener(ConnectionEventListener connectionEventLi /** * Removes a listener for close or fatal error events on the connection handed out to a client. */ + @Override public void removeConnectionEventListener(ConnectionEventListener connectionEventListener) { listeners.remove(connectionEventListener); } @@ -77,6 +79,7 @@ public void removeConnectionEventListener(ConnectionEventListener connectionEven * Closes the physical database connection represented by this PooledConnection. If any client has * a connection based on this PooledConnection, it is forcibly closed as well. */ + @Override public void close() throws SQLException { if (last != null) { last.close(); @@ -107,6 +110,7 @@ public void close() throws SQLException { * called, the previous one is forcibly closed and its work rolled back. *

*/ + @Override public Connection getConnection() throws SQLException { if (con == null) { // Before throwing the exception, let's notify the registered listeners about the error @@ -432,9 +436,11 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl } } + @Override public void removeStatementEventListener(StatementEventListener listener) { } + @Override public void addStatementEventListener(StatementEventListener listener) { } diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index f909b304f5..b5426cd2b0 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -50,29 +50,9 @@ public class PGXAConnection extends PGPooledConnection implements XAConnection, */ private final BaseConnection conn; - /* - * PGXAConnection-object can be in one of three states: - * - * IDLE Not associated with a XA-transaction. You can still call getConnection and use the - * connection outside XA. currentXid is null. autoCommit is true on a connection by getConnection, - * per normal JDBC rules, though the caller can change it to false and manage transactions itself - * using Connection.commit and rollback. - * - * ACTIVE start has been called, and we're associated with an XA transaction. currentXid is valid. - * autoCommit is false on a connection returned by getConnection, and should not be messed with by - * the caller or the XA transaction will be broken. - * - * ENDED end has been called, but the transaction has not yet been prepared. currentXid is still - * valid. You shouldn't use the connection for anything else than issuing a XAResource.commit or - * rollback. - */ private Xid currentXid; - private int state; - - private static final int STATE_IDLE = 0; - private static final int STATE_ACTIVE = 1; - private static final int STATE_ENDED = 2; + private State state; /* * When an XA transaction is started, we put the underlying connection into non-autocommit mode. @@ -90,12 +70,13 @@ private void debug(String s) { public PGXAConnection(BaseConnection conn) throws SQLException { super(conn, true, true); this.conn = conn; - this.state = STATE_IDLE; + this.state = State.IDLE; } /** * XAConnection interface */ + @Override public Connection getConnection() throws SQLException { Connection conn = super.getConnection(); @@ -103,7 +84,7 @@ public Connection getConnection() throws SQLException { // is supposed to be true, per usual JDBC convention. // When an XA transaction is in progress, it should be // false. - if (state == STATE_IDLE) { + if (state == State.IDLE) { conn.setAutoCommit(true); } @@ -116,6 +97,7 @@ public Connection getConnection() throws SQLException { new Class[]{Connection.class, PGConnection.class}, handler); } + @Override public XAResource getXAResource() { return this; } @@ -133,7 +115,7 @@ private class ConnectionHandler implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - if (state != STATE_IDLE) { + if (state != State.IDLE) { String methodName = method.getName(); if (methodName.equals("commit") || methodName.equals("rollback") @@ -181,6 +163,7 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl * * Postconditions: 1. Connection is associated with the transaction */ + @Override public void start(Xid xid, int flags) throws XAException { if (LOGGER.isLoggable(Level.FINEST)) { debug("starting transaction xid = " + xid); @@ -196,7 +179,7 @@ public void start(Xid xid, int flags) throws XAException { throw new PGXAException(GT.tr("xid must not be null"), XAException.XAER_INVAL); } - if (state == STATE_ACTIVE) { + if (state == State.ACTIVE) { throw new PGXAException(GT.tr("Connection is busy with another transaction"), XAException.XAER_PROTO); } @@ -211,7 +194,7 @@ public void start(Xid xid, int flags) throws XAException { // It's ok to join an ended transaction. WebLogic does that. if (flags == TMJOIN) { - if (state != STATE_ENDED) { + if (state != State.ENDED) { throw new PGXAException(GT.tr("Transaction interleaving not implemented"), XAException.XAER_RMERR); } @@ -220,7 +203,7 @@ public void start(Xid xid, int flags) throws XAException { throw new PGXAException(GT.tr("Transaction interleaving not implemented"), XAException.XAER_RMERR); } - } else if (state == STATE_ENDED) { + } else if (state == State.ENDED) { throw new PGXAException(GT.tr("Transaction interleaving not implemented"), XAException.XAER_RMERR); } @@ -237,7 +220,7 @@ public void start(Xid xid, int flags) throws XAException { } // Preconditions are met, Associate connection with the transaction - state = STATE_ACTIVE; + state = State.ACTIVE; currentXid = xid; } @@ -249,6 +232,7 @@ public void start(Xid xid, int flags) throws XAException { * * Postconditions: 1. connection is disassociated from the transaction. */ + @Override public void end(Xid xid, int flags) throws XAException { if (LOGGER.isLoggable(Level.FINEST)) { debug("ending transaction xid = " + xid); @@ -265,7 +249,7 @@ public void end(Xid xid, int flags) throws XAException { throw new PGXAException(GT.tr("xid must not be null"), XAException.XAER_INVAL); } - if (state != STATE_ACTIVE || !currentXid.equals(xid)) { + if (state != State.ACTIVE || !currentXid.equals(xid)) { throw new PGXAException(GT.tr("tried to call end without corresponding start call"), XAException.XAER_PROTO); } @@ -279,7 +263,7 @@ public void end(Xid xid, int flags) throws XAException { // if TMFAIL was given. // All clear. We don't have any real work to do. - state = STATE_ENDED; + state = State.ENDED; } /** @@ -289,6 +273,7 @@ public void end(Xid xid, int flags) throws XAException { * * Postconditions: 1. Transaction is prepared */ + @Override public int prepare(Xid xid) throws XAException { if (LOGGER.isLoggable(Level.FINEST)) { debug("preparing transaction xid = " + xid); @@ -301,11 +286,11 @@ public int prepare(Xid xid) throws XAException { "Not implemented: Prepare must be issued using the same connection that started the transaction"), XAException.XAER_RMERR); } - if (state != STATE_ENDED) { + if (state != State.ENDED) { throw new PGXAException(GT.tr("Prepare called before end"), XAException.XAER_INVAL); } - state = STATE_IDLE; + state = State.IDLE; currentXid = null; try { @@ -332,6 +317,7 @@ public int prepare(Xid xid) throws XAException { * * Postconditions: 1. list of prepared xids is returned */ + @Override public Xid[] recover(int flag) throws XAException { // Check preconditions if (flag != TMSTARTRSCAN && flag != TMENDRSCAN && flag != TMNOFLAGS @@ -384,6 +370,7 @@ public Xid[] recover(int flag) throws XAException { * * Postconditions: 1. Transaction is rolled back and disassociated from connection */ + @Override public void rollback(Xid xid) throws XAException { if (LOGGER.isLoggable(Level.FINEST)) { debug("rolling back xid = " + xid); @@ -393,7 +380,7 @@ public void rollback(Xid xid) throws XAException { try { if (currentXid != null && xid.equals(currentXid)) { - state = STATE_IDLE; + state = State.IDLE; currentXid = null; conn.rollback(); conn.setAutoCommit(localAutoCommitMode); @@ -418,6 +405,7 @@ public void rollback(Xid xid) throws XAException { } } + @Override public void commit(Xid xid, boolean onePhase) throws XAException { if (LOGGER.isLoggable(Level.FINEST)) { debug("committing xid = " + xid + (onePhase ? " (one phase) " : " (two phase)")); @@ -454,12 +442,12 @@ private void commitOnePhase(Xid xid) throws XAException { "Not implemented: one-phase commit must be issued using the same connection that was used to start it"), XAException.XAER_RMERR); } - if (state != STATE_ENDED) { + if (state != State.ENDED) { throw new PGXAException(GT.tr("commit called before end"), XAException.XAER_PROTO); } // Preconditions are met. Commit - state = STATE_IDLE; + state = State.IDLE; currentXid = null; conn.commit(); @@ -481,7 +469,7 @@ private void commitPrepared(Xid xid) throws XAException { // Check preconditions. The connection mustn't be used for another // other XA or local transaction, or the COMMIT PREPARED command // would mess it up. - if (state != STATE_IDLE + if (state != State.IDLE || conn.getTransactionState() != TransactionState.IDLE) { throw new PGXAException( GT.tr("Not implemented: 2nd phase commit must be issued using an idle connection"), @@ -505,6 +493,7 @@ private void commitPrepared(Xid xid) throws XAException { } } + @Override public boolean isSameRM(XAResource xares) throws XAException { // This trivial implementation makes sure that the // application server doesn't try to use another connection @@ -515,6 +504,7 @@ public boolean isSameRM(XAResource xares) throws XAException { /** * Does nothing, since we don't do heuristics, */ + @Override public void forget(Xid xid) throws XAException { throw new PGXAException(GT.tr("Heuristic commit/rollback not supported"), XAException.XAER_NOTA); @@ -523,6 +513,7 @@ public void forget(Xid xid) throws XAException { /** * We don't do transaction timeouts. Just returns 0. */ + @Override public int getTransactionTimeout() { return 0; } @@ -530,7 +521,31 @@ public int getTransactionTimeout() { /** * We don't do transaction timeouts. Returns false. */ + @Override public boolean setTransactionTimeout(int seconds) { return false; } + + private enum State { + /** + * {@code PGXAConnection} not associated with a XA-transaction. You can still call {@link #getConnection()} and + * use the connection outside XA. {@code currentXid} is {@code null}. autoCommit is {@code true} on a connection + * by getConnection, per normal JDBC rules, though the caller can change it to {@code false} and manage + * transactions itself using Connection.commit and rollback. + */ + IDLE, + /** + * {@link #start(Xid, int)} has been called, and we're associated with an XA transaction. {@code currentXid} + * is valid. autoCommit is false on a connection returned by getConnection, and should not be messed with by + * the caller or the XA transaction will be broken. + */ + ACTIVE, + /** + * {@link #end(Xid, int)} has been called, but the transaction has not yet been prepared. {@code currentXid} + * is still valid. You shouldn't use the connection for anything else than issuing a {@link XAResource#commit(Xid, boolean)} or + * rollback. + */ + ENDED + } + } From 266ed61b30e89c2840b7967a8af7ac8ab86407ff Mon Sep 17 00:00:00 2001 From: zapov Date: Tue, 24 Oct 2017 15:23:40 +0200 Subject: [PATCH 019/427] fix: avoid integer overflow when sending large arguments (#946) If an argument is larger than 200MB it would overflow during escaping due to optimistic size estimation. Change size estimation so it works for even larger arguments until StringBuilder crashes with negative size error. --- .../main/java/org/postgresql/core/Utils.java | 4 +- .../core/v3/SimpleParameterList.java | 2 +- .../org/postgresql/test/jdbc4/LogTest.java | 78 +++++++++++++++++++ 3 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc4/LogTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/Utils.java b/pgjdbc/src/main/java/org/postgresql/core/Utils.java index 99ea9f9a4f..f945c84593 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Utils.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Utils.java @@ -68,7 +68,7 @@ public static byte[] encodeUTF8(String str) { public static StringBuilder escapeLiteral(StringBuilder sbuf, String value, boolean standardConformingStrings) throws SQLException { if (sbuf == null) { - sbuf = new StringBuilder(value.length() * 11 / 10); // Add 10% for escaping. + sbuf = new StringBuilder((value.length() + 10) / 10 * 11); // Add 10% for escaping. } doAppendEscapedLiteral(sbuf, value, standardConformingStrings); return sbuf; @@ -136,7 +136,7 @@ private static void doAppendEscapedLiteral(Appendable sbuf, String value, public static StringBuilder escapeIdentifier(StringBuilder sbuf, String value) throws SQLException { if (sbuf == null) { - sbuf = new StringBuilder(2 + value.length() * 11 / 10); // Add 10% for escaping. + sbuf = new StringBuilder(2 + (value.length() + 10) / 10 * 11); // Add 10% for escaping. } doAppendEscapedIdentifier(sbuf, value); return sbuf; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java index 6bc1591556..1a1ddeea9b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java @@ -214,7 +214,7 @@ public String toString(int index, boolean standardConformingStrings) { String param = paramValues[index].toString(); // add room for quotes + potential escaping. - StringBuilder p = new StringBuilder(3 + param.length() * 11 / 10); + StringBuilder p = new StringBuilder(3 + (param.length() + 10) / 10 * 11); // No E'..' here since escapeLiteral escapes all things and it does not use \123 kind of // escape codes diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LogTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LogTest.java new file mode 100644 index 0000000000..49d623f7c1 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LogTest.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2007, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc4; + +import org.postgresql.PGProperty; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import org.junit.Assert; +import org.junit.Assume; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.Array; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Properties; + +@RunWith(Parameterized.class) +public class LogTest extends BaseTest4 { + + private String oldLevel; + + public LogTest(BinaryMode binaryMode) { + setBinaryMode(binaryMode); + long maxMemory = Runtime.getRuntime().maxMemory(); + if (maxMemory < 6L * 1024 * 1024 * 1024) { + // TODO: add hamcrest matches and replace with "greaterThan" or something like that + Assume.assumeTrue( + "The test requires -Xmx6g or more. MaxMemory is " + (maxMemory / 1024.0 / 1024) + " MiB", + false); + } + } + + @Parameterized.Parameters(name = "binary = {0}") + public static Iterable data() { + Collection ids = new ArrayList(); + for (BinaryMode binaryMode : BinaryMode.values()) { + ids.add(new Object[]{binaryMode}); + } + return ids; + } + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.LOGGER_LEVEL.set(props, "TRACE"); + } + + @Test + public void reallyLargeArgumentsBreaksLogging() throws SQLException { + String[] largeInput = new String[220]; + String largeString = String.format("%1048576s", " "); + for (int i = 0; i < largeInput.length; i++) { + largeInput[i] = largeString; + } + Array arr = con.createArrayOf("text", largeInput); + PreparedStatement ps = con.prepareStatement("select t from unnest(?::text[]) t"); + ps.setArray(1, arr); + ResultSet rs = ps.executeQuery(); + int x = 0; + while (rs.next()) { + x += 1; + String found = rs.getString(1); + Assert.assertEquals(largeString, found); + } + Assert.assertEquals(largeInput.length, x); + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(ps); + } +} From 8f5e2454185a929f1bc6ef66813d6681bb38e736 Mon Sep 17 00:00:00 2001 From: Barnabas Bodnar Date: Wed, 25 Oct 2017 13:08:30 +0200 Subject: [PATCH 020/427] fix: don't attempt to read a SQLXML more than once (#965) fixes #964 --- .../postgresql/jdbc/PgPreparedStatement.java | 5 +- .../org/postgresql/test/jdbc4/XmlTest.java | 55 +++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 5e61cdea2c..864cd926a0 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -1525,10 +1525,11 @@ public void setNClob(int parameterIndex, Reader reader) throws SQLException { public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { checkClosed(); - if (xmlObject == null || xmlObject.getString() == null) { + String stringValue = xmlObject == null ? null : xmlObject.getString(); + if (stringValue == null) { setNull(parameterIndex, Types.SQLXML); } else { - setString(parameterIndex, xmlObject.getString(), Oid.XML); + setString(parameterIndex, stringValue, Oid.XML); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/XmlTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/XmlTest.java index 92cb436070..94881c4647 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/XmlTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/XmlTest.java @@ -21,6 +21,9 @@ import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -28,6 +31,9 @@ import java.sql.SQLXML; import java.sql.Statement; import java.sql.Types; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import javax.xml.transform.ErrorListener; import javax.xml.transform.Result; @@ -255,6 +261,55 @@ public void testGetObject() throws SQLException { SQLXML xml = (SQLXML) rs.getObject(1); } + private SQLXML newConsumableSQLXML(String content) throws Exception { + SQLXML xml = (SQLXML) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] { SQLXML.class }, new InvocationHandler() { + SQLXML xml = con.createSQLXML(); + boolean consumed = false; + Set consumingMethods = new HashSet(Arrays.asList( + SQLXML.class.getMethod("getBinaryStream"), + SQLXML.class.getMethod("getCharacterStream"), + SQLXML.class.getMethod("getString") + )); + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if (consumingMethods.contains(method)) { + if (consumed) { + fail("SQLXML-object already consumed"); + } else { + consumed = true; + } + } + return method.invoke(xml, args); + } + }); + xml.setString(content); + return xml; + } + + @Test + public void testSet() throws Exception { + Statement stmt = con.createStatement(); + stmt.execute("DELETE FROM xmltest"); + stmt.close(); + + PreparedStatement ps = con.prepareStatement("INSERT INTO xmltest VALUES (?,?)"); + ps.setInt(1, 1); + ps.setSQLXML(2, newConsumableSQLXML(_xmlDocument)); + assertEquals(1, ps.executeUpdate()); + ps.setInt(1, 2); + ps.setObject(2, newConsumableSQLXML(_xmlDocument)); + assertEquals(1, ps.executeUpdate()); + ResultSet rs = getRS(); + assertTrue(rs.next()); + Object o = rs.getObject(1); + assertTrue(o instanceof SQLXML); + assertEquals(_xmlDocument, ((SQLXML) o).getString()); + assertTrue(rs.next()); + assertEquals(_xmlDocument, rs.getSQLXML(1).getString()); + assertTrue(!rs.next()); + } + @Test public void testSetNull() throws SQLException { Statement stmt = con.createStatement(); From d28deff57684349707d2b2a357048f59b0861bb1 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 25 Oct 2017 05:43:45 -0700 Subject: [PATCH 021/427] fix: trim trailing zeros in timestamp strings returned in binary mode (#896) This commit trims trailing zeros from the fractional seconds in timestamp strings returned under binary mode, where the fractional seconds used to be zero padded to 6 digits. This provides consistency in the returned timestamp strings under both forced and regular binary modes. fixes #885 --- .../org/postgresql/jdbc/TimestampUtils.java | 6 ++ .../postgresql/test/jdbc2/TimestampTest.java | 83 ++++++++++++++++++- 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index f7b57fca40..7495136661 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -643,6 +643,12 @@ private static void appendTime(StringBuilder sb, int hours, int minutes, int sec if (needZeros > 0) { sb.insert(len, ZEROS, 0, needZeros); } + + int end = sb.length() - 1; + while (sb.charAt(end) == '0') { + sb.deleteCharAt(end); + end--; + } } private void appendTimeZone(StringBuilder sb, java.util.Calendar cal) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java index a59d933cb9..a90e4427ca 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java @@ -311,6 +311,8 @@ public void testSetTimestampWTZ() throws SQLException { @Test public void testGetTimestampWOTZ() throws SQLException { assumeTrue(TestUtil.haveIntegerDateTimes(con)); + //Refer to #896 + assumeMinimumServerVersion(ServerVersion.v8_4); Statement stmt = con.createStatement(); TimestampUtils tsu = ((BaseConnection) con).getTimestampUtils(); @@ -328,6 +330,9 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS5WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); assertEquals(1, @@ -340,6 +345,9 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS5WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); assertEquals(1, @@ -352,6 +360,9 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS5WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate1WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, @@ -364,6 +375,9 @@ public void testGetTimestampWOTZ() throws SQLException { "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate5WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate6WOTZ.getTime())) + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, + "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate7WOTZ.getTime())) + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime1WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, @@ -376,11 +390,13 @@ public void testGetTimestampWOTZ() throws SQLException { "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime5WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime6WOTZ.getTime())) + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, + "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime7WOTZ.getTime())) + "'"))); // Fall through helper timestampTestWOTZ(); - assertEquals(30, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(35, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); stmt.close(); } @@ -393,6 +409,8 @@ public void testGetTimestampWOTZ() throws SQLException { @Test public void testSetTimestampWOTZ() throws SQLException { assumeTrue(TestUtil.haveIntegerDateTimes(con)); + //Refer to #896 + assumeMinimumServerVersion(ServerVersion.v8_4); Statement stmt = con.createStatement(); PreparedStatement pstmt = con.prepareStatement(TestUtil.insertSQL(TSWOTZ_TABLE, "?")); @@ -415,6 +433,9 @@ public void testSetTimestampWOTZ() throws SQLException { pstmt.setTimestamp(1, TS6WOTZ); assertEquals(1, pstmt.executeUpdate()); + pstmt.setTimestamp(1, TS7WOTZ); + assertEquals(1, pstmt.executeUpdate()); + // With java.sql.Timestamp pstmt.setObject(1, TS1WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); @@ -428,6 +449,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS6WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS7WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With Strings pstmt.setObject(1, TS1WOTZ_PGFORMAT, Types.TIMESTAMP); @@ -442,6 +465,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS6WOTZ_PGFORMAT, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS7WOTZ_PGFORMAT, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With java.sql.Date pstmt.setObject(1, tmpDate1WOTZ, Types.TIMESTAMP); @@ -456,6 +481,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, tmpDate6WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, tmpDate7WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With java.sql.Time pstmt.setObject(1, tmpTime1WOTZ, Types.TIMESTAMP); @@ -470,10 +497,12 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, tmpTime6WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, tmpTime7WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // Fall through helper timestampTestWOTZ(); - assertEquals(30, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(35, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); pstmt.close(); stmt.close(); @@ -566,6 +595,7 @@ private void timestampTestWTZ() throws SQLException { private void timestampTestWOTZ() throws SQLException { Statement stmt = con.createStatement(); java.sql.Timestamp t; + String tString; ResultSet rs = stmt.executeQuery("select ts from " + TSWOTZ_TABLE); // removed the order by ts assertNotNull(rs); @@ -576,30 +606,63 @@ private void timestampTestWOTZ() throws SQLException { assertNotNull(t); assertEquals(TS1WOTZ, t); + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS1WOTZ_PGFORMAT, tString); + assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); assertEquals(TS2WOTZ, t); + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS2WOTZ_PGFORMAT, tString); + assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); assertEquals(TS3WOTZ, t); + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS3WOTZ_PGFORMAT, tString); + assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); assertEquals(TS4WOTZ, t); + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS4WOTZ_PGFORMAT, tString); + assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); assertEquals(TS5WOTZ, t); + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS5WOTZ_PGFORMAT, tString); + assertTrue(rs.next()); t = rs.getTimestamp(1); assertNotNull(t); assertEquals(TS6WOTZ, t); + + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS6WOTZ_PGFORMAT, tString); + + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(TS7WOTZ, t); + + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS7WOTZ_PGFORMAT, tString); } // Testing for Date @@ -633,6 +696,11 @@ private void timestampTestWOTZ() throws SQLException { assertNotNull(t); assertEquals(tmpDate6WOTZ.getTime(), t.getTime()); + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(tmpDate7WOTZ.getTime(), t.getTime()); + // Testing for Time assertTrue(rs.next()); t = rs.getTimestamp(1); @@ -664,6 +732,11 @@ private void timestampTestWOTZ() throws SQLException { assertNotNull(t); assertEquals(tmpTime6WOTZ.getTime(), t.getTime()); + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(tmpTime7WOTZ.getTime(), t.getTime()); + assertTrue(!rs.next()); // end of table. Fail if more entries exist. rs.close(); @@ -739,6 +812,10 @@ private static java.sql.Timestamp getTimestamp(int y, int m, int d, int h, int m new Timestamp(PGStatement.DATE_POSITIVE_INFINITY); private static final String TS6WOTZ_PGFORMAT = "infinity"; + private static final java.sql.Timestamp TS7WOTZ = + getTimestamp(2000, 7, 7, 15, 0, 0, 0, null); + private static final String TS7WOTZ_PGFORMAT = "2000-07-07 15:00:00"; + private static final String TSWTZ_TABLE = "testtimestampwtz"; private static final String TSWOTZ_TABLE = "testtimestampwotz"; private static final String DATE_TABLE = "testtimestampdate"; @@ -764,6 +841,8 @@ private static java.sql.Timestamp getTimestamp(int y, int m, int d, int h, int m private static final java.sql.Date tmpTime5WOTZ = new java.sql.Date(TS5WOTZ.getTime()); private static final java.sql.Date tmpDate6WOTZ = new java.sql.Date(TS6WOTZ.getTime()); private static final java.sql.Date tmpTime6WOTZ = new java.sql.Date(TS6WOTZ.getTime()); + private static final java.sql.Date tmpDate7WOTZ = new java.sql.Date(TS7WOTZ.getTime()); + private static final java.sql.Time tmpTime7WOTZ = new java.sql.Time(TS7WOTZ.getTime()); } From 2dcb91ef1fd8f0fe08f107c9c30cdc57d4c44b05 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 25 Oct 2017 10:22:15 -0400 Subject: [PATCH 022/427] fix: support Subject Alternative Names for SSL connections (#952) --- .../postgresql/ssl/jdbc4/LibPQFactory.java | 71 +++++++++++++++---- .../postgresql/test/jdbc4/Jdbc4TestSuite.java | 1 + .../test/jdbc4/LibPQFactoryHostNameTest.java | 57 +++++++++++++++ 3 files changed, 117 insertions(+), 12 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java index a1292012a0..32c40d4c22 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java @@ -24,7 +24,10 @@ import java.security.NoSuchAlgorithmException; import java.security.cert.Certificate; import java.security.cert.CertificateFactory; +import java.security.cert.CertificateParsingException; import java.security.cert.X509Certificate; +import java.util.Collection; +import java.util.List; import java.util.Properties; import javax.naming.InvalidNameException; @@ -48,6 +51,8 @@ */ public class LibPQFactory extends WrappedFactory implements HostnameVerifier { + private static final int ALT_DNS_NAME = 2; + LazyKeyManager km = null; String sslmode; @@ -229,6 +234,39 @@ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallback } } + public static boolean verifyHostName(String hostname, String pattern) { + if (hostname == null || pattern == null) { + return false; + } + if (!pattern.startsWith("*")) { + // No wildcard => just compare hostnames + return hostname.equalsIgnoreCase(pattern); + } + // pattern starts with *, so hostname should be at least (pattern.length-1) long + if (hostname.length() < pattern.length() - 1) { + return false; + } + // Compare ignore case + final boolean ignoreCase = true; + // Below code is "hostname.endsWithIgnoreCase(pattern.withoutFirstStar())" + + // E.g. hostname==sub.host.com; pattern==*.host.com + // We need to start the offset of ".host.com" in hostname + // For this we take hostname.length() - pattern.length() + // and +1 is required since pattern is known to start with * + int toffset = hostname.length() - pattern.length() + 1; + + // Wildcard covers just one domain level + // a.b.c.com should not be covered by *.c.com + if (hostname.lastIndexOf('.', toffset - 1) >= 0) { + // If there's a dot in between 0..toffset + return false; + } + + return hostname.regionMatches(ignoreCase, toffset, + pattern, 1, pattern.length() - 1); + } + /** * Verifies the server certificate according to the libpq rules. The cn attribute of the * certificate is matched against the hostname. If the cn attribute starts with an asterisk (*), @@ -252,6 +290,26 @@ public boolean verify(String hostname, SSLSession session) { } // Extract the common name X509Certificate serverCert = peerCerts[0]; + + try { + // Check for Subject Alternative Names (see RFC 6125) + Collection> subjectAltNames = serverCert.getSubjectAlternativeNames(); + + if (subjectAltNames != null) { + for (List sanit : subjectAltNames) { + Integer type = (Integer) sanit.get(0); + String san = (String) sanit.get(1); + + // this mimics libpq check for ALT_DNS_NAME + if (type != null && type == ALT_DNS_NAME && verifyHostName(hostname, san)) { + return true; + } + } + } + } catch (CertificateParsingException e) { + return false; + } + LdapName DN; try { DN = new LdapName(serverCert.getSubjectX500Principal().getName(X500Principal.RFC2253)); @@ -266,17 +324,6 @@ public boolean verify(String hostname, SSLSession session) { break; } } - if (CN == null) { - return false; - } else if (CN.startsWith("*")) { // We have a wildcard - if (hostname.endsWith(CN.substring(1))) { - // Avoid IndexOutOfBoundsException because hostname already ends with CN - return !(hostname.substring(0, hostname.length() - CN.length() + 1).contains(".")); - } else { - return false; - } - } else { - return CN.equals(hostname); - } + return verifyHostName(hostname, CN); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java index 405d977fb8..46fcc4bb47 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java @@ -24,6 +24,7 @@ BinaryStreamTest.class, CharacterStreamTest.class, UUIDTest.class, + LibPQFactoryHostNameTest.class, XmlTest.class }) public class Jdbc4TestSuite { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java new file mode 100644 index 0000000000..1ee140c4ee --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc4; + +import org.postgresql.ssl.jdbc4.LibPQFactory; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class LibPQFactoryHostNameTest { + + private final String hostname; + private final String pattern; + private final boolean expected; + + public LibPQFactoryHostNameTest(String hostname, String pattern, boolean expected) { + this.hostname = hostname; + this.pattern = pattern; + this.expected = expected; + } + + @Parameterized.Parameters(name = "host={0}, pattern={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"host.com", "pattern.com", false}, + {"host.com", ".pattern.com", false}, + {"host.com", "*.pattern.com", false}, + {"host.com", "*.host.com", false}, + {"a.com", "*.host.com", false}, + {".a.com", "*.host.com", false}, + {"longhostname.com", "*.com", true}, + {"longhostname.ru", "*.com", false}, + {"host.com", "host.com", true}, + {"sub.host.com", "host.com", false}, + {"sub.host.com", "sub.host.com", true}, + {"sub.host.com", "*.host.com", true}, + {"Sub.host.com", "sub.host.com", true}, + {"sub.host.com", "Sub.host.com", true}, + {"sub.host.com", "*.hoSt.com", true}, + {"*.host.com", "host.com", false}, + {"sub.sub.host.com", "*.host.com", false}, // Wildcard should cover just one level + }); + } + + @Test + public void checkPattern() throws Exception { + Assert.assertEquals(expected, LibPQFactory.verifyHostName(hostname, pattern)); + } +} From 9813c685cae2cbfbc561a6220ba388cef08f34b0 Mon Sep 17 00:00:00 2001 From: Joe Kutner Date: Thu, 26 Oct 2017 06:17:39 -0500 Subject: [PATCH 023/427] fix: Added support for socksNonProxyHosts property (#975) (#985) When a socksProxyHost is configured, there needs to be an escape value so that some hosts are resolved immediately. The Java Networking spec[1] does not specify such an option, but the socksNonProxyHosts is used in the sun.net.spi.DefaultProxySelector. The behavior is mentioned in bug report 5001942[2]. This commit reimplements the logic in the DefaultProxySelector.select method to determine if the host should be resolved immediately. [1] http://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html [2] http://bugs.java.com/bugdatabase/view_bug.do?bug_id=5001942 --- .../java/org/postgresql/core/PGStream.java | 5 +- .../java/org/postgresql/util/HostSpec.java | 53 ++++++++++++++ .../test/jre8/core/Jre8TestSuite.java | 18 +++++ .../test/jre8/core/SocksProxyTest.java | 48 +++++++++++++ .../postgresql/test/util/HostSpecTest.java | 72 +++++++++++++++++++ 5 files changed, 193 insertions(+), 3 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index f9a3e4ab49..c65bb18d98 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, PostgreSQL Global Development Group + * Copyright (c) 2017, PostgreSQL Global Development Group * See the LICENSE file in the project root for more information. */ @@ -21,7 +21,6 @@ import java.net.InetSocketAddress; import java.net.Socket; import java.sql.SQLException; - import javax.net.SocketFactory; /** @@ -63,7 +62,7 @@ public PGStream(SocketFactory socketFactory, HostSpec hostSpec, int timeout) thr // When using a SOCKS proxy, the host might not be resolvable locally, // thus we defer resolution until the traffic reaches the proxy. If there // is no proxy, we must resolve the host to an IP to connect the socket. - InetSocketAddress address = System.getProperty("socksProxyHost") == null + InetSocketAddress address = hostSpec.shouldResolve() ? new InetSocketAddress(hostSpec.getHost(), hostSpec.getPort()) : InetSocketAddress.createUnresolved(hostSpec.getHost(), hostSpec.getPort()); socket.connect(address, timeout); diff --git a/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java b/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java index 064dd03c06..6869b311f6 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java +++ b/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java @@ -5,10 +5,17 @@ package org.postgresql.util; +import static java.util.regex.Pattern.compile; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * Simple container for host and port. */ public class HostSpec { + public static String DEFAULT_NON_PROXY_HOSTS = "localhost|127.*|[::1]|0.0.0.0|[::0]"; + protected final String host; protected final int port; @@ -39,4 +46,50 @@ public boolean equals(Object obj) { public int hashCode() { return port ^ host.hashCode(); } + + public Boolean shouldResolve() { + if (System.getProperty("socksProxyHost") == null) { + return true; + } + return matchesNonProxyHosts(); + } + + private Boolean matchesNonProxyHosts() { + String nonProxyHosts = System.getProperty("socksNonProxyHosts", DEFAULT_NON_PROXY_HOSTS); + if (nonProxyHosts == null || this.host.isEmpty()) { + return false; + } + + Pattern pattern = toPattern(nonProxyHosts); + Matcher matcher = pattern == null ? null : pattern.matcher(this.host); + return matcher != null && matcher.matches(); + } + + private Pattern toPattern(String mask) { + StringBuilder joiner = new StringBuilder(); + String separator = ""; + for (String disjunct : mask.split("\\|")) { + if (!disjunct.isEmpty()) { + String regex = disjunctToRegex(disjunct.toLowerCase()); + joiner.append(separator).append(regex); + separator = "|"; + } + } + + return joiner.length() == 0 ? null : compile(joiner.toString()); + } + + private String disjunctToRegex(String disjunct) { + String regex; + + if (disjunct.startsWith("*")) { + regex = ".*" + Pattern.quote(disjunct.substring(1)); + } else if (disjunct.endsWith("*")) { + regex = Pattern.quote(disjunct.substring(0, disjunct.length() - 1)) + ".*"; + } else { + regex = Pattern.quote(disjunct); + } + + return regex; + } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java new file mode 100644 index 0000000000..96cee6520e --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jre8.core; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Joe Kutner on 10/24/17. + * Twitter: @codefinger + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({SocksProxyTest.class}) +public class Jre8TestSuite { +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java new file mode 100644 index 0000000000..8d01f780ab --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jre8.core; + +import static org.junit.Assert.assertNotNull; + +import org.postgresql.test.TestUtil; + +import org.junit.After; +import org.junit.Test; + +import java.sql.Connection; +import java.sql.DriverManager; + +/** + * @author Joe Kutner on 10/9/17. + * Twitter: @codefinger + */ +public class SocksProxyTest { + + @After + public void cleanup() { + System.clearProperty("socksProxyHost"); + System.clearProperty("socksProxyPort"); + System.clearProperty("socksNonProxyHosts"); + } + + /** + * Tests the connect method by connecting to the test database + */ + @Test + public void testConnectWithSocksNonProxyHost() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + System.setProperty("socksProxyPort", "9999"); + System.setProperty("socksNonProxyHosts", TestUtil.getServer()); + + TestUtil.initDriver(); // Set up log levels, etc. + + Connection con = + DriverManager.getConnection(TestUtil.getURL(), TestUtil.getUser(), TestUtil.getPassword()); + + assertNotNull(con); + con.close(); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java new file mode 100644 index 0000000000..32acc31fd7 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.util; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.postgresql.util.HostSpec; + +import org.junit.After; +import org.junit.Test; + +/** + * @author Joe Kutner on 10/19/17. + * Twitter: @codefinger + */ +public class HostSpecTest { + + @After + public void cleanup() { + System.clearProperty("socksProxyHost"); + System.clearProperty("socksProxyPort"); + System.clearProperty("socksNonProxyHosts"); + } + + @Test + public void testShouldResolve() throws Exception { + HostSpec hostSpec = new HostSpec("localhost", 5432); + assertTrue(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithSocksProxyHost() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + HostSpec hostSpec = new HostSpec("example.com", 5432); + assertFalse(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithSocksProxyHostWithLocalhost() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + HostSpec hostSpec = new HostSpec("localhost", 5432); + assertTrue(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithSocksNonProxyHost() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + System.setProperty("socksNonProxyHosts", "example.com"); + HostSpec hostSpec = new HostSpec("example.com", 5432); + assertTrue(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithSocksNonProxyHosts() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + System.setProperty("socksNonProxyHosts", "example.com|localhost"); + HostSpec hostSpec = new HostSpec("example.com", 5432); + assertTrue(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithSocksNonProxyHostsNotMatching() throws Exception { + System.setProperty("socksProxyHost", "fake-socks-proxy"); + System.setProperty("socksNonProxyHosts", "example.com|localhost"); + HostSpec hostSpec = new HostSpec("example.org", 5432); + assertFalse(hostSpec.shouldResolve()); + } +} From 059628fcdf2058cfd05cb80eac64799ca26ad0d2 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 31 Oct 2017 00:20:54 -0700 Subject: [PATCH 024/427] test: Appveyor configuration (#1000) This enables Windows-based CI testing --- appveyor.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000..02d1061653 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,31 @@ +# appveyor.yml +init: +- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) +- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_level=logical" +- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "max_wal_senders=3" +- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_keep_segments=10" +- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_sender_timeout=5s" +- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "max_replication_slots=10" +- ps: Add-Content "c:\program files\postgresql\9.6\data\pg_hba.conf" "host replication all 127.0.0.1/32 trust" + +services: + - postgresql96 + +before_build: + - SET PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH% + - SET PGUSER=postgres + - SET PGPASSWORD=Password12! + - createuser -U postgres test + - psql -U postgres -c "alter user test with password 'test'" postgres + - createdb -U postgres -O test test + +build_script: + - mvn clean package -DskipTests + +test_script: + - echo redirect escape ^> foo.bar + - echo privilegedPassword=Password12!>c:\projects\pgjdbc\build.local.properties + - mvn package + +cache: + - C:\Users\appveyor\.m2 From 2f6633bd9e1e9d7f313ea4dfec37f9671fc07453 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 7 Nov 2017 07:23:00 -0500 Subject: [PATCH 025/427] add test for identity, fix isAutoincrement in postgresql 10 fixes #130 (#1004) * add test for identity, fix isAutoincrement in postgresql 10 fixes #130 --- .../postgresql/jdbc/PgResultSetMetaData.java | 12 ++++++++--- .../test/jdbc2/ResultSetMetaDataTest.java | 20 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java index d075b236ae..cdf25f4049 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java @@ -8,6 +8,7 @@ import org.postgresql.PGResultSetMetaData; import org.postgresql.core.BaseConnection; import org.postgresql.core.Field; +import org.postgresql.core.ServerVersion; import org.postgresql.util.GT; import org.postgresql.util.JdbcBlackHole; import org.postgresql.util.LruCache; @@ -233,9 +234,14 @@ private void fetchFieldMetaData() throws SQLException { StringBuilder sql = new StringBuilder( "SELECT c.oid, a.attnum, a.attname, c.relname, n.nspname, " - + "a.attnotnull OR (t.typtype = 'd' AND t.typnotnull), " - + "pg_catalog.pg_get_expr(d.adbin, d.adrelid) LIKE '%nextval(%' " - + "FROM pg_catalog.pg_class c " + + "a.attnotnull OR (t.typtype = 'd' AND t.typnotnull), "); + + if ( connection.haveMinimumServerVersion(ServerVersion.v10)) { + sql.append("a.attidentity != '' OR pg_catalog.pg_get_expr(d.adbin, d.adrelid) LIKE '%nextval(%' "); + } else { + sql.append("pg_catalog.pg_get_expr(d.adbin, d.adrelid) LIKE '%nextval(%' "); + } + sql.append( "FROM pg_catalog.pg_class c " + "JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) " + "JOIN pg_catalog.pg_attribute a ON (c.oid = a.attrelid) " + "JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) " diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java index 39649b4335..98f9b78c63 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java @@ -10,9 +10,11 @@ import static org.junit.Assert.assertTrue; import org.postgresql.PGResultSetMetaData; +import org.postgresql.core.ServerVersion; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; +import org.junit.Assert; import org.junit.Assume; import org.junit.Test; @@ -38,6 +40,11 @@ public void setUp() throws Exception { TestUtil.dropSequence(conn, "serialtest_a_seq"); TestUtil.dropSequence(conn, "serialtest_b_seq"); + + if (TestUtil.haveMinimumServerVersion(conn, ServerVersion.v10)) { + TestUtil.createTable(conn, "identitytest", "id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY"); + } + TestUtil.createTable(conn, "serialtest", "a serial, b bigserial, c int"); TestUtil.createTable(conn, "alltypes", "bool boolean, i2 int2, i4 int4, i8 int8, num numeric(10,2), re real, fl float, ch char(3), vc varchar(3), tx text, d date, t time without time zone, tz time with time zone, ts timestamp without time zone, tsz timestamp with time zone, bt bytea"); @@ -52,6 +59,9 @@ public void tearDown() throws SQLException { TestUtil.dropTable(conn, "rsmd1"); TestUtil.dropTable(conn, "timetest"); TestUtil.dropTable(conn, "serialtest"); + if (TestUtil.haveMinimumServerVersion(conn, ServerVersion.v10)) { + TestUtil.dropTable(conn, "identitytest"); + } TestUtil.dropTable(conn, "alltypes"); TestUtil.dropTable(conn, "sizetest"); TestUtil.dropSequence(conn, "serialtest_a_seq"); @@ -248,6 +258,16 @@ public void testClosedResultSet() throws Exception { assertEquals("rsmd1", rsmd.getColumnTypeName(1)); } + @Test + public void testIdentityColumn() throws Exception { + assumeMinimumServerVersion(ServerVersion.v10); + assumePreparedStatementMetadataSupported(); + PreparedStatement pstmt = conn.prepareStatement("SELECT id FROM identitytest"); + ResultSet rs = pstmt.executeQuery(); + ResultSetMetaData rsmd = pstmt.getMetaData(); + Assert.assertTrue(rsmd.isAutoIncrement(1)); + } + private void assumePreparedStatementMetadataSupported() { Assume.assumeTrue("prepared statement metadata is not supported for simple protocol", preferQueryMode.compareTo(PreferQueryMode.EXTENDED_FOR_PREPARED) >= 0); From 2277ffb7b65d3cba9ef05be36408e2fdbef00ee7 Mon Sep 17 00:00:00 2001 From: mjanczykowski Date: Tue, 7 Nov 2017 13:24:39 +0100 Subject: [PATCH 026/427] feat: add setURL method to BaseDataSource (#999) * feat: add setURL method to BaseDataSource Add setURL method to BaseDateSource in order to follow convention used in other DBMS drivers. Improves JBoss support, allowing to configure XA data source to switch between various DBMS drivers. Most of vendors use uppercase 'URL' parameter, contrary to PostgreSQL. --- .../postgresql/ds/common/BaseDataSource.java | 19 ++++++ .../jdbc2/optional/OptionalTestSuite.java | 1 + .../SimpleDataSourceWithSetURLTest.java | 62 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceWithSetURLTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 41b01eca55..2716aac5b8 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -1075,6 +1075,15 @@ public String getUrl() { return url.toString(); } + /** + * Generates a {@link DriverManager} URL from the other properties supplied. + * + * @return {@link DriverManager} URL from the other properties supplied + */ + public String getURL() { + return getUrl(); + } + /** * Sets properties from a {@link DriverManager} URL. * @@ -1089,6 +1098,16 @@ public void setUrl(String url) { } } + /** + * Sets properties from a {@link DriverManager} URL. + * Added to follow convention used in other DBMS. + * + * @param url properties to set + */ + public void setURL(String url) { + setUrl(url); + } + public String getProperty(String name) throws SQLException { PGProperty pgProperty = PGProperty.forName(name); if (pgProperty != null) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java index fe59de0886..00c5d1a0ec 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java @@ -17,6 +17,7 @@ @RunWith(Suite.class) @Suite.SuiteClasses({SimpleDataSourceTest.class, SimpleDataSourceWithUrlTest.class, + SimpleDataSourceWithSetURLTest.class, ConnectionPoolTest.class, PoolingDataSourceTest.class, CaseOptimiserDataSourceTest.class}) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceWithSetURLTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceWithSetURLTest.java new file mode 100644 index 0000000000..f9bbd5a93e --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceWithSetURLTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2.optional; + +import static org.junit.Assert.assertEquals; +import static org.postgresql.Driver.parseURL; + +import org.postgresql.PGProperty; +import org.postgresql.jdbc2.optional.SimpleDataSource; +import org.postgresql.test.TestUtil; + +import org.junit.Test; + +import java.util.Properties; + +/** + * Performs the basic tests defined in the superclass. Just adds the configuration logic. + */ +public class SimpleDataSourceWithSetURLTest extends BaseDataSourceTest { + /** + * Creates and configures a new SimpleDataSource using setURL method. + */ + @Override + protected void initializeDataSource() { + if (bds == null) { + bds = new SimpleDataSource(); + bds.setURL(String.format("jdbc:postgresql://%s:%d/%s?prepareThreshold=%d&loggerLevel=%s", TestUtil.getServer(), TestUtil.getPort(), TestUtil.getDatabase(), TestUtil.getPrepareThreshold(), + TestUtil.getLogLevel())); + bds.setUser(TestUtil.getUser()); + bds.setPassword(TestUtil.getPassword()); + bds.setProtocolVersion(TestUtil.getProtocolVersion()); + } + } + + @Test + public void testGetURL() throws Exception { + con = getDataSourceConnection(); + + String url = bds.getURL(); + Properties properties = parseURL(url, null); + + assertEquals(TestUtil.getServer(), properties.getProperty(PGProperty.PG_HOST.getName())); + assertEquals(Integer.toString(TestUtil.getPort()), properties.getProperty(PGProperty.PG_PORT.getName())); + assertEquals(TestUtil.getDatabase(), properties.getProperty(PGProperty.PG_DBNAME.getName())); + assertEquals(Integer.toString(TestUtil.getPrepareThreshold()), properties.getProperty(PGProperty.PREPARE_THRESHOLD.getName())); + assertEquals(TestUtil.getLogLevel(), properties.getProperty(PGProperty.LOGGER_LEVEL.getName())); + } + + @Test + public void testSetURL() throws Exception { + initializeDataSource(); + + assertEquals(TestUtil.getServer(), bds.getServerName()); + assertEquals(TestUtil.getPort(), bds.getPortNumber()); + assertEquals(TestUtil.getDatabase(), bds.getDatabaseName()); + assertEquals(TestUtil.getPrepareThreshold(), bds.getPrepareThreshold()); + assertEquals(TestUtil.getLogLevel(), bds.getLoggerLevel()); + } +} From 8884202b9e7785a1eaf67ddcd97f2ba689d0cf19 Mon Sep 17 00:00:00 2001 From: Zemian Deng Date: Tue, 7 Nov 2017 20:46:29 -0500 Subject: [PATCH 027/427] fix: Correct DatabaseMetaData.getFunctions() implementation (#918) The old DatabaseMetaData.getFunctions() method returned incorrect column names and function return types. The new implementation complies with the JDBC docs. --- .../postgresql/jdbc/PgDatabaseMetaData.java | 36 ++++- .../test/jdbc4/DatabaseMetaDataTest.java | 152 ++++++++++++++++++ 2 files changed, 187 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index e7b5c4472f..f35fea2753 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2541,7 +2541,41 @@ public T unwrap(Class iface) throws SQLException { public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException { - return getProcedures(catalog, schemaPattern, functionNamePattern); + + // The pg_get_function_result only exists 8.4 or later + boolean pgFuncResultExists = connection.haveMinimumServerVersion(ServerVersion.v8_4); + + // Use query that support pg_get_function_result to get function result, else unknown is defaulted + String funcTypeSql = DatabaseMetaData.functionResultUnknown + " "; + if (pgFuncResultExists) { + funcTypeSql = " CASE " + + " WHEN (format_type(p.prorettype, null) = 'unknown') THEN " + DatabaseMetaData.functionResultUnknown + + " WHEN " + + " (substring(pg_get_function_result(p.oid) from 0 for 6) = 'TABLE') OR " + + " (substring(pg_get_function_result(p.oid) from 0 for 6) = 'SETOF') THEN " + DatabaseMetaData.functionReturnsTable + + " ELSE " + DatabaseMetaData.functionNoTable + + " END "; + } + + // Build query and result + String sql; + sql = "SELECT current_database() AS FUNCTION_CAT, n.nspname AS FUNCTION_SCHEM, p.proname AS FUNCTION_NAME, " + + " d.description AS REMARKS, " + + funcTypeSql + " AS FUNCTION_TYPE, " + + " p.proname || '_' || p.oid AS SPECIFIC_NAME " + + "FROM pg_catalog.pg_proc p " + + "INNER JOIN pg_catalog.pg_namespace n ON p.pronamespace=n.oid " + + "LEFT JOIN pg_catalog.pg_description d ON p.oid=d.objoid " + + "WHERE pg_function_is_visible(p.oid) "; + if (schemaPattern != null && !schemaPattern.isEmpty()) { + sql += " AND n.nspname LIKE " + escapeQuotes(schemaPattern); + } + if (functionNamePattern != null && !functionNamePattern.isEmpty()) { + sql += " AND p.proname LIKE " + escapeQuotes(functionNamePattern); + } + sql += " ORDER BY FUNCTION_SCHEM, FUNCTION_NAME, p.oid::text "; + + return createMetaDataStatement().executeQuery(sql); } public ResultSet getFunctionColumns(String catalog, String schemaPattern, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java index 734ace443e..1a03543cbc 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java @@ -5,8 +5,11 @@ package org.postgresql.test.jdbc4; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import org.postgresql.core.ServerVersion; @@ -20,6 +23,10 @@ import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; public class DatabaseMetaDataTest { @@ -80,4 +87,149 @@ public void testGetSchemas() throws SQLException { assertNull(rs.getString("TABLE_CATALOG")); assertTrue(!rs.next()); } + + @Test + public void testGetFunctionsWithBlankPatterns() throws SQLException { + int minFuncCount = 1000; + DatabaseMetaData dbmd = _conn.getMetaData(); + ResultSet rs = dbmd.getFunctions("", "", ""); + int count = assertGetFunctionRS(rs); + assertThat(count > minFuncCount, is(true)); + + // Should be same as blank pattern + ResultSet rs2 = dbmd.getFunctions(null, null, null); + int count2 = assertGetFunctionRS(rs2); + assertThat(count2 > minFuncCount, is(true)); + assertThat(count2, is(count)); + + // Catalog parameter has no affect on our getFunctions filtering + ResultSet rs3 = dbmd.getFunctions("ANYTHING_WILL_WORK", null, null); + int count3 = assertGetFunctionRS(rs3); + assertThat(count3 > minFuncCount, is(true)); + assertThat(count3, is(count)); + + // Filter by schema + ResultSet rs4 = dbmd.getFunctions("", "pg_catalog", null); + int count4 = assertGetFunctionRS(rs4); + assertThat(count4 > minFuncCount, is(true)); + + // Filter by schema and function name + ResultSet rs5 = dbmd.getFunctions("", "pg_catalog", "abs"); + int count5 = assertGetFunctionRS(rs5); + assertThat(count5 >= 1, is(true)); + + // Filter by function name only + rs5 = dbmd.getFunctions("", "", "abs"); + count5 = assertGetFunctionRS(rs5); + assertThat(count5 >= 1, is(true)); + + rs.close(); + rs2.close(); + rs3.close(); + rs4.close(); + rs5.close(); + } + + /** Assert some basic result from ResultSet of a GetFunctions method. Return the total row count. */ + private int assertGetFunctionRS(ResultSet rs) throws SQLException { + // There should be at least one row + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_CAT"), is(System.getProperty("database"))); + assertThat(rs.getString("FUNCTION_SCHEM"), notNullValue()); + assertThat(rs.getString("FUNCTION_NAME"), notNullValue()); + assertThat(rs.getShort("FUNCTION_TYPE") >= 0, is(true)); + assertThat(rs.getString("SPECIFIC_NAME"), notNullValue()); + + // Ensure there is enough column and column value retrieve by index should be same as column name (ordered) + assertThat(rs.getMetaData().getColumnCount(), is(6)); + assertThat(rs.getString(1), is(rs.getString("FUNCTION_CAT"))); + assertThat(rs.getString(2), is(rs.getString("FUNCTION_SCHEM"))); + assertThat(rs.getString(3), is(rs.getString("FUNCTION_NAME"))); + assertThat(rs.getString(4), is(rs.getString("REMARKS"))); + assertThat(rs.getShort(5), is(rs.getShort("FUNCTION_TYPE"))); + assertThat(rs.getString(6), is(rs.getString("SPECIFIC_NAME"))); + + // Get all result and assert they are ordered per javadoc spec: + // FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_NAME + List result = new ArrayList(); + do { + result.add(rs.getString("FUNCTION_CAT") + + " " + + rs.getString("FUNCTION_SCHEM") + + " " + + rs.getString("FUNCTION_NAME") + + " " + + rs.getString("SPECIFIC_NAME")); + } while (rs.next()); + + List orderedResult = new ArrayList(result); + Collections.sort(orderedResult); + assertThat(result, is(orderedResult)); + + return result.size(); + } + + @Test + public void testGetFunctionsWithSpecificTypes() throws SQLException { + // These function creation are borrow from jdbc2/DatabaseMetaDataTest + // We modify to ensure new function created are returned by getFunctions() + + DatabaseMetaData dbmd = _conn.getMetaData(); + if (TestUtil.haveMinimumServerVersion(_conn, ServerVersion.v8_4)) { + Statement stmt = _conn.createStatement(); + stmt.execute( + "CREATE OR REPLACE FUNCTION getfunc_f1(int, varchar) RETURNS int AS 'SELECT 1;' LANGUAGE SQL"); + ResultSet rs = dbmd.getFunctions("", "", "getfunc_f1"); + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_NAME"), is("getfunc_f1")); + assertThat(rs.getShort("FUNCTION_TYPE"), is((short)DatabaseMetaData.functionNoTable)); + assertThat(rs.next(), is(false)); + rs.close(); + stmt.execute("DROP FUNCTION getfunc_f1(int, varchar)"); + + stmt.execute( + "CREATE OR REPLACE FUNCTION getfunc_f3(IN a int, INOUT b varchar, OUT c timestamptz) AS $f$ BEGIN b := 'a'; c := now(); return; END; $f$ LANGUAGE plpgsql"); + rs = dbmd.getFunctions("", "", "getfunc_f3"); + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_NAME"), is("getfunc_f3")); + assertThat(rs.getShort("FUNCTION_TYPE"), is((short)DatabaseMetaData.functionNoTable)); + assertThat(rs.next(), is(false)); + rs.close(); + stmt.execute("DROP FUNCTION getfunc_f3(int, varchar)"); + + // RETURNS TABLE requires PostgreSQL 8.4+ + stmt.execute( + "CREATE OR REPLACE FUNCTION getfunc_f5() RETURNS TABLE (i int) LANGUAGE sql AS 'SELECT 1'"); + + rs = dbmd.getFunctions("", "", "getfunc_f5"); + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_NAME"), is("getfunc_f5")); + assertThat(rs.getShort("FUNCTION_TYPE"), is((short)DatabaseMetaData.functionReturnsTable)); + assertThat(rs.next(), is(false)); + rs.close(); + stmt.execute("DROP FUNCTION getfunc_f5()"); + } else { + // For PG 8.3 or 8.2 it will resulted in unknown function type + Statement stmt = _conn.createStatement(); + stmt.execute( + "CREATE OR REPLACE FUNCTION getfunc_f1(int, varchar) RETURNS int AS 'SELECT 1;' LANGUAGE SQL"); + ResultSet rs = dbmd.getFunctions("", "", "getfunc_f1"); + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_NAME"), is("getfunc_f1")); + assertThat(rs.getShort("FUNCTION_TYPE"), is((short)DatabaseMetaData.functionResultUnknown)); + assertThat(rs.next(), is(false)); + rs.close(); + stmt.execute("DROP FUNCTION getfunc_f1(int, varchar)"); + + stmt.execute( + "CREATE OR REPLACE FUNCTION getfunc_f3(IN a int, INOUT b varchar, OUT c timestamptz) AS $f$ BEGIN b := 'a'; c := now(); return; END; $f$ LANGUAGE plpgsql"); + rs = dbmd.getFunctions("", "", "getfunc_f3"); + assertThat(rs.next(), is(true)); + assertThat(rs.getString("FUNCTION_NAME"), is("getfunc_f3")); + assertThat(rs.getShort("FUNCTION_TYPE"), is((short)DatabaseMetaData.functionResultUnknown)); + assertThat(rs.next(), is(false)); + rs.close(); + stmt.execute("DROP FUNCTION getfunc_f3(int, varchar)"); + } + } } From f5742853b6d79cc20f718339855904c1384c59cd Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Fri, 10 Nov 2017 15:25:30 -0600 Subject: [PATCH 028/427] test: querymode extendedCacheEverything (#1007) --- .travis.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7a3d80c9a1..0b11bc35f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,11 @@ cache: matrix: fast_finish: true + allow_failures: + - env: # REMOVE FAILURE extendedCacheEverything + - PG_VERSION=9.4 + - QUERY_MODE=extendedCacheEverything + - COVERAGE=Y include: - jdk: oraclejdk8 env: RUN_CHECKSTYLE=true @@ -110,13 +115,11 @@ matrix: - XA=true - REPLICATION=Y - jdk: oraclejdk8 - sudo: required addons: postgresql: "9.4" env: - PG_VERSION=9.4 - - XA=true - - REPLICATION=Y + - QUERY_MODE=extendedCacheEverything - COVERAGE=Y - jdk: openjdk7 sudo: required From cccd6cde4672de30ac0bbac6621b63e81aae9474 Mon Sep 17 00:00:00 2001 From: Thach Hoang Date: Sat, 11 Nov 2017 06:18:01 -0500 Subject: [PATCH 029/427] Update ServerVersionTest to actually compare versions (#1015) --- .../test/java/org/postgresql/test/util/ServerVersionTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java index 67435030e8..3e32089070 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java @@ -19,6 +19,7 @@ public void versionIncreases() { Assert.assertTrue(prev + " should be less than " + serverVersion, prev.getVersionNum() < serverVersion.getVersionNum()); } + prev = serverVersion; } } } From 9f07c9ae2eb0c1ec18455e3a3d66460dd264c790 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 11 Nov 2017 23:32:26 +0300 Subject: [PATCH 030/427] style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ (#1016) fixes #1011 closes #1013 --- .../main/java/org/postgresql/largeobject/LargeObject.java | 6 +++++- .../org/postgresql/replication/PGReplicationStream.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java index 1ec3924485..b486ea40ed 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java @@ -41,7 +41,11 @@ * @see java.sql.PreparedStatement#setBinaryStream * @see java.sql.PreparedStatement#setUnicodeStream */ -public class LargeObject { +public class LargeObject + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + implements AutoCloseable + //#endif + /* hi, checkstyle */ { /** * Indicates a seek from the begining of a file */ diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java index 698d1c7520..ea07a98524 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java @@ -17,7 +17,11 @@ * It means that process wal record should be fast as possible, because during process wal record * lead to disconnect by timeout from server. */ -public interface PGReplicationStream { +public interface PGReplicationStream + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + extends AutoCloseable + //#endif + /* hi, checkstyle */ { /** *

Read next wal record from backend. It method can be block until new message will not get From 0c3a2fc132101f83dbb0990ac2c49c49b9c65ffe Mon Sep 17 00:00:00 2001 From: AlexElin Date: Sun, 12 Nov 2017 03:07:34 +0600 Subject: [PATCH 031/427] refactor: make PgStream implements Flushable (#1008) --- pgjdbc/src/main/java/org/postgresql/core/PGStream.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index c65bb18d98..99fe247dfa 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -14,6 +14,7 @@ import java.io.Closeable; import java.io.EOFException; import java.io.FilterOutputStream; +import java.io.Flushable; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -30,7 +31,7 @@ * In general, instances of PGStream are not threadsafe; the caller must ensure that only one thread * at a time is accessing a particular PGStream instance. */ -public class PGStream implements Closeable { +public class PGStream implements Closeable, Flushable { private final SocketFactory socketFactory; private final HostSpec hostSpec; @@ -502,6 +503,7 @@ public void sendStream(InputStream inStream, int remaining) throws IOException { * * @throws IOException if an I/O error occurs */ + @Override public void flush() throws IOException { if (encodingWriter != null) { encodingWriter.flush(); From 634e157e4cdbc2f78f1a90ac4d9f538f39caf4f9 Mon Sep 17 00:00:00 2001 From: Michael Glaesemann Date: Sun, 12 Nov 2017 13:13:39 -0600 Subject: [PATCH 032/427] refactor: use TypeInfo getPGArrayType instead of munging type name (#913) The purpose of the getPGArrayType method is to get the array type for a given element type. Let the TypeInfo implementation figure out how to do that rather than appending "[]" to the element type name in PgPreparedStatement setArray. --- .../postgresql/jdbc/PgPreparedStatement.java | 6 +- .../benchmark/statement/BindArray.java | 97 +++++++++++++++++++ 2 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 864cd926a0..517e96b6c4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -1096,10 +1096,8 @@ public void setArray(int i, java.sql.Array x) throws SQLException { // literal from Array.toString(), such as the implementation we return // from ResultSet.getArray(). Eventually we need a proper implementation // here that works for any Array implementation. - - // Add special suffix for array identification - String typename = x.getBaseTypeName() + "[]"; - int oid = connection.getTypeInfo().getPGType(typename); + String typename = x.getBaseTypeName(); + int oid = connection.getTypeInfo().getPGArrayType(typename); if (oid == Oid.UNSPECIFIED) { throw new PSQLException(GT.tr("Unknown type {0}.", typename), PSQLState.INVALID_PARAMETER_TYPE); diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java new file mode 100644 index 0000000000..2882b2f1f6 --- /dev/null +++ b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.benchmark.statement; + +import org.postgresql.benchmark.profilers.FlightRecorderProfiler; +import org.postgresql.util.ConnectionUtil; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.profile.GCProfiler; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import java.sql.Array; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Types; +import java.util.Properties; +import java.util.concurrent.TimeUnit; + +@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") +@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) +@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) +@State(Scope.Thread) +@BenchmarkMode(Mode.AverageTime) +@OutputTimeUnit(TimeUnit.NANOSECONDS) +public class BindArray { + private Connection connection; + private PreparedStatement ps; + + Integer[] ints; + + @Param({"1", "5", "10", "50", "100", "1000"}) + int arraySize; + + @Setup(Level.Trial) + public void setUp() throws SQLException { + Properties props = ConnectionUtil.getProperties(); + + connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); + ps = connection.prepareStatement("SELECT ?"); + ints = new Integer[arraySize]; + for (int i = 0; i < arraySize; i++) { + ints[i] = i + 1; + } + } + + @TearDown(Level.Trial) + public void tearDown() throws SQLException { + ps.close(); + connection.close(); + } + + @Benchmark + public Statement setObject() throws SQLException { + Array sqlInts = connection.createArrayOf("int", ints); + ps.setObject(1, sqlInts, Types.ARRAY); + return ps; + } + + @Benchmark + public Statement setArray() throws SQLException { + Array sqlInts = connection.createArrayOf("int", ints); + ps.setArray(1, sqlInts); + return ps; + } + + public static void main(String[] args) throws RunnerException { + Options opt = new OptionsBuilder() + .include(BindArray.class.getSimpleName()) + .addProfiler(GCProfiler.class) + .addProfiler(FlightRecorderProfiler.class) + .detectJvmArgs() + .build(); + + new Runner(opt).run(); + } +} From 279fb435b392114c45266ecef901bfd59470842a Mon Sep 17 00:00:00 2001 From: Thach Hoang Date: Wed, 15 Nov 2017 14:30:23 -0500 Subject: [PATCH 033/427] fix: always return Short[] for java.sql.Array.getArray() on smallint[] (#1017) fixes #420 --- .../java/org/postgresql/jdbc/PgArray.java | 26 +++++++- .../java/org/postgresql/jdbc/PgResultSet.java | 60 ++++++++++--------- .../org/postgresql/test/jdbc4/ArrayTest.java | 20 +++++++ 3 files changed, 76 insertions(+), 30 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java index 03e4ace2f4..269ab2c7cc 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java @@ -583,7 +583,31 @@ private Object buildArray(PgArrayList input, int index, int count) throws SQLExc pa[length++] = o == null ? false : BooleanTypeUtil.castToBoolean((String) o); } } - } else if (type == Types.SMALLINT || type == Types.INTEGER) { + } else if (type == Types.SMALLINT) { + short[] pa = null; + Object[] oa = null; + + if (dims > 1 || useObjects) { + ret = + oa = (dims > 1 + ? (Object[]) java.lang.reflect.Array + .newInstance(useObjects ? Short.class : short.class, dimsLength) + : new Short[count]); + } else { + ret = pa = new short[count]; + } + + for (; count > 0; count--) { + Object o = input.get(index++); + + if (dims > 1 || useObjects) { + oa[length++] = o == null ? null + : (dims > 1 ? buildArray((PgArrayList) o, 0, -1) : PgResultSet.toShort((String) o)); + } else { + pa[length++] = o == null ? 0 : PgResultSet.toShort((String) o); + } + } + } else if (type == Types.INTEGER) { int[] pa = null; Object[] oa = null; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 769f198873..c7d10f8c2b 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -2020,9 +2020,6 @@ public byte getByte(int columnIndex) throws SQLException { return 0; // SQL NULL } - private static final BigInteger SHORTMAX = new BigInteger(Short.toString(Short.MAX_VALUE)); - private static final BigInteger SHORTMIN = new BigInteger(Short.toString(Short.MIN_VALUE)); - @Override public short getShort(int columnIndex) throws SQLException { connection.getLogger().log(Level.FINEST, " getShort columnIndex: {0}", columnIndex); @@ -2040,32 +2037,7 @@ public short getShort(int columnIndex) throws SQLException { return (short) readLongValue(this_row[col], oid, Short.MIN_VALUE, Short.MAX_VALUE, "short"); } - String s = getFixedString(columnIndex); - - if (s != null) { - s = s.trim(); - try { - return Short.parseShort(s); - } catch (NumberFormatException e) { - try { - BigDecimal n = new BigDecimal(s); - BigInteger i = n.toBigInteger(); - int gt = i.compareTo(SHORTMAX); - int lt = i.compareTo(SHORTMIN); - - if (gt > 0 || lt < 0) { - throw new PSQLException(GT.tr("Bad value for type {0} : {1}", "short", s), - PSQLState.NUMERIC_VALUE_OUT_OF_RANGE); - } - return i.shortValue(); - - } catch (NumberFormatException ne) { - throw new PSQLException(GT.tr("Bad value for type {0} : {1}", "short", s), - PSQLState.NUMERIC_VALUE_OUT_OF_RANGE); - } - } - } - return 0; // SQL NULL + return toShort(getFixedString(columnIndex)); } public int getInt(int columnIndex) throws SQLException { @@ -2811,6 +2783,36 @@ protected boolean isBinary(int column) { // ----------------- Formatting Methods ------------------- + private static final BigInteger SHORTMAX = new BigInteger(Short.toString(Short.MAX_VALUE)); + private static final BigInteger SHORTMIN = new BigInteger(Short.toString(Short.MIN_VALUE)); + + public static short toShort(String s) throws SQLException { + if (s != null) { + try { + s = s.trim(); + return Short.parseShort(s); + } catch (NumberFormatException e) { + try { + BigDecimal n = new BigDecimal(s); + BigInteger i = n.toBigInteger(); + int gt = i.compareTo(SHORTMAX); + int lt = i.compareTo(SHORTMIN); + + if (gt > 0 || lt < 0) { + throw new PSQLException(GT.tr("Bad value for type {0} : {1}", "short", s), + PSQLState.NUMERIC_VALUE_OUT_OF_RANGE); + } + return i.shortValue(); + + } catch (NumberFormatException ne) { + throw new PSQLException(GT.tr("Bad value for type {0} : {1}", "short", s), + PSQLState.NUMERIC_VALUE_OUT_OF_RANGE); + } + } + } + return 0; // SQL NULL + } + private static final BigInteger INTMAX = new BigInteger(Integer.toString(Integer.MAX_VALUE)); private static final BigInteger INTMIN = new BigInteger(Integer.toString(Integer.MIN_VALUE)); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java index f82fa626e3..3d3640e3ae 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java @@ -94,6 +94,26 @@ public void testCreateArrayOfInt() throws SQLException { Assert.assertEquals(2, out[2].intValue()); } + @Test + public void testCreateArrayOfSmallInt() throws SQLException { + PreparedStatement pstmt = _conn.prepareStatement("SELECT ?::smallint[]"); + Short[] in = new Short[3]; + in[0] = 0; + in[1] = -1; + in[2] = 2; + pstmt.setArray(1, _conn.createArrayOf("int2", in)); + + ResultSet rs = pstmt.executeQuery(); + Assert.assertTrue(rs.next()); + Array arr = rs.getArray(1); + Short[] out = (Short[]) arr.getArray(); + + Assert.assertEquals(3, out.length); + Assert.assertEquals(0, out[0].shortValue()); + Assert.assertEquals(-1, out[1].shortValue()); + Assert.assertEquals(2, out[2].shortValue()); + } + @Test public void testCreateArrayOfMultiString() throws SQLException { PreparedStatement pstmt = _conn.prepareStatement("SELECT ?::text[]"); From befea18d153dda7814daef4e036d3f5daf8de1e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Hern=C3=A1ndez=20Tortosa?= Date: Tue, 21 Nov 2017 06:42:28 -0500 Subject: [PATCH 034/427] Add SCRAM-SHA-256 support (#842) * Add SCRAM-SHA-256 support PostgreSQL 10 comes with SCRAM-SHA-256 support. This commit introduces support for it. Work is based on an external dependency, the SCRAM client library: https://github.com/ongres/scram/ which is now imported as a dependency. TODO: - SCRAM client library will be improved, on its own. Particularly, StringPrep support needs to be added. Final version of pgjdbc will depend on v1.0 - Testing - Probably macros to avoid this Java8-only code propagating to Java < 8 versions of the driver * Prepare Java8-only code to be excluded for jre<=8 Actually implemented via macros by JDBC < 4.2. * On HEAD all testing connections will use SCRAM * Better error message for drivers w/o SCRAM support * added configuration for shaded jar remove any extraneous classes picked up in the shade plugin --- .travis.yml | 3 +- pgjdbc/pom.xml | 60 ++++++- .../core/v3/ConnectionFactoryImpl.java | 35 ++++ .../jre8/sasl/ScramAuthenticator.java | 166 ++++++++++++++++++ 4 files changed, 262 insertions(+), 2 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java diff --git a/.travis.yml b/.travis.yml index 0b11bc35f0..5de16385bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,8 @@ before_script: - test "x$XA" == 'x' || ./.travis/travis_configure_xa.sh - test "x$REPLICATION" == 'x' || ./.travis/travis_configure_replication.sh - ./.travis/travis_start_postgres.sh - - psql -U postgres -c "create user test with password 'test';" + - test "x$PG_VERSION" != 'xHEAD' || psql -U postgres -c "set password_encryption='scram-sha-256'; create user test with password 'test';" + - test "x$PG_VERSION" = 'xHEAD' || psql -U postgres -c "create user test with password 'test';" - test "x$REPLICATION" == 'x' || psql -U postgres -c "alter user test with replication;" - psql -c 'create database test owner test;' -U postgres - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index ac72cef035..9f74a37379 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -36,6 +36,14 @@ 7.8.2 + + + com.ongres.scram + client + 1.0.0-beta.2 + + + translate @@ -249,6 +257,56 @@ UTF-8 + + org.apache.maven.plugins + maven-shade-plugin + 3.1.0 + + true + + + com.ongres.scram:client + + *.* + + + + com.github.dblock.waffle:waffle-jna + + ** + + + + org.slf4j:jcl-over-slf4j + + ** + + + + *:* + + com/sun/jna/** + + + + + + + package + + shade + + + + + com.ongres + org.postgresql.shaded.com.ongres + + + + + + @@ -266,7 +324,7 @@ src/main/checkstyle/checks.xml - src/main/checkstyle/suppressions.xml + src/main/checkstyle/suppressions.xml error true true diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 3ccfc9136f..92da28d6ee 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -39,6 +39,7 @@ import java.util.TimeZone; import java.util.logging.Level; import java.util.logging.Logger; + import javax.net.SocketFactory; /** @@ -59,6 +60,9 @@ public class ConnectionFactoryImpl extends ConnectionFactory { private static final int AUTH_REQ_GSS = 7; private static final int AUTH_REQ_GSS_CONTINUE = 8; private static final int AUTH_REQ_SSPI = 9; + private static final int AUTH_REQ_SASL = 10; + private static final int AUTH_REQ_SASL_CONTINUE = 11; + private static final int AUTH_REQ_SASL_FINAL = 12; /** * Marker exception; thrown when we want to fall back to using V2. @@ -413,6 +417,11 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope /* SSPI negotiation state, if used */ ISSPIClient sspiClient = null; + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + /* SCRAM authentication state, if used */ + org.postgresql.jre8.sasl.ScramAuthenticator scramAuthenticator = null; + //#endif + try { authloop: while (true) { int beresp = pgStream.receiveChar(); @@ -604,6 +613,32 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope sspiClient.continueSSPI(l_msgLen - 8); break; + case AUTH_REQ_SASL: + LOGGER.log(Level.FINEST, " <=BE AuthenticationSASL"); + + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + scramAuthenticator = new org.postgresql.jre8.sasl.ScramAuthenticator(user, password, pgStream); + scramAuthenticator.processServerMechanismsAndInit(); + scramAuthenticator.sendScramClientFirstMessage(); + //#else + if (true) { + throw new PSQLException(GT.tr( + "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" vesions)", + areq), PSQLState.CONNECTION_REJECTED); + } + //#endif + break; + + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + case AUTH_REQ_SASL_CONTINUE: + scramAuthenticator.processServerFirstMessage(l_msgLen - 4 - 4); + break; + + case AUTH_REQ_SASL_FINAL: + scramAuthenticator.verifyServerSignature(l_msgLen - 4 - 4); + break; + //#endif + case AUTH_REQ_OK: /* Cleanup after successful authentication */ LOGGER.log(Level.FINEST, " <=BE AuthenticationOk"); diff --git a/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java b/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java new file mode 100644 index 0000000000..87daa05ae1 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + + +package org.postgresql.jre8.sasl; + +import org.postgresql.core.PGStream; +import org.postgresql.util.GT; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +import com.ongres.scram.client.ScramClient; +import com.ongres.scram.client.ScramSession; +import com.ongres.scram.common.exception.ScramException; +import com.ongres.scram.common.exception.ScramInvalidServerSignatureException; +import com.ongres.scram.common.exception.ScramParseException; +import com.ongres.scram.common.exception.ScramServerErrorException; +import com.ongres.scram.common.stringprep.StringPreparations; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class ScramAuthenticator { + private static final Logger LOGGER = Logger.getLogger(ScramAuthenticator.class.getName()); + + private final String user; + private final String password; + private final PGStream pgStream; + private ScramClient scramClient; + private ScramSession scramSession; + private ScramSession.ServerFirstProcessor serverFirstProcessor; + private ScramSession.ClientFinalProcessor clientFinalProcessor; + + @FunctionalInterface + private interface BodySender { + void sendBody(PGStream pgStream) throws IOException; + } + + private void sendAuthenticationMessage(int bodyLength, BodySender bodySender) + throws IOException { + pgStream.sendChar('p'); + pgStream.sendInteger4(Integer.BYTES + bodyLength); + bodySender.sendBody(pgStream); + pgStream.flush(); + } + + public ScramAuthenticator(String user, String password, PGStream pgStream) { + this.user = user; + this.password = password; + this.pgStream = pgStream; + } + + public void processServerMechanismsAndInit() throws IOException, PSQLException { + List mechanisms = new ArrayList<>(); + do { + mechanisms.add(pgStream.receiveString()); + } while (pgStream.peekChar() != 0); + int c = pgStream.receiveChar(); + assert c == 0; + if (mechanisms.size() < 1) { + throw new PSQLException( + GT.tr("No SCRAM mechanism(s) advertised by the server"), + PSQLState.CONNECTION_REJECTED + ); + } + + try { + scramClient = ScramClient + .channelBinding(ScramClient.ChannelBinding.NO) + .stringPreparation(StringPreparations.NO_PREPARATION) + .selectMechanismBasedOnServerAdvertised(mechanisms.toArray(new String[]{})) + .setup(); + } catch (IllegalArgumentException e) { + throw new PSQLException( + GT.tr("Invalid or unsupported by client SCRAM mechanisms", e), + PSQLState.CONNECTION_REJECTED + ); + } + LOGGER.log(Level.FINEST, " Using SCRAM mechanism {0}", scramClient.getScramMechanism().getName()); + + scramSession = + scramClient.scramSession("*"); // Real username is ignored by server, uses startup one + } + + public void sendScramClientFirstMessage() throws IOException { + String clientFirstMessage = scramSession.clientFirstMessage(); + LOGGER.log(Level.FINEST, " FE=> SASLInitialResponse( {0} )", clientFirstMessage); + + String scramMechanismName = scramClient.getScramMechanism().getName(); + byte[] scramMechanismNameBytes = scramMechanismName.getBytes(StandardCharsets.UTF_8); + byte[] clientFirstMessageBytes = clientFirstMessage.getBytes(StandardCharsets.UTF_8); + sendAuthenticationMessage( + (scramMechanismNameBytes.length + 1) + 4 + clientFirstMessageBytes.length, + s -> { + s.send(scramMechanismNameBytes); + s.sendChar(0); // List terminated in '\0' + s.sendInteger4(clientFirstMessageBytes.length); + s.send(clientFirstMessageBytes); + } + ); + } + + public void processServerFirstMessage(int length) throws IOException, PSQLException { + String serverFirstMessage = pgStream.receiveString(length); + LOGGER.log(Level.FINEST, " <=BE AuthenticationSASLContinue( {0} )", serverFirstMessage); + + try { + serverFirstProcessor = scramSession.receiveServerFirstMessage(serverFirstMessage); + } catch (ScramException e) { + throw new PSQLException( + GT.tr("Invalid server-first-message: {0}", serverFirstMessage), + PSQLState.CONNECTION_REJECTED, + e + ); + } + LOGGER.log(Level.FINEST, + " <=BE AuthenticationSASLContinue(salt={0}, iterations={1})", + new Object[] { serverFirstProcessor.getSalt(), serverFirstProcessor.getIteration() } + ); + + clientFinalProcessor = serverFirstProcessor.clientFinalProcessor(password); + + String clientFinalMessage = clientFinalProcessor.clientFinalMessage(); + LOGGER.log(Level.FINEST, " FE=> SASLResponse( {0} )", clientFinalMessage); + + byte[] clientFinalMessageBytes = clientFinalMessage.getBytes(StandardCharsets.UTF_8); + sendAuthenticationMessage( + clientFinalMessageBytes.length, + s -> s.send(clientFinalMessageBytes) + ); + } + + public void verifyServerSignature(int length) throws IOException, PSQLException { + String serverFinalMessage = pgStream.receiveString(length); + LOGGER.log(Level.FINEST, " <=BE AuthenticationSASLFinal( {0} )", serverFinalMessage); + + try { + clientFinalProcessor.receiveServerFinalMessage(serverFinalMessage); + } catch (ScramParseException e) { + throw new PSQLException( + GT.tr("Invalid server-final-message: {0}", serverFinalMessage), + PSQLState.CONNECTION_REJECTED, + e + ); + } catch (ScramServerErrorException e) { + throw new PSQLException( + GT.tr("SCRAM authentication failed, server returned error: {0}", + e.getError().getErrorMessage()), + PSQLState.CONNECTION_REJECTED, + e + ); + } catch (ScramInvalidServerSignatureException e) { + throw new PSQLException( + GT.tr("Invalid server SCRAM signature"), + PSQLState.CONNECTION_REJECTED, + e + ); + } + } +} From 8a30044d9e97c1038ee4401ae745d37a11f008db Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Thu, 23 Nov 2017 22:57:24 +0900 Subject: [PATCH 035/427] Fixes #638 Implement support for get/setNetworkTimeout() (#849) --- .../java/org/postgresql/core/PGStream.java | 8 ++ .../org/postgresql/core/QueryExecutor.java | 5 ++ .../postgresql/core/QueryExecutorBase.java | 10 +++ .../org/postgresql/jdbc/PgConnection.java | 31 +++++++- .../test/jdbc4/jdbc41/Jdbc41TestSuite.java | 1 + .../test/jdbc4/jdbc41/NetworkTimeoutTest.java | 77 +++++++++++++++++++ 6 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/NetworkTimeoutTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 99fe247dfa..61ca252148 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -541,4 +541,12 @@ public void close() throws IOException { pg_input.close(); connection.close(); } + + public void setNetworkTimeout(int milliseconds) throws IOException { + connection.setSoTimeout(milliseconds); + } + + public int getNetworkTimeout() throws IOException { + return connection.getSoTimeout(); + } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index c76e8f3163..ee83b2445c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -14,6 +14,7 @@ import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.util.HostSpec; +import java.io.IOException; import java.sql.SQLException; import java.sql.SQLWarning; import java.util.List; @@ -437,4 +438,8 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri * @return the ReplicationProtocol instance for this connection. */ ReplicationProtocol getReplicationProtocol(); + + void setNetworkTimeout(int milliseconds) throws IOException; + + int getNetworkTimeout() throws IOException; } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 732d3a2979..6825eae038 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -79,6 +79,16 @@ public void evict(CachedQuery cachedQuery) throws SQLException { protected abstract void sendCloseMessage() throws IOException; + @Override + public void setNetworkTimeout(int milliseconds) throws IOException { + pgStream.setNetworkTimeout(milliseconds); + } + + @Override + public int getNetworkTimeout() throws IOException { + return pgStream.getNetworkTimeout(); + } + @Override public HostSpec getHostSpec() { return pgStream.getHostSpec(); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 823bc9a314..a0911908d7 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -79,6 +79,7 @@ public class PgConnection implements BaseConnection { private static final Logger LOGGER = Logger.getLogger(PgConnection.class.getName()); private static final SQLPermission SQL_PERMISSION_ABORT = new SQLPermission("callAbort"); + private static final SQLPermission SQL_PERMISSION_NETWORK_TIMEOUT = new SQLPermission("setNetworkTimeout"); // // Data initialized on construction: @@ -1480,12 +1481,36 @@ public void abort(Executor executor) throws SQLException { } } - public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException { - throw org.postgresql.Driver.notImplemented(this.getClass(), "setNetworkTimeout(Executor, int)"); + public void setNetworkTimeout(Executor executor /*not used*/, int milliseconds) throws SQLException { + checkClosed(); + + if (milliseconds < 0) { + throw new PSQLException(GT.tr("Network timeout must be a value greater than or equal to 0."), + PSQLState.INVALID_PARAMETER_VALUE); + } + + SecurityManager securityManager = System.getSecurityManager(); + if (securityManager != null) { + securityManager.checkPermission(SQL_PERMISSION_NETWORK_TIMEOUT); + } + + try { + queryExecutor.setNetworkTimeout(milliseconds); + } catch (IOException ioe) { + throw new PSQLException(GT.tr("Unable to set network timeout."), + PSQLState.COMMUNICATION_ERROR, ioe); + } } public int getNetworkTimeout() throws SQLException { - throw org.postgresql.Driver.notImplemented(this.getClass(), "getNetworkTimeout()"); + checkClosed(); + + try { + return queryExecutor.getNetworkTimeout(); + } catch (IOException ioe) { + throw new PSQLException(GT.tr("Unable to get network timeout."), + PSQLState.COMMUNICATION_ERROR, ioe); + } } @Override diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java index 065be55819..046696a054 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java @@ -17,6 +17,7 @@ AbortTest.class, CloseOnCompletionTest.class, SharedTimerClassLoaderLeakTest.class, + NetworkTimeoutTest.class, GetObjectTest.class} ) public class Jdbc41TestSuite { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/NetworkTimeoutTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/NetworkTimeoutTest.java new file mode 100644 index 0000000000..8adfd3eee1 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/NetworkTimeoutTest.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2007, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc4.jdbc41; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.postgresql.test.TestUtil; + +import org.junit.Test; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.concurrent.TimeUnit; + +public class NetworkTimeoutTest { + @Test + public void testSetNetworkTimeout() throws Exception { + Connection _conn = TestUtil.openDB(); + try { + _conn.setNetworkTimeout(null, 0); + } catch (SQLException e) { + fail("Connection.setNetworkTimeout() throw exception"); + } finally { + TestUtil.closeDB(_conn); + } + } + + @Test + public void testSetNetworkTimeoutInvalid() throws Exception { + Connection _conn = TestUtil.openDB(); + try { + _conn.setNetworkTimeout(null, -1); + fail("Connection.setNetworkTimeout() did not throw expected exception"); + } catch (SQLException e) { + // Passed + } finally { + TestUtil.closeDB(_conn); + } + } + + @Test + public void testSetNetworkTimeoutValid() throws Exception { + Connection _conn = TestUtil.openDB(); + try { + _conn.setNetworkTimeout(null, (int) TimeUnit.SECONDS.toMillis(5)); + assertEquals(TimeUnit.SECONDS.toMillis(5), _conn.getNetworkTimeout()); + } catch (SQLException e) { + fail("Connection.setNetworkTimeout() throw exception"); + } finally { + TestUtil.closeDB(_conn); + } + } + + @Test + public void testSetNetworkTimeoutEnforcement() throws Exception { + Connection _conn = TestUtil.openDB(); + Statement stmt = null; + try { + _conn.setNetworkTimeout(null, (int) TimeUnit.SECONDS.toMillis(1)); + stmt = _conn.createStatement(); + stmt.execute("SELECT pg_sleep(2)"); + fail("Connection.setNetworkTimeout() did not throw expected exception"); + } catch (SQLException e) { + // assertTrue(stmt.isClosed()); + assertTrue(_conn.isClosed()); + } finally { + TestUtil.closeQuietly(stmt); + TestUtil.closeDB(_conn); + } + } +} From 2cae5a199c2d08768ea9f784ee3f60cef244c4b0 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Fri, 24 Nov 2017 02:30:53 -0600 Subject: [PATCH 036/427] fix: first composite query not calling getNativeSql() (#1020) --- pgjdbc/src/main/java/org/postgresql/core/v3/CompositeQuery.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/CompositeQuery.java b/pgjdbc/src/main/java/org/postgresql/core/v3/CompositeQuery.java index 345e39fbd5..789979b657 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/CompositeQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/CompositeQuery.java @@ -44,7 +44,7 @@ public String toString(ParameterList parameters) { @Override public String getNativeSql() { - StringBuilder sbuf = new StringBuilder(subqueries[0].toString()); + StringBuilder sbuf = new StringBuilder(subqueries[0].getNativeSql()); for (int i = 1; i < subqueries.length; ++i) { sbuf.append(';'); sbuf.append(subqueries[i].getNativeSql()); From 8ba58418ae10f80530f67f0c8628161011c5a228 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Fri, 24 Nov 2017 13:30:36 +0100 Subject: [PATCH 037/427] Fix documentation spelling of sslpasswordcallback (#1021) --- docs/documentation/head/connect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 3aa78453cb..87f1e99d16 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -116,7 +116,7 @@ Connection conn = DriverManager.getConnection(url); Class name of hostname verifier. Defaults to using `org.postgresql.ssl.jdbc4.LibPQFactory.verify()` -* **sslpaswordcallback** = String +* **sslpasswordcallback** = String Class name of the SSL password provider. Defaults to `org.postgresql.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler` From 04c5dbb5058008a8ddad0194156af9819595c315 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 26 Nov 2017 15:17:38 +0300 Subject: [PATCH 038/427] fix: prevent statement hang in case close() called when query is in progress Note: Statement#close() is still not thread-safe, however it is much more robust with the fix fixes #1022 --- .../postgresql/jdbc/PgPreparedStatement.java | 18 +-- .../java/org/postgresql/jdbc/PgStatement.java | 50 +++++--- .../java/org/postgresql/util/PSQLState.java | 1 + .../postgresql/test/jdbc2/StatementTest.java | 117 +++++++++++++++++- 4 files changed, 150 insertions(+), 36 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 517e96b6c4..3e9d0d692d 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -182,24 +182,10 @@ protected boolean isOneShotQuery(CachedQuery cachedQuery) { } @Override - public void close() throws SQLException { - if (isClosed) { - return; - } - + public void closeImpl() throws SQLException { if (preparedQuery != null) { - // See #368. We need to prevent closing the same statement twice - // Otherwise we might "release" a query that someone else is already using - // In other words, client does .close() as usual, however cleanup thread might fail to observe - // isClosed=true - synchronized (preparedQuery) { - if (!isClosed) { - ((PgConnection) connection).releaseQuery(preparedQuery); - } - } + ((PgConnection) connection).releaseQuery(preparedQuery); } - - super.close(); } public void setNull(int parameterIndex, int sqlType) throws SQLException { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 7a09f68818..6d2c4f680f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -441,9 +441,7 @@ public void setCursorName(String name) throws SQLException { // No-op. } - // This is intentionally non-volatile to avoid performance hit in isClosed checks - // see #close() - protected boolean isClosed = false; + private volatile boolean isClosed = false; public int getUpdateCount() throws SQLException { checkClosed(); @@ -595,17 +593,27 @@ public java.sql.ResultSet getResultSet() throws SQLException { * * {@inheritDoc} */ - public void close() throws SQLException { + public final void close() throws SQLException { // closing an already closed Statement is a no-op. - if (isClosed) { - return; + synchronized (this) { + if (isClosed) { + return; + } + isClosed = true; } - cleanupTimer(); + cancel(); closeForNextExecution(); - isClosed = true; + closeImpl(); + } + + /** + * This is guaranteed to be called exactly once even in case of concurrent {@link #close()} calls. + * @throws SQLException in case of error + */ + protected void closeImpl() throws SQLException { } /* @@ -646,7 +654,7 @@ public boolean isUseServerPrepare() { } protected void checkClosed() throws SQLException { - if (isClosed) { + if (isClosed()) { throw new PSQLException(GT.tr("This statement has been closed."), PSQLState.OBJECT_NOT_IN_STATE); } @@ -805,18 +813,20 @@ public int[] executeBatch() throws SQLException { } public void cancel() throws SQLException { - if (!STATE_UPDATER.compareAndSet(this, StatementCancelState.IN_QUERY, StatementCancelState.CANCELING)) { + if (statementState == StatementCancelState.IDLE) { + return; + } + if (!STATE_UPDATER.compareAndSet(this, StatementCancelState.IN_QUERY, + StatementCancelState.CANCELING)) { // Not in query, there's nothing to cancel return; } - try { - // Synchronize on connection to avoid spinning in killTimerTask - synchronized (connection) { + // Synchronize on connection to avoid spinning in killTimerTask + synchronized (connection) { + try { connection.cancelQuery(); - } - } finally { - STATE_UPDATER.set(this, StatementCancelState.CANCELLED); - synchronized (connection) { + } finally { + STATE_UPDATER.set(this, StatementCancelState.CANCELLED); connection.notifyAll(); // wake-up killTimerTask } } @@ -925,8 +935,10 @@ private void killTimerTask() { // "timeout error" // We wait till state becomes "cancelled" boolean interrupted = false; - while (!STATE_UPDATER.compareAndSet(this, StatementCancelState.CANCELLED, StatementCancelState.IDLE)) { - synchronized (connection) { + synchronized (connection) { + // state check is performed under synchronized so it detects "cancelled" state faster + // In other words, it prevents unnecessary ".wait()" call + while (!STATE_UPDATER.compareAndSet(this, StatementCancelState.CANCELLED, StatementCancelState.IDLE)) { try { // Note: wait timeout here is irrelevant since synchronized(connection) would block until // .cancel finishes diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index 2197f330a5..a77b4b421d 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -87,6 +87,7 @@ public enum PSQLState { OBJECT_NOT_IN_STATE("55000"), OBJECT_IN_USE("55006"), + QUERY_CANCELED("57014"), SYSTEM_ERROR("60000"), IO_ERROR("58030"), diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 445a15dcc2..5c9063daef 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -18,6 +18,7 @@ import org.postgresql.util.PSQLState; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -27,7 +28,9 @@ import java.sql.SQLException; import java.sql.SQLWarning; import java.sql.Statement; - +import java.util.HashMap; +import java.util.Map; +import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -792,6 +795,118 @@ public void testMultipleCancels() throws Exception { assertEquals(0, sharedTimer.getRefCount()); } + @Test(timeout = 10000) + public void testCloseInProgressStatement() throws Exception { + ExecutorService executor = Executors.newSingleThreadExecutor(); + final Connection outerLockCon = TestUtil.openDB(); + outerLockCon.setAutoCommit(false); + //Acquire an exclusive lock so we can block the notice generating statement + outerLockCon.createStatement().execute("LOCK TABLE test_lock IN ACCESS EXCLUSIVE MODE;"); + + try { + con.createStatement().execute("SET SESSION client_min_messages = 'NOTICE'"); + con.createStatement() + .execute("CREATE OR REPLACE FUNCTION notify_then_sleep() RETURNS VOID AS " + + "$BODY$ " + + "BEGIN " + + "RAISE NOTICE 'start';" + + "LOCK TABLE test_lock IN ACCESS EXCLUSIVE MODE;" + + "END " + + "$BODY$ " + + "LANGUAGE plpgsql;"); + int cancels = 0; + for (int i = 0; i < 100; i++) { + final Statement st = con.createStatement(); + executor.submit(new Callable() { + @Override + public Void call() throws Exception { + long start = System.currentTimeMillis(); + while (st.getWarnings() == null) { + long dt = System.currentTimeMillis() - start; + if (dt > 10000) { + throw new IllegalStateException("Expected to receive a notice within 10 seconds"); + } + } + st.close(); + return null; + } + }); + st.setQueryTimeout(120); + try { + st.execute("select notify_then_sleep()"); + } catch (SQLException e) { + Assert.assertEquals( + "Query is expected to be cancelled via st.close(), got " + e.getMessage(), + PSQLState.QUERY_CANCELED.getState(), + e.getSQLState() + ); + cancels++; + } finally { + TestUtil.closeQuietly(st); + } + } + Assert.assertNotEquals("At least one QUERY_CANCELED state is expected", 0, cancels); + } finally { + executor.shutdown(); + TestUtil.closeQuietly(outerLockCon); + } + } + + @Test(timeout = 20000) + public void testFastCloses() throws SQLException { + ExecutorService executor = Executors.newSingleThreadExecutor(); + con.createStatement().execute("SET SESSION client_min_messages = 'NOTICE'"); + con.createStatement() + .execute("CREATE OR REPLACE FUNCTION notify_then_sleep() RETURNS VOID AS " + + "$BODY$ " + + "BEGIN " + + "RAISE NOTICE 'start';" + + "EXECUTE pg_sleep(1);" // Note: timeout value does not matter here, we just test if test crashes or locks somehow + + "END " + + "$BODY$ " + + "LANGUAGE plpgsql;"); + Map cnt = new HashMap(); + final Random rnd = new Random(); + for (int i = 0; i < 1000; i++) { + final Statement st = con.createStatement(); + executor.submit(new Callable() { + @Override + public Void call() throws Exception { + int s = rnd.nextInt(10); + if (s > 8) { + Thread.sleep(s - 9); + } + st.close(); + return null; + } + }); + ResultSet rs = null; + String sqlState = "0"; + try { + rs = st.executeQuery("select 1"); + // Acceptable + } catch (SQLException e) { + sqlState = e.getSQLState(); + if (!PSQLState.OBJECT_NOT_IN_STATE.getState().equals(sqlState) + && !PSQLState.QUERY_CANCELED.getState().equals(sqlState)) { + Assert.assertEquals( + "Query is expected to be cancelled via st.close(), got " + e.getMessage(), + PSQLState.QUERY_CANCELED.getState(), + e.getSQLState() + ); + } + } finally { + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(st); + } + Integer val = cnt.get(sqlState); + val = (val == null ? 0 : val) + 1; + cnt.put(sqlState, val); + } + System.out.println("[testFastCloses] total counts for each sql state: " + cnt); + executor.shutdown(); + } + /** * Tests that calling {@code java.sql.Statement#close()} from a concurrent thread does not result * in {@link java.util.ConcurrentModificationException} From 41392481d5f2c7f89d783a535ade2d3afb565654 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 26 Nov 2017 17:06:10 +0300 Subject: [PATCH 039/427] fix: synchronize Statement#result field access to make #close() more thread-safe --- .../postgresql/jdbc/PgCallableStatement.java | 10 +- .../postgresql/jdbc/PgPreparedStatement.java | 24 +- .../java/org/postgresql/jdbc/PgStatement.java | 223 +++++++++++------- 3 files changed, 147 insertions(+), 110 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java index 127b5b886e..f1a1660278 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java @@ -87,7 +87,11 @@ public boolean executeWithFlags(int flags) throws SQLException { PSQLState.NO_DATA); } - ResultSet rs = result.getResultSet(); + ResultSet rs; + synchronized (this) { + checkClosed(); + rs = result.getResultSet(); + } if (!rs.next()) { throw new PSQLException(GT.tr("A CallableStatement was executed with nothing returned."), PSQLState.NO_DATA); @@ -146,7 +150,9 @@ public boolean executeWithFlags(int flags) throws SQLException { } rs.close(); - result = null; + synchronized (this) { + result = null; + } return false; } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 3e9d0d692d..28319be328 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -118,12 +118,7 @@ public java.sql.ResultSet executeQuery() throws SQLException { throw new PSQLException(GT.tr("No results were returned by the query."), PSQLState.NO_DATA); } - if (result.getNext() != null) { - throw new PSQLException(GT.tr("Multiple ResultSets were returned by the query."), - PSQLState.TOO_MANY_RESULTS); - } - - return result.getResultSet(); + return getSingleResultSet(); } public int executeUpdate(String p_sql) throws SQLException { @@ -135,17 +130,7 @@ public int executeUpdate(String p_sql) throws SQLException { public int executeUpdate() throws SQLException { executeWithFlags(QueryExecutor.QUERY_NO_RESULTS); - ResultWrapper iter = result; - while (iter != null) { - if (iter.getResultSet() != null) { - throw new PSQLException(GT.tr("A result was returned when none was expected."), - PSQLState.TOO_MANY_RESULTS); - - } - iter = iter.getNext(); - } - - return getUpdateCount(); + return getNoResultUpdateCount(); } public boolean execute(String p_sql) throws SQLException { @@ -168,7 +153,10 @@ public boolean executeWithFlags(int flags) throws SQLException { execute(preparedQuery, preparedParameters, flags); - return (result != null && result.getResultSet() != null); + synchronized (this) { + checkClosed(); + return (result != null && result.getResultSet() != null); + } } finally { defaultTimeZone = null; } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 6d2c4f680f..b70d54c4a6 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -225,28 +225,41 @@ public java.sql.ResultSet executeQuery(String p_sql) throws SQLException { throw new PSQLException(GT.tr("No results were returned by the query."), PSQLState.NO_DATA); } - if (result.getNext() != null) { - throw new PSQLException(GT.tr("Multiple ResultSets were returned by the query."), - PSQLState.TOO_MANY_RESULTS); - } + return getSingleResultSet(); + } + + protected java.sql.ResultSet getSingleResultSet() throws SQLException { + synchronized (this) { + checkClosed(); + if (result.getNext() != null) { + throw new PSQLException(GT.tr("Multiple ResultSets were returned by the query."), + PSQLState.TOO_MANY_RESULTS); + } - return result.getResultSet(); + return result.getResultSet(); + } } public int executeUpdate(String p_sql) throws SQLException { executeWithFlags(p_sql, QueryExecutor.QUERY_NO_RESULTS); + return getNoResultUpdateCount(); + } - ResultWrapper iter = result; - while (iter != null) { - if (iter.getResultSet() != null) { - throw new PSQLException(GT.tr("A result was returned when none was expected."), - PSQLState.TOO_MANY_RESULTS); + protected int getNoResultUpdateCount() throws SQLException { + synchronized (this) { + checkClosed(); + ResultWrapper iter = result; + while (iter != null) { + if (iter.getResultSet() != null) { + throw new PSQLException(GT.tr("A result was returned when none was expected."), + PSQLState.TOO_MANY_RESULTS); + } + iter = iter.getNext(); } - iter = iter.getNext(); - } - return getUpdateCount(); + return getUpdateCount(); + } } public boolean execute(String p_sql) throws SQLException { @@ -292,7 +305,10 @@ public boolean executeWithFlags(CachedQuery simpleQuery, int flags) throws SQLEx flags |= QueryExecutor.QUERY_EXECUTE_AS_SIMPLE; } execute(simpleQuery, null, flags); - return (result != null && result.getResultSet() != null); + synchronized (this) { + checkClosed(); + return (result != null && result.getResultSet() != null); + } } public boolean executeWithFlags(int flags) throws SQLException { @@ -306,20 +322,22 @@ protected void closeForNextExecution() throws SQLException { clearWarnings(); // Close any existing resultsets associated with this statement. - while (firstUnclosedResult != null) { - ResultSet rs = firstUnclosedResult.getResultSet(); - if (rs != null) { - rs.close(); + synchronized (this) { + while (firstUnclosedResult != null) { + ResultSet rs = firstUnclosedResult.getResultSet(); + if (rs != null) { + rs.close(); + } + firstUnclosedResult = firstUnclosedResult.getNext(); } - firstUnclosedResult = firstUnclosedResult.getNext(); - } - result = null; + result = null; - if (generatedKeys != null) { - if (generatedKeys.getResultSet() != null) { - generatedKeys.getResultSet().close(); + if (generatedKeys != null) { + if (generatedKeys.getResultSet() != null) { + generatedKeys.getResultSet().close(); + } + generatedKeys = null; } - generatedKeys = null; } } @@ -415,7 +433,9 @@ private void executeInternal(CachedQuery cachedQuery, ParameterList queryParamet } StatementResultHandler handler = new StatementResultHandler(); - result = null; + synchronized (this) { + result = null; + } try { startTimer(); connection.getQueryExecutor().execute(queryToExecute, queryParameters, handler, maxrows, @@ -423,17 +443,19 @@ private void executeInternal(CachedQuery cachedQuery, ParameterList queryParamet } finally { killTimerTask(); } - result = firstUnclosedResult = handler.getResults(); + synchronized (this) { + checkClosed(); + result = firstUnclosedResult = handler.getResults(); - if (wantsGeneratedKeysOnce || wantsGeneratedKeysAlways) { - generatedKeys = result; - result = result.getNext(); + if (wantsGeneratedKeysOnce || wantsGeneratedKeysAlways) { + generatedKeys = result; + result = result.getNext(); - if (wantsGeneratedKeysOnce) { - wantsGeneratedKeysOnce = false; + if (wantsGeneratedKeysOnce) { + wantsGeneratedKeysOnce = false; + } } } - } public void setCursorName(String name) throws SQLException { @@ -444,30 +466,35 @@ public void setCursorName(String name) throws SQLException { private volatile boolean isClosed = false; public int getUpdateCount() throws SQLException { - checkClosed(); - if (result == null || result.getResultSet() != null) { - return -1; - } + synchronized (this) { + checkClosed(); + if (result == null || result.getResultSet() != null) { + return -1; + } - return result.getUpdateCount(); + return result.getUpdateCount(); + } } public boolean getMoreResults() throws SQLException { - if (result == null) { - return false; - } + synchronized (this) { + checkClosed(); + if (result == null) { + return false; + } - result = result.getNext(); + result = result.getNext(); - // Close preceding resultsets. - while (firstUnclosedResult != result) { - if (firstUnclosedResult.getResultSet() != null) { - firstUnclosedResult.getResultSet().close(); + // Close preceding resultsets. + while (firstUnclosedResult != result) { + if (firstUnclosedResult.getResultSet() != null) { + firstUnclosedResult.getResultSet().close(); + } + firstUnclosedResult = firstUnclosedResult.getNext(); } - firstUnclosedResult = firstUnclosedResult.getNext(); - } - return (result != null && result.getResultSet() != null); + return (result != null && result.getResultSet() != null); + } } public int getMaxRows() throws SQLException { @@ -578,13 +605,15 @@ public void clearWarnings() throws SQLException { } public java.sql.ResultSet getResultSet() throws SQLException { - checkClosed(); + synchronized (this) { + checkClosed(); - if (result == null) { - return null; - } + if (result == null) { + return null; + } - return result.getResultSet(); + return result.getResultSet(); + } } /** @@ -623,11 +652,13 @@ protected void closeImpl() throws SQLException { */ public long getLastOID() throws SQLException { - checkClosed(); - if (result == null) { - return 0; + synchronized (this) { + checkClosed(); + if (result == null) { + return 0; + } + return result.getInsertOID(); } - return result.getInsertOID(); } public void setPrepareThreshold(int newThreshold) throws SQLException { @@ -795,7 +826,9 @@ public int[] executeBatch() throws SQLException { } } - result = null; + synchronized (this) { + result = null; + } try { startTimer(); @@ -804,8 +837,11 @@ public int[] executeBatch() throws SQLException { } finally { killTimerTask(); // There might be some rows generated even in case of failures - if (wantsGeneratedKeysAlways) { - generatedKeys = new ResultWrapper(handler.getGeneratedKeys()); + synchronized (this) { + checkClosed(); + if (wantsGeneratedKeysAlways) { + generatedKeys = new ResultWrapper(handler.getGeneratedKeys()); + } } } @@ -1032,12 +1068,14 @@ protected void checkCompletion() throws SQLException { return; } - ResultWrapper result = firstUnclosedResult; - while (result != null) { - if (result.getResultSet() != null && !result.getResultSet().isClosed()) { - return; + synchronized (this) { + ResultWrapper result = firstUnclosedResult; + while (result != null) { + if (result.getResultSet() != null && !result.getResultSet().isClosed()) { + return; + } + result = result.getNext(); } - result = result.getNext(); } // prevent all ResultSet.close arising from Statement.close to loop here @@ -1051,39 +1089,44 @@ protected void checkCompletion() throws SQLException { } public boolean getMoreResults(int current) throws SQLException { - // CLOSE_CURRENT_RESULT - if (current == Statement.CLOSE_CURRENT_RESULT && result != null - && result.getResultSet() != null) { - result.getResultSet().close(); - } + synchronized (this) { + checkClosed(); + // CLOSE_CURRENT_RESULT + if (current == Statement.CLOSE_CURRENT_RESULT && result != null + && result.getResultSet() != null) { + result.getResultSet().close(); + } - // Advance resultset. - if (result != null) { - result = result.getNext(); - } + // Advance resultset. + if (result != null) { + result = result.getNext(); + } - // CLOSE_ALL_RESULTS - if (current == Statement.CLOSE_ALL_RESULTS) { - // Close preceding resultsets. - while (firstUnclosedResult != result) { - if (firstUnclosedResult.getResultSet() != null) { - firstUnclosedResult.getResultSet().close(); + // CLOSE_ALL_RESULTS + if (current == Statement.CLOSE_ALL_RESULTS) { + // Close preceding resultsets. + while (firstUnclosedResult != result) { + if (firstUnclosedResult.getResultSet() != null) { + firstUnclosedResult.getResultSet().close(); + } + firstUnclosedResult = firstUnclosedResult.getNext(); } - firstUnclosedResult = firstUnclosedResult.getNext(); } - } - // Done. - return (result != null && result.getResultSet() != null); + // Done. + return (result != null && result.getResultSet() != null); + } } public ResultSet getGeneratedKeys() throws SQLException { - checkClosed(); - if (generatedKeys == null || generatedKeys.getResultSet() == null) { - return createDriverResultSet(new Field[0], new ArrayList()); - } + synchronized (this) { + checkClosed(); + if (generatedKeys == null || generatedKeys.getResultSet() == null) { + return createDriverResultSet(new Field[0], new ArrayList()); + } - return generatedKeys.getResultSet(); + return generatedKeys.getResultSet(); + } } public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { From d74386def0d39f450f5dcfdb21ff6171ba0a89f3 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Tue, 28 Nov 2017 00:14:16 +0600 Subject: [PATCH 040/427] style: add MissingDeprecated into checkstyle (#1019) --- pgjdbc/src/main/checkstyle/checks.xml | 1 + pgjdbc/src/main/java/org/postgresql/PGConnection.java | 1 + pgjdbc/src/main/java/org/postgresql/PGRefCursorResultSet.java | 2 ++ pgjdbc/src/main/java/org/postgresql/PGStatement.java | 1 + .../src/main/java/org/postgresql/largeobject/LargeObject.java | 1 + 5 files changed, 6 insertions(+) diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index 36a3e6580b..ff8e7ad637 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -91,6 +91,7 @@ value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/> + diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index 3182ebae8e..2456098104 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -83,6 +83,7 @@ public interface PGConnection { * does not work correctly for registering classes that cannot be directly loaded by * the JDBC driver's classloader. */ + @Deprecated void addDataType(String type, String className); /** diff --git a/pgjdbc/src/main/java/org/postgresql/PGRefCursorResultSet.java b/pgjdbc/src/main/java/org/postgresql/PGRefCursorResultSet.java index 293aa0c62c..8fc678b9f7 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGRefCursorResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/PGRefCursorResultSet.java @@ -12,6 +12,7 @@ * code should call getString() on the ResultSet that contains the refcursor to obtain * the underlying cursor name. */ +@Deprecated public interface PGRefCursorResultSet { /** @@ -19,5 +20,6 @@ public interface PGRefCursorResultSet { * @deprecated As of 8.0, replaced with calling getString() on the ResultSet that this ResultSet * was obtained from. */ + @Deprecated String getRefCursor(); } diff --git a/pgjdbc/src/main/java/org/postgresql/PGStatement.java b/pgjdbc/src/main/java/org/postgresql/PGStatement.java index c11adb9ff4..b1d53872b1 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/PGStatement.java @@ -43,6 +43,7 @@ public interface PGStatement { * @since 7.3 * @deprecated As of build 302, replaced by {@link #setPrepareThreshold(int)} */ + @Deprecated void setUseServerPrepare(boolean flag) throws SQLException; /** diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java index b486ea40ed..38469a5786 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java @@ -141,6 +141,7 @@ public LargeObject copy() throws SQLException { * @return the OID of this LargeObject * @deprecated As of 8.3, replaced by {@link #getLongOID()} */ + @Deprecated public int getOID() { return (int) oid; } From fd0eeee8f123b1355b523425a1e11fdd59b057a5 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 28 Nov 2017 11:37:35 +0300 Subject: [PATCH 041/427] fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ (#1002) closes #986 --- .../java/org/postgresql/core/JavaVersion.java | 46 +++++++++++++++++++ .../org/postgresql/jdbc/TimestampUtils.java | 17 ++++--- .../postgresql/test/core/JavaVersionTest.java | 24 ++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + 4 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/core/JavaVersionTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java b/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java new file mode 100644 index 0000000000..82773b27fc --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +public enum JavaVersion { + // Note: order is important, + v1_6, + v1_7, + v1_8, + other; + + private static final JavaVersion RUNTIME_VERSION = from(System.getProperty("java.version")); + + /** + * Returns enum value that represents current runtime. For instance, when using -jre7.jar via Java + * 8, this would return v18 + * + * @return enum value that represents current runtime. + */ + public static JavaVersion getRuntimeVersion() { + return RUNTIME_VERSION; + } + + /** + * Java version string like in {@code "java.version"} property + * + * @param version string like 1.6, 1.7, etc + * @return JavaVersion enum + */ + public static JavaVersion from(String version) { + // Minimum supported is Java 1.6 + if (version.startsWith("1.6")) { + return v1_6; + } + if (version.startsWith("1.7")) { + return v1_7; + } + if (version.startsWith("1.8")) { + return v1_8; + } + return other; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 7495136661..aad8d137a3 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -6,6 +6,7 @@ package org.postgresql.jdbc; import org.postgresql.PGStatement; +import org.postgresql.core.JavaVersion; import org.postgresql.core.Oid; import org.postgresql.core.Provider; import org.postgresql.util.ByteConverter; @@ -85,12 +86,16 @@ public class TimestampUtils { // This saves the creation of a clone everytime, and the memory associated to all these clones. Field tzField; try { - tzField = TimeZone.class.getDeclaredField("defaultTimeZone"); - tzField.setAccessible(true); - TimeZone defaultTz = TimeZone.getDefault(); - Object tzFromField = tzField.get(null); - if (defaultTz == null || !defaultTz.equals(tzFromField)) { - tzField = null; + tzField = null; + // Avoid reflective access in Java 9+ + if (JavaVersion.getRuntimeVersion().compareTo(JavaVersion.v1_8) <= 0) { + tzField = TimeZone.class.getDeclaredField("defaultTimeZone"); + tzField.setAccessible(true); + TimeZone defaultTz = TimeZone.getDefault(); + Object tzFromField = tzField.get(null); + if (defaultTz == null || !defaultTz.equals(tzFromField)) { + tzField = null; + } } } catch (Exception e) { tzField = null; diff --git a/pgjdbc/src/test/java/org/postgresql/test/core/JavaVersionTest.java b/pgjdbc/src/test/java/org/postgresql/test/core/JavaVersionTest.java new file mode 100644 index 0000000000..ebac017a08 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/core/JavaVersionTest.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.core; + +import org.postgresql.core.JavaVersion; + +import org.junit.Assert; +import org.junit.Test; + +public class JavaVersionTest { + @Test + public void testGetRuntimeVersion() { + String currentVersion = System.getProperty("java.version"); + String msg = "java.version = " + currentVersion + ", JavaVersion.getRuntimeVersion() = " + + JavaVersion.getRuntimeVersion(); + System.out.println(msg); + if (currentVersion.startsWith("1.8")) { + Assert.assertEquals(msg, JavaVersion.v1_8, JavaVersion.getRuntimeVersion()); + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 188183a15b..87a04e3ea3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -9,6 +9,7 @@ import org.postgresql.core.ReturningParserTest; import org.postgresql.core.v3.V3ParameterListTests; import org.postgresql.jdbc.DeepBatchedInsertStatementTest; +import org.postgresql.test.core.JavaVersionTest; import org.postgresql.test.core.NativeQueryBindLengthTest; import org.postgresql.test.util.ExpressionPropertiesTest; import org.postgresql.test.util.LruCacheTest; @@ -25,6 +26,7 @@ @RunWith(Suite.class) @Suite.SuiteClasses({ ANTTest.class, + JavaVersionTest.class, DriverTest.class, ConnectionTest.class, From 69e3b8b2ef7fb80ece8df23b55855fa4208e8a00 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Tue, 28 Nov 2017 22:04:33 +0600 Subject: [PATCH 042/427] chore: update checkstyle (#1025) --- pgjdbc/pom.xml | 2 +- pgjdbc/src/main/checkstyle/checks.xml | 11 +++++------ ubenchmark/pom.xml | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 9f74a37379..26f523c3f5 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -33,7 +33,7 @@ 4.2 42 false - 7.8.2 + 8.5 diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index ff8e7ad637..4b4c089c37 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -22,10 +22,6 @@ - - - - @@ -37,8 +33,11 @@ - - + + + + + diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index 7c7c1995c4..b21c2bc11e 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -80,7 +80,7 @@ POSSIBILITY OF SUCH DAMAGE. com.puppycrawl.tools checkstyle - 6.13 + 8.5 From 4e0cdc13ec659f21a318b05c3a67cac7c75c957e Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 29 Nov 2017 14:09:03 +0100 Subject: [PATCH 043/427] packaging: rpm_ci: add missing BuildRequires --- packaging/rpm/postgresql-jdbc.spec.tpl | 170 +------------------------ 1 file changed, 5 insertions(+), 165 deletions(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index 5b9146629e..4d43549e9d 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -68,6 +68,9 @@ BuildRequires: maven-plugin-bundle BuildRequires: maven-plugin-build-helper BuildRequires: classloader-leak-test-framework +BuildRequires: mvn(com.ongres.scram:client) +BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) + %if %runselftest BuildRequires: postgresql-contrib BuildRequires: postgresql-devel @@ -185,168 +188,5 @@ opts="-f" %changelog -* Thu Nov 03 2016 Pavel Raiskup - 9.5.git-1 -- sync with latest Fedora - -* Wed Jun 01 2016 Pavel Raiskup - 9.5.git-1 -- update to work with tarball from git version of jdbc - -* Wed Apr 13 2016 Pavel Raiskup - 9.4.1208-8 -- merge parent-poms and pgjdbc downstream (having separate package does not seem - to be necessary at all) - -* Tue Apr 12 2016 Pavel Raiskup - 9.4.1208-7 -- fix testsuite for fedora 24 - -* Tue Apr 12 2016 Pavel Kajaba - 9.4.1208-6 -- Added script to enable testing - -* Fri Apr 08 2016 Pavel Raiskup - 9.4.1208-5 -- enable testsuite for each build, to-be-fixed-yet - -* Fri Apr 08 2016 Pavel Raiskup - 9.4.1208-4 -- apply the work-around for maven-compiler-plugin && jcp issue - -* Fri Apr 08 2016 Pavel Raiskup - 9.4.1208-3 -- bump - -* Thu Jun 18 2015 Fedora Release Engineering - 9.4.1200-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Feb 04 2015 Pavel Raiskup - 9.4.1200-1 -- rebase to most recent version (#1188827) - -* Mon Jul 14 2014 Pavel Raiskup - 9.3.1102-1 -- Rebase to most recent version (#1118667) -- revert back upstream commit for travis build - -* Sat Jun 07 2014 Fedora Release Engineering - 9.3.1101-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon May 19 2014 Pavel Raiskup - 9.3.1101-3 -- run upstream testsuite when '%%runselftest' defined - -* Wed Apr 23 2014 Mikolaj Izdebski - 9.3.1101-2 -- Add explicit requires on java-headless - -* Wed Apr 23 2014 Pavel Raiskup - 9.3.1101-1 -- Rebase to most recent version (#1090366) - -* Fri Mar 28 2014 Michael Simacek - 9.2.1002-5 -- Use Requires: java-headless rebuild (#1067528) - -* Tue Aug 06 2013 Pavel Raiskup - 9.2.1002-4 -- add javadoc subpackage - -* Tue Aug 06 2013 Pavel Raiskup - 9.2.1002-4 -- don't use removed macro %%add_to_maven_depmap (#992816) -- lint: trim-lines, reuse %%{name} macro, fedora-review fixes -- merge cleanup changes by Stano Ochotnicky - -* Sun Aug 04 2013 Fedora Release Engineering - 9.2.1002-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 9.2.1002-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Nov 14 2012 Tom Lane 9.2.1002-1 -- Update to build 9.2-1002 (just to correct mispackaging of source tarball) - -* Tue Nov 13 2012 Tom Lane 9.2.1001-1 -- Update to build 9.2-1001 for compatibility with PostgreSQL 9.2 - -* Sun Jul 22 2012 Tom Lane 9.1.902-1 -- Update to build 9.1-902 - -* Sat Jul 21 2012 Fedora Release Engineering - 9.1.901-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Feb 23 2012 Tom Lane 9.1.901-3 -- Change BuildRequires: java-1.6.0-openjdk-devel to just java-devel. - As of 9.1-901, upstream has support for JDBC4.1, so we don't have to - restrict to JDK6 anymore, and Fedora is moving to JDK7 -Resolves: #796580 - -* Sat Jan 14 2012 Fedora Release Engineering - 9.1.901-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Sep 12 2011 Tom Lane 9.1.901-1 -- Update to build 9.1-901 for compatibility with PostgreSQL 9.1 - -* Mon Aug 15 2011 Tom Lane 9.0.801-4 -- Add BuildRequires: java-1.6.0-openjdk-devel to ensure we have recent JDK -Related: #730588 -- Remove long-obsolete minimum versions from BuildRequires - -* Sun Jul 17 2011 Tom Lane 9.0.801-3 -- Switch to non-GCJ build, since GCJ is now deprecated in Fedora -Resolves: #722247 -- Use %%{_mavendepmapfragdir} to fix FTBFS with maven 3 - -* Wed Feb 09 2011 Fedora Release Engineering - 9.0.801-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Dec 29 2010 Tom Lane 9.0.801-1 -- Update to build 9.0-801 - -* Mon May 31 2010 Tom Lane 8.4.701-4 -- Update gcj_support sections to meet Packaging/GCJGuidelines; - fixes FTBFS in F-14 rawhide - -* Tue Nov 24 2009 Tom Lane 8.4.701-3 -- Seems the .pom file *must* have a package version number in it, sigh -Resolves: #538487 - -* Mon Nov 23 2009 Tom Lane 8.4.701-2 -- Add a .pom file to ease use by maven-based packages (courtesy Deepak Bhole) -Resolves: #538487 - -* Tue Aug 18 2009 Tom Lane 8.4.701-1 -- Update to build 8.4-701 - -* Sun Jul 26 2009 Fedora Release Engineering - 0:8.3.603-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Tue Apr 21 2009 Tom Lane 8.3.603-3 -- Avoid multilib conflict caused by overeager attempt to rebuild translations - -* Thu Feb 26 2009 Fedora Release Engineering - 0:8.3.603-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Wed Jul 9 2008 Tom "spot" Callaway 8.3.603-1.1 -- drop repotag - -* Tue Feb 12 2008 Tom Lane 8.3.603-1jpp -- Update to build 8.3-603 - -* Sun Aug 12 2007 Tom Lane 8.2.506-1jpp -- Update to build 8.2-506 - -* Tue Apr 24 2007 Tom Lane 8.2.505-1jpp -- Update to build 8.2-505 -- Work around 1.4 vs 1.5 versioning inconsistency - -* Fri Dec 15 2006 Tom Lane 8.2.504-1jpp -- Update to build 8.2-504 - -* Wed Aug 16 2006 Tom Lane 8.1.407-1jpp.4 -- Fix Requires: for rebuild-gcj-db (bz #202544) - -* Wed Aug 16 2006 Fernando Nasser 8.1.407-1jpp.3 -- Merge with upstream - -* Sat Jul 22 2006 Jakub Jelinek 8.1.407-1jpp.2 -- Rebuilt - -* Wed Jul 12 2006 Jesse Keating - 0:8.1.407-1jpp.1 -- rebuild - -* Wed Jun 14 2006 Tom Lane 8.1.407-1jpp -- Update to build 8.1-407 - -* Mon Mar 27 2006 Tom Lane 8.1.405-2jpp -- Back-patch upstream fix to support unspecified-type strings. - -* Thu Feb 16 2006 Tom Lane 8.1.405-1jpp -- Split postgresql-jdbc into its own SRPM (at last). -- Build it from source. Add support for gcj compilation. +* Wed Nov 29 2017 Pavel Raiskup - 9.5.git +- no changelog in this spec file (upstream git) From 1fd6c4fe5ccc93ab7d08bf77bcd5344bc60dd334 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Thu, 30 Nov 2017 11:47:12 +0100 Subject: [PATCH 044/427] packaging: rpm_ci: don't shade scram jar into pgjdbc Drop the maven-shade-plugin dependency entirely. Complements: 4e0cdc13ec659f --- packaging/rpm/postgresql-jdbc.spec.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index 4d43549e9d..0bb4f2a566 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -69,7 +69,6 @@ BuildRequires: maven-plugin-build-helper BuildRequires: classloader-leak-test-framework BuildRequires: mvn(com.ongres.scram:client) -BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) %if %runselftest BuildRequires: postgresql-contrib @@ -116,6 +115,7 @@ find -name "*.jar" -or -name "*.class" | xargs rm -f %pom_xpath_inject pom:modules "%parent_poms_builddir" %pom_xpath_inject pom:parent "pgjdbc-parent-poms/pgjdbc-versions" %pom_xpath_set pom:relativePath ../pgjdbc-parent-poms/pgjdbc-core-parent pgjdbc +%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-shade-plugin']" pgjdbc # compat symlink: requested by dtardon (libreoffice), reverts part of # 0af97ce32de877 commit. From 405f14eefc9d7e01bfaa1b526f1a6a0bac50d3c4 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 30 Nov 2017 05:20:26 -0600 Subject: [PATCH 045/427] drop old and unused crypt auth (#1026) --- .../core/v3/ConnectionFactoryImpl.java | 30 - .../java/org/postgresql/util/UnixCrypt.java | 590 ------------------ 2 files changed, 620 deletions(-) delete mode 100644 pgjdbc/src/main/java/org/postgresql/util/UnixCrypt.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 92da28d6ee..ccd782206e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -27,7 +27,6 @@ import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; import org.postgresql.util.ServerErrorMessage; -import org.postgresql.util.UnixCrypt; import java.io.IOException; import java.net.ConnectException; @@ -456,35 +455,6 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope // Process the request. switch (areq) { - case AUTH_REQ_CRYPT: { - byte[] salt = pgStream.receive(2); - - if (LOGGER.isLoggable(Level.FINEST)) { - LOGGER.log(Level.FINEST, " <=BE AuthenticationReqCrypt(salt=''{0}'')", new String(salt, "US-ASCII")); - } - - if (password == null) { - throw new PSQLException( - GT.tr( - "The server requested password-based authentication, but no password was provided."), - PSQLState.CONNECTION_REJECTED); - } - - byte[] encodedResult = UnixCrypt.crypt(salt, password.getBytes("UTF-8")); - - if (LOGGER.isLoggable(Level.FINEST)) { - LOGGER.log(Level.FINEST, " FE=> Password(crypt=''{0}'')", new String(encodedResult, "US-ASCII")); - } - - pgStream.sendChar('p'); - pgStream.sendInteger4(4 + encodedResult.length + 1); - pgStream.send(encodedResult); - pgStream.sendChar(0); - pgStream.flush(); - - break; - } - case AUTH_REQ_MD5: { byte[] md5Salt = pgStream.receive(4); if (LOGGER.isLoggable(Level.FINEST)) { diff --git a/pgjdbc/src/main/java/org/postgresql/util/UnixCrypt.java b/pgjdbc/src/main/java/org/postgresql/util/UnixCrypt.java deleted file mode 100644 index 32a75193cb..0000000000 --- a/pgjdbc/src/main/java/org/postgresql/util/UnixCrypt.java +++ /dev/null @@ -1,590 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.util; - -/** - * Contains static methods to encrypt and compare passwords with Unix encrypted passwords. - *

- * See John Dumas's Java Crypt page for the - * original source. - *

- * - * @author jdumas@zgs.com (John Dumas) - */ -public class UnixCrypt extends Object { - // - // Null constructor - can't instantiate class - private UnixCrypt() { - } - - private static final int ITERATIONS = 16; - - private static final int[] con_salt = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, - 0x0A, 0x0B, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, - 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, - 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, - 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, - 0x23, 0x24, 0x25, 0x20, 0x21, 0x22, 0x23, 0x24, - 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, - 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, - 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, - 0x3D, 0x3E, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, - }; - - private static final boolean[] shifts2 = { - false, false, true, true, true, true, true, true, - false, true, true, true, true, true, true, false - }; - - private static final int[][] skb = {{ - /* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ - 0x00000000, 0x00000010, 0x20000000, 0x20000010, - 0x00010000, 0x00010010, 0x20010000, 0x20010010, - 0x00000800, 0x00000810, 0x20000800, 0x20000810, - 0x00010800, 0x00010810, 0x20010800, 0x20010810, - 0x00000020, 0x00000030, 0x20000020, 0x20000030, - 0x00010020, 0x00010030, 0x20010020, 0x20010030, - 0x00000820, 0x00000830, 0x20000820, 0x20000830, - 0x00010820, 0x00010830, 0x20010820, 0x20010830, - 0x00080000, 0x00080010, 0x20080000, 0x20080010, - 0x00090000, 0x00090010, 0x20090000, 0x20090010, - 0x00080800, 0x00080810, 0x20080800, 0x20080810, - 0x00090800, 0x00090810, 0x20090800, 0x20090810, - 0x00080020, 0x00080030, 0x20080020, 0x20080030, - 0x00090020, 0x00090030, 0x20090020, 0x20090030, - 0x00080820, 0x00080830, 0x20080820, 0x20080830, - 0x00090820, 0x00090830, 0x20090820, 0x20090830}, { - /* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */ - 0x00000000, 0x02000000, 0x00002000, 0x02002000, - 0x00200000, 0x02200000, 0x00202000, 0x02202000, - 0x00000004, 0x02000004, 0x00002004, 0x02002004, - 0x00200004, 0x02200004, 0x00202004, 0x02202004, - 0x00000400, 0x02000400, 0x00002400, 0x02002400, - 0x00200400, 0x02200400, 0x00202400, 0x02202400, - 0x00000404, 0x02000404, 0x00002404, 0x02002404, - 0x00200404, 0x02200404, 0x00202404, 0x02202404, - 0x10000000, 0x12000000, 0x10002000, 0x12002000, - 0x10200000, 0x12200000, 0x10202000, 0x12202000, - 0x10000004, 0x12000004, 0x10002004, 0x12002004, - 0x10200004, 0x12200004, 0x10202004, 0x12202004, - 0x10000400, 0x12000400, 0x10002400, 0x12002400, - 0x10200400, 0x12200400, 0x10202400, 0x12202400, - 0x10000404, 0x12000404, 0x10002404, 0x12002404, - 0x10200404, 0x12200404, 0x10202404, 0x12202404}, { - /* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */ - 0x00000000, 0x00000001, 0x00040000, 0x00040001, - 0x01000000, 0x01000001, 0x01040000, 0x01040001, - 0x00000002, 0x00000003, 0x00040002, 0x00040003, - 0x01000002, 0x01000003, 0x01040002, 0x01040003, - 0x00000200, 0x00000201, 0x00040200, 0x00040201, - 0x01000200, 0x01000201, 0x01040200, 0x01040201, - 0x00000202, 0x00000203, 0x00040202, 0x00040203, - 0x01000202, 0x01000203, 0x01040202, 0x01040203, - 0x08000000, 0x08000001, 0x08040000, 0x08040001, - 0x09000000, 0x09000001, 0x09040000, 0x09040001, - 0x08000002, 0x08000003, 0x08040002, 0x08040003, - 0x09000002, 0x09000003, 0x09040002, 0x09040003, - 0x08000200, 0x08000201, 0x08040200, 0x08040201, - 0x09000200, 0x09000201, 0x09040200, 0x09040201, - 0x08000202, 0x08000203, 0x08040202, 0x08040203, - 0x09000202, 0x09000203, 0x09040202, 0x09040203}, { - /* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */ - 0x00000000, 0x00100000, 0x00000100, 0x00100100, - 0x00000008, 0x00100008, 0x00000108, 0x00100108, - 0x00001000, 0x00101000, 0x00001100, 0x00101100, - 0x00001008, 0x00101008, 0x00001108, 0x00101108, - 0x04000000, 0x04100000, 0x04000100, 0x04100100, - 0x04000008, 0x04100008, 0x04000108, 0x04100108, - 0x04001000, 0x04101000, 0x04001100, 0x04101100, - 0x04001008, 0x04101008, 0x04001108, 0x04101108, - 0x00020000, 0x00120000, 0x00020100, 0x00120100, - 0x00020008, 0x00120008, 0x00020108, 0x00120108, - 0x00021000, 0x00121000, 0x00021100, 0x00121100, - 0x00021008, 0x00121008, 0x00021108, 0x00121108, - 0x04020000, 0x04120000, 0x04020100, 0x04120100, - 0x04020008, 0x04120008, 0x04020108, 0x04120108, - 0x04021000, 0x04121000, 0x04021100, 0x04121100, - 0x04021008, 0x04121008, 0x04021108, 0x04121108}, { - /* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ - 0x00000000, 0x10000000, 0x00010000, 0x10010000, - 0x00000004, 0x10000004, 0x00010004, 0x10010004, - 0x20000000, 0x30000000, 0x20010000, 0x30010000, - 0x20000004, 0x30000004, 0x20010004, 0x30010004, - 0x00100000, 0x10100000, 0x00110000, 0x10110000, - 0x00100004, 0x10100004, 0x00110004, 0x10110004, - 0x20100000, 0x30100000, 0x20110000, 0x30110000, - 0x20100004, 0x30100004, 0x20110004, 0x30110004, - 0x00001000, 0x10001000, 0x00011000, 0x10011000, - 0x00001004, 0x10001004, 0x00011004, 0x10011004, - 0x20001000, 0x30001000, 0x20011000, 0x30011000, - 0x20001004, 0x30001004, 0x20011004, 0x30011004, - 0x00101000, 0x10101000, 0x00111000, 0x10111000, - 0x00101004, 0x10101004, 0x00111004, 0x10111004, - 0x20101000, 0x30101000, 0x20111000, 0x30111000, - 0x20101004, 0x30101004, 0x20111004, 0x30111004}, { - /* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */ - 0x00000000, 0x08000000, 0x00000008, 0x08000008, - 0x00000400, 0x08000400, 0x00000408, 0x08000408, - 0x00020000, 0x08020000, 0x00020008, 0x08020008, - 0x00020400, 0x08020400, 0x00020408, 0x08020408, - 0x00000001, 0x08000001, 0x00000009, 0x08000009, - 0x00000401, 0x08000401, 0x00000409, 0x08000409, - 0x00020001, 0x08020001, 0x00020009, 0x08020009, - 0x00020401, 0x08020401, 0x00020409, 0x08020409, - 0x02000000, 0x0A000000, 0x02000008, 0x0A000008, - 0x02000400, 0x0A000400, 0x02000408, 0x0A000408, - 0x02020000, 0x0A020000, 0x02020008, 0x0A020008, - 0x02020400, 0x0A020400, 0x02020408, 0x0A020408, - 0x02000001, 0x0A000001, 0x02000009, 0x0A000009, - 0x02000401, 0x0A000401, 0x02000409, 0x0A000409, - 0x02020001, 0x0A020001, 0x02020009, 0x0A020009, - 0x02020401, 0x0A020401, 0x02020409, 0x0A020409}, { - /* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */ - 0x00000000, 0x00000100, 0x00080000, 0x00080100, - 0x01000000, 0x01000100, 0x01080000, 0x01080100, - 0x00000010, 0x00000110, 0x00080010, 0x00080110, - 0x01000010, 0x01000110, 0x01080010, 0x01080110, - 0x00200000, 0x00200100, 0x00280000, 0x00280100, - 0x01200000, 0x01200100, 0x01280000, 0x01280100, - 0x00200010, 0x00200110, 0x00280010, 0x00280110, - 0x01200010, 0x01200110, 0x01280010, 0x01280110, - 0x00000200, 0x00000300, 0x00080200, 0x00080300, - 0x01000200, 0x01000300, 0x01080200, 0x01080300, - 0x00000210, 0x00000310, 0x00080210, 0x00080310, - 0x01000210, 0x01000310, 0x01080210, 0x01080310, - 0x00200200, 0x00200300, 0x00280200, 0x00280300, - 0x01200200, 0x01200300, 0x01280200, 0x01280300, - 0x00200210, 0x00200310, 0x00280210, 0x00280310, - 0x01200210, 0x01200310, 0x01280210, 0x01280310}, { - /* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */ - 0x00000000, 0x04000000, 0x00040000, 0x04040000, - 0x00000002, 0x04000002, 0x00040002, 0x04040002, - 0x00002000, 0x04002000, 0x00042000, 0x04042000, - 0x00002002, 0x04002002, 0x00042002, 0x04042002, - 0x00000020, 0x04000020, 0x00040020, 0x04040020, - 0x00000022, 0x04000022, 0x00040022, 0x04040022, - 0x00002020, 0x04002020, 0x00042020, 0x04042020, - 0x00002022, 0x04002022, 0x00042022, 0x04042022, - 0x00000800, 0x04000800, 0x00040800, 0x04040800, - 0x00000802, 0x04000802, 0x00040802, 0x04040802, - 0x00002800, 0x04002800, 0x00042800, 0x04042800, - 0x00002802, 0x04002802, 0x00042802, 0x04042802, - 0x00000820, 0x04000820, 0x00040820, 0x04040820, - 0x00000822, 0x04000822, 0x00040822, 0x04040822, - 0x00002820, 0x04002820, 0x00042820, 0x04042820, - 0x00002822, 0x04002822, 0x00042822, 0x04042822}, - }; - - private static final int[][] SPtrans = {{ - /* nibble 0 */ - 0x00820200, 0x00020000, 0x80800000, 0x80820200, - 0x00800000, 0x80020200, 0x80020000, 0x80800000, - 0x80020200, 0x00820200, 0x00820000, 0x80000200, - 0x80800200, 0x00800000, 0x00000000, 0x80020000, - 0x00020000, 0x80000000, 0x00800200, 0x00020200, - 0x80820200, 0x00820000, 0x80000200, 0x00800200, - 0x80000000, 0x00000200, 0x00020200, 0x80820000, - 0x00000200, 0x80800200, 0x80820000, 0x00000000, - 0x00000000, 0x80820200, 0x00800200, 0x80020000, - 0x00820200, 0x00020000, 0x80000200, 0x00800200, - 0x80820000, 0x00000200, 0x00020200, 0x80800000, - 0x80020200, 0x80000000, 0x80800000, 0x00820000, - 0x80820200, 0x00020200, 0x00820000, 0x80800200, - 0x00800000, 0x80000200, 0x80020000, 0x00000000, - 0x00020000, 0x00800000, 0x80800200, 0x00820200, - 0x80000000, 0x80820000, 0x00000200, 0x80020200}, { - /* nibble 1 */ - 0x10042004, 0x00000000, 0x00042000, 0x10040000, - 0x10000004, 0x00002004, 0x10002000, 0x00042000, - 0x00002000, 0x10040004, 0x00000004, 0x10002000, - 0x00040004, 0x10042000, 0x10040000, 0x00000004, - 0x00040000, 0x10002004, 0x10040004, 0x00002000, - 0x00042004, 0x10000000, 0x00000000, 0x00040004, - 0x10002004, 0x00042004, 0x10042000, 0x10000004, - 0x10000000, 0x00040000, 0x00002004, 0x10042004, - 0x00040004, 0x10042000, 0x10002000, 0x00042004, - 0x10042004, 0x00040004, 0x10000004, 0x00000000, - 0x10000000, 0x00002004, 0x00040000, 0x10040004, - 0x00002000, 0x10000000, 0x00042004, 0x10002004, - 0x10042000, 0x00002000, 0x00000000, 0x10000004, - 0x00000004, 0x10042004, 0x00042000, 0x10040000, - 0x10040004, 0x00040000, 0x00002004, 0x10002000, - 0x10002004, 0x00000004, 0x10040000, 0x00042000}, { - /* nibble 2 */ - 0x41000000, 0x01010040, 0x00000040, 0x41000040, - 0x40010000, 0x01000000, 0x41000040, 0x00010040, - 0x01000040, 0x00010000, 0x01010000, 0x40000000, - 0x41010040, 0x40000040, 0x40000000, 0x41010000, - 0x00000000, 0x40010000, 0x01010040, 0x00000040, - 0x40000040, 0x41010040, 0x00010000, 0x41000000, - 0x41010000, 0x01000040, 0x40010040, 0x01010000, - 0x00010040, 0x00000000, 0x01000000, 0x40010040, - 0x01010040, 0x00000040, 0x40000000, 0x00010000, - 0x40000040, 0x40010000, 0x01010000, 0x41000040, - 0x00000000, 0x01010040, 0x00010040, 0x41010000, - 0x40010000, 0x01000000, 0x41010040, 0x40000000, - 0x40010040, 0x41000000, 0x01000000, 0x41010040, - 0x00010000, 0x01000040, 0x41000040, 0x00010040, - 0x01000040, 0x00000000, 0x41010000, 0x40000040, - 0x41000000, 0x40010040, 0x00000040, 0x01010000}, { - /* nibble 3 */ - 0x00100402, 0x04000400, 0x00000002, 0x04100402, - 0x00000000, 0x04100000, 0x04000402, 0x00100002, - 0x04100400, 0x04000002, 0x04000000, 0x00000402, - 0x04000002, 0x00100402, 0x00100000, 0x04000000, - 0x04100002, 0x00100400, 0x00000400, 0x00000002, - 0x00100400, 0x04000402, 0x04100000, 0x00000400, - 0x00000402, 0x00000000, 0x00100002, 0x04100400, - 0x04000400, 0x04100002, 0x04100402, 0x00100000, - 0x04100002, 0x00000402, 0x00100000, 0x04000002, - 0x00100400, 0x04000400, 0x00000002, 0x04100000, - 0x04000402, 0x00000000, 0x00000400, 0x00100002, - 0x00000000, 0x04100002, 0x04100400, 0x00000400, - 0x04000000, 0x04100402, 0x00100402, 0x00100000, - 0x04100402, 0x00000002, 0x04000400, 0x00100402, - 0x00100002, 0x00100400, 0x04100000, 0x04000402, - 0x00000402, 0x04000000, 0x04000002, 0x04100400}, { - /* nibble 4 */ - 0x02000000, 0x00004000, 0x00000100, 0x02004108, - 0x02004008, 0x02000100, 0x00004108, 0x02004000, - 0x00004000, 0x00000008, 0x02000008, 0x00004100, - 0x02000108, 0x02004008, 0x02004100, 0x00000000, - 0x00004100, 0x02000000, 0x00004008, 0x00000108, - 0x02000100, 0x00004108, 0x00000000, 0x02000008, - 0x00000008, 0x02000108, 0x02004108, 0x00004008, - 0x02004000, 0x00000100, 0x00000108, 0x02004100, - 0x02004100, 0x02000108, 0x00004008, 0x02004000, - 0x00004000, 0x00000008, 0x02000008, 0x02000100, - 0x02000000, 0x00004100, 0x02004108, 0x00000000, - 0x00004108, 0x02000000, 0x00000100, 0x00004008, - 0x02000108, 0x00000100, 0x00000000, 0x02004108, - 0x02004008, 0x02004100, 0x00000108, 0x00004000, - 0x00004100, 0x02004008, 0x02000100, 0x00000108, - 0x00000008, 0x00004108, 0x02004000, 0x02000008}, { - /* nibble 5 */ - 0x20000010, 0x00080010, 0x00000000, 0x20080800, - 0x00080010, 0x00000800, 0x20000810, 0x00080000, - 0x00000810, 0x20080810, 0x00080800, 0x20000000, - 0x20000800, 0x20000010, 0x20080000, 0x00080810, - 0x00080000, 0x20000810, 0x20080010, 0x00000000, - 0x00000800, 0x00000010, 0x20080800, 0x20080010, - 0x20080810, 0x20080000, 0x20000000, 0x00000810, - 0x00000010, 0x00080800, 0x00080810, 0x20000800, - 0x00000810, 0x20000000, 0x20000800, 0x00080810, - 0x20080800, 0x00080010, 0x00000000, 0x20000800, - 0x20000000, 0x00000800, 0x20080010, 0x00080000, - 0x00080010, 0x20080810, 0x00080800, 0x00000010, - 0x20080810, 0x00080800, 0x00080000, 0x20000810, - 0x20000010, 0x20080000, 0x00080810, 0x00000000, - 0x00000800, 0x20000010, 0x20000810, 0x20080800, - 0x20080000, 0x00000810, 0x00000010, 0x20080010}, { - /* nibble 6 */ - 0x00001000, 0x00000080, 0x00400080, 0x00400001, - 0x00401081, 0x00001001, 0x00001080, 0x00000000, - 0x00400000, 0x00400081, 0x00000081, 0x00401000, - 0x00000001, 0x00401080, 0x00401000, 0x00000081, - 0x00400081, 0x00001000, 0x00001001, 0x00401081, - 0x00000000, 0x00400080, 0x00400001, 0x00001080, - 0x00401001, 0x00001081, 0x00401080, 0x00000001, - 0x00001081, 0x00401001, 0x00000080, 0x00400000, - 0x00001081, 0x00401000, 0x00401001, 0x00000081, - 0x00001000, 0x00000080, 0x00400000, 0x00401001, - 0x00400081, 0x00001081, 0x00001080, 0x00000000, - 0x00000080, 0x00400001, 0x00000001, 0x00400080, - 0x00000000, 0x00400081, 0x00400080, 0x00001080, - 0x00000081, 0x00001000, 0x00401081, 0x00400000, - 0x00401080, 0x00000001, 0x00001001, 0x00401081, - 0x00400001, 0x00401080, 0x00401000, 0x00001001}, { - /* nibble 7 */ - 0x08200020, 0x08208000, 0x00008020, 0x00000000, - 0x08008000, 0x00200020, 0x08200000, 0x08208020, - 0x00000020, 0x08000000, 0x00208000, 0x00008020, - 0x00208020, 0x08008020, 0x08000020, 0x08200000, - 0x00008000, 0x00208020, 0x00200020, 0x08008000, - 0x08208020, 0x08000020, 0x00000000, 0x00208000, - 0x08000000, 0x00200000, 0x08008020, 0x08200020, - 0x00200000, 0x00008000, 0x08208000, 0x00000020, - 0x00200000, 0x00008000, 0x08000020, 0x08208020, - 0x00008020, 0x08000000, 0x00000000, 0x00208000, - 0x08200020, 0x08008020, 0x08008000, 0x00200020, - 0x08208000, 0x00000020, 0x00200020, 0x08008000, - 0x08208020, 0x00200000, 0x08200000, 0x08000020, - 0x00208000, 0x00008020, 0x08008020, 0x08200000, - 0x00000020, 0x08208000, 0x00208020, 0x00000000, - 0x08000000, 0x08200020, 0x00008000, 0x00208020} - }; - - private static final byte[] cov_2byte = { - 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, - 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, - 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, - 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, - 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x61, 0x62, - 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, - 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, - 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A - }; - - private static int byteToUnsigned(byte b) { - int value = b; - - return (value >= 0 ? value : value + 256); - } - - private static int fourBytesToInt(byte[] b, int offset) { - int value; - - value = byteToUnsigned(b[offset++]); - value |= (byteToUnsigned(b[offset++]) << 8); - value |= (byteToUnsigned(b[offset++]) << 16); - value |= (byteToUnsigned(b[offset++]) << 24); - - return (value); - } - - private static void intToFourBytes(int iValue, byte[] b, int offset) { - b[offset++] = (byte) ((iValue) & 0xff); - b[offset++] = (byte) ((iValue >>> 8) & 0xff); - b[offset++] = (byte) ((iValue >>> 16) & 0xff); - b[offset++] = (byte) ((iValue >>> 24) & 0xff); - } - - private static void PERM_OP(int a, int b, int n, int m, int[] results) { - int t; - - t = ((a >>> n) ^ b) & m; - a ^= t << n; - b ^= t; - - results[0] = a; - results[1] = b; - } - - private static int HPERM_OP(int a, int n, int m) { - int t; - - t = ((a << (16 - n)) ^ a) & m; - a = a ^ t ^ (t >>> (16 - n)); - - return (a); - } - - private static int[] des_set_key(byte[] key) { - int[] schedule = new int[ITERATIONS * 2]; - - int c = fourBytesToInt(key, 0); - int d = fourBytesToInt(key, 4); - - int[] results = new int[2]; - - PERM_OP(d, c, 4, 0x0f0f0f0f, results); - d = results[0]; - c = results[1]; - - c = HPERM_OP(c, -2, 0xcccc0000); - d = HPERM_OP(d, -2, 0xcccc0000); - - PERM_OP(d, c, 1, 0x55555555, results); - d = results[0]; - c = results[1]; - - PERM_OP(c, d, 8, 0x00ff00ff, results); - c = results[0]; - d = results[1]; - - PERM_OP(d, c, 1, 0x55555555, results); - d = results[0]; - c = results[1]; - - d = ((d & 0x000000ff) << 16) - | (d & 0x0000ff00) - | ((d & 0x00ff0000) >>> 16) - | ((c & 0xf0000000) >>> 4); - c &= 0x0fffffff; - - int s; - int t; - int j = 0; - - for (int i = 0; i < ITERATIONS; i++) { - if (shifts2[i]) { - c = (c >>> 2) | (c << 26); - d = (d >>> 2) | (d << 26); - } else { - c = (c >>> 1) | (c << 27); - d = (d >>> 1) | (d << 27); - } - - c &= 0x0fffffff; - d &= 0x0fffffff; - - s = skb[0][(c) & 0x3f] - | skb[1][((c >>> 6) & 0x03) | ((c >>> 7) & 0x3c)] - | skb[2][((c >>> 13) & 0x0f) | ((c >>> 14) & 0x30)] - | skb[3][((c >>> 20) & 0x01) | ((c >>> 21) & 0x06) | ((c >>> 22) & 0x38)]; - - t = skb[4][(d) & 0x3f] - | skb[5][((d >>> 7) & 0x03) | ((d >>> 8) & 0x3c)] - | skb[6][(d >>> 15) & 0x3f] - | skb[7][((d >>> 21) & 0x0f) | ((d >>> 22) & 0x30)]; - - schedule[j++] = ((t << 16) | (s & 0x0000ffff)) & 0xffffffff; - s = ((s >>> 16) | (t & 0xffff0000)); - - s = (s << 4) | (s >>> 28); - schedule[j++] = s & 0xffffffff; - } - return (schedule); - } - - private static int D_ENCRYPT(int L, int R, int S, int E0, int E1, int[] s) { - int t; - int u; - int v; - - v = R ^ (R >>> 16); - u = v & E0; - v = v & E1; - u = (u ^ (u << 16)) ^ R ^ s[S]; - t = (v ^ (v << 16)) ^ R ^ s[S + 1]; - t = (t >>> 4) | (t << 28); - - L ^= SPtrans[1][(t) & 0x3f] - | SPtrans[3][(t >>> 8) & 0x3f] - | SPtrans[5][(t >>> 16) & 0x3f] - | SPtrans[7][(t >>> 24) & 0x3f] - | SPtrans[0][(u) & 0x3f] - | SPtrans[2][(u >>> 8) & 0x3f] - | SPtrans[4][(u >>> 16) & 0x3f] - | SPtrans[6][(u >>> 24) & 0x3f]; - - return (L); - } - - private static int[] body(int[] schedule, int Eswap0, int Eswap1) { - int left = 0; - int right = 0; - int t = 0; - - for (int j = 0; j < 25; j++) { - for (int i = 0; i < ITERATIONS * 2; i += 4) { - left = D_ENCRYPT(left, right, i, Eswap0, Eswap1, schedule); - right = D_ENCRYPT(right, left, i + 2, Eswap0, Eswap1, schedule); - } - t = left; - left = right; - right = t; - } - - t = right; - - right = (left >>> 1) | (left << 31); - left = (t >>> 1) | (t << 31); - - left &= 0xffffffff; - right &= 0xffffffff; - - int[] results = new int[2]; - - PERM_OP(right, left, 1, 0x55555555, results); - right = results[0]; - left = results[1]; - - PERM_OP(left, right, 8, 0x00ff00ff, results); - left = results[0]; - right = results[1]; - - PERM_OP(right, left, 2, 0x33333333, results); - right = results[0]; - left = results[1]; - - PERM_OP(left, right, 16, 0x0000ffff, results); - left = results[0]; - right = results[1]; - - PERM_OP(right, left, 4, 0x0f0f0f0f, results); - right = results[0]; - left = results[1]; - - int[] out = new int[2]; - - out[0] = left; - out[1] = right; - - return (out); - } - - /** - *

- * Encrypt a password given the cleartext password and a "salt". - *

- * - * @param salt A two-character string representing the salt used to iterate the encryption engine - * in lots of different ways. If you are generating a new encryption then this value should - * be randomised. - * @param original The password to be encrypted. - * @return A string consisting of the 2-character salt followed by the encrypted password. - */ - public static byte[] crypt(byte[] salt, byte[] original) { - byte[] result = new byte[13]; - - byte byteZero = salt[0]; - byte byteOne = salt[1]; - - result[0] = byteZero; - result[1] = byteOne; - - int Eswap0 = con_salt[byteZero]; - int Eswap1 = con_salt[byteOne] << 4; - - byte[] key = new byte[8]; - - for (int i = 0; i < key.length; i++) { - key[i] = (byte) 0; - } - - for (int i = 0; i < key.length && i < original.length; i++) { - int iChar = original[i]; - - key[i] = (byte) (iChar << 1); - } - - int[] schedule = des_set_key(key); - int[] out = body(schedule, Eswap0, Eswap1); - - byte[] b = new byte[9]; - - intToFourBytes(out[0], b, 0); - intToFourBytes(out[1], b, 4); - b[8] = 0; - - for (int i = 2, y = 0, u = 0x80; i < 13; i++) { - for (int j = 0, c = 0; j < 6; j++) { - c <<= 1; - - if ((b[y] & u) != 0) { - c |= 1; - } - - u >>>= 1; - - if (u == 0) { - y++; - u = 0x80; - } - result[i] = cov_2byte[c]; - } - } - return result; - } -} From b6299347e15ea2a40c80de9907ae3f137caa4401 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Sat, 16 Dec 2017 13:44:02 -0600 Subject: [PATCH 046/427] chore: collect coverage for Java 7 (#1030) This PR adds coverage to Java 7 build and ignore the coverage for the failing test of extendedCacheEverything. Add a check for break the build if the after_n_builds don't match COVERAGE jobs. --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5de16385bd..b0ee930aa4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ language: java dist: trusty before_script: + - test $(grep "after_n_builds" codecov.yml | tr -d '[:space:]' | cut -d":" -f2) -eq $(grep -e "COVERAGE=Y$" .travis.yml | wc -l) || exit 1 - export PG_DATADIR="/etc/postgresql/${PG_VERSION}/main" - ./.travis/travis_install_postgres.sh - test "x$XA" == 'x' || ./.travis/travis_configure_xa.sh @@ -67,7 +68,7 @@ matrix: - env: # REMOVE FAILURE extendedCacheEverything - PG_VERSION=9.4 - QUERY_MODE=extendedCacheEverything - - COVERAGE=Y + - COVERAGE=N include: - jdk: oraclejdk8 env: RUN_CHECKSTYLE=true @@ -121,7 +122,7 @@ matrix: env: - PG_VERSION=9.4 - QUERY_MODE=extendedCacheEverything - - COVERAGE=Y + - COVERAGE=N - jdk: openjdk7 sudo: required addons: @@ -130,6 +131,7 @@ matrix: - PG_VERSION=9.2 - ZULU_JDK=7 - MCENTRAL=Y + - COVERAGE=Y - jdk: openjdk6 sudo: required addons: From ed27c5b464563448079189b1759ecf05d4726ea0 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Mon, 18 Dec 2017 01:33:14 +0600 Subject: [PATCH 047/427] refactor: simplify methods in ConnectionFactoryImpl (#1028) --- .../src/main/java/org/postgresql/Driver.java | 12 +-- .../core/v3/ConnectionFactoryImpl.java | 81 +++++++++---------- 2 files changed, 46 insertions(+), 47 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index aad94d7823..637af62c71 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -106,7 +106,7 @@ private Properties loadDefaultProperties() throws IOException { try { PGProperty.USER.set(merged, System.getProperty("user.name")); - } catch (java.lang.SecurityException se) { + } catch (SecurityException se) { // We're just trying to set a default, so if we can't // it's not a big deal. } @@ -200,7 +200,8 @@ private Properties loadDefaultProperties() throws IOException { * @throws SQLException if a database access error occurs * @see java.sql.Driver#connect */ - public java.sql.Connection connect(String url, Properties info) throws SQLException { + @Override + public Connection connect(String url, Properties info) throws SQLException { // get defaults Properties defaults; @@ -460,6 +461,7 @@ private static Connection makeConnection(String url, Properties props) throws SQ * @return true if this driver accepts the given URL * @see java.sql.Driver#acceptsURL */ + @Override public boolean acceptsURL(String url) { return parseURL(url, null) != null; } @@ -478,6 +480,7 @@ public boolean acceptsURL(String url) { * be an empty array if no properties are required * @see java.sql.Driver#getPropertyInfo */ + @Override public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) { Properties copy = new Properties(info); Properties parse = parseURL(url, copy); @@ -523,6 +526,7 @@ public static String getVersion() { *

* For PostgreSQL, this is not yet possible, as we are not SQL92 compliant (yet). */ + @Override public boolean jdbcCompliant() { return false; } @@ -562,9 +566,7 @@ public static Properties parseURL(String url, Properties defaults) { String[] addresses = l_urlServer.substring(0, slash).split(","); StringBuilder hosts = new StringBuilder(); StringBuilder ports = new StringBuilder(); - for (int addr = 0; addr < addresses.length; ++addr) { - String address = addresses[addr]; - + for (String address : addresses) { int portIdx = address.lastIndexOf(':'); if (portIdx != -1 && address.lastIndexOf(']') < portIdx) { String portStr = address.substring(portIdx + 1); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index ccd782206e..9dcc42b835 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -73,9 +73,9 @@ private ISSPIClient createSSPI(PGStream pgStream, String spnServiceClass, boolean enableNegotiate) { try { - Class c = Class.forName("org.postgresql.sspi.SSPIClient"); - Class[] cArg = new Class[]{PGStream.class, String.class, boolean.class}; - return (ISSPIClient) c.getDeclaredConstructor(cArg) + @SuppressWarnings("unchecked") + Class c = (Class) Class.forName("org.postgresql.sspi.SSPIClient"); + return c.getDeclaredConstructor(PGStream.class, String.class, boolean.class) .newInstance(pgStream, spnServiceClass, enableNegotiate); } catch (Exception e) { // This catched quite a lot exceptions, but until Java 7 there is no ReflectiveOperationException @@ -84,6 +84,7 @@ private ISSPIClient createSSPI(PGStream pgStream, } } + @Override public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, String database, Properties info) throws SQLException { // Extract interesting values from the info properties: @@ -106,19 +107,10 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin } } - // - the TCP keep alive setting boolean requireTCPKeepAlive = PGProperty.TCP_KEEP_ALIVE.getBoolean(info); - // NOTE: To simplify this code, it is assumed that if we are - // using the V3 protocol, then the database is at least 7.4. That - // eliminates the need to check database versions and maintain - // backward-compatible code here. - // - // Change by Chris Smith - int connectTimeout = PGProperty.CONNECT_TIMEOUT.getInt(info) * 1000; - // - the targetServerType setting HostRequirement targetServerType; String targetServerTypeStr = PGProperty.TARGET_SERVER_TYPE.get(info); try { @@ -189,36 +181,7 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin LOGGER.log(Level.FINE, "Receive Buffer Size is {0}", newStream.getSocket().getReceiveBufferSize()); LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); - List paramList = new ArrayList(); - paramList.add(new String[]{"user", user}); - paramList.add(new String[]{"database", database}); - paramList.add(new String[]{"client_encoding", "UTF8"}); - paramList.add(new String[]{"DateStyle", "ISO"}); - paramList.add(new String[]{"TimeZone", createPostgresTimeZone()}); - - Version assumeVersion = ServerVersion.from(PGProperty.ASSUME_MIN_SERVER_VERSION.get(info)); - - if (assumeVersion.getVersionNum() >= ServerVersion.v9_0.getVersionNum()) { - // User is explicitly telling us this is a 9.0+ server so set properties here: - paramList.add(new String[]{"extra_float_digits", "3"}); - String appName = PGProperty.APPLICATION_NAME.get(info); - if (appName != null) { - paramList.add(new String[]{"application_name", appName}); - } - } else { - // User has not explicitly told us that this is a 9.0+ server so stick to old default: - paramList.add(new String[]{"extra_float_digits", "2"}); - } - - String replication = PGProperty.REPLICATION.get(info); - if (replication != null && assumeVersion.getVersionNum() >= ServerVersion.v9_4.getVersionNum()) { - paramList.add(new String[]{"replication", replication}); - } - - String currentSchema = PGProperty.CURRENT_SCHEMA.get(info); - if (currentSchema != null) { - paramList.add(new String[]{"search_path", currentSchema}); - } + List paramList = getParametersForStartup(user, database, info); sendStartupPacket(newStream, paramList); // Do authentication (until AuthenticationOk). @@ -290,6 +253,40 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT); } + private List getParametersForStartup(String user, String database, Properties info) { + List paramList = new ArrayList(); + paramList.add(new String[]{"user", user}); + paramList.add(new String[]{"database", database}); + paramList.add(new String[]{"client_encoding", "UTF8"}); + paramList.add(new String[]{"DateStyle", "ISO"}); + paramList.add(new String[]{"TimeZone", createPostgresTimeZone()}); + + Version assumeVersion = ServerVersion.from(PGProperty.ASSUME_MIN_SERVER_VERSION.get(info)); + + if (assumeVersion.getVersionNum() >= ServerVersion.v9_0.getVersionNum()) { + // User is explicitly telling us this is a 9.0+ server so set properties here: + paramList.add(new String[]{"extra_float_digits", "3"}); + String appName = PGProperty.APPLICATION_NAME.get(info); + if (appName != null) { + paramList.add(new String[]{"application_name", appName}); + } + } else { + // User has not explicitly told us that this is a 9.0+ server so stick to old default: + paramList.add(new String[]{"extra_float_digits", "2"}); + } + + String replication = PGProperty.REPLICATION.get(info); + if (replication != null && assumeVersion.getVersionNum() >= ServerVersion.v9_4.getVersionNum()) { + paramList.add(new String[]{"replication", replication}); + } + + String currentSchema = PGProperty.CURRENT_SCHEMA.get(info); + if (currentSchema != null) { + paramList.add(new String[]{"search_path", currentSchema}); + } + return paramList; + } + /** * Convert Java time zone to postgres time zone. All others stay the same except that GMT+nn * changes to GMT-nn and vise versa. From 3e0491ac3833800721b98e7437635cf6ab338162 Mon Sep 17 00:00:00 2001 From: Brett Okken Date: Tue, 19 Dec 2017 12:14:24 -0600 Subject: [PATCH 048/427] feat: primitive arrays (#887) Support mapping of Java types short[], int[], long[], float[], double[], boolean[], String[] to relevant types in PostgreSQL via org.postgresql.PGConnection.createArrayOf(String, Object) API. closes #871 --- docs/_config.yml | 3 + docs/documentation/head/arrays.md | 29 ++ docs/documentation/head/ext.md | 1 + docs/documentation/head/index.html | 1 + docs/documentation/head/replication.md | 4 +- .../java/org/postgresql/PGConnection.java | 20 + .../java/org/postgresql/jdbc/PgArray.java | 19 +- .../org/postgresql/jdbc/PgConnection.java | 54 +- .../postgresql/jdbc/PgPreparedStatement.java | 20 + .../jdbc/PrimitiveArraySupport.java | 488 ++++++++++++++++++ .../org/postgresql/util/ByteConverter.java | 27 + .../jdbc/PrimitiveArraySupportTest.java | 253 +++++++++ .../org/postgresql/test/jdbc2/ArrayTest.java | 121 +++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + .../org/postgresql/test/jdbc4/ArrayTest.java | 39 +- 15 files changed, 1067 insertions(+), 14 deletions(-) create mode 100644 docs/documentation/head/arrays.md create mode 100644 pgjdbc/src/main/java/org/postgresql/jdbc/PrimitiveArraySupport.java create mode 100644 pgjdbc/src/test/java/org/postgresql/jdbc/PrimitiveArraySupportTest.java diff --git a/docs/_config.yml b/docs/_config.yml index fdb49ed6e0..58b50f7c91 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,5 +1,8 @@ name: PostgreSQL JDBC Driver website markdown: redcarpet +redcarpet: + extensions: + - tables highlighter: pygments excerpt_separator: exclude: diff --git a/docs/documentation/head/arrays.md b/docs/documentation/head/arrays.md new file mode 100644 index 0000000000..b74356a10b --- /dev/null +++ b/docs/documentation/head/arrays.md @@ -0,0 +1,29 @@ +--- +layout: default_docs +title: Arrays +header: Chapter 9. PostgreSQL™ Extensions to the JDBC API +resource: media +previoustitle: Physical and Logical replication API +previous: replication.html +nexttitle: Chapter 10. Using the Driver in a Multithreaded or a Servlet Environment +next: thread.html +--- + +PostgreSQL™ provides robust support for array data types as column types, function arguments +and criteria in where clauses. There are several ways to create arrays with pgjdbc. + +The [java.sql.Connection.createArrayOf(String, Object\[\])](https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#createArrayOf-java.lang.String-java.lang.Object:A-) can be used to create an [java.sql.Array](https://docs.oracle.com/javase/8/docs/api/java/sql/Array.html) from `Object[]` instances (Note: this includes both primitive and object multi-dimensional arrays). +A similar method `org.postgresql.PGConnection.createArrayOf(String, Object)` provides support for primitive array types. +The `java.sql.Array` object returned from these methods can be used in other methods, such as [PreparedStatement.setArray(int, Array)](https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html#setArray-int-java.sql.Array-). + +Additionally, the following types of arrays can be used in `PreparedStatement.setObject` methods and will use the defined type mapping: + +Java Type | Default PostgreSQL™ Type +--- | --- +`short[]` | `int2[]` +`int[]` | `int4[]` +`long[]` | `int8[]` +`float[]` | `float4[]` +`double[]` | `float8[]` +`boolean[]` | `bool[]` +`String[]` | `varchar[]` diff --git a/docs/documentation/head/ext.md b/docs/documentation/head/ext.md index 753a1ee4ab..ea7cee9b12 100644 --- a/docs/documentation/head/ext.md +++ b/docs/documentation/head/ext.md @@ -17,6 +17,7 @@ next: geometric.html * [Listen / Notify](listennotify.html) * [Server Prepared Statements](server-prepare.html) * [Physical and Logical replication API](replication.html) +* [Arrays](arrays.html) PostgreSQL™ is an extensible database system. You can add your own functions to the server, which can then be called from queries, or even add your own data types. diff --git a/docs/documentation/head/index.html b/docs/documentation/head/index.html index ec9162b0a0..70ef62fd0e 100644 --- a/docs/documentation/head/index.html +++ b/docs/documentation/head/index.html @@ -120,6 +120,7 @@

Table of Contents

Listen / Notify
Server Prepared Statements
Physical and Logical replication API
+
Arrays
diff --git a/docs/documentation/head/replication.md b/docs/documentation/head/replication.md index c90caeb173..3494b24a2e 100644 --- a/docs/documentation/head/replication.md +++ b/docs/documentation/head/replication.md @@ -5,8 +5,8 @@ header: Chapter 9. PostgreSQL™ Extensions to the JDBC API resource: media previoustitle: Server Prepared Statements previous: server-prepare.html -nexttitle: Chapter 10. Using the Driver in a Multithreaded or a Servlet Environment -next: thread.html +nexttitle: Arrays +next: arrays.html --- **Table of Contents** diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index 2456098104..ec849568e3 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -13,6 +13,7 @@ import org.postgresql.replication.PGReplicationConnection; import org.postgresql.util.PGobject; +import java.sql.Array; import java.sql.SQLException; import java.sql.Statement; @@ -21,6 +22,25 @@ * returned by the PostgreSQL driver implement PGConnection. */ public interface PGConnection { + + /** + * Creates an {@link Array} wrapping elements. This is similar to + * {@link java.sql.Connection#createArrayOf(String, Object[])}, but also + * provides support for primitive arrays. + * + * @param typeName + * The SQL name of the type to map the elements to. + * Must not be {@code null}. + * @param elements + * The array of objects to map. A {@code null} value will result in + * an {@link Array} representing {@code null}. + * @return An {@link Array} wrapping elements. + * @throws SQLException + * If for some reason the array cannot be created. + * @see java.sql.Connection#createArrayOf(String, Object[]) + */ + Array createArrayOf(String typeName, Object elements) throws SQLException; + /** * This method returns any notifications that have been received since the last call to this * method. Returns null if there have been no notifications. diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java index 269ab2c7cc..3810081f3f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java @@ -250,6 +250,9 @@ private int storeValues(final Object[] arr, int elementOid, final int[] dims, in Encoding encoding = connection.getEncoding(); arr[i] = encoding.decode(fieldBytes, pos, len); break; + case Oid.BOOL: + arr[i] = ByteConverter.bool(fieldBytes, pos); + break; default: ArrayAssistant arrAssistant = ArrayAssistantRegistry.getAssistant(elementOid); if (arrAssistant != null) { @@ -392,6 +395,8 @@ private Class elementOidToClass(int oid) throws SQLException { case Oid.TEXT: case Oid.VARCHAR: return String.class; + case Oid.BOOL: + return Boolean.class; default: ArrayAssistant arrElemBuilder = ArrayAssistantRegistry.getAssistant(oid); if (arrElemBuilder != null) { @@ -900,11 +905,17 @@ public ResultSet getResultSetImpl(long index, int count, Map> m public String toString() { if (fieldString == null && fieldBytes != null) { try { - Object array = readBinaryArray(1,0); - java.sql.Array tmpArray = connection.createArrayOf(getBaseTypeName(), (Object[]) array); - fieldString = tmpArray.toString(); + Object array = readBinaryArray(1, 0); + + final PrimitiveArraySupport arraySupport = PrimitiveArraySupport.getArraySupport(array); + if (arraySupport != null) { + fieldString = arraySupport.toArrayString(connection.getTypeInfo().getArrayDelimiter(oid), array); + } else { + java.sql.Array tmpArray = connection.createArrayOf(getBaseTypeName(), (Object[]) array); + fieldString = tmpArray.toString(); + } } catch (SQLException e) { - fieldString = "NULL"; //punt + fieldString = "NULL"; // punt } } return fieldString; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index a0911908d7..9a0c508e6a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -1156,7 +1156,12 @@ private static void appendArray(StringBuilder sb, Object elements, char delim) { if (o == null) { sb.append("NULL"); } else if (o.getClass().isArray()) { - appendArray(sb, o, delim); + final PrimitiveArraySupport arraySupport = PrimitiveArraySupport.getArraySupport(o); + if (arraySupport != null) { + arraySupport.appendArray(sb, delim, o); + } else { + appendArray(sb, o, delim); + } } else { String s = o.toString(); PgArray.escapeArrayElement(sb, s); @@ -1271,6 +1276,49 @@ public Struct createStruct(String typeName, Object[] attributes) throws SQLExcep throw org.postgresql.Driver.notImplemented(this.getClass(), "createStruct(String, Object[])"); } + @Override + public Array createArrayOf(String typeName, Object elements) throws SQLException { + checkClosed(); + + final TypeInfo typeInfo = getTypeInfo(); + + final int oid = typeInfo.getPGArrayType(typeName); + final char delim = typeInfo.getArrayDelimiter(oid); + + if (oid == Oid.UNSPECIFIED) { + throw new PSQLException(GT.tr("Unable to find server array type for provided name {0}.", typeName), + PSQLState.INVALID_NAME); + } + + if (elements == null) { + return makeArray(oid, null); + } + + final String arrayString; + + final PrimitiveArraySupport arraySupport = PrimitiveArraySupport.getArraySupport(elements); + + if (arraySupport != null) { + // if the oid for the given type matches the default type, we might be + // able to go straight to binary representation + if (oid == arraySupport.getDefaultArrayTypeOid(typeInfo) && arraySupport.supportBinaryRepresentation() + && getPreferQueryMode() != PreferQueryMode.SIMPLE) { + return new PgArray(this, oid, arraySupport.toBinaryRepresentation(this, elements)); + } + arrayString = arraySupport.toArrayString(delim, elements); + } else { + final Class clazz = elements.getClass(); + if (!clazz.isArray()) { + throw new PSQLException(GT.tr("Invalid elements {0}", elements), PSQLState.INVALID_PARAMETER_TYPE); + } + StringBuilder sb = new StringBuilder(); + appendArray(sb, elements, delim); + arrayString = sb.toString(); + } + + return makeArray(oid, arrayString); + } + @Override public Array createArrayOf(String typeName, Object[] elements) throws SQLException { checkClosed(); @@ -1283,6 +1331,10 @@ public Array createArrayOf(String typeName, Object[] elements) throws SQLExcepti PSQLState.INVALID_NAME); } + if (elements == null) { + return makeArray(oid, null); + } + char delim = getTypeInfo().getArrayDelimiter(oid); StringBuilder sb = new StringBuilder(); appendArray(sb, elements, delim); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 28319be328..db0a3782d5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -13,6 +13,7 @@ import org.postgresql.core.Query; import org.postgresql.core.QueryExecutor; import org.postgresql.core.ServerVersion; +import org.postgresql.core.TypeInfo; import org.postgresql.core.v3.BatchedQuery; import org.postgresql.largeobject.LargeObject; import org.postgresql.largeobject.LargeObjectManager; @@ -656,6 +657,8 @@ public void setObject(int parameterIndex, Object in, int targetSqlType, int scal case Types.ARRAY: if (in instanceof Array) { setArray(parameterIndex, (Array) in); + } else if (PrimitiveArraySupport.isSupportedPrimitiveArray(in)) { + setPrimitiveArray(parameterIndex, in); } else { throw new PSQLException( GT.tr("Cannot cast an instance of {0} to type {1}", @@ -681,6 +684,21 @@ public void setObject(int parameterIndex, Object in, int targetSqlType, int scal } } + private void setPrimitiveArray(int parameterIndex, A in) throws SQLException { + final PrimitiveArraySupport arrayToString = PrimitiveArraySupport.getArraySupport(in); + + final TypeInfo typeInfo = connection.getTypeInfo(); + + final int oid = arrayToString.getDefaultArrayTypeOid(typeInfo); + + if (arrayToString.supportBinaryRepresentation() && connection.getPreferQueryMode() != PreferQueryMode.SIMPLE) { + bindBytes(parameterIndex, arrayToString.toBinaryRepresentation(connection, in), oid); + } else { + final char delim = typeInfo.getArrayDelimiter(oid); + setString(parameterIndex, arrayToString.toArrayString(delim, in), oid); + } + } + private static String asString(final Clob in) throws SQLException { return in.getSubString(1, (int) in.length()); } @@ -942,6 +960,8 @@ public void setObject(int parameterIndex, Object x) throws SQLException { setMap(parameterIndex, (Map) x); } else if (x instanceof Number) { setNumber(parameterIndex, (Number) x); + } else if (PrimitiveArraySupport.isSupportedPrimitiveArray(x)) { + setPrimitiveArray(parameterIndex, x); } else { // Can't infer a type. throw new PSQLException(GT.tr( diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PrimitiveArraySupport.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PrimitiveArraySupport.java new file mode 100644 index 0000000000..b92f01be01 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PrimitiveArraySupport.java @@ -0,0 +1,488 @@ +/* + * Copyright (c) 2004, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import org.postgresql.core.Oid; +import org.postgresql.core.TypeInfo; +import org.postgresql.util.ByteConverter; + +import java.sql.Connection; +import java.sql.SQLFeatureNotSupportedException; +import java.util.HashMap; +import java.util.Map; + +abstract class PrimitiveArraySupport { + + public abstract int getDefaultArrayTypeOid(TypeInfo tiCache); + + public abstract String toArrayString(char delim, A array); + + public abstract void appendArray(StringBuilder sb, char delim, A array); + + public boolean supportBinaryRepresentation() { + return true; + } + + public abstract byte[] toBinaryRepresentation(Connection connection, A array) throws SQLFeatureNotSupportedException; + + private static final PrimitiveArraySupport LONG_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.INT8_ARRAY; + } + + @Override + public String toArrayString(char delim, long[] array) { + final StringBuilder sb = new StringBuilder(Math.max(64, array.length * 8)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, long[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + sb.append(array[i]); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, long[] array) { + + int length = 20 + (12 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.INT8); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 8; + ByteConverter.int8(bytes, idx + 4, array[i]); + idx += 12; + } + + return bytes; + } + }; + + private static final PrimitiveArraySupport INT_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.INT4_ARRAY; + } + + @Override + public String toArrayString(char delim, int[] array) { + final StringBuilder sb = new StringBuilder(Math.max(32, array.length * 6)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, int[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + sb.append(array[i]); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, int[] array) { + + int length = 20 + (8 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.INT4); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 4; + ByteConverter.int4(bytes, idx + 4, array[i]); + idx += 8; + } + + return bytes; + } + }; + + private static final PrimitiveArraySupport SHORT_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.INT2_ARRAY; + } + + @Override + public String toArrayString(char delim, short[] array) { + final StringBuilder sb = new StringBuilder(Math.max(32, array.length * 4)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, short[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + sb.append(array[i]); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, short[] array) { + + int length = 20 + (6 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.INT2); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 2; + ByteConverter.int2(bytes, idx + 4, array[i]); + idx += 6; + } + + return bytes; + } + + }; + + private static final PrimitiveArraySupport DOUBLE_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.FLOAT8_ARRAY; + } + + @Override + public String toArrayString(char delim, double[] array) { + final StringBuilder sb = new StringBuilder(Math.max(64, array.length * 8)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, double[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + // use quotes to account for any issues with scientific notation + sb.append('"'); + sb.append(array[i]); + sb.append('"'); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, double[] array) { + + int length = 20 + (12 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.FLOAT8); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 8; + ByteConverter.float8(bytes, idx + 4, array[i]); + idx += 12; + } + + return bytes; + } + + }; + + private static final PrimitiveArraySupport FLOAT_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.FLOAT4_ARRAY; + } + + @Override + public String toArrayString(char delim, float[] array) { + final StringBuilder sb = new StringBuilder(Math.max(64, array.length * 8)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, float[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + // use quotes to account for any issues with scientific notation + sb.append('"'); + sb.append(array[i]); + sb.append('"'); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, float[] array) { + + int length = 20 + (8 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.FLOAT4); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 4; + ByteConverter.float4(bytes, idx + 4, array[i]); + idx += 8; + } + + return bytes; + } + + }; + + private static final PrimitiveArraySupport BOOLEAN_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.BOOL_ARRAY; + } + + @Override + public String toArrayString(char delim, boolean[] array) { + final StringBuilder sb = new StringBuilder(Math.max(64, array.length * 8)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, boolean[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + sb.append(array[i] ? '1' : '0'); + } + sb.append('}'); + } + + /** + * {@inheritDoc} + * + * @throws SQLFeatureNotSupportedException + * Because this feature is not supported. + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, boolean[] array) throws SQLFeatureNotSupportedException { + int length = 20 + (5 * array.length); + final byte[] bytes = new byte[length]; + + // 1 dimension + ByteConverter.int4(bytes, 0, 1); + // no null + ByteConverter.int4(bytes, 4, 0); + // oid + ByteConverter.int4(bytes, 8, Oid.BOOL); + // length + ByteConverter.int4(bytes, 12, array.length); + + int idx = 20; + for (int i = 0; i < array.length; ++i) { + bytes[idx + 3] = 1; + ByteConverter.bool(bytes, idx + 4, array[i]); + idx += 5; + } + + return bytes; + } + + }; + + private static final PrimitiveArraySupport STRING_ARRAY = new PrimitiveArraySupport() { + + /** + * {@inheritDoc} + */ + @Override + public int getDefaultArrayTypeOid(TypeInfo tiCache) { + return Oid.VARCHAR_ARRAY; + } + + @Override + public String toArrayString(char delim, String[] array) { + final StringBuilder sb = new StringBuilder(Math.max(64, array.length * 8)); + appendArray(sb, delim, array); + return sb.toString(); + } + + /** + * {@inheritDoc} + */ + @Override + public void appendArray(StringBuilder sb, char delim, String[] array) { + sb.append('{'); + for (int i = 0; i < array.length; ++i) { + if (i > 0) { + sb.append(delim); + } + if (array[i] == null) { + sb.append('N'); + sb.append('U'); + sb.append('L'); + sb.append('L'); + } else { + PgArray.escapeArrayElement(sb, array[i]); + } + } + sb.append('}'); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean supportBinaryRepresentation() { + return false; + } + + /** + * {@inheritDoc} + * + * @throws SQLFeatureNotSupportedException + * Because this feature is not supported. + */ + @Override + public byte[] toBinaryRepresentation(Connection connection, String[] array) throws SQLFeatureNotSupportedException { + throw new SQLFeatureNotSupportedException(); + } + + }; + + private static final Map ARRAY_CLASS_TO_SUPPORT = new HashMap((int) (7 / .75) + 1); + + static { + ARRAY_CLASS_TO_SUPPORT.put(long[].class, LONG_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(int[].class, INT_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(short[].class, SHORT_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(double[].class, DOUBLE_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(float[].class, FLOAT_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(boolean[].class, BOOLEAN_ARRAY); + ARRAY_CLASS_TO_SUPPORT.put(String[].class, STRING_ARRAY); + } + + public static boolean isSupportedPrimitiveArray(Object obj) { + return obj != null && ARRAY_CLASS_TO_SUPPORT.containsKey(obj.getClass()); + } + + public static PrimitiveArraySupport getArraySupport(A array) { + return ARRAY_CLASS_TO_SUPPORT.get(array.getClass()); + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java index 73e56d616a..5464236cb9 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java @@ -61,6 +61,19 @@ public static short int2(byte[] bytes, int idx) { return (short) (((bytes[idx] & 255) << 8) + ((bytes[idx + 1] & 255))); } + /** + * Parses a boolean value from the byte array. + * + * @param bytes + * The byte array to parse. + * @param idx + * The starting index to read from bytes. + * @return parsed boolean value. + */ + public static boolean bool(byte[] bytes, int idx) { + return bytes[idx] == 1; + } + /** * Parses a float value from the byte array. * @@ -127,6 +140,20 @@ public static void int2(byte[] target, int idx, int value) { target[idx + 1] = (byte) value; } + /** + * Encodes a boolean value to the byte array. + * + * @param target + * The byte array to encode to. + * @param idx + * The starting index in the byte array. + * @param value + * The value to encode. + */ + public static void bool(byte[] target, int idx, boolean value) { + target[idx] = value ? (byte) 1 : (byte) 0; + } + /** * Encodes a int value to the byte array. * diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/PrimitiveArraySupportTest.java b/pgjdbc/src/test/java/org/postgresql/jdbc/PrimitiveArraySupportTest.java new file mode 100644 index 0000000000..83b028bbce --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/PrimitiveArraySupportTest.java @@ -0,0 +1,253 @@ +/* + * Copyright (c) 2003, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; + +import org.postgresql.core.Oid; + +import org.junit.Test; + +import java.sql.SQLFeatureNotSupportedException; + +public class PrimitiveArraySupportTest { + + public PrimitiveArraySupport longArrays = PrimitiveArraySupport.getArraySupport(new long[] {}); + public PrimitiveArraySupport intArrays = PrimitiveArraySupport.getArraySupport(new int[] {}); + public PrimitiveArraySupport shortArrays = PrimitiveArraySupport.getArraySupport(new short[] {}); + public PrimitiveArraySupport doubleArrays = PrimitiveArraySupport.getArraySupport(new double[] {}); + public PrimitiveArraySupport floatArrays = PrimitiveArraySupport.getArraySupport(new float[] {}); + public PrimitiveArraySupport booleanArrays = PrimitiveArraySupport.getArraySupport(new boolean[] {}); + + @Test + public void testLongBinary() throws Exception { + final long[] longs = new long[84]; + for (int i = 0; i < 84; ++i) { + longs[i] = i - 3; + } + + final PgArray pgArray = new PgArray(null, Oid.INT8_ARRAY, longArrays.toBinaryRepresentation(null, longs)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Long[].class)); + + final Long[] actual = (Long[]) arrayObj; + + assertEquals(longs.length, actual.length); + + for (int i = 0; i < longs.length; ++i) { + assertEquals(Long.valueOf(longs[i]), actual[i]); + } + } + + @Test + public void testLongToString() throws Exception { + final long[] longs = new long[] { 12367890987L, 987664198234L, -2982470923874L }; + + final String arrayString = longArrays.toArrayString(',', longs); + + assertEquals("{12367890987,987664198234,-2982470923874}", arrayString); + + final String altArrayString = longArrays.toArrayString(';', longs); + + assertEquals("{12367890987;987664198234;-2982470923874}", altArrayString); + } + + @Test + public void testIntBinary() throws Exception { + final int[] ints = new int[13]; + for (int i = 0; i < 13; ++i) { + ints[i] = i - 3; + } + + final PgArray pgArray = new PgArray(null, Oid.INT4_ARRAY, intArrays.toBinaryRepresentation(null, ints)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Integer[].class)); + + final Integer[] actual = (Integer[]) arrayObj; + + assertEquals(ints.length, actual.length); + + for (int i = 0; i < ints.length; ++i) { + assertEquals(Integer.valueOf(ints[i]), actual[i]); + } + } + + @Test + public void testIntToString() throws Exception { + final int[] ints = new int[] { 12367890, 987664198, -298247092 }; + + final String arrayString = intArrays.toArrayString(',', ints); + + assertEquals("{12367890,987664198,-298247092}", arrayString); + + final String altArrayString = intArrays.toArrayString(';', ints); + + assertEquals("{12367890;987664198;-298247092}", altArrayString); + + } + + @Test + public void testShortToBinary() throws Exception { + final short[] shorts = new short[13]; + for (int i = 0; i < 13; ++i) { + shorts[i] = (short) (i - 3); + } + + final PgArray pgArray = new PgArray(null, Oid.INT4_ARRAY, shortArrays.toBinaryRepresentation(null, shorts)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Short[].class)); + + final Short[] actual = (Short[]) arrayObj; + + assertEquals(shorts.length, actual.length); + + for (int i = 0; i < shorts.length; ++i) { + assertEquals(Short.valueOf(shorts[i]), actual[i]); + } + } + + @Test + public void testShortToString() throws Exception { + final short[] shorts = new short[] { 123, 34, -57 }; + + final String arrayString = shortArrays.toArrayString(',', shorts); + + assertEquals("{123,34,-57}", arrayString); + + final String altArrayString = shortArrays.toArrayString(';', shorts); + + assertEquals("{123;34;-57}", altArrayString); + + } + + @Test + public void testDoubleBinary() throws Exception { + final double[] doubles = new double[13]; + for (int i = 0; i < 13; ++i) { + doubles[i] = i - 3.1; + } + + final PgArray pgArray = new PgArray(null, Oid.FLOAT8_ARRAY, doubleArrays.toBinaryRepresentation(null, doubles)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Double[].class)); + + final Double[] actual = (Double[]) arrayObj; + + assertEquals(doubles.length, actual.length); + + for (int i = 0; i < doubles.length; ++i) { + assertEquals(Double.valueOf(doubles[i]), actual[i]); + } + } + + @Test + public void testdoubleToString() throws Exception { + final double[] doubles = new double[] { 122353.345, 923487.235987, -23.239486 }; + + final String arrayString = doubleArrays.toArrayString(',', doubles); + + assertEquals("{\"122353.345\",\"923487.235987\",\"-23.239486\"}", arrayString); + + final String altArrayString = doubleArrays.toArrayString(';', doubles); + + assertEquals("{\"122353.345\";\"923487.235987\";\"-23.239486\"}", altArrayString); + + } + + @Test + public void testFloatBinary() throws Exception { + final float[] floats = new float[13]; + for (int i = 0; i < 13; ++i) { + floats[i] = (float) (i - 3.1); + } + + final PgArray pgArray = new PgArray(null, Oid.FLOAT4_ARRAY, floatArrays.toBinaryRepresentation(null, floats)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Float[].class)); + + final Float[] actual = (Float[]) arrayObj; + + assertEquals(floats.length, actual.length); + + for (int i = 0; i < floats.length; ++i) { + assertEquals(Float.valueOf(floats[i]), actual[i]); + } + } + + @Test + public void testfloatToString() throws Exception { + final float[] floats = new float[] { 122353.34f, 923487.25f, -23.2394f }; + + final String arrayString = floatArrays.toArrayString(',', floats); + + assertEquals("{\"122353.34\",\"923487.25\",\"-23.2394\"}", arrayString); + + final String altArrayString = floatArrays.toArrayString(';', floats); + + assertEquals("{\"122353.34\";\"923487.25\";\"-23.2394\"}", altArrayString); + + } + + @Test + public void testBooleanBinary() throws Exception { + final boolean[] bools = new boolean[] { true, true, false }; + + final PgArray pgArray = new PgArray(null, Oid.BIT, booleanArrays.toBinaryRepresentation(null, bools)); + + Object arrayObj = pgArray.getArray(); + + assertThat(arrayObj, instanceOf(Boolean[].class)); + + final Boolean[] actual = (Boolean[]) arrayObj; + + assertEquals(bools.length, actual.length); + + for (int i = 0; i < bools.length; ++i) { + assertEquals(Boolean.valueOf(bools[i]), actual[i]); + } + } + + @Test + public void testBooleanToString() throws Exception { + final boolean[] bools = new boolean[] { true, true, false }; + + final String arrayString = booleanArrays.toArrayString(',', bools); + + assertEquals("{1,1,0}", arrayString); + + final String altArrayString = booleanArrays.toArrayString(';', bools); + + assertEquals("{1;1;0}", altArrayString); + } + + @Test + public void testStringNotSupportBinary() { + PrimitiveArraySupport stringArrays = PrimitiveArraySupport.getArraySupport(new String[] {}); + assertNotNull(stringArrays); + assertFalse(stringArrays.supportBinaryRepresentation()); + try { + stringArrays.toBinaryRepresentation(null, new String[] { "1.2" }); + fail("no sql exception thrown"); + } catch (SQLFeatureNotSupportedException e) { + + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java index 8aa30d0cd3..8e1874c949 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java @@ -5,12 +5,17 @@ package org.postgresql.test.jdbc2; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import org.postgresql.PGConnection; import org.postgresql.core.BaseConnection; import org.postgresql.geometric.PGbox; import org.postgresql.geometric.PGpoint; import org.postgresql.jdbc.PgArray; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLException; import org.junit.Assert; import org.junit.Test; @@ -80,6 +85,122 @@ public void testSetNull() throws SQLException { pstmt.close(); } + @Test + public void testSetPrimitiveObjects() throws SQLException { + PreparedStatement pstmt = conn.prepareStatement("INSERT INTO arrtest VALUES (?,?,?)"); + pstmt.setObject(1, new int[]{1,2,3}, Types.ARRAY); + pstmt.setObject(2, new double[]{3.1d, 1.4d}, Types.ARRAY); + pstmt.setObject(3, new String[]{"abc", "f'a", "fa\"b"}, Types.ARRAY); + pstmt.executeUpdate(); + pstmt.close(); + + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT intarr, decarr, strarr FROM arrtest"); + Assert.assertTrue(rs.next()); + + Array arr = rs.getArray(1); + Assert.assertEquals(Types.INTEGER, arr.getBaseType()); + Integer[] intarr = (Integer[]) arr.getArray(); + assertEquals(3, intarr.length); + assertEquals(1, intarr[0].intValue()); + assertEquals(2, intarr[1].intValue()); + assertEquals(3, intarr[2].intValue()); + + arr = rs.getArray(2); + assertEquals(Types.NUMERIC, arr.getBaseType()); + BigDecimal[] decarr = (BigDecimal[]) arr.getArray(); + assertEquals(2, decarr.length); + assertEquals(new BigDecimal("3.1"), decarr[0]); + assertEquals(new BigDecimal("1.4"), decarr[1]); + + arr = rs.getArray(3); + assertEquals(Types.VARCHAR, arr.getBaseType()); + String[] strarr = (String[]) arr.getArray(2, 2); + assertEquals(2, strarr.length); + assertEquals("f'a", strarr[0]); + assertEquals("fa\"b", strarr[1]); + + rs.close(); + } + + @Test + public void testSetPrimitiveArraysObjects() throws SQLException { + PreparedStatement pstmt = conn.prepareStatement("INSERT INTO arrtest VALUES (?,?,?)"); + + final PGConnection arraySupport = conn.unwrap(PGConnection.class); + + pstmt.setArray(1, arraySupport.createArrayOf("int4", new int[] { 1, 2, 3 })); + pstmt.setObject(2, arraySupport.createArrayOf("float8", new double[] { 3.1d, 1.4d })); + pstmt.setObject(3, arraySupport.createArrayOf("varchar", new String[] { "abc", "f'a", "fa\"b" })); + + pstmt.executeUpdate(); + pstmt.close(); + + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT intarr, decarr, strarr FROM arrtest"); + Assert.assertTrue(rs.next()); + + Array arr = rs.getArray(1); + Assert.assertEquals(Types.INTEGER, arr.getBaseType()); + Integer[] intarr = (Integer[]) arr.getArray(); + Assert.assertEquals(3, intarr.length); + Assert.assertEquals(1, intarr[0].intValue()); + Assert.assertEquals(2, intarr[1].intValue()); + Assert.assertEquals(3, intarr[2].intValue()); + + arr = rs.getArray(2); + Assert.assertEquals(Types.NUMERIC, arr.getBaseType()); + BigDecimal[] decarr = (BigDecimal[]) arr.getArray(); + Assert.assertEquals(2, decarr.length); + Assert.assertEquals(new BigDecimal("3.1"), decarr[0]); + Assert.assertEquals(new BigDecimal("1.4"), decarr[1]); + + arr = rs.getArray(3); + Assert.assertEquals(Types.VARCHAR, arr.getBaseType()); + String[] strarr = (String[]) arr.getArray(2, 2); + Assert.assertEquals(2, strarr.length); + Assert.assertEquals("f'a", strarr[0]); + Assert.assertEquals("fa\"b", strarr[1]); + + try { + arraySupport.createArrayOf("int4", Integer.valueOf(1)); + fail("not an array"); + } catch (PSQLException e) { + + } + + rs.close(); + } + + @Test + public void testSetNullArrays() throws SQLException { + PreparedStatement pstmt = conn.prepareStatement("INSERT INTO arrtest VALUES (?,?,?)"); + + final PGConnection arraySupport = conn.unwrap(PGConnection.class); + + pstmt.setArray(1, arraySupport.createArrayOf("int4", null)); + pstmt.setObject(2, conn.createArrayOf("float8", null)); + pstmt.setObject(3, arraySupport.createArrayOf("varchar", null)); + + pstmt.executeUpdate(); + pstmt.close(); + + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT intarr, decarr, strarr FROM arrtest"); + Assert.assertTrue(rs.next()); + + Array arr = rs.getArray(1); + Assert.assertNull(arr); + + arr = rs.getArray(2); + Assert.assertNull(arr); + + arr = rs.getArray(3); + Assert.assertNull(arr); + + rs.close(); + } + @Test public void testRetrieveArrays() throws SQLException { Statement stmt = conn.createStatement(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 87a04e3ea3..e687cb61b5 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -9,6 +9,7 @@ import org.postgresql.core.ReturningParserTest; import org.postgresql.core.v3.V3ParameterListTests; import org.postgresql.jdbc.DeepBatchedInsertStatementTest; +import org.postgresql.jdbc.PrimitiveArraySupportTest; import org.postgresql.test.core.JavaVersionTest; import org.postgresql.test.core.NativeQueryBindLengthTest; import org.postgresql.test.util.ExpressionPropertiesTest; @@ -61,6 +62,7 @@ ResultSetTest.class, ResultSetMetaDataTest.class, ArrayTest.class, + PrimitiveArraySupportTest.class, RefCursorTest.class, DateTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java index 3d3640e3ae..dba8f899fd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java @@ -7,6 +7,7 @@ import org.postgresql.core.ServerVersion; import org.postgresql.geometric.PGbox; +import org.postgresql.jdbc.PgConnection; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; @@ -27,6 +28,7 @@ import java.sql.Statement; import java.sql.Types; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.UUID; @@ -74,6 +76,22 @@ public void tearDown() throws SQLException { super.tearDown(); } + @Test + public void testCreateArrayOfBool() throws SQLException { + PreparedStatement pstmt = _conn.prepareStatement("SELECT ?::bool[]"); + pstmt.setArray(1, _conn.unwrap(PgConnection.class).createArrayOf("boolean", new boolean[] { true, true, false })); + + ResultSet rs = pstmt.executeQuery(); + Assert.assertTrue(rs.next()); + Array arr = rs.getArray(1); + Boolean[] out = (Boolean[]) arr.getArray(); + + Assert.assertEquals(3, out.length); + Assert.assertEquals(Boolean.TRUE, out[0]); + Assert.assertEquals(Boolean.TRUE, out[1]); + Assert.assertEquals(Boolean.FALSE, out[2]); + } + @Test public void testCreateArrayOfInt() throws SQLException { PreparedStatement pstmt = _conn.prepareStatement("SELECT ?::int[]"); @@ -150,7 +168,7 @@ public void testCreateArrayOfMultiJson() throws SQLException { PGobject p2 = new PGobject(); p2.setType("json"); p2.setValue("{\"x\": 20}"); - PGobject[] in = new PGobject[]{p1, p2}; + PGobject[] in = new PGobject[] { p1, p2 }; pstmt.setArray(1, _conn.createArrayOf("json", in)); ResultSet rs = pstmt.executeQuery(); @@ -315,27 +333,33 @@ public void testUUIDArray() throws SQLException { @Test public void testSetObjectFromJavaArray() throws SQLException { String[] strArray = new String[]{"a", "b", "c"}; + Object[] objCopy = Arrays.copyOf(strArray, strArray.length, Object[].class); PreparedStatement pstmt = _conn.prepareStatement("INSERT INTO arrtest(strarr) VALUES (?)"); - // Incorrect, but commonly attempted by many ORMs: + //cannot handle generic Object[] try { - pstmt.setObject(1, strArray, Types.ARRAY); + pstmt.setObject(1, objCopy, Types.ARRAY); pstmt.executeUpdate(); Assert.fail("setObject() with a Java array parameter and Types.ARRAY shouldn't succeed"); } catch (org.postgresql.util.PSQLException ex) { // Expected failure. } - // Also incorrect, but commonly attempted by many ORMs: try { - pstmt.setObject(1, strArray); + pstmt.setObject(1, objCopy); pstmt.executeUpdate(); Assert.fail("setObject() with a Java array parameter and no Types argument shouldn't succeed"); } catch (org.postgresql.util.PSQLException ex) { // Expected failure. } + pstmt.setObject(1, strArray); + pstmt.executeUpdate(); + + pstmt.setObject(1, strArray, Types.ARRAY); + pstmt.executeUpdate(); + // Correct way, though the use of "text" as a type is non-portable. // Only supported for JDK 1.6 and JDBC4 Array sqlArray = _conn.createArrayOf("text", strArray); @@ -549,10 +573,11 @@ public void nullArray() throws SQLException { Assert.assertNull("null array should return null on getObject", getObject); } - @Test(expected = NullPointerException.class) + @Test public void createNullArray() throws SQLException { Array arr = con.createArrayOf("float8", null); - Assert.fail("createArrayOf(float8, null) should fail with NPE"); + Assert.assertNotNull(arr); + Assert.assertNull(arr.getArray()); } @Test From 0d31d46adff4e9772db843195e1638531bc703e0 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 2 Jan 2018 21:33:24 +0300 Subject: [PATCH 049/427] fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" When expecting no rows (e.g. executeUpdate with NO_GENERATED_KEYS) a query might still return one row as "max rows" in Execute message does not allow to limit the resultset completely. The returned tuples are ignored all the way up via "noResults / QueryExecutor.QUERY_NO_RESULTS", however it fails when it meets handler.handleResultRows and tries to create a resultSet. The corrective action is to create empty tuples list so empty resultSet is created. The issue is reproduced in binary=FORCE in GeneratedKeysTest --- .../org/postgresql/core/v3/QueryExecutorImpl.java | 12 ++++++++---- .../org/postgresql/test/jdbc3/GeneratedKeysTest.java | 9 ++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 76967e0d2c..aafbe82a8c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2067,8 +2067,10 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti Portal currentPortal = executeData.portal; Field[] fields = currentQuery.getFields(); - if (fields != null && !noResults && tuples == null) { - tuples = new ArrayList(); + if (fields != null && tuples == null) { + // When no results expected, pretend an empty resultset was returned + // Not sure if new ArrayList can be always replaced with emptyList + tuples = noResults ? Collections.emptyList() : new ArrayList(); } handler.handleResultRows(currentQuery, fields, tuples, currentPortal); @@ -2115,8 +2117,10 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti } Field[] fields = currentQuery.getFields(); - if (fields != null && !noResults && tuples == null) { - tuples = new ArrayList(); + if (fields != null && tuples == null) { + // When no results expected, pretend an empty resultset was returned + // Not sure if new ArrayList can be always replaced with emptyList + tuples = noResults ? Collections.emptyList() : new ArrayList(); } // If we received tuples we must know the structure of the diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java index 6e6f74a866..1884921873 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java @@ -66,16 +66,19 @@ public String getClause() { private final ReturningInQuery returningInQuery; private final String returningClause; - public GeneratedKeysTest(ReturningInQuery returningInQuery) throws Exception { + public GeneratedKeysTest(ReturningInQuery returningInQuery, BinaryMode binaryMode) throws Exception { this.returningInQuery = returningInQuery; this.returningClause = returningInQuery.getClause(); + setBinaryMode(binaryMode); } - @Parameterized.Parameters(name = "returningInQuery = {0}") + @Parameterized.Parameters(name = "returningInQuery = {0}, binary = {1}") public static Iterable data() { Collection ids = new ArrayList(); for (ReturningInQuery returningInQuery : ReturningInQuery.values()) { - ids.add(new Object[]{returningInQuery}); + for (BinaryMode binaryMode : BinaryMode.values()) { + ids.add(new Object[]{returningInQuery, binaryMode}); + } } return ids; } From 082d00941ad5f8abf44a0785a6f086c106b3c746 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 2 Jan 2018 21:43:03 +0300 Subject: [PATCH 050/427] fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement Current "describe" approach is to set "statement/portal described" flags at "send describe" phase. It turns out the describe might be skipped (e.g. if bind fails), then query is marked as "described" however no field information is known. The fix is to reset "described" flags in "Ready For Query" for the queries in pendingDescribeStatementQueue / pendingDescribePortalQueue fixes #811 --- .../postgresql/core/v3/QueryExecutorImpl.java | 17 +++++++-- .../java/org/postgresql/util/PSQLState.java | 1 + .../test/jdbc3/GeneratedKeysTest.java | 35 ++++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index aafbe82a8c..af38c6f659 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -53,6 +53,7 @@ import java.sql.Statement; import java.util.ArrayDeque; import java.util.ArrayList; +import java.util.Collections; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; @@ -1394,6 +1395,7 @@ private void sendSync() throws IOException { pgStream.sendChar('S'); // Sync pgStream.sendInteger4(4); // Length pgStream.flush(); + // Below "add queues" are likely not required at all pendingExecuteQueue.add(new ExecuteRequest(sync, null, true)); pendingDescribePortalQueue.add(sync); } @@ -2331,8 +2333,19 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti } pendingParseQueue.clear(); // No more ParseComplete messages expected. - pendingDescribeStatementQueue.clear(); // No more ParameterDescription messages expected. - pendingDescribePortalQueue.clear(); // No more RowDescription messages expected. + // Pending "describe" requests might be there in case of error + // If that is the case, reset "described" status, so the statement is properly + // described on next execution + while (!pendingDescribeStatementQueue.isEmpty()) { + DescribeRequest request = pendingDescribeStatementQueue.removeFirst(); + LOGGER.log(Level.FINEST, " FE marking setStatementDescribed(false) for query {0}", request.query); + request.query.setStatementDescribed(false); + } + while (!pendingDescribePortalQueue.isEmpty()) { + SimpleQuery describePortalQuery = pendingDescribePortalQueue.removeFirst(); + LOGGER.log(Level.FINEST, " FE marking setPortalDescribed(false) for query {0}", describePortalQuery); + describePortalQuery.setPortalDescribed(false); + } pendingBindQueue.clear(); // No more BindComplete messages expected. pendingExecuteQueue.clear(); // No more query executions expected. break; diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index a77b4b421d..c097f46067 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -51,6 +51,7 @@ public enum PSQLState { NOT_IMPLEMENTED("0A000"), DATA_ERROR("22000"), + STRING_DATA_RIGHT_TRUNCATION("22001"), NUMERIC_VALUE_OUT_OF_RANGE("22003"), BAD_DATETIME_FORMAT("22007"), DATETIME_OVERFLOW("22008"), diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java index 1884921873..36a6e440cb 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java @@ -12,8 +12,10 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.postgresql.PGStatement; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; +import org.postgresql.util.PSQLState; import org.junit.Test; import org.junit.runner.RunWith; @@ -86,7 +88,7 @@ public static Iterable data() { @Override public void setUp() throws Exception { super.setUp(); - TestUtil.createTempTable(con, "genkeys", "a serial, b text, c int"); + TestUtil.createTempTable(con, "genkeys", "a serial, b varchar(5), c int"); } @Override @@ -450,5 +452,36 @@ public void selectWithGeneratedKeysViaNonPrepared() throws SQLException { s.close(); } + @Test + public void breakDescribeOnFirstServerPreparedExecution() throws SQLException { + // Test code is adapted from https://github.com/pgjdbc/pgjdbc/issues/811#issuecomment-352468388 + + PreparedStatement ps = + con.prepareStatement("insert into genkeys(b) values(?)" + returningClause, + Statement.RETURN_GENERATED_KEYS); + ps.setString(1, "TEST"); + + // The below "prepareThreshold - 1" executions ensure that bind failure would happen + // exactly on prepareThreshold execution (the first one when server flips to server-prepared) + int prepareThreshold = ps.unwrap(PGStatement.class).getPrepareThreshold(); + for (int i = 0; i < prepareThreshold - 1; i++) { + ps.executeUpdate(); + } + try { + // Send a value that's too long on the 5th request + ps.setString(1, "TESTTESTTEST"); + ps.executeUpdate(); + } catch (SQLException e) { + // Expected error: org.postgresql.util.PSQLException: ERROR: value + // too long for type character varying(10) + if (!PSQLState.STRING_DATA_RIGHT_TRUNCATION.getState().equals(e.getSQLState())) { + throw e; + } + } + // Send a valid value on the next request + ps.setString(1, "TEST"); + ps.executeUpdate(); + } + } From 63918eb9b1211e0115c8b55401e22c7a3f37e534 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 2 Jan 2018 23:08:29 +0300 Subject: [PATCH 051/427] tests: correct assertion to use proper column --- .../src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java index b436d5ae83..1fc4f4a1f8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java @@ -191,8 +191,8 @@ public void testGetTimestamp() throws Exception { ts = rs.getTimestamp(4, cGMT13); // 1970-01-01 15:00:00 +0300 -> 1970-01-02 01:00:00 +1300 (CHECK ME) assertEquals(-43200000L, ts.getTime()); - str = rs.getString(3); - assertEquals("timetz -> getString" + format, "15:00:00", str); + str = rs.getString(4); + assertEquals("timetz -> getString" + format, "15:00:00+03", str); // date: 2005-01-01 ts = rs.getTimestamp(5); From 1361c5208d6afc5d54e4df1053c48cdb31df9038 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 2 Jan 2018 23:11:43 +0300 Subject: [PATCH 052/427] fix: add type parameter so code is Java 6/7 compatible --- .../main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index af38c6f659..f596419ec1 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2072,7 +2072,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti if (fields != null && tuples == null) { // When no results expected, pretend an empty resultset was returned // Not sure if new ArrayList can be always replaced with emptyList - tuples = noResults ? Collections.emptyList() : new ArrayList(); + tuples = noResults ? Collections.emptyList() : new ArrayList(); } handler.handleResultRows(currentQuery, fields, tuples, currentPortal); @@ -2122,7 +2122,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti if (fields != null && tuples == null) { // When no results expected, pretend an empty resultset was returned // Not sure if new ArrayList can be always replaced with emptyList - tuples = noResults ? Collections.emptyList() : new ArrayList(); + tuples = noResults ? Collections.emptyList() : new ArrayList(); } // If we received tuples we must know the structure of the From c6fec34661b51cd9cbee157d0c334a3ab29859e8 Mon Sep 17 00:00:00 2001 From: Chen Huajun Date: Thu, 4 Jan 2018 01:04:19 +0800 Subject: [PATCH 053/427] fix: improve multihost connection for preferSlave case (verify expired hosts before connecting to cached master) (#844) The notable behavior change is related with targetServerType=preferSlave. In that case, it requires to check all the possible slaves first to find the right server. The state of some servers might be expired due to hostRecheckSeconds, so pgjdbc should try connecting to all the "known slaves" and "expired" servers in attempt to find a slave among them, and only then it should try connecting to master. That logic was not there, and preferSlave could easily connect to master even at times when a slave was available. Note: hostRecheckSeconds is still in place (default 10 seconds), and pgdjbc trusts that status. However, there's an exception: in case no servers match the criteria (e.g. all the servers are marked with "can't connect" in cache), then pgjdbc would still try connecting to all the hosts in the connection URL in order. --- .travis.yml | 3 + .travis/travis_create_slaves.sh | 76 +++++++++ README.md | 2 +- build.properties | 4 + .../main/java/org/postgresql/PGProperty.java | 2 +- .../core/v3/ConnectionFactoryImpl.java | 58 +++++-- .../postgresql/hostchooser/CandidateHost.java | 22 +++ .../hostchooser/GlobalHostStatusTracker.java | 44 ++---- .../postgresql/hostchooser/HostChooser.java | 6 +- .../hostchooser/HostChooserFactory.java | 2 +- .../hostchooser/MultiHostChooser.java | 146 ++++++++++-------- .../hostchooser/SingleHostChooser.java | 12 +- .../test/hostchooser/MultiHostTestSuite.java | 29 ++++ .../hostchooser/MultiHostsConnectionTest.java | 109 ++++++++++--- 14 files changed, 378 insertions(+), 137 deletions(-) create mode 100755 .travis/travis_create_slaves.sh create mode 100644 pgjdbc/src/main/java/org/postgresql/hostchooser/CandidateHost.java diff --git a/.travis.yml b/.travis.yml index b0ee930aa4..d94a4248cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,8 @@ dist: trusty before_script: - test $(grep "after_n_builds" codecov.yml | tr -d '[:space:]' | cut -d":" -f2) -eq $(grep -e "COVERAGE=Y$" .travis.yml | wc -l) || exit 1 - export PG_DATADIR="/etc/postgresql/${PG_VERSION}/main" + - export PG_SLAVE1_DATADIR="/etc/postgresql/${PG_VERSION}/slave1" + - export PG_SLAVE2_DATADIR="/etc/postgresql/${PG_VERSION}/slave2" - ./.travis/travis_install_postgres.sh - test "x$XA" == 'x' || ./.travis/travis_configure_xa.sh - test "x$REPLICATION" == 'x' || ./.travis/travis_configure_replication.sh @@ -13,6 +15,7 @@ before_script: - test "x$PG_VERSION" = 'xHEAD' || psql -U postgres -c "create user test with password 'test';" - test "x$REPLICATION" == 'x' || psql -U postgres -c "alter user test with replication;" - psql -c 'create database test owner test;' -U postgres + - test "x$REPLICATION" == 'x' || ./.travis/travis_create_slaves.sh - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc - test "x$PG_VERSION" == 'x' || test "x$NO_HSTORE" == 'xY' || psql test -c 'CREATE EXTENSION hstore;' -U postgres - test "x$PG_VERSION" == 'x' || test "x$CREATE_PLPGSQL" == 'x' || createlang -U postgres plpgsql test diff --git a/.travis/travis_create_slaves.sh b/.travis/travis_create_slaves.sh new file mode 100755 index 0000000000..2eba2450c9 --- /dev/null +++ b/.travis/travis_create_slaves.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash +set -x -e + +if [ -z "$PG_VERSION" ] +then + echo "env PG_VERSION not define"; +elif [ "x${PG_VERSION}" = "xHEAD" ] +then + PG_CTL="/usr/local/pgsql/bin/pg_ctl" + PG_BASEBACKUP="/usr/local/pgsql/bin/pg_basebackup" +else + PG_CTL="/usr/lib/postgresql/${PG_VERSION}/bin/pg_ctl" + PG_BASEBACKUP="/usr/lib/postgresql/${PG_VERSION}/bin/pg_basebackup" +fi + +#Create Slave 1 +sudo rm -rf ${PG_SLAVE1_DATADIR} +sudo mkdir -p ${PG_SLAVE1_DATADIR} +sudo chmod 700 ${PG_SLAVE1_DATADIR} +sudo chown -R postgres:postgres ${PG_SLAVE1_DATADIR} + +sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE1_DATADIR} -X stream" + +sudo su postgres -c "echo standby_mode = \'on\' >${PG_SLAVE1_DATADIR}/recovery.conf" +sudo su postgres -c "echo primary_conninfo = \'host=localhost port=5432 user=test password=test\' >>${PG_SLAVE1_DATADIR}/recovery.conf" +sudo su postgres -c "echo recovery_target_timeline = \'latest\' >>${PG_SLAVE1_DATADIR}/recovery.conf" + +if [[ "x${PG_VERSION}" != "xHEAD" ]] +then + sudo su postgres -c "echo 'local all all trust' > ${PG_SLAVE1_DATADIR}/pg_hba.conf" + sudo su postgres -c "echo 'host all all 127.0.0.1/32 trust' >> ${PG_SLAVE1_DATADIR}/pg_hba.conf" + sudo su postgres -c "echo 'host all all ::1/128 trust' >> ${PG_SLAVE1_DATADIR}/pg_hba.conf" + + sudo su postgres -c "touch ${PG_SLAVE1_DATADIR}/pg_ident.conf" + + sudo su postgres -c "cp -f ${PG_DATADIR}/postgresql.conf ${PG_SLAVE1_DATADIR}/postgresql.conf" + sudo sed -i -e "/^[ \t]*data_directory.*/d" ${PG_SLAVE1_DATADIR}/postgresql.conf + sudo sed -i -e "/^[ \t]*hba_file.*/d" ${PG_SLAVE1_DATADIR}/postgresql.conf + sudo sed -i -e "/^[ \t]*ident_file.*/d" ${PG_SLAVE1_DATADIR}/postgresql.conf + sudo sed -i -e "s/^#\?hot_standby.*/hot_standby = on/g" ${PG_SLAVE1_DATADIR}/postgresql.conf +fi + +#Start Slave 1 +sudo su postgres -c "$PG_CTL -D ${PG_SLAVE1_DATADIR} -w -t 300 -c -o '-p 5433' -l /tmp/postgres_slave1.log start" || (sudo tail /tmp/postgres_slave1.log ; exit 1) +sudo tail /tmp/postgres_slave1.log + +#Create Slave 2 +sudo rm -rf ${PG_SLAVE2_DATADIR} +sudo mkdir -p ${PG_SLAVE2_DATADIR} +sudo chmod 700 ${PG_SLAVE2_DATADIR} +sudo chown -R postgres:postgres ${PG_SLAVE2_DATADIR} + +sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE2_DATADIR} -X stream" + +sudo su postgres -c "echo standby_mode = \'on\' >${PG_SLAVE2_DATADIR}/recovery.conf" +sudo su postgres -c "echo primary_conninfo = \'host=localhost port=5432 user=test password=test\' >>${PG_SLAVE2_DATADIR}/recovery.conf" +sudo su postgres -c "echo recovery_target_timeline = \'latest\' >>${PG_SLAVE2_DATADIR}/recovery.conf" + +if [[ "x${PG_VERSION}" != "xHEAD" ]] +then + sudo su postgres -c "echo 'local all all trust' > ${PG_SLAVE2_DATADIR}/pg_hba.conf" + sudo su postgres -c "echo 'host all all 127.0.0.1/32 trust' >> ${PG_SLAVE2_DATADIR}/pg_hba.conf" + sudo su postgres -c "echo 'host all all ::1/128 trust' >> ${PG_SLAVE2_DATADIR}/pg_hba.conf" + + sudo su postgres -c "touch ${PG_SLAVE2_DATADIR}/pg_ident.conf" + + sudo su postgres -c "cp -f ${PG_DATADIR}/postgresql.conf ${PG_SLAVE2_DATADIR}/postgresql.conf" + sudo sed -i -e "/^[ \t]*data_directory.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf + sudo sed -i -e "/^[ \t]*hba_file.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf + sudo sed -i -e "/^[ \t]*ident_file.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf + sudo sed -i -e "s/^#\?hot_standby.*/hot_standby = on/g" ${PG_SLAVE2_DATADIR}/postgresql.conf +fi + +#Start Slave 2 +sudo su postgres -c "$PG_CTL -D ${PG_SLAVE2_DATADIR} -w -t 300 -c -o '-p 5434' -l /tmp/postgres_slave2.log start" || (sudo tail /tmp/postgres_slave2.log ; exit 1) +sudo tail /tmp/postgres_slave2.log diff --git a/README.md b/README.md index a932c49b2e..9fc9f505d7 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ In addition to the standard connection parameters the driver supports a number o | assumeMinServerVersion | String | null | Assume the server is at least that version | | currentSchema | String | null | Specify the schema to be set in the search-path | | targetServerType | String | any | Specifies what kind of server to connect, possible values: any, master, slave, preferSlave | -| hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after host statuses are checked again in case they have changed | +| hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after which the host status is checked again in case it has changed | | loadBalanceHosts | Boolean | false | If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates | | socketFactory | String | null | Specify a socket factory for socket creation | | socketFactoryArg | String | null | Argument forwarded to constructor of SocketFactory class. | diff --git a/build.properties b/build.properties index 6317389f27..d41f407114 100644 --- a/build.properties +++ b/build.properties @@ -5,6 +5,10 @@ server=localhost port=5432 +slaveServer=localhost +slavePort=5433 +slaveServer2=localhost +slavePort2=5434 database=test username=test password=test diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 3fa9654af0..92ecbfa931 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -359,7 +359,7 @@ public enum PGProperty { "If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates"), HOST_RECHECK_SECONDS("hostRecheckSeconds", "10", - "Specifies period (seconds) after host statuses are checked again in case they have changed"), + "Specifies period (seconds) after which the host status is checked again in case it has changed"), /** * Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 9dcc42b835..7fc3eaf887 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -15,6 +15,7 @@ import org.postgresql.core.SocketFactoryFactory; import org.postgresql.core.Utils; import org.postgresql.core.Version; +import org.postgresql.hostchooser.CandidateHost; import org.postgresql.hostchooser.GlobalHostStatusTracker; import org.postgresql.hostchooser.HostChooser; import org.postgresql.hostchooser.HostChooserFactory; @@ -32,11 +33,14 @@ import java.net.ConnectException; import java.sql.SQLException; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Properties; import java.util.TimeZone; import java.util.logging.Level; +import java.util.logging.LogRecord; import java.util.logging.Logger; import javax.net.SocketFactory; @@ -121,15 +125,30 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT); } + long lastKnownTime = System.currentTimeMillis() - PGProperty.HOST_RECHECK_SECONDS.getInt(info) * 1000; + SocketFactory socketFactory = SocketFactoryFactory.getSocketFactory(info); HostChooser hostChooser = HostChooserFactory.createHostChooser(hostSpecs, targetServerType, info); - Iterator hostIter = hostChooser.iterator(); + Iterator hostIter = hostChooser.iterator(); + Map knownStates = new HashMap(); while (hostIter.hasNext()) { - HostSpec hostSpec = hostIter.next(); + CandidateHost candidateHost = hostIter.next(); + HostSpec hostSpec = candidateHost.hostSpec; LOGGER.log(Level.FINE, "Trying to establish a protocol version 3 connection to {0}", hostSpec); + // Note: per-connect-attempt status map is used here instead of GlobalHostStatusTracker + // for the case when "no good hosts" match (e.g. all the hosts are known as "connectfail") + // In that case, the system tries to connect to each host in order, thus it should not look into + // GlobalHostStatusTracker + HostStatus knownStatus = knownStates.get(hostSpec); + if (knownStatus != null && !candidateHost.targetServerType.allowConnectingTo(knownStatus)) { + LOGGER.log(Level.FINER, "Known status of host {0} is {1}, and required status was {2}. Will try next host", + new Object[]{hostSpec, knownStatus, candidateHost.targetServerType}); + continue; + } + // // Establish a connection. // @@ -195,19 +214,14 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin // Check Master or Slave HostStatus hostStatus = HostStatus.ConnectOK; - if (targetServerType != HostRequirement.any) { + if (candidateHost.targetServerType != HostRequirement.any) { hostStatus = isMaster(queryExecutor) ? HostStatus.Master : HostStatus.Slave; } GlobalHostStatusTracker.reportHostStatus(hostSpec, hostStatus); - if (!targetServerType.allowConnectingTo(hostStatus)) { + knownStates.put(hostSpec, hostStatus); + if (!candidateHost.targetServerType.allowConnectingTo(hostStatus)) { queryExecutor.close(); - if (hostIter.hasNext()) { - // still more addresses to try - continue; - } - throw new PSQLException(GT - .tr("Could not find a server with specified targetServerType: {0}", targetServerType), - PSQLState.CONNECTION_UNABLE_TO_CONNECT); + continue; } runInitialQueries(queryExecutor, info); @@ -216,7 +230,7 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin return queryExecutor; } catch (UnsupportedProtocolException upe) { // Swallow this and return null so ConnectionFactory tries the next protocol. - LOGGER.log(Level.SEVERE, "Protocol not supported, abandoning connection."); + LOGGER.log(Level.SEVERE, "Protocol not supported, abandoning connection.", upe); closeStream(newStream); return null; } catch (ConnectException cex) { @@ -224,6 +238,8 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin // ConnectException is thrown when the connection cannot be made. // we trap this an return a more meaningful message for the end user GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); + knownStates.put(hostSpec, HostStatus.ConnectFail); + log(Level.WARNING, "ConnectException occurred while connecting to {0}", cex, hostSpec); if (hostIter.hasNext()) { // still more addresses to try continue; @@ -234,6 +250,8 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin } catch (IOException ioe) { closeStream(newStream); GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); + knownStates.put(hostSpec, HostStatus.ConnectFail); + log(Level.WARNING, "IOException occurred while connecting to {0}", ioe, hostSpec); if (hostIter.hasNext()) { // still more addresses to try continue; @@ -242,6 +260,9 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT, ioe); } catch (SQLException se) { closeStream(newStream); + log(Level.WARNING, "SQLException occurred while connecting to {0}", se, hostSpec); + GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); + knownStates.put(hostSpec, HostStatus.ConnectFail); if (hostIter.hasNext()) { // still more addresses to try continue; @@ -249,7 +270,8 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin throw se; } } - throw new PSQLException(GT.tr("The connection url is invalid."), + throw new PSQLException(GT + .tr("Could not find a server with specified targetServerType: {0}", targetServerType), PSQLState.CONNECTION_UNABLE_TO_CONNECT); } @@ -287,6 +309,16 @@ private List getParametersForStartup(String user, String database, Pro return paramList; } + private static void log(Level level, String msg, Throwable thrown, Object... params) { + if (!LOGGER.isLoggable(level)) { + return; + } + LogRecord rec = new LogRecord(level, msg); + rec.setParameters(params); + rec.setThrown(thrown); + LOGGER.log(rec); + } + /** * Convert Java time zone to postgres time zone. All others stay the same except that GMT+nn * changes to GMT-nn and vise versa. diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/CandidateHost.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/CandidateHost.java new file mode 100644 index 0000000000..220ae1cdb5 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/CandidateHost.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.hostchooser; + +import org.postgresql.util.HostSpec; + + +/** + * Candidate host to be connected. + */ +public class CandidateHost { + public final HostSpec hostSpec; + public final HostRequirement targetServerType; + + public CandidateHost(HostSpec hostSpec, HostRequirement targetServerType) { + this.hostSpec = hostSpec; + this.targetServerType = targetServerType; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java index 6479a93710..bd53ab9369 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java @@ -30,23 +30,16 @@ public class GlobalHostStatusTracker { public static void reportHostStatus(HostSpec hostSpec, HostStatus hostStatus) { long now = currentTimeMillis(); synchronized (hostStatusMap) { - HostSpecStatus oldStatus = hostStatusMap.get(hostSpec); - if (oldStatus == null || updateStatusFromTo(oldStatus.status, hostStatus)) { - hostStatusMap.put(hostSpec, new HostSpecStatus(hostSpec, hostStatus, now)); + HostSpecStatus hostSpecStatus = hostStatusMap.get(hostSpec); + if (hostSpecStatus == null) { + hostSpecStatus = new HostSpecStatus(hostSpec); + hostStatusMap.put(hostSpec, hostSpecStatus); } + hostSpecStatus.status = hostStatus; + hostSpecStatus.lastUpdated = now; } } - private static boolean updateStatusFromTo(HostStatus oldStatus, HostStatus newStatus) { - if (oldStatus == null) { - return true; - } - if (newStatus == HostStatus.ConnectOK) { - return oldStatus != HostStatus.Master && oldStatus != HostStatus.Slave; - } - return true; - } - /** * Returns a list of candidate hosts that have the required targetServerType. * @@ -55,38 +48,31 @@ private static boolean updateStatusFromTo(HostStatus oldStatus, HostStatus newSt * @param hostRecheckMillis How stale information is allowed. * @return candidate hosts to connect to. */ - static List getCandidateHosts(HostSpec[] hostSpecs, + static List getCandidateHosts(HostSpec[] hostSpecs, HostRequirement targetServerType, long hostRecheckMillis) { - List candidates = new ArrayList(hostSpecs.length); + List candidates = new ArrayList(hostSpecs.length); long latestAllowedUpdate = currentTimeMillis() - hostRecheckMillis; synchronized (hostStatusMap) { for (HostSpec hostSpec : hostSpecs) { HostSpecStatus hostInfo = hostStatusMap.get(hostSpec); - // return null status wrapper if if the current value is not known or is too old - if (hostInfo == null || hostInfo.lastUpdated < latestAllowedUpdate) { - hostInfo = new HostSpecStatus(hostSpec, null, Long.MAX_VALUE); - } // candidates are nodes we do not know about and the nodes with correct type - if (hostInfo.status == null || targetServerType.allowConnectingTo(hostInfo.status)) { - candidates.add(hostInfo); + if (hostInfo == null + || hostInfo.lastUpdated < latestAllowedUpdate + || targetServerType.allowConnectingTo(hostInfo.status)) { + candidates.add(hostSpec); } } } return candidates; } - /** - * Immutable structure of known status of one HostSpec. - */ static class HostSpecStatus { final HostSpec host; - final HostStatus status; - final long lastUpdated; + HostStatus status; + long lastUpdated; - HostSpecStatus(HostSpec host, HostStatus hostStatus, long lastUpdated) { + HostSpecStatus(HostSpec host) { this.host = host; - this.status = hostStatus; - this.lastUpdated = lastUpdated; } @Override diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooser.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooser.java index d726c28580..a506b7bf7d 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooser.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooser.java @@ -5,19 +5,17 @@ package org.postgresql.hostchooser; -import org.postgresql.util.HostSpec; - import java.util.Iterator; /** * Lists connections in preferred order. */ -public interface HostChooser extends Iterable { +public interface HostChooser extends Iterable { /** * Lists connection hosts in preferred order. * * @return connection hosts in preferred order. */ @Override - Iterator iterator(); + Iterator iterator(); } diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooserFactory.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooserFactory.java index 4fb27b1c83..4099fa0307 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooserFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostChooserFactory.java @@ -17,7 +17,7 @@ public class HostChooserFactory { public static HostChooser createHostChooser(HostSpec[] hostSpecs, HostRequirement targetServerType, Properties info) { if (hostSpecs.length == 1) { - return new SingleHostChooser(hostSpecs[0]); + return new SingleHostChooser(hostSpecs[0], targetServerType); } return new MultiHostChooser(hostSpecs, targetServerType, info); } diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java index 8d1925ba82..4ee2014bec 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java @@ -5,17 +5,16 @@ package org.postgresql.hostchooser; -import static java.util.Arrays.asList; import static java.util.Collections.shuffle; -import static java.util.Collections.sort; import org.postgresql.PGProperty; -import org.postgresql.hostchooser.GlobalHostStatusTracker.HostSpecStatus; import org.postgresql.util.HostSpec; import org.postgresql.util.PSQLException; +import java.util.AbstractList; import java.util.ArrayList; -import java.util.Comparator; +import java.util.Arrays; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Properties; @@ -23,13 +22,13 @@ /** * HostChooser that keeps track of known host statuses. */ -public class MultiHostChooser implements HostChooser { +class MultiHostChooser implements HostChooser { private HostSpec[] hostSpecs; private final HostRequirement targetServerType; private int hostRecheckTime; private boolean loadBalance; - protected MultiHostChooser(HostSpec[] hostSpecs, HostRequirement targetServerType, + MultiHostChooser(HostSpec[] hostSpecs, HostRequirement targetServerType, Properties info) { this.hostSpecs = hostSpecs; this.targetServerType = targetServerType; @@ -42,79 +41,98 @@ protected MultiHostChooser(HostSpec[] hostSpecs, HostRequirement targetServerTyp } @Override - public Iterator iterator() { - List candidates = - GlobalHostStatusTracker.getCandidateHosts(hostSpecs, targetServerType, hostRecheckTime); - // if no candidates are suitable (all wrong type or unavailable) then we try original list in - // order - if (candidates.isEmpty()) { - return asList(hostSpecs).iterator(); - } - if (candidates.size() == 1) { - return asList(candidates.get(0).host).iterator(); + public Iterator iterator() { + Iterator res = candidateIterator(); + if (!res.hasNext()) { + // In case all the candidate hosts are unavailable or do not match, try all the hosts just in case + List allHosts = Arrays.asList(hostSpecs); + if (loadBalance) { + allHosts = new ArrayList(allHosts); + Collections.shuffle(allHosts); + } + res = withReqStatus(targetServerType, allHosts).iterator(); } - sortCandidates(candidates); - shuffleGoodHosts(candidates); - return extractHostSpecs(candidates).iterator(); + return res; } - private void sortCandidates(List candidates) { - if (targetServerType == HostRequirement.any) { - return; + private Iterator candidateIterator() { + if (targetServerType != HostRequirement.preferSlave) { + return getCandidateHosts(targetServerType).iterator(); } - sort(candidates, new HostSpecByTargetServerTypeComparator()); - } - private void shuffleGoodHosts(List candidates) { - if (!loadBalance) { - return; + // preferSlave tries to find slave hosts first + // Note: sort does not work here since there are "unknown" hosts, + // and that "unkown" might turn out to be master, so we should discard that + // if other slaves exist + List slaves = getCandidateHosts(HostRequirement.slave); + List any = getCandidateHosts(HostRequirement.any); + + if (slaves.isEmpty()) { + return any.iterator(); } - int count; - for (count = 1; count < candidates.size(); count++) { - HostSpecStatus hostSpecStatus = candidates.get(count); - if (hostSpecStatus.status != null - && !targetServerType.allowConnectingTo(hostSpecStatus.status)) { - break; - } + + if (any.isEmpty()) { + return slaves.iterator(); } - if (count == 1) { - return; + + if (slaves.get(slaves.size() - 1).equals(any.get(0))) { + // When the last slave's hostspec is the same as the first in "any" list, there's no need + // to attempt to connect it as "slave" + // Note: this is only an optimization + slaves = rtrim(1, slaves); } - List goodHosts = candidates.subList(0, count); - shuffle(goodHosts); + return append(slaves, any).iterator(); } - private List extractHostSpecs(List hostSpecStatuses) { - List hostSpecs = new ArrayList(hostSpecStatuses.size()); - for (HostSpecStatus hostSpecStatus : hostSpecStatuses) { - hostSpecs.add(hostSpecStatus.host); + private List getCandidateHosts(HostRequirement hostRequirement) { + List candidates = + GlobalHostStatusTracker.getCandidateHosts(hostSpecs, hostRequirement, hostRecheckTime); + if (loadBalance) { + shuffle(candidates); } - return hostSpecs; + return withReqStatus(hostRequirement, candidates); } - class HostSpecByTargetServerTypeComparator implements Comparator { - @Override - public int compare(HostSpecStatus o1, HostSpecStatus o2) { - int r1 = rank(o1.status, targetServerType); - int r2 = rank(o2.status, targetServerType); - return r1 == r2 ? 0 : r1 > r2 ? -1 : 1; - } + private List withReqStatus(final HostRequirement requirement, final List hosts) { + return new AbstractList() { + @Override + public CandidateHost get(int index) { + return new CandidateHost(hosts.get(index), requirement); + } + + @Override + public int size() { + return hosts.size(); + } + }; + } - private int rank(HostStatus status, HostRequirement targetServerType) { - if (status == HostStatus.ConnectFail) { - return -1; + private List append(final List a, final List b) { + return new AbstractList() { + @Override + public T get(int index) { + return index < a.size() ? a.get(index) : b.get(index - a.size()); } - switch (targetServerType) { - case master: - return status == HostStatus.Master || status == null ? 1 : 0; - case slave: - return status == HostStatus.Slave || status == null ? 1 : 0; - case preferSlave: - return status == HostStatus.Slave || status == null ? 2 - : status == HostStatus.Master ? 1 : 0; - default: - return 0; + + @Override + public int size() { + return a.size() + b.size(); } - } + }; + } + + private List rtrim(final int size, final List a) { + return new AbstractList() { + @Override + public T get(int index) { + return a.get(index); + } + + @Override + public int size() { + return Math.max(0, a.size() - size); + } + }; } + } diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/SingleHostChooser.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/SingleHostChooser.java index 97965b079f..e79e8348e6 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/SingleHostChooser.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/SingleHostChooser.java @@ -14,15 +14,15 @@ /** * Host chooser that returns the single host. */ -public class SingleHostChooser implements HostChooser { - private final Collection hostSpec; +class SingleHostChooser implements HostChooser { + private final Collection candidateHost; - public SingleHostChooser(HostSpec hostSpec) { - this.hostSpec = Collections.singletonList(hostSpec); + SingleHostChooser(HostSpec hostSpec, HostRequirement targetServerType) { + this.candidateHost = Collections.singletonList(new CandidateHost(hostSpec, targetServerType)); } @Override - public Iterator iterator() { - return hostSpec.iterator(); + public Iterator iterator() { + return candidateHost.iterator(); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java index b18f9a5ac3..2f1b81748e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java @@ -31,6 +31,17 @@ public static java.sql.Connection openSlaveDB() throws Exception { return DriverManager.getConnection(TestUtil.getURL(getSlaveServer(), getSlavePort()), props); } + public static java.sql.Connection openSlaveDB2() throws Exception { + TestUtil.initDriver(); + + Properties props = new Properties(); + + props.setProperty("user", TestUtil.getUser()); + props.setProperty("password", TestUtil.getPassword()); + + return DriverManager.getConnection(TestUtil.getURL(getSlaveServer2(), getSlavePort2()), props); + } + /* * Returns the Test server */ @@ -46,6 +57,21 @@ public static int getSlavePort() { .parseInt(System.getProperty("slavePort", String.valueOf(TestUtil.getPort() + 1))); } + /* + * Returns the Test server + */ + public static String getSlaveServer2() { + return System.getProperty("slaveServer2", TestUtil.getServer()); + } + + /* + * Returns the Test port + */ + public static int getSlavePort2() { + return Integer + .parseInt(System.getProperty("slavePort2", String.valueOf(TestUtil.getPort() + 2))); + } + /* * The main entry point for JUnit */ @@ -55,6 +81,9 @@ public static TestSuite suite() throws Exception { try { Connection connection = openSlaveDB(); TestUtil.closeDB(connection); + + connection = openSlaveDB2(); + TestUtil.closeDB(connection); } catch (PSQLException ex) { // replication instance is not available, but suite must have at lest one test case suite.addTestSuite(DummyTest.class); diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java index 6d9d79419c..04c3874640 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java @@ -12,7 +12,7 @@ import static org.postgresql.hostchooser.HostRequirement.master; import static org.postgresql.hostchooser.HostRequirement.preferSlave; import static org.postgresql.hostchooser.HostRequirement.slave; -import static org.postgresql.hostchooser.HostStatus.ConnectFail; +import static org.postgresql.hostchooser.HostStatus.Master; import static org.postgresql.hostchooser.HostStatus.Slave; import static org.postgresql.test.TestUtil.closeDB; @@ -41,9 +41,12 @@ public class MultiHostsConnectionTest extends TestCase { static final String master1 = TestUtil.getServer() + ":" + TestUtil.getPort(); static final String slave1 = MultiHostTestSuite.getSlaveServer() + ":" + MultiHostTestSuite.getSlavePort(); + static final String slave2 = + MultiHostTestSuite.getSlaveServer2() + ":" + MultiHostTestSuite.getSlavePort2(); static final String fake1 = "127.127.217.217:1"; static String masterIp; static String slaveIp; + static String slaveIp2; static String fakeIp = fake1; static Connection con; @@ -63,6 +66,10 @@ public class MultiHostsConnectionTest extends TestCase { slaveIp = getRemoteHostSpec(); closeDB(con); + con = MultiHostTestSuite.openSlaveDB2(); + slaveIp2 = getRemoteHostSpec(); + closeDB(con); + } catch (Exception e) { throw new RuntimeException(e); } @@ -106,7 +113,8 @@ private static Connection getConnection(HostRequirement hostType, boolean reset, sb.append(target).append(','); } sb.setLength(sb.length() - 1); - sb.append("/test"); + sb.append("/"); + sb.append(TestUtil.getDatabase()); return con = DriverManager.getConnection(sb.toString(), props); } @@ -166,9 +174,9 @@ public static void testConnectToMaster() throws SQLException { getConnection(master, false, fake1, slave1, master1); assertRemote(masterIp); - assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(master1, "Master"); - assertGlobalState(slave1, "Slave"); + assertGlobalState(fake1, "ConnectFail"); // cached + assertGlobalState(master1, "Master"); // connected to master + assertGlobalState(slave1, "Slave"); // was unknown, so tried to connect in order } public static void testConnectToSlave() throws SQLException { @@ -180,9 +188,9 @@ public static void testConnectToSlave() throws SQLException { getConnection(slave, false, fake1, master1, slave1); assertRemote(slaveIp); - assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, "Slave"); - assertGlobalState(master1, "Master"); + assertGlobalState(fake1, "ConnectFail"); // cached + assertGlobalState(slave1, "Slave"); // connected + assertGlobalState(master1, "Master"); // tried as it was unknown } public static void testConnectToSlaveFirst() throws SQLException { @@ -192,13 +200,13 @@ public static void testConnectToSlaveFirst() throws SQLException { assertGlobalState(slave1, "Slave"); assertGlobalState(master1, null); - getConnection(preferSlave, false, fake1, master1, slave1); - assertRemote(masterIp); + getConnection(slave, false, fake1, master1, slave1); + assertRemote(slaveIp); assertGlobalState(fake1, "ConnectFail"); assertGlobalState(slave1, "Slave"); - assertGlobalState(master1, "Master"); + assertGlobalState(master1, "Master"); // tried as it was unknown - getConnection(preferSlave, false, fake1, master1, slave1); + getConnection(preferSlave, true, fake1, master1, slave1); assertRemote(slaveIp); assertGlobalState(fake1, "ConnectFail"); assertGlobalState(slave1, "Slave"); @@ -229,14 +237,75 @@ public static void testLoadBalancing() throws SQLException { assertTrue("Never tried to connect to fake node", fake1FoundTried); } - public static void testHostRechecks() throws SQLException, InterruptedException { - getConnection(master, true, fake1, master1, slave1); + public static void testLoadBalancing_preferSlave() throws SQLException { + Set connectedHosts = new HashSet(); + Set tryConnectedHosts = new HashSet(); + for (int i = 0; i < 20; ++i) { + getConnection(preferSlave, true, true, fake1, master1, slave1, slave2); + connectedHosts.add(getRemoteHostSpec()); + tryConnectedHosts.addAll(hostStatusMap.keySet()); + if (tryConnectedHosts.size() == 4) { + break; + } + } + assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + connectedHosts); + assertEquals("Never tried to connect to fake node",4, tryConnectedHosts.size()); + + getConnection(preferSlave, false, true, fake1, master1, slave1); + assertRemote(slaveIp); + connectedHosts.clear(); + for (int i = 0; i < 20; ++i) { + getConnection(preferSlave, false, true, fake1, master1, slave1, slave2); + connectedHosts.add(getRemoteHostSpec()); + if (connectedHosts.size() == 2) { + break; + } + } + assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + connectedHosts); + + // connect to master when there's no slave + getConnection(preferSlave, true, true, fake1, master1); assertRemote(masterIp); - assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, null); - GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), ConnectFail); - assertGlobalState(master1, "ConnectFail"); + getConnection(preferSlave, false, true, fake1, master1); + assertRemote(masterIp); + } + + public static void testLoadBalancing_slave() throws SQLException { + Set connectedHosts = new HashSet(); + Set tryConnectedHosts = new HashSet(); + for (int i = 0; i < 20; ++i) { + getConnection(slave, true, true, fake1, master1, slave1, slave2); + connectedHosts.add(getRemoteHostSpec()); + tryConnectedHosts.addAll(hostStatusMap.keySet()); + if (tryConnectedHosts.size() == 4) { + break; + } + } + assertEquals("Never connected to all salve hosts", new HashSet(asList(slaveIp, slaveIp2)), + connectedHosts); + assertEquals("Never tried to connect to maste and fake node", 4, tryConnectedHosts.size()); + + getConnection(preferSlave, false, true, fake1, master1, slave1); + assertRemote(slaveIp); + connectedHosts.clear(); + for (int i = 0; i < 20; ++i) { + getConnection(slave, false, true, fake1, master1, slave1, slave2); + connectedHosts.add(getRemoteHostSpec()); + if (connectedHosts.size() == 2) { + break; + } + } + assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + connectedHosts); + } + + public static void testHostRechecks() throws SQLException, InterruptedException { + GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Slave); + GlobalHostStatusTracker.reportHostStatus(hostSpec(slave1), Master); + GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Slave); try { getConnection(master, false, fake1, slave1, master1); @@ -244,6 +313,10 @@ public static void testHostRechecks() throws SQLException, InterruptedException } catch (SQLException ex) { } + GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Slave); + GlobalHostStatusTracker.reportHostStatus(hostSpec(slave1), Master); + GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Slave); + SECONDS.sleep(3); getConnection(master, false, slave1, fake1, master1); From d7f0f271b73adbf0ae22146beea122e014d9f9f2 Mon Sep 17 00:00:00 2001 From: Hugh Cole-Baker Date: Thu, 4 Jan 2018 13:30:53 +0000 Subject: [PATCH 054/427] Make GSS JAAS login optional (#922) * Add an option for disabling JAAS login * Add documentation section for new option * Improve docs wording --- docs/documentation/head/connect.md | 10 +++++++++- .../src/main/java/org/postgresql/PGProperty.java | 7 +++++++ .../core/v3/ConnectionFactoryImpl.java | 3 ++- .../org/postgresql/ds/common/BaseDataSource.java | 16 ++++++++++++++++ .../main/java/org/postgresql/gss/MakeGSS.java | 4 ++-- 5 files changed, 36 insertions(+), 4 deletions(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 87f1e99d16..299934d2b6 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -304,7 +304,15 @@ Connection conn = DriverManager.getConnection(url); * **jaasApplicationName** = String - Specifies the name of the JAAS system or application login configuration. + Specifies the name of the JAAS system or application login configuration. + +* **jaasLogin** = boolean + + Specifies whether to perform a JAAS login before authenticating with GSSAPI. + If set to `true` (the default), the driver will attempt to obtain GSS credentials + using the configured JAAS login module(s) (e.g. `Krb5LoginModule`) before + authenticating. To skip the JAAS login, for example if the native GSS + implementation is being used to obtain credentials, set this to `false`. * **ApplicationName** = String diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 92ecbfa931..4de044b260 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -304,6 +304,13 @@ public enum PGProperty { */ APPLICATION_NAME("ApplicationName", DriverInfo.DRIVER_NAME, "Name of the Application (backend >= 9.0)"), + /** + * Flag to enable/disable obtaining a GSS credential via JAAS login before authenticating. + * Useful if setting system property javax.security.auth.useSubjectCredsOnly=false + * or using native GSS with system property sun.security.jgss.native=true + */ + JAAS_LOGIN("jaasLogin", "true", "Login with JAAS before doing GSSAPI authentication"), + /** * Specifies the name of the JAAS system or application login configuration. */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 7fc3eaf887..230f52c99a 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -601,7 +601,8 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope /* Use JGSS's GSSAPI for this request */ org.postgresql.gss.MakeGSS.authenticate(pgStream, host, user, password, PGProperty.JAAS_APPLICATION_NAME.get(info), - PGProperty.KERBEROS_SERVER_NAME.get(info), usespnego); + PGProperty.KERBEROS_SERVER_NAME.get(info), usespnego, + PGProperty.JAAS_LOGIN.getBoolean(info)); } break; diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 2716aac5b8..0d5261a33b 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -880,6 +880,22 @@ public void setJaasApplicationName(String name) { PGProperty.JAAS_APPLICATION_NAME.set(properties, name); } + /** + * @return true if perform JAAS login before GSS authentication + * @see PGProperty#JAAS_LOGIN + */ + public boolean getJaasLogin() { + return PGProperty.JAAS_LOGIN.getBoolean(properties); + } + + /** + * @param doLogin true if perform JAAS login before GSS authentication + * @see PGProperty#JAAS_LOGIN + */ + public void setJaasLogin(boolean doLogin) { + PGProperty.JAAS_LOGIN.set(properties, doLogin); + } + /** * @return Kerberos server name * @see PGProperty#KERBEROS_SERVER_NAME diff --git a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java index f3b176bccb..af01f99336 100644 --- a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java +++ b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java @@ -29,7 +29,7 @@ public class MakeGSS { private static final Logger LOGGER = Logger.getLogger(MakeGSS.class.getName()); public static void authenticate(PGStream pgStream, String host, String user, String password, - String jaasApplicationName, String kerberosServerName, boolean useSpnego) + String jaasApplicationName, String kerberosServerName, boolean useSpnego, boolean jaasLogin) throws IOException, SQLException { LOGGER.log(Level.FINEST, " <=BE AuthenticationReqGSS"); @@ -42,7 +42,7 @@ public static void authenticate(PGStream pgStream, String host, String user, Str Exception result; try { - boolean performAuthentication = true; + boolean performAuthentication = jaasLogin; GSSCredential gssCredential = null; Subject sub = Subject.getSubject(AccessController.getContext()); if (sub != null) { From 12bb084035a13c4fb690df93837b37e85354ebc4 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 7 Jan 2018 21:04:20 +0300 Subject: [PATCH 055/427] chore: avoid non-blocking IO for stdout to workaround "stdout: write error" in Travis Try workaround https://github.com/travis-ci/travis-ci/issues/4704#issuecomment-348435959 --- .travis/travis_build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis/travis_build.sh b/.travis/travis_build.sh index fbdc8bb952..2aa0e1bf2b 100755 --- a/.travis/travis_build.sh +++ b/.travis/travis_build.sh @@ -3,6 +3,9 @@ set -x -e if [[ "${FEDORA_CI}" == *"Y" ]]; then + # Try to prevent "stdout: write error" + # WA is taken from https://github.com/travis-ci/travis-ci/issues/4704#issuecomment-348435959 + python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);' export PARENT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.parent.version | grep -v '\[') exec ./packaging/rpm_ci fi From a3982b474dd92cd32c8fb1b7dafbd28c853c4177 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 8 Jan 2018 14:04:35 +0300 Subject: [PATCH 056/427] test: run Travis tests with non-default time zone --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index d94a4248cf..9e3854b715 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,6 +92,7 @@ matrix: - PG_VERSION=10 - JDK=9 - OPENJ9=181 + - TZ=America/New_York # flips between −05:00 and −04:00 - jdk: oraclejdk8 sudo: required env: @@ -99,6 +100,7 @@ matrix: - XA=true - REPLICATION=Y - COVERAGE=Y + - TZ=Pacific/Chatham # flips between +12:45 and +13:45 - jdk: oraclejdk8 sudo: required addons: @@ -126,6 +128,7 @@ matrix: - PG_VERSION=9.4 - QUERY_MODE=extendedCacheEverything - COVERAGE=N + - TZ=Europe/Moscow # +03:00, no DST - jdk: openjdk7 sudo: required addons: @@ -135,6 +138,7 @@ matrix: - ZULU_JDK=7 - MCENTRAL=Y - COVERAGE=Y + - TZ=UTC - jdk: openjdk6 sudo: required addons: From 90535d9289141c398b2e62f2ee7571617c5aecc3 Mon Sep 17 00:00:00 2001 From: bpd0018 Date: Mon, 8 Jan 2018 06:18:39 -0600 Subject: [PATCH 057/427] docs - change load.md to reflect current practice (#1058) The documentation in head should reflect current best practice while still providing the historical background needed by developers who are maintaining older code. I think this documentation change covers the significant points 1. you no longer need to explicitly load the driver 2. the driver jar file must be on the classpath in order for the driver to load 3. the old way still works but isn't needed --- docs/documentation/head/load.md | 41 +++++++++------------------------ 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/docs/documentation/head/load.md b/docs/documentation/head/load.md index 7a94a2fa9c..5a3646f366 100644 --- a/docs/documentation/head/load.md +++ b/docs/documentation/head/load.md @@ -9,41 +9,22 @@ nexttitle: Connecting to the Database next: connect.html --- -Before you can connect to a database, you need to load the driver. There are two -methods available, and it depends on your code which is the best one to use. +Applications do not need to explicitly load the org.postgresql.Driver +class because the pgjdbc driver jar supports the Java Service Provider +mechanism. The driver will be loaded by the JVM when the application +connects to PostgreSQL™ (as long as the driver's jar file is on the +classpath). -In the first method, your code implicitly loads the driver using the `Class.forName()` -method. For PostgreSQL™, you would use: - -```java -Class.forName("org.postgresql.Driver"); -``` - -This will load the driver, and while loading, the driver will automatically -register itself with JDBC. ### Note -The `forName()` method can throw a `ClassNotFoundException` if the driver is not -available. - -This is the most common method to use, but restricts your code to use just PostgreSQL™. -If your code may access another database system in the future, and you do not -use any PostgreSQL™-specific extensions, then the second method is advisable. +Prior to Java 1.6, the driver had to be loaded by the application - either by calling -The second method passes the driver as a parameter to the JVM as it starts, using -the `-D` argument. Example: +```java +Class.forName("org.postgresql.Driver"); +``` +or by passing the driver class name as a JVM parameter. `java -Djdbc.drivers=org.postgresql.Driver example.ImageViewer` -In this example, the JVM will attempt to load the driver as part of its initialization. -Once done, the ImageViewer is started. - -Now, this method is the better one to use because it allows your code to be used -with other database packages without recompiling the code. The only thing that -would also change is the connection URL, which is covered next. - -One last thing: When your code then tries to open a `Connection`, and you get a -No driver available `SQLException` being thrown, this is probably caused by the -driver not being in the class path, or the value in the parameter not being -correct. +These older methods of loading the driver are still supported but they are no longer necessary. From 6c5490f90da434f37abd0be0f7bbdc38169ec33f Mon Sep 17 00:00:00 2001 From: bpd0018 Date: Mon, 8 Jan 2018 06:19:03 -0600 Subject: [PATCH 058/427] docs: fix the URL regex (#1057) The "//[host][:port][/database]" portion of the URL regex does not accurately represent the URL variations that are actually accepted. The proposed "[//host[:port]/][database]" does. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9fc9f505d7..c796cc80c4 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ jdbc:postgresql://host:port/ ``` The general format for a JDBC URL for connecting to a PostgreSQL server is as follows, with items in square brackets ([ ]) being optional: ``` -jdbc:postgresql://[host][:port][/[database]][?property1=value1[&property2=value2]...] +jdbc:postgresql:[//host[:port]/][database][?property1=value1[&property2=value2]...] ``` where: * **jdbc:postgresql:** (Required) is known as the sub-protocol and is constant. From bb8a31508f3caef7532b87b50c19e092af2ec5f0 Mon Sep 17 00:00:00 2001 From: bpd0018 Date: Mon, 8 Jan 2018 06:19:40 -0600 Subject: [PATCH 059/427] docs: fix no parameter connect string example (#1056) postgresql-42.1.4 - DriverManager.getConnection("jdbc:postgresql:/") throws org.postgresql.util.PSQLException: FATAL: database "/" does not exist. The trailing slash is being interpreted as the database name. DriverManager.getConnection("jdbc:postgresql:") connects to the default port on localhost using the user's name as the database. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c796cc80c4..663484f057 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ For more information you can read [the PgJDBC driver documentation](https://jdbc The driver recognises JDBC URLs of the form: ``` jdbc:postgresql:database -jdbc:postgresql:/ +jdbc:postgresql: jdbc:postgresql://host/database jdbc:postgresql://host/ jdbc:postgresql://host:port/database From 684a69920e08017c74ab4194d1a77067f544a28b Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 8 Jan 2018 21:44:12 +0300 Subject: [PATCH 060/427] fix: execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving Fixes AutoRollbackTestSuite in extendedCacheEverything mode fixes #955 --- .travis.yml | 5 ----- .../java/org/postgresql/core/v3/QueryExecutorImpl.java | 7 ++++--- .../org/postgresql/test/jdbc2/AutoRollbackTestSuite.java | 4 +++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e3854b715..fae29d4b23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,11 +67,6 @@ cache: matrix: fast_finish: true - allow_failures: - - env: # REMOVE FAILURE extendedCacheEverything - - PG_VERSION=9.4 - - QUERY_MODE=extendedCacheEverything - - COVERAGE=N include: - jdk: oraclejdk8 env: RUN_CHECKSTYLE=true diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index f596419ec1..fa2bf98985 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -353,10 +353,10 @@ && getAutoSave() != AutoSave.NEVER || !(query instanceof SimpleQuery) || ((SimpleQuery) query).getFields() != null)) { sendOneQuery(autoSaveQuery, SimpleQuery.NO_PARAMETERS, 1, 0, - updateQueryMode(QUERY_NO_RESULTS | QUERY_NO_METADATA) + QUERY_NO_RESULTS | QUERY_NO_METADATA // PostgreSQL does not support bind, exec, simple, sync message flow, // so we force autosavepoint to use simple if the main query is using simple - | (flags & QueryExecutor.QUERY_EXECUTE_AS_SIMPLE)); + | QUERY_EXECUTE_AS_SIMPLE); return true; } return false; @@ -367,8 +367,9 @@ private void rollbackIfRequired(boolean autosave, SQLException e) throws SQLExce && getTransactionState() == TransactionState.FAILED && (getAutoSave() == AutoSave.ALWAYS || willHealOnRetry(e))) { try { + // ROLLBACK and AUTOSAVE are executed as simple always to overcome "statement no longer exists S_xx" execute(restoreToAutoSave, SimpleQuery.NO_PARAMETERS, new ResultHandlerDelegate(null), - 1, 0, updateQueryMode(QUERY_NO_RESULTS | QUERY_NO_METADATA)); + 1, 0, QUERY_NO_RESULTS | QUERY_NO_METADATA | QUERY_EXECUTE_AS_SIMPLE); } catch (SQLException e2) { // That's O(N), sorry e.setNextException(e2); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java index 18c1a4c905..0f2e5a6c3f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java @@ -31,9 +31,11 @@ import java.util.Collection; import java.util.EnumSet; import java.util.Properties; +import java.util.concurrent.atomic.AtomicInteger; @RunWith(Parameterized.class) public class AutoRollbackTestSuite extends BaseTest4 { + private static final AtomicInteger counter = new AtomicInteger(); private enum FailMode { /** @@ -343,7 +345,7 @@ private void doCommit() throws SQLException { con.setAutoCommit(false); Statement st = con.createStatement(); st.executeUpdate( - "insert into rollbacktest(a, str) values (42, '" + System.currentTimeMillis() + "')"); + "insert into rollbacktest(a, str) values (42, '" + System.currentTimeMillis() + "," + counter.getAndIncrement() + "')"); st.close(); } con.commit(); From e8c43f36ab2a6843f37d27e7417a5214f7142084 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 3 Jan 2018 16:24:35 +0300 Subject: [PATCH 061/427] fix: use 'time with time zone' and 'timestamp with time zone' values as is and avoid computation with user-provided/default Calendars Previous behavior: getTime(int), getTime(int, Calendar) kind of methods ensured that the resulting java.sql.Time would render as 1970-01-01 ... in the given time zone (e.g. given Calendar and/or default TimeZone) Note: the resulting Time object New behavior: for 'time with time zone' and 'timestamp with time zone' the value from the server is assumed to be "instant" (i.e. absolute point in time), and no further adjustments is made to make the date part to be 1970-01-01 'time' and 'timestamp' work as earlier except "00:00:00" and "24:00:00" times in text format. Previously, text times "00:00:00" and "24:00:00" were mapped to Time(0) and Time.valueOf("24:00:00"): 1) Time(0) is 1970-01-01 00:00:00 UTC (it does not account neither user-provided nor default Calendar) 2) Time.valueOf("24:00:00") uses system-provided calendar, and it does not account user-provided one --- .../java/org/postgresql/jdbc/PgResultSet.java | 17 ++--- .../org/postgresql/jdbc/TimestampUtils.java | 63 ++++++++++++------- .../postgresql/test/jdbc2/TimezoneTest.java | 8 +-- 3 files changed, 55 insertions(+), 33 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index c7d10f8c2b..8c554e7acd 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -71,6 +71,7 @@ import java.util.StringTokenizer; import java.util.TimeZone; import java.util.UUID; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -518,8 +519,14 @@ public Time getTime(int i, java.util.Calendar cal) throws SQLException { // If backend provides just TIMESTAMP, we use "cal" timezone // If backend provides TIMESTAMPTZ, we ignore "cal" as we know true instant value Timestamp timestamp = getTimestamp(i, cal); + long timeMillis = timestamp.getTime(); + if (oid == Oid.TIMESTAMPTZ) { + // time zone == UTC since BINARY "timestamp with time zone" is always sent in UTC + // So we truncate days + return new Time(timeMillis % TimeUnit.DAYS.toMillis(1)); + } // Here we just truncate date part - return connection.getTimestampUtils().convertToTime(timestamp.getTime(), tz); + return connection.getTimestampUtils().convertToTime(timeMillis, tz); } else { throw new PSQLException( GT.tr("Cannot convert the column of type {0} to requested type {1}.", @@ -529,13 +536,7 @@ public Time getTime(int i, java.util.Calendar cal) throws SQLException { } String string = getString(i); - if (string.equals("24:00:00")) { - return Time.valueOf(string); - } else if (string.equals("00:00:00")) { - return new Time(0); - } else { - return connection.getTimestampUtils().toTime(cal, string); - } + return connection.getTimestampUtils().toTime(cal, string); } //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index aad8d137a3..8af0430fad 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -463,25 +463,45 @@ public LocalDateTime toLocalDateTime(String s) throws SQLException { public synchronized Time toTime(Calendar cal, String s) throws SQLException { // 1) Parse backend string - Timestamp timestamp = toTimestamp(cal, s); - - if (timestamp == null) { + if (s == null) { return null; } - - long millis = timestamp.getTime(); - // infinity cannot be represented as Time - // so there's not much we can do here. - if (millis <= PGStatement.DATE_NEGATIVE_INFINITY - || millis >= PGStatement.DATE_POSITIVE_INFINITY) { - throw new PSQLException( - GT.tr("Infinite value found for timestamp/date. This cannot be represented as time."), - PSQLState.DATETIME_OVERFLOW); + ParsedTimestamp ts = parseBackendTimestamp(s); + Calendar useCal = ts.tz != null ? ts.tz : setupCalendar(cal); + if (ts.tz == null) { + // When no time zone provided (e.g. time or timestamp) + // We get the year-month-day from the string, then truncate the day to 1970-01-01 + // This is used for timestamp -> time conversion + // Note: this cannot be merged with "else" branch since + // timestamps at which the time flips to/from DST depend on the date + // For instance, 2000-03-26 02:00:00 is invalid timestamp in Europe/Moscow time zone + // and the valid one is 2000-03-26 03:00:00. That is why we parse full timestamp + // then set year to 1970 later + useCal.set(Calendar.ERA, ts.era); + useCal.set(Calendar.YEAR, ts.year); + useCal.set(Calendar.MONTH, ts.month - 1); + useCal.set(Calendar.DAY_OF_MONTH, ts.day); + } else { + // When time zone is given, we just pick the time part and assume date to be 1970-01-01 + // this is used for time, timez, and timestamptz parsing + useCal.set(Calendar.ERA, GregorianCalendar.AD); + useCal.set(Calendar.YEAR, 1970); + useCal.set(Calendar.MONTH, Calendar.JANUARY); + useCal.set(Calendar.DAY_OF_MONTH, 1); } + useCal.set(Calendar.HOUR_OF_DAY, ts.hour); + useCal.set(Calendar.MINUTE, ts.minute); + useCal.set(Calendar.SECOND, ts.second); + useCal.set(Calendar.MILLISECOND, 0); + long timeMillis = useCal.getTimeInMillis() + ts.nanos / 1000000; + if (ts.tz != null || (ts.year == 1970 && ts.era == GregorianCalendar.AD)) { + // time with time zone has proper time zone, so the value can be returned as is + return new Time(timeMillis); + } - // 2) Truncate date part so in given time zone the date would be formatted as 00:00 - return convertToTime(timestamp.getTime(), cal == null ? null : cal.getTimeZone()); + // 2) Truncate date part so in given time zone the date would be formatted as 01/01/1970 + return convertToTime(timeMillis, useCal == null ? null : useCal.getTimeZone()); } public synchronized Date toDate(Calendar cal, String s) throws SQLException { @@ -913,16 +933,17 @@ public Time toTimeBin(TimeZone tz, byte[] bytes) throws PSQLException { timeOffset = ByteConverter.int4(bytes, 8); timeOffset *= -1000; millis -= timeOffset; - } else { - if (tz == null) { - tz = getDefaultTz(); - } + return new Time(millis); + } - // Here be dragons: backend did not provide us the timezone, so we guess the actual point in - // time - millis = guessTimestamp(millis, tz); + if (tz == null) { + tz = getDefaultTz(); } + // Here be dragons: backend did not provide us the timezone, so we guess the actual point in + // time + millis = guessTimestamp(millis, tz); + return convertToTime(millis, tz); // Ensure date part is 1970-01-01 } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java index 1fc4f4a1f8..e660f05205 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java @@ -189,8 +189,8 @@ public void testGetTimestamp() throws Exception { // 1970-01-01 15:00:00 +0300 -> 1970-01-01 07:00:00 -0500 assertEquals(43200000L, ts.getTime()); ts = rs.getTimestamp(4, cGMT13); - // 1970-01-01 15:00:00 +0300 -> 1970-01-02 01:00:00 +1300 (CHECK ME) - assertEquals(-43200000L, ts.getTime()); + // 1970-01-01 15:00:00 +0300 -> 1970-01-02 01:00:00 +1300 + assertEquals(43200000L, ts.getTime()); str = rs.getString(4); assertEquals("timetz -> getString" + format, "15:00:00+03", str); @@ -299,7 +299,7 @@ public void testGetTime() throws Exception { assertEquals(43200000L, t.getTime()); t = rs.getTime(1, cGMT13); // 2005-01-02 01:00:00 +1300 -> 1970-01-01 01:00:00 +1300 - assertEquals(-43200000L, t.getTime()); + assertEquals(43200000L, t.getTime()); // timestamp: 2005-01-01 15:00:00 t = rs.getTime(2); @@ -335,7 +335,7 @@ public void testGetTime() throws Exception { t = rs.getTime(4, cGMT05); assertEquals(43200000L, t.getTime()); // 1970-01-01 07:00:00 -0500 t = rs.getTime(4, cGMT13); - assertEquals(-43200000L, t.getTime()); // 1970-01-01 01:00:00 +1300 + assertEquals(43200000L, t.getTime()); // 1970-01-01 01:00:00 +1300 rs.close(); } } From be06946f8b908536f4d659aaf6fc660bed339f67 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 8 Jan 2018 17:18:00 +0300 Subject: [PATCH 062/427] test: refactor SetObject310Test to use proper assertion messages and use less statements (make it faster) --- .../org/postgresql/jdbc/TimestampUtils.java | 17 +++--- .../test/jdbc42/SetObject310Test.java | 60 ++++++++++--------- 2 files changed, 40 insertions(+), 37 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 8af0430fad..182008dc99 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -25,6 +25,7 @@ import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; +import java.time.ZonedDateTime; import java.time.chrono.IsoEra; import java.time.format.DateTimeParseException; import java.time.temporal.ChronoField; @@ -761,6 +762,10 @@ public synchronized String toString(OffsetDateTime offsetDateTime) { return sbuf.toString(); } + /** + * Formats {@link LocalDateTime} to be sent to the backend, thus it adds time zone. + * Do not use this method in {@link java.sql.ResultSet#getString(int)} + */ public synchronized String toString(LocalDateTime localDateTime) { if (LocalDateTime.MAX.equals(localDateTime)) { return "infinity"; @@ -768,15 +773,9 @@ public synchronized String toString(LocalDateTime localDateTime) { return "-infinity"; } - sbuf.setLength(0); - - LocalDate localDate = localDateTime.toLocalDate(); - appendDate(sbuf, localDate); - sbuf.append(' '); - appendTime(sbuf, localDateTime.toLocalTime()); - appendEra(sbuf, localDate); - - return sbuf.toString(); + // LocalDateTime is always passed with time zone so backend can decide between timestamp and timestamptz + ZonedDateTime zonedDateTime = localDateTime.atZone(getDefaultTz().toZoneId()); + return toString(zonedDateTime.toOffsetDateTime()); } private static void appendDate(StringBuilder sb, LocalDate localDate) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java index da43767fb3..654d9133f3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java @@ -30,6 +30,7 @@ import java.time.ZoneId; import java.time.ZoneOffset; import java.time.chrono.IsoEra; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoField; import java.util.ArrayList; import java.util.Arrays; @@ -103,10 +104,6 @@ private void insertWithoutType(Object data, String columnName) throws SQLExcepti insert(data, columnName, null); } - private void insertWithType(OffsetDateTime data, String columnName) throws SQLException { - insert(data, columnName, Types.TIMESTAMP_WITH_TIMEZONE); - } - private T insertThenReadWithoutType(Object data, String columnName, Class expectedType) throws SQLException { PreparedStatement ps = con.prepareStatement(TestUtil.insertSQL("table1", columnName, "?")); try { @@ -178,7 +175,9 @@ public void testSetLocalDateTime() throws SQLException { ZoneId zone = ZoneId.of(zoneId); for (String date : datesToTest) { LocalDateTime localDateTime = LocalDateTime.parse(date); - String expected = date.replace('T', ' '); + String expected = localDateTime.atZone(zone) + .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + .replace('T', ' '); localTimestamps(zone, localDateTime, expected); } } @@ -241,37 +240,42 @@ private List getZoneIdsToTest() { private void localTimestamps(ZoneId zoneId, LocalDateTime localDateTime, String expected) throws SQLException { TimeZone.setDefault(TimeZone.getTimeZone(zoneId)); String readBack = insertThenReadStringWithoutType(localDateTime, "timestamp_without_time_zone_column"); - assertEquals(expected, readBack); + assertEquals( + "LocalDateTime=" + localDateTime + ", with TimeZone.default=" + zoneId + ", setObject(int, Object)", + expected, readBack); deleteRows(); readBack = insertThenReadStringWithType(localDateTime, "timestamp_without_time_zone_column"); - assertEquals(expected, readBack); + assertEquals( + "LocalDateTime=" + localDateTime + ", with TimeZone.default=" + zoneId + ", setObject(int, Object, TIMESTAMP)", + expected, readBack); deleteRows(); } private void offsetTimestamps(ZoneId dataZone, LocalDateTime localDateTime, String expected, List storeZones) throws SQLException { OffsetDateTime data = localDateTime.atZone(dataZone).toOffsetDateTime(); - for (TimeZone storeZone : storeZones) { - TimeZone.setDefault(storeZone); - insertWithoutType(data, "timestamp_with_time_zone_column"); - - String readBack = readString("timestamp_with_time_zone_column"); - OffsetDateTime o = OffsetDateTime.parse(readBack.replace(' ', 'T') + ":00"); - assertEquals(data.toInstant(), o.toInstant()); - - deleteRows(); - } - - for (TimeZone storeZone : storeZones) { - TimeZone.setDefault(storeZone); - insertWithType(data, "timestamp_with_time_zone_column"); - - String readBack = readString("timestamp_with_time_zone_column"); - OffsetDateTime o = OffsetDateTime.parse(readBack.replace(' ', 'T') + ":00"); - - assertEquals(data.toInstant(), o.toInstant()); - - deleteRows(); + try (PreparedStatement ps = con.prepareStatement( + "select ?::timestamp with time zone, ?::timestamp with time zone")) { + for (TimeZone storeZone : storeZones) { + TimeZone.setDefault(storeZone); + ps.setObject(1, data); + ps.setObject(2, data, Types.TIMESTAMP_WITH_TIMEZONE); + try (ResultSet rs = ps.executeQuery()) { + rs.next(); + String noType = rs.getString(1); + OffsetDateTime noTypeRes = OffsetDateTime.parse(noType.replace(' ', 'T') + ":00"); + assertEquals( + "OffsetDateTime=" + data + " (with ZoneId=" + dataZone + "), with TimeZone.default=" + + storeZone + ", setObject(int, Object)", data.toInstant(), + noTypeRes.toInstant()); + String withType = rs.getString(1); + OffsetDateTime withTypeRes = OffsetDateTime.parse(withType.replace(' ', 'T') + ":00"); + assertEquals( + "OffsetDateTime=" + data + " (with ZoneId=" + dataZone + "), with TimeZone.default=" + + storeZone + ", setObject(int, Object, TIMESTAMP_WITH_TIMEZONE)", + data.toInstant(), withTypeRes.toInstant()); + } + } } } From a94cfeace5d66b4fe8d8fa3b16986baebaec2a11 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 9 Jan 2018 00:00:54 +0300 Subject: [PATCH 063/427] refactor: factor out receiveParameterStatus so all the ParameterStatus messages are handled in the same way At least, TimeZone parameter status message was not handled in "process startup", then queryExecutor.timeZone resulted in null value, and it resulted in QueryExecutor.timeZone to be null. It is not known there were issues with that, however it makes sense to keep processing logic consistent --- .../java/org/postgresql/core/PGStream.java | 3 + .../postgresql/core/v3/QueryExecutorImpl.java | 200 +++++++----------- 2 files changed, 85 insertions(+), 118 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 61ca252148..cbb1bd63fd 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -147,6 +147,9 @@ public Encoding getEncoding() { * @throws IOException if something goes wrong */ public void setEncoding(Encoding encoding) throws IOException { + if (this.encoding != null && this.encoding.name().equals(encoding.name())) { + return; + } // Close down any old writer. if (encodingWriter != null) { encodingWriter.close(); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index fa2bf98985..b409c3025e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1198,45 +1198,12 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) break; case 'S': // Parameter Status { - int l_len = pgStream.receiveInteger4(); - String name = pgStream.receiveString(); - String value = pgStream.receiveString(); - - if (LOGGER.isLoggable(Level.FINEST)) { - LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); - } - - if (name.equals("client_encoding") && !value.equalsIgnoreCase("UTF8") - && !allowEncodingChanges) { - close(); // we're screwed now; we can't trust any subsequent string. - error = new PSQLException(GT.tr( - "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation.", - value), PSQLState.CONNECTION_FAILURE); - endReceiving = true; - } - - if (name.equals("DateStyle") && !value.startsWith("ISO,")) { - close(); // we're screwed now; we can't trust any subsequent date. - error = new PSQLException(GT.tr( - "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation.", - value), PSQLState.CONNECTION_FAILURE); + try { + receiveParameterStatus(); + } catch (SQLException e) { + error = e; endReceiving = true; } - - if (name.equals("standard_conforming_strings")) { - if (value.equals("on")) { - setStandardConformingStrings(true); - } else if (value.equals("off")) { - setStandardConformingStrings(false); - } else { - close(); - // we're screwed now; we don't know how to escape string literals - error = new PSQLException(GT.tr( - "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off.", - value), PSQLState.CONNECTION_FAILURE); - endReceiving = true; - } - } break; } @@ -2236,52 +2203,12 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti case 'S': // Parameter Status { - int l_len = pgStream.receiveInteger4(); - String name = pgStream.receiveString(); - String value = pgStream.receiveString(); - - if (LOGGER.isLoggable(Level.FINEST)) { - LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); - } - - if (name.equals("client_encoding") && !value.equalsIgnoreCase("UTF8") - && !allowEncodingChanges) { - close(); // we're screwed now; we can't trust any subsequent string. - handler.handleError(new PSQLException(GT.tr( - "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation.", - value), PSQLState.CONNECTION_FAILURE)); - endQuery = true; - } - - if (name.equals("DateStyle") && !value.startsWith("ISO,")) { - close(); // we're screwed now; we can't trust any subsequent date. - handler.handleError(new PSQLException(GT.tr( - "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation.", - value), PSQLState.CONNECTION_FAILURE)); + try { + receiveParameterStatus(); + } catch (SQLException e) { + handler.handleError(e); endQuery = true; } - - if (name.equals("standard_conforming_strings")) { - if (value.equals("on")) { - setStandardConformingStrings(true); - } else if (value.equals("off")) { - setStandardConformingStrings(false); - } else { - close(); - // we're screwed now; we don't know how to escape string literals - handler.handleError(new PSQLException(GT.tr( - "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off.", - value), PSQLState.CONNECTION_FAILURE)); - endQuery = true; - } - } - - if ("TimeZone".equals(name)) { - setTimeZone(TimestampUtils.parseBackendTimeZone(value)); - } - if ("application_name".equals(name)) { - setApplicationName(value); - } break; } @@ -2639,43 +2566,7 @@ public void readStartupMessages() throws IOException, SQLException { case 'S': // ParameterStatus - int l_len = pgStream.receiveInteger4(); - String name = pgStream.receiveString(); - String value = pgStream.receiveString(); - - if (LOGGER.isLoggable(Level.FINEST)) { - LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); - } - - if ("server_version_num".equals(name)) { - setServerVersionNum(Integer.parseInt(value)); - } else if ("server_version".equals(name)) { - setServerVersion(value); - } else if ("client_encoding".equals(name)) { - if (!"UTF8".equals(value)) { - throw new PSQLException(GT.tr("Protocol error. Session setup failed."), - PSQLState.PROTOCOL_VIOLATION); - } - pgStream.setEncoding(Encoding.getDatabaseEncoding("UTF8")); - } else if ("standard_conforming_strings".equals(name)) { - if ("on".equals(value)) { - setStandardConformingStrings(true); - } else if ("off".equals(value)) { - setStandardConformingStrings(false); - } else { - throw new PSQLException(GT.tr("Protocol error. Session setup failed."), - PSQLState.PROTOCOL_VIOLATION); - } - } else if ("integer_datetimes".equals(name)) { - if ("on".equals(value)) { - setIntegerDateTimes(true); - } else if ("off".equals(value)) { - setIntegerDateTimes(false); - } else { - throw new PSQLException(GT.tr("Protocol error. Session setup failed."), - PSQLState.PROTOCOL_VIOLATION); - } - } + receiveParameterStatus(); break; @@ -2689,7 +2580,80 @@ public void readStartupMessages() throws IOException, SQLException { PSQLState.PROTOCOL_VIOLATION); } + public void receiveParameterStatus() throws IOException, SQLException { + // ParameterStatus + int l_len = pgStream.receiveInteger4(); + String name = pgStream.receiveString(); + String value = pgStream.receiveString(); + + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); + } + + if (name.equals("client_encoding") && !value.equalsIgnoreCase("UTF8") + && !allowEncodingChanges) { + close(); // we're screwed now; we can't trust any subsequent string. + throw new PSQLException(GT.tr( + "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation.", + value), PSQLState.CONNECTION_FAILURE); + } + + if (name.equals("DateStyle") && !value.startsWith("ISO,")) { + close(); // we're screwed now; we can't trust any subsequent date. + throw new PSQLException(GT.tr( + "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation.", + value), PSQLState.CONNECTION_FAILURE); + } + + if (name.equals("standard_conforming_strings")) { + if (value.equals("on")) { + setStandardConformingStrings(true); + } else if (value.equals("off")) { + setStandardConformingStrings(false); + } else { + close(); + // we're screwed now; we don't know how to escape string literals + throw new PSQLException(GT.tr( + "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off.", + value), PSQLState.CONNECTION_FAILURE); + } + return; + } + if ("TimeZone".equals(name)) { + setTimeZone(TimestampUtils.parseBackendTimeZone(value)); + } else if ("application_name".equals(name)) { + setApplicationName(value); + } else if ("server_version_num".equals(name)) { + setServerVersionNum(Integer.parseInt(value)); + } else if ("server_version".equals(name)) { + setServerVersion(value); + } else if ("client_encoding".equals(name)) { + if (!"UTF8".equals(value)) { + throw new PSQLException(GT.tr("Protocol error. Session setup failed."), + PSQLState.PROTOCOL_VIOLATION); + } + pgStream.setEncoding(Encoding.getDatabaseEncoding("UTF8")); + } else if ("standard_conforming_strings".equals(name)) { + if ("on".equals(value)) { + setStandardConformingStrings(true); + } else if ("off".equals(value)) { + setStandardConformingStrings(false); + } else { + throw new PSQLException(GT.tr("Protocol error. Session setup failed."), + PSQLState.PROTOCOL_VIOLATION); + } + } else if ("integer_datetimes".equals(name)) { + if ("on".equals(value)) { + setIntegerDateTimes(true); + } else if ("off".equals(value)) { + setIntegerDateTimes(false); + } else { + throw new PSQLException(GT.tr("Protocol error. Session setup failed."), + PSQLState.PROTOCOL_VIOLATION); + } + } + } public void setTimeZone(TimeZone timeZone) { this.timeZone = timeZone; From 236805bcaf0dd1d9df3542c5865a15b24375a01c Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 9 Jan 2018 00:31:17 +0300 Subject: [PATCH 064/427] fix: add Provide-Capability OSGi manifest See https://github.com/pgjdbc/pgjdbc-parent-poms/commit/fdda24eadefe95c0346c2dcf91fdc931b1655c51 fixes #1029 --- pgjdbc/pom.xml | 2 +- pom.xml | 2 +- ubenchmark/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 26f523c3f5..6aeb142336 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-core-parent - 1.1.2 + 1.1.3 diff --git a/pom.xml b/pom.xml index 8b64490b1f..360d746866 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-versions - 1.1.2 + 1.1.3 pgjdbc-aggregate diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index b21c2bc11e..544efea96b 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE. org.postgresql pgjdbc-versions - 1.1.2 + 1.1.3 From e27ee740535a4034084d450cddefda2fbcb1b2af Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 9 Jan 2018 00:34:59 +0300 Subject: [PATCH 065/427] chore: update version to 42.2.0-SNAPSHOT to reflect the next release version --- pgjdbc/pom.xml | 2 +- pom.xml | 2 +- ubenchmark/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 6aeb142336..8409fb926a 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.1.5-SNAPSHOT + 42.2.0-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc diff --git a/pom.xml b/pom.xml index 360d746866..cd1d2e3587 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.1.5-SNAPSHOT + 42.2.0-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index 544efea96b..5d7a89a772 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.1.5-SNAPSHOT + 42.2.0-SNAPSHOT PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc From a2ed9b50e304a3437f92b945217c19197226d53f Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 9 Jan 2018 07:46:11 +0300 Subject: [PATCH 066/427] packaging: add missing maven-clean-plugin dependency --- packaging/rpm/postgresql-jdbc.spec.tpl | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index 0bb4f2a566..eef41c47c5 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -63,6 +63,7 @@ BuildRequires: java-devel >= 1.8 BuildRequires: maven-local BuildRequires: java-comment-preprocessor BuildRequires: properties-maven-plugin +BuildRequires: maven-clean-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-plugin-bundle BuildRequires: maven-plugin-build-helper From aa7a4202e41bc58c4958e06161c5fd4daa36a7f9 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 11 Jan 2018 16:33:35 -0500 Subject: [PATCH 067/427] elaborate on sslmode options (#1054) --- docs/documentation/head/connect.md | 7 +++++-- pgjdbc/src/main/java/org/postgresql/PGProperty.java | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 299934d2b6..fb95cb00df 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -95,8 +95,11 @@ Connection conn = DriverManager.getConnection(url); * **sslmode** = String - possible values are "verify-ca" and "verify-full" setting these will - necessitate storing the server certificate on the client machine ["Configuring the client"](ssl-client.html). + possible values include "disable", "require", "verify-ca" and "verify-full", "allow" and "prefer" + will throw an exception. "require" will default to a non validating SSL factory and not check the + validity of the certificates. "verify-ca" and "verify-full" use a validating SSL factory and will + check that the ca is correct and the host is correct. Setting these will necessitate storing the + server certificate on the client machine ["Configuring the client"](ssl-client.html). * **sslcert** = String diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 4de044b260..e3ea9f7c37 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -181,7 +181,8 @@ public enum PGProperty { * {@code verify-full}, or {@code disable} ({@code allow} and {@code prefer} are not implemented) * If not set, the {@code ssl} property may be checked to enable SSL mode. */ - SSL_MODE("sslmode", null, "Parameter governing the use of SSL"), + SSL_MODE("sslmode", null, "Parameter governing the use of SSL",false, + "disable", "require", "verify-ca", "verify-full"), /** * Classname of the SSL Factory to use (instance of {@code javax.net.ssl.SSLSocketFactory}). From 2e8c2b67e22ddaa38894be4b2578ccd4bf97a27d Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 12 Jan 2018 14:00:15 -0500 Subject: [PATCH 068/427] prefer the word secondary over slave (#1063) --- docs/documentation/head/replication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/head/replication.md b/docs/documentation/head/replication.md index 3494b24a2e..5d821fb273 100644 --- a/docs/documentation/head/replication.md +++ b/docs/documentation/head/replication.md @@ -32,7 +32,7 @@ do not appear in the stream. Thus, if you apply the change events in the same or transactionally consistent copy of the database. It's looks like the Event Sourcing pattern that you previously implemented in your application, but now it's available out of the box from the PostgreSQL database. -For access to real-time changes PostgreSQL provides the streaming replication protocol. Replication protocol can be physical or logical. Physical replication protocol is used for Master/Slave replication. Logical replication protocol can be used +For access to real-time changes PostgreSQL provides the streaming replication protocol. Replication protocol can be physical or logical. Physical replication protocol is used for Master/Secondary replication. Logical replication protocol can be used to stream changes to an external system. From 0c29823ad8eca86e3b8f27bcee5f116d41e367f9 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Sat, 13 Jan 2018 02:15:52 +0600 Subject: [PATCH 069/427] refactor: replace some usages of initCause (#1037) replace some usages of initCause with appropriate constructor --- .../postgresql/copy/PGCopyInputStream.java | 20 +++++++++----- .../postgresql/copy/PGCopyOutputStream.java | 26 ++++++++++++------- .../postgresql/jdbc/BatchResultHandler.java | 12 +++++---- .../jdbc/CallableBatchResultHandler.java | 1 + 4 files changed, 39 insertions(+), 20 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java index 0a166a98d1..c0f8891de9 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java @@ -69,20 +69,24 @@ private void checkClosed() throws IOException { } + @Override public int available() throws IOException { checkClosed(); return (buf != null ? len - at : 0); } + @Override public int read() throws IOException { checkClosed(); return gotBuf() ? buf[at++] : -1; } + @Override public int read(byte[] buf) throws IOException { return read(buf, 0, buf.length); } + @Override public int read(byte[] buf, int off, int siz) throws IOException { checkClosed(); int got = 0; @@ -93,15 +97,14 @@ public int read(byte[] buf, int off, int siz) throws IOException { return got == 0 && !didReadSomething ? -1 : got; } + @Override public byte[] readFromCopy() throws SQLException { byte[] result = buf; try { if (gotBuf()) { if (at > 0 || len < buf.length) { byte[] ba = new byte[len - at]; - for (int i = at; i < len; i++) { - ba[i - at] = buf[i]; - } + System.arraycopy(buf, at, ba, 0, len - at); result = ba; } at = len; // either partly or fully returned, buffer is exhausted @@ -117,6 +120,7 @@ public byte[] readFromCopy(boolean block) throws SQLException { return readFromCopy(); } + @Override public void close() throws IOException { // Don't complain about a double close. if (op == null) { @@ -127,34 +131,38 @@ public void close() throws IOException { try { op.cancelCopy(); } catch (SQLException se) { - IOException ioe = new IOException("Failed to close copy reader."); - ioe.initCause(se); - throw ioe; + throw new IOException("Failed to close copy reader.", se); } } op = null; } + @Override public void cancelCopy() throws SQLException { op.cancelCopy(); } + @Override public int getFormat() { return op.getFormat(); } + @Override public int getFieldFormat(int field) { return op.getFieldFormat(field); } + @Override public int getFieldCount() { return op.getFieldCount(); } + @Override public boolean isActive() { return op != null && op.isActive(); } + @Override public long getHandledRowCount() { return op.getHandledRowCount(); } diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java index 5f420e52e8..92653a477e 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java @@ -65,6 +65,7 @@ public PGCopyOutputStream(CopyIn op, int bufferSize) { copyBuffer = new byte[bufferSize]; } + @Override public void write(int b) throws IOException { checkClosed(); if (b < 0 || b > 255) { @@ -74,18 +75,18 @@ public void write(int b) throws IOException { write(singleByteBuffer, 0, 1); } + @Override public void write(byte[] buf) throws IOException { write(buf, 0, buf.length); } + @Override public void write(byte[] buf, int off, int siz) throws IOException { checkClosed(); try { writeToCopy(buf, off, siz); } catch (SQLException se) { - IOException ioe = new IOException("Write to copy failed."); - ioe.initCause(se); - throw ioe; + throw new IOException("Write to copy failed.", se); } } @@ -95,6 +96,7 @@ private void checkClosed() throws IOException { } } + @Override public void close() throws IOException { // Don't complain about a double close. if (op == null) { @@ -104,25 +106,23 @@ public void close() throws IOException { try { endCopy(); } catch (SQLException se) { - IOException ioe = new IOException("Ending write to copy failed."); - ioe.initCause(se); - throw ioe; + throw new IOException("Ending write to copy failed.", se); } op = null; } + @Override public void flush() throws IOException { try { op.writeToCopy(copyBuffer, 0, at); at = 0; op.flushCopy(); } catch (SQLException e) { - IOException ioe = new IOException("Unable to flush stream"); - ioe.initCause(e); - throw ioe; + throw new IOException("Unable to flush stream", e); } } + @Override public void writeToCopy(byte[] buf, int off, int siz) throws SQLException { if (at > 0 && siz > copyBuffer.length - at) { // would not fit into rest of our buf, so flush buf @@ -137,30 +137,37 @@ public void writeToCopy(byte[] buf, int off, int siz) throws SQLException { } } + @Override public int getFormat() { return op.getFormat(); } + @Override public int getFieldFormat(int field) { return op.getFieldFormat(field); } + @Override public void cancelCopy() throws SQLException { op.cancelCopy(); } + @Override public int getFieldCount() { return op.getFieldCount(); } + @Override public boolean isActive() { return op.isActive(); } + @Override public void flushCopy() throws SQLException { op.flushCopy(); } + @Override public long endCopy() throws SQLException { if (at > 0) { op.writeToCopy(copyBuffer, 0, at); @@ -169,6 +176,7 @@ public long endCopy() throws SQLException { return getHandledRowCount(); } + @Override public long getHandledRowCount() { return op.getHandledRowCount(); } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java index 5cf84ff3fb..18bf4fe983 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java @@ -51,6 +51,7 @@ public class BatchResultHandler extends ResultHandlerBase { this.allGeneratedRows = !expectGeneratedKeys ? null : new ArrayList>(); } + @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { // If SELECT, then handleCommandStatus call would just be missing @@ -73,6 +74,7 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup latestGeneratedRows = tuples; } + @Override public void handleCommandStatus(String status, int updateCount, long insertOID) { if (latestGeneratedRows != null) { // We have DML. Decrease resultIndex that was just increased in handleResultRows @@ -125,6 +127,7 @@ private void updateGeneratedKeys() { allGeneratedRows.clear(); } + @Override public void handleWarning(SQLWarning warning) { pgStatement.addWarning(warning); } @@ -145,8 +148,7 @@ public void handleError(SQLException newError) { BatchUpdateException batchException = new BatchUpdateException( GT.tr("Batch entry {0} {1} was aborted: {2} Call getNextException to see other errors in the batch.", resultIndex, queryString, newError.getMessage()), - newError.getSQLState(), uncompressUpdateCount()); - batchException.initCause(newError); + newError.getSQLState(), uncompressUpdateCount(), newError); super.handleError(batchException); } resultIndex++; @@ -154,6 +156,7 @@ public void handleError(SQLException newError) { super.handleError(newError); } + @Override public void handleCompletion() throws SQLException { updateGeneratedKeys(); SQLException batchException = getException(); @@ -163,9 +166,8 @@ public void handleCompletion() throws SQLException { BatchUpdateException newException = new BatchUpdateException( batchException.getMessage(), batchException.getSQLState(), - uncompressUpdateCount() - ); - newException.initCause(batchException.getCause()); + uncompressUpdateCount(), + batchException.getCause()); SQLException next = batchException.getNextException(); if (next != null) { newException.setNextException(next); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java b/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java index ac24ad8f03..ef79c57845 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java @@ -17,6 +17,7 @@ class CallableBatchResultHandler extends BatchResultHandler { super(statement, queries, parameterLists, false); } + @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { /* ignore */ } From e6a1eccb148c3c59e8cf122e98ad01afc5bb555a Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 12 Jan 2018 16:47:43 -0500 Subject: [PATCH 070/427] Revert "refactor: replace some usages of initCause (#1037)" (#1064) This reverts commit 0c29823ad8eca86e3b8f27bcee5f116d41e367f9. --- .../postgresql/copy/PGCopyInputStream.java | 20 +++++--------- .../postgresql/copy/PGCopyOutputStream.java | 26 +++++++------------ .../postgresql/jdbc/BatchResultHandler.java | 12 ++++----- .../jdbc/CallableBatchResultHandler.java | 1 - 4 files changed, 20 insertions(+), 39 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java index c0f8891de9..0a166a98d1 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java @@ -69,24 +69,20 @@ private void checkClosed() throws IOException { } - @Override public int available() throws IOException { checkClosed(); return (buf != null ? len - at : 0); } - @Override public int read() throws IOException { checkClosed(); return gotBuf() ? buf[at++] : -1; } - @Override public int read(byte[] buf) throws IOException { return read(buf, 0, buf.length); } - @Override public int read(byte[] buf, int off, int siz) throws IOException { checkClosed(); int got = 0; @@ -97,14 +93,15 @@ public int read(byte[] buf, int off, int siz) throws IOException { return got == 0 && !didReadSomething ? -1 : got; } - @Override public byte[] readFromCopy() throws SQLException { byte[] result = buf; try { if (gotBuf()) { if (at > 0 || len < buf.length) { byte[] ba = new byte[len - at]; - System.arraycopy(buf, at, ba, 0, len - at); + for (int i = at; i < len; i++) { + ba[i - at] = buf[i]; + } result = ba; } at = len; // either partly or fully returned, buffer is exhausted @@ -120,7 +117,6 @@ public byte[] readFromCopy(boolean block) throws SQLException { return readFromCopy(); } - @Override public void close() throws IOException { // Don't complain about a double close. if (op == null) { @@ -131,38 +127,34 @@ public void close() throws IOException { try { op.cancelCopy(); } catch (SQLException se) { - throw new IOException("Failed to close copy reader.", se); + IOException ioe = new IOException("Failed to close copy reader."); + ioe.initCause(se); + throw ioe; } } op = null; } - @Override public void cancelCopy() throws SQLException { op.cancelCopy(); } - @Override public int getFormat() { return op.getFormat(); } - @Override public int getFieldFormat(int field) { return op.getFieldFormat(field); } - @Override public int getFieldCount() { return op.getFieldCount(); } - @Override public boolean isActive() { return op != null && op.isActive(); } - @Override public long getHandledRowCount() { return op.getHandledRowCount(); } diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java index 92653a477e..5f420e52e8 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java @@ -65,7 +65,6 @@ public PGCopyOutputStream(CopyIn op, int bufferSize) { copyBuffer = new byte[bufferSize]; } - @Override public void write(int b) throws IOException { checkClosed(); if (b < 0 || b > 255) { @@ -75,18 +74,18 @@ public void write(int b) throws IOException { write(singleByteBuffer, 0, 1); } - @Override public void write(byte[] buf) throws IOException { write(buf, 0, buf.length); } - @Override public void write(byte[] buf, int off, int siz) throws IOException { checkClosed(); try { writeToCopy(buf, off, siz); } catch (SQLException se) { - throw new IOException("Write to copy failed.", se); + IOException ioe = new IOException("Write to copy failed."); + ioe.initCause(se); + throw ioe; } } @@ -96,7 +95,6 @@ private void checkClosed() throws IOException { } } - @Override public void close() throws IOException { // Don't complain about a double close. if (op == null) { @@ -106,23 +104,25 @@ public void close() throws IOException { try { endCopy(); } catch (SQLException se) { - throw new IOException("Ending write to copy failed.", se); + IOException ioe = new IOException("Ending write to copy failed."); + ioe.initCause(se); + throw ioe; } op = null; } - @Override public void flush() throws IOException { try { op.writeToCopy(copyBuffer, 0, at); at = 0; op.flushCopy(); } catch (SQLException e) { - throw new IOException("Unable to flush stream", e); + IOException ioe = new IOException("Unable to flush stream"); + ioe.initCause(e); + throw ioe; } } - @Override public void writeToCopy(byte[] buf, int off, int siz) throws SQLException { if (at > 0 && siz > copyBuffer.length - at) { // would not fit into rest of our buf, so flush buf @@ -137,37 +137,30 @@ public void writeToCopy(byte[] buf, int off, int siz) throws SQLException { } } - @Override public int getFormat() { return op.getFormat(); } - @Override public int getFieldFormat(int field) { return op.getFieldFormat(field); } - @Override public void cancelCopy() throws SQLException { op.cancelCopy(); } - @Override public int getFieldCount() { return op.getFieldCount(); } - @Override public boolean isActive() { return op.isActive(); } - @Override public void flushCopy() throws SQLException { op.flushCopy(); } - @Override public long endCopy() throws SQLException { if (at > 0) { op.writeToCopy(copyBuffer, 0, at); @@ -176,7 +169,6 @@ public long endCopy() throws SQLException { return getHandledRowCount(); } - @Override public long getHandledRowCount() { return op.getHandledRowCount(); } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java index 18bf4fe983..5cf84ff3fb 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java @@ -51,7 +51,6 @@ public class BatchResultHandler extends ResultHandlerBase { this.allGeneratedRows = !expectGeneratedKeys ? null : new ArrayList>(); } - @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { // If SELECT, then handleCommandStatus call would just be missing @@ -74,7 +73,6 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup latestGeneratedRows = tuples; } - @Override public void handleCommandStatus(String status, int updateCount, long insertOID) { if (latestGeneratedRows != null) { // We have DML. Decrease resultIndex that was just increased in handleResultRows @@ -127,7 +125,6 @@ private void updateGeneratedKeys() { allGeneratedRows.clear(); } - @Override public void handleWarning(SQLWarning warning) { pgStatement.addWarning(warning); } @@ -148,7 +145,8 @@ public void handleError(SQLException newError) { BatchUpdateException batchException = new BatchUpdateException( GT.tr("Batch entry {0} {1} was aborted: {2} Call getNextException to see other errors in the batch.", resultIndex, queryString, newError.getMessage()), - newError.getSQLState(), uncompressUpdateCount(), newError); + newError.getSQLState(), uncompressUpdateCount()); + batchException.initCause(newError); super.handleError(batchException); } resultIndex++; @@ -156,7 +154,6 @@ public void handleError(SQLException newError) { super.handleError(newError); } - @Override public void handleCompletion() throws SQLException { updateGeneratedKeys(); SQLException batchException = getException(); @@ -166,8 +163,9 @@ public void handleCompletion() throws SQLException { BatchUpdateException newException = new BatchUpdateException( batchException.getMessage(), batchException.getSQLState(), - uncompressUpdateCount(), - batchException.getCause()); + uncompressUpdateCount() + ); + newException.initCause(batchException.getCause()); SQLException next = batchException.getNextException(); if (next != null) { newException.setNextException(next); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java b/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java index ef79c57845..ac24ad8f03 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/CallableBatchResultHandler.java @@ -17,7 +17,6 @@ class CallableBatchResultHandler extends BatchResultHandler { super(statement, queries, parameterLists, false); } - @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { /* ignore */ } From 1be8a9ebafbfbcff118385a61a350745addcaf3d Mon Sep 17 00:00:00 2001 From: Jeff Klukas Date: Sat, 13 Jan 2018 09:15:24 -0500 Subject: [PATCH 071/427] fix: advance lastReceiveLSN on keepalive messages (#1038) Fix a bug with V3PGReplicationStream where the server may never be able to send a CommandComplete message to the client because the client's status update messages do not advance the received LSN. This behavior can be reliably reproduced on a server where no data changes are happening, so the only messages being sent from the client are status updates and the only messages coming from the server are keepalives. The LSN reported from the server keepalives continues to advance, but the client reports a static lastReceiveLSN, so the server never considers the client caught up and never sends CommandComplete to trigger the client to shut down. By updating lastReceiveLSN on keepalive messages, the expected server CommandComplete and client Terminate messages are exchanged, allowing the server to gracefully shut down. --- .../postgresql/core/v3/replication/V3PGReplicationStream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java index 27e774881f..1ffdbba413 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java @@ -222,6 +222,9 @@ private byte[] prepareUpdateStatus(LogSequenceNumber received, LogSequenceNumber private boolean processKeepAliveMessage(ByteBuffer buffer) { lastServerLSN = LogSequenceNumber.valueOf(buffer.getLong()); + if (lastServerLSN.asLong() > lastReceiveLSN.asLong()) { + lastReceiveLSN = lastServerLSN; + } long lastServerClock = buffer.getLong(); From acb9bddf36a8af6d1dd09857a6a05014c3e8849a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 6 Jan 2018 20:05:07 +0300 Subject: [PATCH 072/427] chore: introduce release via Travis This provides an option to deploy pgjdbc releases to Maven Central via push to `release/master` branch --- .travis.yml | 43 +++++++++++++--- .travis/secrets.tar.enc | Bin 0 -> 13344 bytes .travis/travis_deploy.sh | 2 +- .travis/travis_release.sh | 102 ++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 27 +++++++++- settings.xml | 6 ++- 6 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 .travis/secrets.tar.enc create mode 100755 .travis/travis_release.sh diff --git a/.travis.yml b/.travis.yml index fae29d4b23..7a046e537f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,19 @@ sudo: false language: java dist: trusty +stages: + - name: test + if: not branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + - name: release + # releases pgjdbc for Java 8 + # It does set release tag and update pom.xml versions + if: branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + - name: release_prev + # releases pgjdbc for Java 6, Java 7 + # pgjdbc-jreX requires release pom.xml versions of the main project, so pgjdbc-jreX should be + # released after the release of the main version, thus second stage + if: branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + before_script: - test $(grep "after_n_builds" codecov.yml | tr -d '[:space:]' | cut -d":" -f2) -eq $(grep -e "COVERAGE=Y$" .travis.yml | wc -l) || exit 1 - export PG_DATADIR="/etc/postgresql/${PG_VERSION}/main" @@ -16,14 +29,12 @@ before_script: - test "x$REPLICATION" == 'x' || psql -U postgres -c "alter user test with replication;" - psql -c 'create database test owner test;' -U postgres - test "x$REPLICATION" == 'x' || ./.travis/travis_create_slaves.sh - - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc + - if [[ $TRAVIS_BRANCH == release/* ]]; then echo "MAVEN_OPTS='-Xmx1g'" > ~/.mavenrc; else echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc; fi - test "x$PG_VERSION" == 'x' || test "x$NO_HSTORE" == 'xY' || psql test -c 'CREATE EXTENSION hstore;' -U postgres - test "x$PG_VERSION" == 'x' || test "x$CREATE_PLPGSQL" == 'x' || createlang -U postgres plpgsql test env: global: - - secure: "3HRd+UJQzXoxmBAiJ8SLFuYK8NvMVgIs0erfcPdgvtfFGTPkH3XMONfNr2VE2uz6qwUB5GWkVzvS4c9CPbnnft9QhyYeeUINiqQMN5+6AN5re3C2D7VQMm3NSB+T2R6zS/18UZW5tIoTJILgl5oRCQFI7RSpqhvZ8nqPxJ4gptI=" - - secure: "VrNgbyKQi5HjSMZfkt/zwG+AHk1NW1b+f3Jo1ZH7DCqcgLApwvp4MNsw+XamqHxudjj3Z8+4bYBxG2H6zIOobIyYhBvxUwMq7HTjM4jH8m5phqvQIWZOzZzqguYNNS7JJQUpIMwR7wTuHqucVfMxljoSuXQbs+0BUxo4Eh+FScQ=" - secure: "NI+aqwRLLVt2feJdk/2ZEZnsaPyu+vOx8MahVxjz0UUVvRHVqxM5O1M0R53NJfEeIjflOzgZJwRLqgyl6dkdfjytRhaHWGptQdehV4cwNb+4epnn8WlpRzMac65zTQqnbGVtw9jissDQv6/Zl/+D+DMcU65BbFZkix40whILXG0=" before_install: @@ -43,7 +54,7 @@ script: - envsubst < toolchains.xml > ~/.m2/toolchains.xml - test ${JDK} -eq 9 || jdk_switcher use oraclejdk8 # Run Maven with Java 8, build with Toolchains. - test -z "${ZULU_JDK}" || export TRAVIS_JDK_VERSION=zulujdk${ZULU_JDK} # trick codecov to use correct jdk version - - ./.travis/travis_build.sh + - if [[ $TRAVIS_BRANCH == release/* ]]; then .travis/travis_release.sh; else ./.travis/travis_build.sh; fi - ./.travis/travis_check_postgres_health.sh # To avoid useless S3 cache updates (https://github.com/travis-ci/travis-ci/issues/1441#issuecomment-67607074) #- mkdir /tmp/cache-trick @@ -68,7 +79,8 @@ cache: matrix: fast_finish: true include: - - jdk: oraclejdk8 + - stage: test + jdk: oraclejdk8 env: RUN_CHECKSTYLE=true script: mvn checkstyle:check - env: @@ -195,7 +207,26 @@ matrix: env: - PG_VERSION=9.4 - NO_WAFFLE_NO_OSGI=Y - + - stage: release + jdk: oraclejdk8 + env: + - PG_VERSION=9.6 + - stage: release_prev + jdk: openjdk7 + sudo: required + addons: + postgresql: "9.2" + env: + - PG_VERSION=9.2 + - ZULU_JDK=7 + - stage: release_prev + jdk: openjdk6 + sudo: required + addons: + postgresql: "9.1" + env: + - PG_VERSION=9.1 + - ZULU_JDK=6 # Deploy snapshots to Maven Central after_success: diff --git a/.travis/secrets.tar.enc b/.travis/secrets.tar.enc new file mode 100644 index 0000000000000000000000000000000000000000..762d50887d415b6f2da98b1ea4f6a4fecc49cc06 GIT binary patch literal 13344 zcmV+*G~dfpVQh3|WM5yKgp`9~Is*bpy)pwwP<#jDx%0TEB5>TiCwXy@2j$k)UeK|%*njQFFTg# zhK(%QlO^)}PTMFePaVvG?BJ7bx!Pf3YdcD%hghU2>+)GD@-rXqYf9uUIwBKHNRuCd zCnufyt)FORT}6&<05GO2sOHXu)oS%QpV#Y(vLaplXN#l+BIPnwCAM&Cl%+VtOhP7S z+umZ9E~8P7!P)-fGo^3}%7ENSA+lAhEa*R09}m(C`X}B5qCBAaKm`kSMBMBLx2i|# z0jLG)MX30l=!;*B(metjHO9V8he1VpIv2qqcFfwYLaO6oq16i2TOaESm;*)erWC43 zb8&3gQyqFgGh|W|aH^(S@xC;_5Ma4sYZ``w+}R!?&4KY1`S#3SmT%2};Hmy#g=deITAjatKW{<<`iiUus7;_vdi1VSm82cz0U*nq|OFkPM> zx{dHBF{XCcTTokUhkje(Nw#ZQw`|p!(3!JiP4YqpBQlJpH>eQTN$tX=i{r9WNH_p~ z8l0U#xMuyyl->$WDXQHrs(DBT?FsBb^rNm=MO;bq*ZWDC2LAKgoDb+^{D z%2znO1-sMIvVuKgg0?5)LT$uLp~&H*;+fOwj%t$M^7+V>_mn&TLcg~jf>caRL3uMw zHtjTY3_E{t%-RBB)mIv)nYA3xeFprF1N5}RDW1-q|cGgaK^d-ip2KDx~F8toQCSyAU$vp@v ztpo#b-wJWCX<>~DZRI?A*<`E#Ef_{Ib<4^tQr)UrHEIfD%8!HsQ{a6!wUxg~BA3Of zJ`A$QE|Y61d?<+(f=)PfXB6^sXi7mt|7XOX-Yq%pp^IFkMmd8sMCYW*q=V3%xCd@S zBnaZ`KXivmzZ5}cyjz1&X3p#A*MOg;3YQ&F@`Qc^(}V2P;LJlm=6Eb9c!@ozczCF% zapK`ql9zPIIjOrz8e|6M{dpLA^pBIw)VTffcNJuwdhtrVh(HDs>3R{M?BayRW;iGP z?Dg90eQplt^p|~ru}(+05JBR%m6XPhwzJ60Js`D7phjIo>6jTKb1l~}aOT(D7nWfr zaE8TE!66aBSd^SFAbaAXid1KFq)ze;t$NU@IdY3e8HTsIvd(aeK)tySF2ojcW z9fZ%FhKEQT zByZC=Oh9Op!we|#hoSoP=g{Ri2oDSp&|Tt=^mD^#rB`;Y#{X8)i~AP3FU>RG{fRq> zjb$XQ;S~?1G(G%KDIT}Y*A}acg7L+lWJyizb2Cl2(xdjFFl6#gxNG&yDPwjJw*JZE zs3Gc__<4IG>3K?{@)D*i9G-|f=9mOV$(cK)7kis?ykI-t@^akz0+$^~WNTMetOvy& zpmX^5`#?d5(?AVQXiRswABCjJL~cHKp6;~<;v;%|VxnwGpou_iLMe1?KzDo}{@Ap4 z%%9z_jdyg}3BzX)qN@(eCuq4ALS7FrwpOHvKPZ%WY9F2CeD)6r*DlwV(X-QBW2Lzj z!$IC7SntTrmj#xcuK@W3Qnp>a|U&%rjW13-S3iI8OCHVqvnu>YM z_OnbVX^145so5Z6Xuq4PiajyD1!k#8h}>VodJnc#QxF{=8$=Y)Za?EQg-OD^p`QR_Vsbs_NO2VV$OSieTntEAKK^h2HM8+iizuBi=TUQ#$@# zP1v`qYYj^(h{)rVi&Zxp*yl$?@+yXyi7g4f1<^4jQRD9^M7-M%l5W^jc(@Tp%veg> zPl3@<(bhy6qj1@3qt)E^e|Pr%;)-%L)0K24zvUx8>E!6x#UFAC-TGc2xA>@I3IsP- zt0M?1k_OQ7^Dwq>o#y__j~}nr-M{g=;4~HOlf7wkCiGf9*IyW_S(irB9AFSMtU$^U z+b*(Y8uI&cvkA3~Cj4uH={{PTP|$mt-mJ693UX^?EZbO%lUqCHMF-0^Q>@cd>|DDP zI%i)v>$jWhfF1*2rR0^rAmpE`j+cK!ah*Pn?bd_m)tq_TZgj0W zKp+X-I9L60*qvH7Fb)dXVA^0-TXz|T! z2ByrwmA$wZWJA^_|JCDSR-BzYICx~;@m0;<5$1sdC6lPaAaYkP5qGH$+es~|H(I!Z zyht27yMWx(G5`yK|0E_Ad_|upf#|G4$r5G}j}8{-ZrsT+LBXd>6awg8L=XB`3zYxn);9~V?8+=W}Eui{?-eLWlk zG=69Ka%}mzzB=;{?Ta{6h}=8JbuZ(=W_B1-QMTh`)Jq1zZOK)f<&3?>sDOSuPfLQJ z|0^r1fqS^ajPa|e?_qEJhgCXQx&kgyLh_ux6Z*$c?*~>fIt)81MITMZ{)$h7Kv{NR zMhPmc3t0B3@0MhMp~%3~Yvw=!QV+mMw|d<*_V#tAp-tWzX67BvSGj~eEAut0hrQQI zZ|6NeFBSai)dtP}v!?ide+|)y%^IpWndidtjwE7!4nrvD)VD!kpp@$-SV@e2KUvOQ zsUGcCH$#yXJ@Kbt^kp{)`9~kD00|{h7*Zbf(fW{2uBs|4PuwX;9JTQjIR#`X4nb<- zPnYDe`QxyB>OtnK8v>ysO+Onjx!G~C&w?8d%Vrygj7#;fU7d*>Ys)5DDF3`Q73293 z0?cycau+W|WjqF*ljt8#3M(-JcZ959QM}Jk^|`{Fj(tn-z5FV4Sc4CfjrX|R@C1`) z{tPwl_tWjEI)?qdv@xvI9P!+dCF9X-Gb#Mqh^Y424>4PUJ$+Vlv*$}j>()}C#JmIi z+dT0#JvndMXvw`KWurwVYW^kR$NT+C$E;;ET*+@WO+bpKEtbTYqfwG6hw}I*q z|0{Y8lA1iU#n6)~1z1oh^LX?6kVMhe;O0blkVybLzj!;zxg%nTTaN!s>OruyAYV_D z>Sd9EtPQionFd_6(V1m@Q>HX9OQwA z((=3-m$%HvB8_Plf*2b37nit^`!)q_pWvk{mda72{^;~2W;7tz0~Lj>}WXrPCTy!jX7ZU#K6FY0!A6DYmJBpZhU zTbWHO3-lBafdc_lqj(k^3YDx;o(kO9IGEaKEvh>+2rlODmWA5HF~2>RR{0VetCe*;I+P?&SL|c;D|egS?4M7c|=h-(%glyVm%bT3zcc9+~NW zjUS!SH2b(M9pTBtp^?h+@Mxrf>MP=^qV9OK0dU}9I3*pJkP23w=`8s{#~}4#>PWOS z6kdvIGVAfR3Mb6V4_;K?t!`LF8k~ndGTv`kt5Luu2G(HEY?K1x!Y;NDP=$? zi^Y1PWD0A%bltvurjiq=-%iw}A(h@FQ!WLBaA{WOMAw&9+}45pZGta97-x(Ojchm(gv$tPDv`-PQyX2#ae(;pEm@;>D|9(K88x*;tOsGK=N83oiuE&j8rJ(! zcGb^}GKG1?p~Rpn@#9S&-kHa=xyFeqI39P3XU0)0m)>8}zB0a=)Q`_pm77*#^3(G7 zSBQ9peg0pXD-2s=1QLPn^%Iq)4J@NFXq?msC#!5e*7-oO5k4&3^wKb;NZyN%xyF4T zp*4SnE~v;EnVv9brpR;tQyn&Xxu(oTVi~m`>b|6Q%#;Tm;xzvA^KBI=y813dwHioL z`5))HTn+K``7qRxsj!>jxJ{ZhXqWq@O~-R%0|OuPd;ZMV)qD$;$lCtP+^) zbb;5l3^ewxDx`xZT*H{97@;(X>V(zuho(u46L7CCj%L*mF;%1@fN+#86(Sd+dv`AY zR@ON}fMmfn4$Nt;vy^g`^-~3?!Fg9_t{Sj2ZV*ZuRccWqDz9ryWA7x*~)nA=q9v5A#UT zg0!~5KhQP8j0CZNZ6FT5*}0o{mG&neiUrl}^UhJR_oQidN(dkg;Uo3_m5x@n!uXcQ zM}ju5MXVgWvSF|0kG8VOhS)XTAg}=~e#HcyS`p_6(_@BR@pjn~6}fEHdY(eYpoVW&5Wd8Rvb2 zYkKn4>*6QVm0mvYMV(Uss)Yray1lVgCGuoC@h?pmB&?G&iuCGrSh5@fp5RYAm#Ll) z`hDLBC!NA%tyIq>YAUWAZEU$2_wAI${nVUj_tjh&N=3UbR)uWF zJsPUlPPMgp0$5pgm;O{Q)e?h>Sxm0}1m^;KzX58n(CeNbq_XMXt0WC;c5Ju#P;zM? zt<8-8VX;{4$qYjnP%^W;H#jLtPMTxAiXY59HVG#c#vRiiw%Fl8b_47OFCreR%${fv z*0%|+GWSU96;o=%MmM;8MYN^}3M$$SgI+vZ>Ox--zOT*)fbDLoLPy}XZ96~Sno;Z4 zmng|E`Q=koPRiq{k!jj;QOT&^(zFK9ZpZYih%UwVDL8#m0{9orZYb_`>oUL=ueDm8 zUZuatyc_Jvn8L{sppZ%#n`^_VdmwAa>%{orE8m*1@H%bFbCWl)FxG; zYW8dhwdcf`wrk9Lk*k&VM*jqO8Hw^mk9!F)jUk}#>aZTv2W2JIHMx% z8d@-)%;tUAQ#1JbAsuRGUm2$x$=%K7>p6RJO6&ot#`h0i%xQVn z(f0wD-w1-nccB=CV)={zQZ2Y**heBJzE`f+yzc=xg5nGBh#IJ_Z_WLvaoUTf;o@N1 zZVGc^Grtk_JU}}eV@hq_PXpGIjr!*rve8yKT7pmNh*1%4k#Ry!7FpFI-p!&7hm(Hs z`-u9**N7)?QsGqa`4bc!>o>9{VyfjVSqN{)$mCMX6{$zlg3GG6AIy%COi*JGmNo8i ziQ1I`F94xX@?6gbbf6#u6)z5(Kg0$^1Quh3mIo@l!qU%*U~*CyCg0{>pSFH3;zp`~ zygT95mQ7#?O6^;N>g8nER+BsDZY?X}7#fZuSk>}y+A59ptAk>cNnmnNo*hkbJ%mOV zg1ho9Ou;z!cAedeK_&sROs@Vw{TvTUiVE*a=dff&87Ed(QDL=ZA=C-I2&KJ~Qr9F< zz4zZ!<8}O7t(jsp_7KSFUmaVfFoWIjJBXG*@B4~SYT6^oJYf%tMM9>kJXY|v$f-y; z9mv!kK+{le+PZ5$T7k6JV^*)D_uY3I;Bfo?REQ%iYH*YvgY8zxLrhm*AroPAy+4US zYUeGyxTMg&GDvge#!|e-`5@m@%jh|0=(PQf0A?f}(DuNdP35~Zs8@W$X*ORVR?C+l z#2Nc0a5P(wS5k}xdfYDk4}d~o4_KD-I9OIr11O+LV#eX1lok1bR)*(f6O*yPGeo3+r*ZTBD~accYk%;U4fP3yRkC>d@@$brWRu?w zWFpw5lv~Kzl6ezZh$;P=ezZ+2AHfmr#93e?CVWl@3)+r$Z= zU`Rt3PiXP`7*Rl`tAK}LqCi1fLulf91{({`+BB-H5tw1Ed3Nx~lf(GJ1Mbud75#;U z-P|61?r|~^UuF@JR)%F*LmV(Ye-0Gs>I@Yle)L$2&4h1ql#!nv1&a~#rTPRW;>%C2 z{cBIw&6;=vtpR2J(Ra!oyyl~VPpBl3d=e0(kNyr?=6pZlnzZ;|xy%PA zL#@*e4_BEIU0Oo{&e?9fKz1diqNWH%6dmxL{6O_1hZtU_w2iW)9yFkqqW*c>68jrw*VZSf(a zi@{ECa4q`VS_qEcqiw1>8d*Pm+yN+VJO zhmBKx^hU*1?Ct6kJsxfy^mSz9MxlNsFe3L_l4}7}%Y~X4W2_5{|rFNg;+1F=xEnHtg&xBplF zQPQO?nAkjHJf5EXPUgTq9q#K=C%eSe9mpSlP+8x}Xw=7-*p}HF6%iI`{j7)Y`nZy^ z#N*A7kRU~QZhuxU5GOc5J+66s@w(FX-((%_eq8PsT^d|jx0S|u#t6?deAGrr*yMp3 zL!hO8Jok{G03C^kRrOLr*R501(T-+?e$rGdoEFX8K=HsC)4h7mLrR6KwJSEaX7u0Y z-`tn;c0Qr5YrEyCCunI7Ke8}51&JP@6#5bulQ@TO$Sy1^O4$Ntko?XJBE2LEtbvsL?^Q7;YJ_CvN)eJ_D4LVhM^aTjJj@&d6C*osxIQ_?T=4l!^vul`Ss z`}X_8J^0rL2+l0=3vKd%4qbNSb*LlDhc_E4<_8~jQ*^1$7S2ulyCMpTbu6Wn_-l8( z-CskfG)YuHX1Pi>uI-)7A*@GimtwmBLvaYD!rsB7lK9=OwT#y*qA9Mpa%`cy>`UCp zI?q&p%6!iS3u$IT8PSW{?VBMwvmMVY>YuDU* zgs!YNJ(X5pM`t(Xs~=XqJ=cskw(tPPMnzzIAH%eV!sdeLOg{OD1$das=#NQ)>9zWi ztVOKx5fD1r)YbquqDGA;U8}N*5E^Y1_%-G%;#@-=g^d9&vuji6uCtSX%eE6It<@H@ z_vMOPf*;rDx{;n5(4`0lMLQHpL7;A7LPhA1Mi2uyKSVM1VPJUUZXsQH;+#>5f^YAZ9g9~d!H#Kzme?Zyk7dJOc+6@7> zjNGmY<+OHwp+@bSh|h^o#Gg9bkc{>qDLNn;d^A`#Z5qJN%yar_y2p!3IKHmCfZFf5 z=eURfns1z4ESGEiHu}X~beqq=e^`60H>yQ~JH8)y*(|A#ZGO)G0pE|`G7IAQGWpSr*=qZLkL`kMA+rub-`X z0Tbz+e!W80%%6uHu1Ytw>7u!bnC&vbc4xSTRyIqC6rAVM^>6GBaq(?CXqptu!MhOQ zPK=hyQm}e|C0JQbm$N8yP95%nfJ36_M1<{4!=dr_Hq)ufEX?)E_*DuEU7Q=d)Dd&& z%T8VHv0a&+Tk#y+=!Zq=?4d^bwp>NE-k2bzNGwbucUh3;q=gn&Xo;AdHhj~kabGtbm7N^RKvLd$prYChad3njcWjeeMtnHd@t{L3i_IeO0O% zkk5O{N}Y<390gAGt2wr3z{|w@l>nM=`MQ*PdVS&`{$p$vfO9duxrBxlGf7<U=2F1o|@}rtxPI)Q@>rqHMR(zh>DOk68`~ zHbEup*GVH|fDhbQ+wOL(r)UnKaw}P&;S35qycSCt#@&sniUza9zHWO0*%4wCbpa8- ztb7sfF-VEJJF}|~q`yl2Mu<$5H^XCJAmrcpCAT$`ho;g^K?T)S7XsT)HJ_ig6Pff1 zzax+t`$E=@T~izY66vB$EEsV$%DQj_>%f08hC)t&;TB|oz0%Nd6fkQ^isb>iH`)h0 z0nlrsz5~x?Rh-ti3LM$LILJ>-=Q)*xjNxN|p8Br3a&C%apQ2G51qPfx1ZsHV1$sQT zGuf%$(V3(i47>S+@jIm5kjk)eaPyn5a6|rZO4SKLK^i_$Qi2atF&z{?NsZ)F_7F7R z&P~5462xhn1?1Q)Q4E(G8UQ{{mnXzNT_Lq=GhfO;fC;->5})O2TgI<}1YCXWow6}B z^*?+BfX1%rnOKjud~Eowaa=?u?phh-Gon|pQ*MG4EMJa~!aCBLe$*(@9jubz-Wp$= z7@Cb;2$RQlbU$ zPaj%dDd%b=ov$>d$mD4|CXO?6B&r>vSaH}K#&UhDdWvjtB<9ik)Gv05FlpTv@m1)o z1WwxUFi5XMzZbF5Do&9?(MB01jCxXf}2V_H6Eb;{ANSEC|*5iE#(c3R!X^Qhh zNOo%xUM1Du1eH2_>-|eQ6|5oT4i0aaITHb*LLf3+14hoshK-_a3KVmA<{CCUL`z% zzzx|X1I{evXDW9ip}3ER!<{j}E^2$aX+WX~&0^Bm(erlfbj3zC6B zpuP{yFf&KDU9<9x#B$Jb{F$wpB&_YgNRi|*~E)7P1 zYz};LCeH7-1pXI3CP2WHS|sC6z8nsGJr#b}?a)Ery6f1?hC~cLgmRO9S!t_`dZ$N) zI+oQ(2O%uQ7%&S!_`pJDbsSGqZQrmTcRvn#ZJ3ds+wm?L-6R)Cn3@^haC!VKjf#6}r$dOjW;L?$B^vf|iTR?i2U zmNN8fNIvqxSw~T0-3X=$o!<}(B&5A1pMuGEoxsgD#De*)t_n-<^0=RYxe$chIztVT zc6mR{3bI7x&Fm`}d z-C4>$CeiI;7H0pZK}tz(#zlZsV>cQ=Qn2 zDGzbOWa3(~ZJF6feZzj1ZGXoINIi2CQ1%~~I?%KKx&(K`IslZ3<7sZ51_&r81X+69 z-NI#^=af%NbR5v(&o&eRa@ONf_e?F6)b*4k>d?#WnjL$Q6Jw1~s6PBt$^Hs)y zXSOY&NX=a*Hb~K2`6sb{N|hKsw0Lt&TSC(<_*^=~yf@jhJ8F&H0v7;6rKvAK{M3L+6X29_K8(ut&f=}iFCCA< z4pwUqY1~alVRCXyx73h{MTXr#RC~*8 zD#ddMP@199*Z@bVxflg0WI?FCnEN%h#IrJIyfqUugh&Lrshe^S>xaSTbAMYL!~>nd zjhG_BvX8pC0GbBVvJMfWFNj^Q6FE8)1$}W)cniRMeUXNeX6ZFYQ!_qSjc}5C!&HQ^ zvO&yAG2SwHTl#)rhpOhXcV}u-k+UKrUQ{SHbvdRt1>_aloZ()iKk2YSDu&nwl6(&A zHWqJJie=hajo!nRU(G6|3?JOOQ%Ejzs(BEdZ~_+)QgAn39u|J@|0w@5dTk+M&;FQM zx!FaTu4RSXP&KTP8jvUpmjZY-JY@c{@QpsUVOM(-LG_-{6>-z1m4${$`x$(k1bQ`~ z0=Yu=P#$pyYJn8ythe;_#{$$&adW1ZQFjIg1sgN}ei%aj3k+rwo7n7hk3L)79tz4% zSRI8$0$fTCXT5H}^wwl7v*4$HYumT5sdcuz$jTjT$}6y9%WvdJP8`h^>usktzYHW$ zK4O~a^K(I30Vn=z@RU^gVx^~x88)&mm>Zs6@%{U!xK!ra?r8)VJ3dAnqvO~JkaH|z zV`S)PX3WhN#(PLtX6%JOoz~Hf%bt0@p)YtMp?F7frThY)9Af@yU_cbOIu-+h_+42h z$dt+wPEr3GfwNt0OZySlduD9~uIq>z zkL97f&X&~;-)_>8h$^uwdRMT$&Qor>PtDmQHBk+PI>KOvPc+SqEtzMCzP(-sA;9;S zx|l2(?Qvq{Bb8e!C#QzT#9SSRdd)g0J7ZkTE`TcNW=&lubk-#y9nGjkAPcc?G1bjp zG5b-!h%nn>Ekdu4kN&^;;#ohu5BtZGI*-bPYEPJ7*esQN{|`T2Xqs9@dTPi_3W>5p67e%A+Pyf1GdC zB!pUmN@}J`$z`e`K~eh<{1vE9laF`nURJ7%yqcIp6Ko({F&aFT^^MwSR0bvx=K0U} za_E;lJ55McK<{OpcHXa?^KVV^CG2Pp!9kJ5>gioW5V zC??$41FdEAv~d=<=d(b0X)miW%BMjB!mw`K(&B7-#Z<5B3VhtU=~_Pfts1@PL9R{}!%&wH z-UY#*kY&Xa>Wx4UBy&L&W7Na(3=JU-?Qm{n#4P8~E#vw;4u`C53$(nM4H)1I$$}tG zy`RRY8!#USiz;uzrlzgQIFYzMCoRzfR{AVy84M^m&t9DW2U@1iQ2WS`+~a`CZmawR z^1}(b7bvdc9&hWf-(kDNkCsbC%(B1E0MyzWtfp~B$3tD97G&gEIru4;z2kp)Y#Gxf zi0^O5>7{lr!tBp85+1oYK!p=b9{dPgxs}hK#-_Pmpljv!ndELAJ$oX09J%}@2p+~JrwFeU;;poQazbgoZ?3JWk~cnuwtO>F9#JY{s76~y7c1ge3Wxi zx1K+b?vXUrHT5py8<`oFrsFp`_~fR4CoFzY_dYZa(TuF%a3LI_XPpc z8oNtD2~kND=_5(s_)2{eY!G!Mq&8VligwA1gV?2!ko0W3F8qWx#HHdbu6Fr`Mj@dH zCX`0_yp&-Ub6Zl>$9ulBTa>8#KPtBzhuM4Uun$MA@~j8mdeJ4HWiOqA(wBQB0>1Sh zJ4U0h!b#$+FWW>O6(Q{6miEA_AtC~4YM^pW>Q1}>+d%$zF_w7*W&Fnm$Ae{!Y=DcU zQrdVRXg&d(2Fuc>qW?@9sj;J*Fi=Q|FzR@zVv?U0XD=USD}OW0g06qjNpBkQO}=wr zyfC3A%t(C}z-aUO2VW6(#+G~LTu1gZlmqAbrV8Rs%9YDDn^z?a>fTAz>WF{?c&?>A zvQz^Sd7;cIyth5#naXr6+(qYK8|)rTLD`U(F&DOBug5!lxHkCoih0&~^<2F{pcqYNv3MB(*61E3~1l#T5n;9az@=#t5VBgQw=#g#ksV6Npwt?%?P)ExWd4bPx{>W7z3BTB38lV*WwqnfFq z`D5ajmb&2f`0|aFP_NbY{yoy$mFdZ)>v@1RqxE;*uFBl)TtuRr|NQ!K+L?OJEj$6H zfs1HQrj}9GhmcB^jPP%9M9c)!-LGpG~;9t}YuF%KccgXeeAQdg9s1-nrv+-ai>gZuWiV z$|EsSY|=Zk@cKnxP??F#y|`lDmMJw?}?_AS*Jj=kf#Qs~l6@ zZ6wG*&LD!NdCB;2rnCJ6)zslxwaI}01NYKda)#)1t<`nc16z~YtxC*l7&9R#0IGem zt3=ni6c0TtRroOwN*DH84^Gwe%$XNHoEilX3ylpw2r)U38vMY|?9`Bd%#nwb;{rgtKXDkQMiU^5*&-nC11)r6T8H3>W6CQhoL<(kfiwzuIL`Gd z2J2xj0}W;eM*Lg3l_2>pfZLP(8_3GHIP^rbn!<#P{Lqg? zc$1`_=AlR{$@lrUKzvzG+=36Q+)gH@FY|6&DBP1N{KYJMcJ`M~6c90EpA zD)JZ#oQBWeOWH?a1!R@Ow5b?!|Eb+A=-Ya|s~+|B+-}9j(6Pt-ksm~okRDu-l^Jg9 z0QK;`xP_N6UsY^#mt*conpq-BhB>4B?iBHN7a7WWwiy`&G0$cG+`52ZmZSLmwD-(S zx3rYnYE!;!)jXVV+iH=XT6|ym7zwy_fUb1@dYQV3krOp8Kk&G#*C%v%N>mP92TIoH qF7V3!DySsZ#l`T#tJ1H|sT@`>R)lYNI@0xxQ}J^CJ|tW$M`ddb#NQVH literal 0 HcmV?d00001 diff --git a/.travis/travis_deploy.sh b/.travis/travis_deploy.sh index f85c7ca555..4f9ae52ef0 100755 --- a/.travis/travis_deploy.sh +++ b/.travis/travis_deploy.sh @@ -13,5 +13,5 @@ then cd pgjdbc-jre7 mvn ${MVN_ARGS} -P release-artifacts,release,skip-unzip-jdk else - mvn ${MVN_ARGS} -P release-artifacts,release + mvn ${MVN_ARGS} -P release-artifacts,release -Dskip.unzip-jdk-src=false fi diff --git a/.travis/travis_release.sh b/.travis/travis_release.sh new file mode 100755 index 0000000000..0dacc73d58 --- /dev/null +++ b/.travis/travis_release.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +# Fail script on error +set -e + +cd .travis +mkdir secrets + +# GPG is required for artifact signing +openssl aes-256-cbc -k "$SUPER_SECRET_KEY" -in secrets.tar.enc -out secrets/secrets.tar -d + +cd secrets +tar xvf secrets.tar + +gpg --import gpg-secret.key +gpg --import-ownertrust gpg-ownertrust + +# Decrypt GitHub SSH key +chmod 600 github_deploy +eval $(ssh-agent -s) +ssh-add ./github_deploy + +cd .. +rm -rf ./secrets + +cd .. + +git config --global user.name "pgjdbc CI" +git config --global user.email "pgsql-jdbc@postgresql.org" + +# By default Travis checks out commit, and maven-release-plugin wants to know branch name +# On top of that, maven-release-plugin publishes branch, and it would terminate Travis job (current one!), +# so we checkout a non-existing branch, so it won't get published +# Note: at the end, we need to update "master" branch accordingly" (see $ORIGINAL_BRANCH) +TMP_BRANCH=tmp/$TRAVIS_BRANCH + +CURRENT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[') +RELEASE_VERSION=${CURRENT_VERSION/-SNAPSHOT} + +ORIGINAL_BRANCH=${TRAVIS_BRANCH#release/} + +REPO=$TRAVIS_REPO_SLUG +JRE= +if [[ "${TRAVIS_JDK_VERSION}" == *"jdk7"* ]]; then + JRE=-jre7 +elif [[ "${TRAVIS_JDK_VERSION}" == *"jdk6"* ]]; then + JRE=-jre6 +fi + +# Remove tmp branch if exists +git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git ":$TMP_BRANCH" || true + +set -x + +RELEASE_TAG=REL$RELEASE_VERSION +if [[ "x$JRE" == "x" ]]; then + # Note: release should be a fast-forward for the "master" branch + # If push dry-run fails, the script just terminates + git push --dry-run git@github.com:$TRAVIS_REPO_SLUG.git "HEAD:$ORIGINAL_BRANCH" + + git checkout -b "$TMP_BRANCH" +else + git fetch --unshallow + # Use RELx.y.z.jreN + RELEASE_TAG=$RELEASE_TAG.${JRE#-} + # The following updates pgjdbc submodule of pgjdbc-jreX to the relevant RELx.y.z release tag + git clone -b "$ORIGINAL_BRANCH" --depth=50 https://github.com/$TRAVIS_REPO_SLUG$JRE.git pgjdbc$JRE + + cd pgjdbc$JRE + + # Use tmp branch for the release, so mvn release would use that + git checkout -b "$TMP_BRANCH" + + git submodule update --init + + # Force relevant version for jreN repository + mvn -DnewVersion=$RELEASE_VERSION.${JRE#-}-SNAPSHOT versions:set versions:commit + # Add all known pom.xml files in the repository + git add -u \*pom.xml + + cd pgjdbc + git fetch + git checkout "$ORIGINAL_BRANCH" + git reset --hard REL$RELEASE_VERSION + cd .. + git add pgjdbc + git commit -m "Update pgjdbc to $RELEASE_VERSION" + + # Note: we are IN pgjdbc-jreX sub-folder, and the subsequent release would release "jre-specific" version +fi + +# Remove release tag if exists just in case +git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git :$RELEASE_TAG || true + +# -Darguments here is for maven-release-plugin +MVN_SETTINGS=$(pwd)/settings.xml +mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}'" -Dskip.unzip-jdk-src=false release:prepare release:perform + +# Point "master" branch to "next development snapshot commit" +git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git "HEAD:$ORIGINAL_BRANCH" +# Removal of the temporary branch is a separate command, so it left behind for the analysis in case "push to master" fails +git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git ":$TMP_BRANCH" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ff6e4d41d2..8a74c1cbc3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -149,7 +149,29 @@ Prerequisites: [copr web page](https://copr.fedorainfracloud.org/coprs/g/pgjdbc/pgjdbc-travis/builds/) - possibly bump `parent poms` or `pgjdbc` versions in RPM [spec file](packaging/rpm/postgresql-jdbc.spec). -Procedure: +### Release via Travis + +To release a branch via Travis, perform the following: + +TL;DR: + + git checkout -B release/master origin/master + git push origin release/master + +1. Check if `pom.xml` includes proper `-SNAPSHOT` versions (release versions would be the ones without `-SNAPSHOT`) +1. Push `release/master` branch to pointing to the commit you want to release. + + Note: `master..release/master` should be a fast-forward or both branches should point to the same commit. + + Travis would build new version, create a tag, update `pom.xml` to the next snapshot versions, and update `master` branch accordingly. + + Note: .jre6 and .jre7 builds will be built and staged to Maven Central automatically + + Note: the artifacts will not be visible in Maven Central before you manually release them. + +1. Navigate to [Sonatype Nexus Repository Manager](https://oss.sonatype.org/#stagingRepositories), find staging `orgpostgresql` repository there and release it + +### Manual release procedure Release a version for JDK8 - From a root folder, perform `mvn release:clean release:prepare`. That will ask you new version, update pom.xml, commit and push it to git. @@ -196,7 +218,8 @@ If staged artifacts look fine, release it mvn nexus-staging:release -DstagingRepositoryId=orgpostgresql-1082 ``` -Update changelog: +### Updating changelog + - run `./release_notes.sh`, edit as desired ## Dependencies diff --git a/settings.xml b/settings.xml index abb537380c..ea6b3679c4 100644 --- a/settings.xml +++ b/settings.xml @@ -4,7 +4,11 @@ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> - + ossrh + ${env.SONATYPE_USERNAME} + ${env.SONATYPE_PASSWORD} + + ossrh-snapshots ${env.SONATYPE_USERNAME} ${env.SONATYPE_PASSWORD} From 3ba3b6334761909183334a3be3af0aa8dc4798da Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 7 Jan 2018 22:32:09 +0300 Subject: [PATCH 073/427] chore: skip CI builds for tags; skip Fedora and extendedCacheEverything jobs when building pull requests --- .travis.yml | 12 +++++++++--- appveyor.yml | 7 ++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7a046e537f..d517abc06a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,18 +2,23 @@ sudo: false language: java dist: trusty +branches: + except: + - /^tmp\/.*/ + - /^REL.*/ + stages: - name: test - if: not branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + if: not branch =~ ^release\/.*$ - name: release # releases pgjdbc for Java 8 # It does set release tag and update pom.xml versions - if: branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + if: branch =~ ^release\/.*$ - name: release_prev # releases pgjdbc for Java 6, Java 7 # pgjdbc-jreX requires release pom.xml versions of the main project, so pgjdbc-jreX should be # released after the release of the main version, thus second stage - if: branch =~ ^release/.*$ AND not branch =~ ^tmp/.*$ + if: branch =~ ^release\/.*$ before_script: - test $(grep "after_n_builds" codecov.yml | tr -d '[:space:]' | cut -d":" -f2) -eq $(grep -e "COVERAGE=Y$" .travis.yml | wc -l) || exit 1 @@ -87,6 +92,7 @@ matrix: - FEDORA_CI=Y services: - docker + if: type != pull_request - jdk: oraclejdk9 addons: postgresql: "9.6" diff --git a/appveyor.yml b/appveyor.yml index 02d1061653..fc6bb51f33 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,7 +8,12 @@ init: - ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "max_replication_slots=10" - ps: Add-Content "c:\program files\postgresql\9.6\data\pg_hba.conf" "host replication all 127.0.0.1/32 trust" -services: +branches: + except: + - /^tmp\/.*/ + - /^REL.*/ + +services: - postgresql96 before_build: From 32c539020db3c940bae9b2a42425b1f23e864c73 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 15 Jan 2018 16:55:40 -0500 Subject: [PATCH 074/427] prefer secondary over slave referring to standby or secondary servers (#1070) * The community has decided that the naming of replicas in any form should be referred to as secondary or standby. We have chosen to use the word secondary This PR renames (hopefully) all of the uses of slave to secondary * Remove slave from build.properties Modify HostRequirements so that we will accept slave or secondary for now slave is deprecated but we will still accept it and not document it. --- README.md | 2 +- build.properties | 8 +- docs/documentation/head/connect.md | 4 +- .../main/java/org/postgresql/PGProperty.java | 2 +- .../core/v3/ConnectionFactoryImpl.java | 6 +- .../hostchooser/HostRequirement.java | 25 +++- .../postgresql/hostchooser/HostStatus.java | 2 +- .../hostchooser/MultiHostChooser.java | 24 ++-- .../test/hostchooser/MultiHostTestSuite.java | 28 ++-- .../hostchooser/MultiHostsConnectionTest.java | 136 +++++++++--------- 10 files changed, 130 insertions(+), 107 deletions(-) diff --git a/README.md b/README.md index 663484f057..c85fc47e64 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ In addition to the standard connection parameters the driver supports a number o | disableColumnSanitiser | Boolean | false | Enable optimization that disables column name sanitiser | | assumeMinServerVersion | String | null | Assume the server is at least that version | | currentSchema | String | null | Specify the schema to be set in the search-path | -| targetServerType | String | any | Specifies what kind of server to connect, possible values: any, master, slave, preferSlave | +| targetServerType | String | any | Specifies what kind of server to connect, possible values: any, master, slave (deprecated), secondary, preferSlave (deprecated), preferSecondary | | hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after which the host status is checked again in case it has changed | | loadBalanceHosts | Boolean | false | If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates | | socketFactory | String | null | Specify a socket factory for socket creation | diff --git a/build.properties b/build.properties index d41f407114..91e4cd10a7 100644 --- a/build.properties +++ b/build.properties @@ -5,10 +5,10 @@ server=localhost port=5432 -slaveServer=localhost -slavePort=5433 -slaveServer2=localhost -slavePort2=5434 +secondaryServer=localhost +secondaryPort=5433 +secondaryServer2=localhost +secondaryServerPort2=5434 database=test username=test password=test diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index fb95cb00df..e40ddd45b7 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -385,9 +385,9 @@ Connection conn = DriverManager.getConnection(url); * **targetServerType** = String Allows opening connections to only servers with required state, - the allowed values are any, master, slave and preferSlave. + the allowed values are any, master, slave, secondary, preferSlave and preferSecondary. The master/slave distinction is currently done by observing if the server allows writes. - The value preferSlave tries to connect to slaves if any are available, + The value preferSecondary tries to connect to secondary if any are available, otherwise allows falls back to connecting also to master. * **hostRecheckSeconds** = int diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index e3ea9f7c37..9217694b01 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -361,7 +361,7 @@ public enum PGProperty { CURRENT_SCHEMA("currentSchema", null, "Specify the schema to be set in the search-path"), TARGET_SERVER_TYPE("targetServerType", "any", "Specifies what kind of server to connect", false, - "any", "master", "slave", "preferSlave"), + "any", "master", "slave", "secondary", "preferSlave", "preferSecondary"), LOAD_BALANCE_HOSTS("loadBalanceHosts", "false", "If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates"), diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 230f52c99a..ee59bd9ffc 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -118,7 +118,7 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin HostRequirement targetServerType; String targetServerTypeStr = PGProperty.TARGET_SERVER_TYPE.get(info); try { - targetServerType = HostRequirement.valueOf(targetServerTypeStr); + targetServerType = HostRequirement.getTargetServerType(targetServerTypeStr); } catch (IllegalArgumentException ex) { throw new PSQLException( GT.tr("Invalid targetServerType value: {0}", targetServerTypeStr), @@ -212,10 +212,10 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin QueryExecutor queryExecutor = new QueryExecutorImpl(newStream, user, database, cancelSignalTimeout, info); - // Check Master or Slave + // Check Master or Secondary HostStatus hostStatus = HostStatus.ConnectOK; if (candidateHost.targetServerType != HostRequirement.any) { - hostStatus = isMaster(queryExecutor) ? HostStatus.Master : HostStatus.Slave; + hostStatus = isMaster(queryExecutor) ? HostStatus.Master : HostStatus.Secondary; } GlobalHostStatusTracker.reportHostStatus(hostSpec, hostStatus); knownStates.put(hostSpec, hostStatus); diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java index 798d365696..6ffaa5eacd 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java @@ -19,16 +19,35 @@ public boolean allowConnectingTo(HostStatus status) { return status == HostStatus.Master || status == HostStatus.ConnectOK; } }, - slave { + secondary { public boolean allowConnectingTo(HostStatus status) { - return status == HostStatus.Slave || status == HostStatus.ConnectOK; + return status == HostStatus.Secondary || status == HostStatus.ConnectOK; } }, - preferSlave { + preferSecondary { public boolean allowConnectingTo(HostStatus status) { return status != HostStatus.ConnectFail; } }; public abstract boolean allowConnectingTo(HostStatus status); + + /** + * + * The postgreSQL project has decided not to use the term slave to refer to alternate servers. + * secondary or standby is preferred. We have arbitrarily chosen secondary. + * As of Jan 2018 in order not to break existint code we are going to accept both slave or + * secondary for names of alternate servers. + * + * The current policy is to keep accepting this silently but not document slave, or slave preferSlave + * + * @param targetServerType the value of {@code targetServerType} connection property + * @return HostRequirement + */ + + public static HostRequirement getTargetServerType(String targetServerType) { + String allowSlave = targetServerType.replace("lave", "econdary"); + return valueOf(allowSlave); + } + } diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostStatus.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostStatus.java index 921316da19..cb72fdaa92 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostStatus.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostStatus.java @@ -12,5 +12,5 @@ public enum HostStatus { ConnectFail, ConnectOK, Master, - Slave + Secondary } diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java index 4ee2014bec..3782e2e8a1 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/MultiHostChooser.java @@ -56,32 +56,32 @@ public Iterator iterator() { } private Iterator candidateIterator() { - if (targetServerType != HostRequirement.preferSlave) { + if (targetServerType != HostRequirement.preferSecondary) { return getCandidateHosts(targetServerType).iterator(); } - // preferSlave tries to find slave hosts first + // preferSecondary tries to find secondary hosts first // Note: sort does not work here since there are "unknown" hosts, - // and that "unkown" might turn out to be master, so we should discard that - // if other slaves exist - List slaves = getCandidateHosts(HostRequirement.slave); + // and that "unknown" might turn out to be master, so we should discard that + // if other secondaries exist + List secondaries = getCandidateHosts(HostRequirement.secondary); List any = getCandidateHosts(HostRequirement.any); - if (slaves.isEmpty()) { + if (secondaries.isEmpty()) { return any.iterator(); } if (any.isEmpty()) { - return slaves.iterator(); + return secondaries.iterator(); } - if (slaves.get(slaves.size() - 1).equals(any.get(0))) { - // When the last slave's hostspec is the same as the first in "any" list, there's no need - // to attempt to connect it as "slave" + if (secondaries.get(secondaries.size() - 1).equals(any.get(0))) { + // When the last secondary's hostspec is the same as the first in "any" list, there's no need + // to attempt to connect it as "secondary" // Note: this is only an optimization - slaves = rtrim(1, slaves); + secondaries = rtrim(1, secondaries); } - return append(slaves, any).iterator(); + return append(secondaries, any).iterator(); } private List getCandidateHosts(HostRequirement hostRequirement) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java index 2f1b81748e..2486a6551d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java @@ -20,7 +20,7 @@ */ public class MultiHostTestSuite extends TestSuite { - public static java.sql.Connection openSlaveDB() throws Exception { + public static java.sql.Connection openSecondaryDB() throws Exception { TestUtil.initDriver(); Properties props = new Properties(); @@ -28,10 +28,10 @@ public static java.sql.Connection openSlaveDB() throws Exception { props.setProperty("user", TestUtil.getUser()); props.setProperty("password", TestUtil.getPassword()); - return DriverManager.getConnection(TestUtil.getURL(getSlaveServer(), getSlavePort()), props); + return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer(), getSecondaryPort()), props); } - public static java.sql.Connection openSlaveDB2() throws Exception { + public static java.sql.Connection openSecondaryDB2() throws Exception { TestUtil.initDriver(); Properties props = new Properties(); @@ -39,37 +39,37 @@ public static java.sql.Connection openSlaveDB2() throws Exception { props.setProperty("user", TestUtil.getUser()); props.setProperty("password", TestUtil.getPassword()); - return DriverManager.getConnection(TestUtil.getURL(getSlaveServer2(), getSlavePort2()), props); + return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer2(), getSecondaryPort2()), props); } /* * Returns the Test server */ - public static String getSlaveServer() { - return System.getProperty("slaveServer", TestUtil.getServer()); + public static String getSecondaryServer() { + return System.getProperty("secondaryServer", TestUtil.getServer()); } /* * Returns the Test port */ - public static int getSlavePort() { + public static int getSecondaryPort() { return Integer - .parseInt(System.getProperty("slavePort", String.valueOf(TestUtil.getPort() + 1))); + .parseInt(System.getProperty("secondaryPort", String.valueOf(TestUtil.getPort() + 1))); } /* * Returns the Test server */ - public static String getSlaveServer2() { - return System.getProperty("slaveServer2", TestUtil.getServer()); + public static String getSecondaryServer2() { + return System.getProperty("secondaryServer2", TestUtil.getServer()); } /* * Returns the Test port */ - public static int getSlavePort2() { + public static int getSecondaryPort2() { return Integer - .parseInt(System.getProperty("slavePort2", String.valueOf(TestUtil.getPort() + 2))); + .parseInt(System.getProperty("secondaryPort2", String.valueOf(TestUtil.getPort() + 2))); } /* @@ -79,10 +79,10 @@ public static TestSuite suite() throws Exception { TestSuite suite = new TestSuite(); try { - Connection connection = openSlaveDB(); + Connection connection = openSecondaryDB(); TestUtil.closeDB(connection); - connection = openSlaveDB2(); + connection = openSecondaryDB2(); TestUtil.closeDB(connection); } catch (PSQLException ex) { // replication instance is not available, but suite must have at lest one test case diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java index 04c3874640..f945ab6629 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java @@ -10,10 +10,10 @@ import static java.util.concurrent.TimeUnit.SECONDS; import static org.postgresql.hostchooser.HostRequirement.any; import static org.postgresql.hostchooser.HostRequirement.master; -import static org.postgresql.hostchooser.HostRequirement.preferSlave; -import static org.postgresql.hostchooser.HostRequirement.slave; +import static org.postgresql.hostchooser.HostRequirement.preferSecondary; +import static org.postgresql.hostchooser.HostRequirement.secondary; import static org.postgresql.hostchooser.HostStatus.Master; -import static org.postgresql.hostchooser.HostStatus.Slave; +import static org.postgresql.hostchooser.HostStatus.Secondary; import static org.postgresql.test.TestUtil.closeDB; import org.postgresql.hostchooser.GlobalHostStatusTracker; @@ -39,14 +39,14 @@ public class MultiHostsConnectionTest extends TestCase { static final String user = TestUtil.getUser(); static final String password = TestUtil.getPassword(); static final String master1 = TestUtil.getServer() + ":" + TestUtil.getPort(); - static final String slave1 = - MultiHostTestSuite.getSlaveServer() + ":" + MultiHostTestSuite.getSlavePort(); - static final String slave2 = - MultiHostTestSuite.getSlaveServer2() + ":" + MultiHostTestSuite.getSlavePort2(); + static final String secondary1 = + MultiHostTestSuite.getSecondaryServer() + ":" + MultiHostTestSuite.getSecondaryPort(); + static final String secondary2 = + MultiHostTestSuite.getSecondaryServer2() + ":" + MultiHostTestSuite.getSecondaryPort2(); static final String fake1 = "127.127.217.217:1"; static String masterIp; - static String slaveIp; - static String slaveIp2; + static String secondaryIP; + static String secondaryIP2; static String fakeIp = fake1; static Connection con; @@ -62,12 +62,12 @@ public class MultiHostsConnectionTest extends TestCase { masterIp = getRemoteHostSpec(); closeDB(con); - con = MultiHostTestSuite.openSlaveDB(); - slaveIp = getRemoteHostSpec(); + con = MultiHostTestSuite.openSecondaryDB(); + secondaryIP = getRemoteHostSpec(); closeDB(con); - con = MultiHostTestSuite.openSlaveDB2(); - slaveIp2 = getRemoteHostSpec(); + con = MultiHostTestSuite.openSecondaryDB2(); + secondaryIP2 = getRemoteHostSpec(); closeDB(con); } catch (Exception e) { @@ -155,9 +155,9 @@ public static void testConnectToAny() throws SQLException { assertGlobalState(master1, "ConnectOK"); assertGlobalState(fake1, "ConnectFail"); - getConnection(any, fake1, slave1); - assertRemote(slaveIp); - assertGlobalState(slave1, "ConnectOK"); + getConnection(any, fake1, secondary1); + assertRemote(secondaryIP); + assertGlobalState(secondary1, "ConnectOK"); getConnection(any, fake1, master1); assertRemote(masterIp); @@ -166,50 +166,50 @@ public static void testConnectToAny() throws SQLException { } public static void testConnectToMaster() throws SQLException { - getConnection(master, true, fake1, master1, slave1); + getConnection(master, true, fake1, master1, secondary1); assertRemote(masterIp); assertGlobalState(fake1, "ConnectFail"); assertGlobalState(master1, "Master"); - assertGlobalState(slave1, null); + assertGlobalState(secondary1, null); - getConnection(master, false, fake1, slave1, master1); + getConnection(master, false, fake1, secondary1, master1); assertRemote(masterIp); assertGlobalState(fake1, "ConnectFail"); // cached assertGlobalState(master1, "Master"); // connected to master - assertGlobalState(slave1, "Slave"); // was unknown, so tried to connect in order + assertGlobalState(secondary1, "Secondary"); // was unknown, so tried to connect in order } public static void testConnectToSlave() throws SQLException { - getConnection(slave, true, fake1, slave1, master1); - assertRemote(slaveIp); + getConnection(secondary, true, fake1, secondary1, master1); + assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, "Slave"); + assertGlobalState(secondary1, "Secondary"); assertGlobalState(master1, null); - getConnection(slave, false, fake1, master1, slave1); - assertRemote(slaveIp); + getConnection(secondary, false, fake1, master1, secondary1); + assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); // cached - assertGlobalState(slave1, "Slave"); // connected + assertGlobalState(secondary1, "Secondary"); // connected assertGlobalState(master1, "Master"); // tried as it was unknown } public static void testConnectToSlaveFirst() throws SQLException { - getConnection(preferSlave, true, fake1, slave1, master1); - assertRemote(slaveIp); + getConnection(preferSecondary, true, fake1, secondary1, master1); + assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, "Slave"); + assertGlobalState(secondary1, "Secondary"); assertGlobalState(master1, null); - getConnection(slave, false, fake1, master1, slave1); - assertRemote(slaveIp); + getConnection(secondary, false, fake1, master1, secondary1); + assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, "Slave"); + assertGlobalState(secondary1, "Secondary"); assertGlobalState(master1, "Master"); // tried as it was unknown - getConnection(preferSlave, true, fake1, master1, slave1); - assertRemote(slaveIp); + getConnection(preferSecondary, true, fake1, master1, secondary1); + assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); - assertGlobalState(slave1, "Slave"); + assertGlobalState(secondary1, "Secondary"); assertGlobalState(master1, "Master"); } @@ -225,51 +225,53 @@ public static void testLoadBalancing() throws SQLException { Set connectedHosts = new HashSet(); boolean fake1FoundTried = false; for (int i = 0; i < 20; ++i) { - getConnection(any, true, true, fake1, master1, slave1); + getConnection(any, true, true, fake1, master1, secondary1); connectedHosts.add(getRemoteHostSpec()); fake1FoundTried |= hostStatusMap.containsKey(hostSpec(fake1)); if (connectedHosts.size() == 2 && fake1FoundTried) { break; } } - assertEquals("Never connected to all hosts", new HashSet(asList(masterIp, slaveIp)), + assertEquals("Never connected to all hosts", new HashSet(asList(masterIp, secondaryIP)), connectedHosts); assertTrue("Never tried to connect to fake node", fake1FoundTried); } - public static void testLoadBalancing_preferSlave() throws SQLException { + public static void testLoadBalancing_preferSecondary() throws SQLException { Set connectedHosts = new HashSet(); Set tryConnectedHosts = new HashSet(); for (int i = 0; i < 20; ++i) { - getConnection(preferSlave, true, true, fake1, master1, slave1, slave2); + getConnection(preferSecondary, true, true, fake1, master1, secondary1, secondary2); connectedHosts.add(getRemoteHostSpec()); tryConnectedHosts.addAll(hostStatusMap.keySet()); if (tryConnectedHosts.size() == 4) { break; } } - assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, + secondaryIP2)), connectedHosts); assertEquals("Never tried to connect to fake node",4, tryConnectedHosts.size()); - getConnection(preferSlave, false, true, fake1, master1, slave1); - assertRemote(slaveIp); + getConnection(preferSecondary, false, true, fake1, master1, secondary1); + assertRemote(secondaryIP); connectedHosts.clear(); for (int i = 0; i < 20; ++i) { - getConnection(preferSlave, false, true, fake1, master1, slave1, slave2); + getConnection(preferSecondary, false, true, fake1, master1, secondary1, secondary2); connectedHosts.add(getRemoteHostSpec()); if (connectedHosts.size() == 2) { break; } } - assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, + secondaryIP2)), connectedHosts); - // connect to master when there's no slave - getConnection(preferSlave, true, true, fake1, master1); + // connect to master when there's no secondary + getConnection(preferSecondary, true, true, fake1, master1); assertRemote(masterIp); - getConnection(preferSlave, false, true, fake1, master1); + getConnection(preferSecondary, false, true, fake1, master1); assertRemote(masterIp); } @@ -277,58 +279,60 @@ public static void testLoadBalancing_slave() throws SQLException { Set connectedHosts = new HashSet(); Set tryConnectedHosts = new HashSet(); for (int i = 0; i < 20; ++i) { - getConnection(slave, true, true, fake1, master1, slave1, slave2); + getConnection(secondary, true, true, fake1, master1, secondary1, secondary2); connectedHosts.add(getRemoteHostSpec()); tryConnectedHosts.addAll(hostStatusMap.keySet()); if (tryConnectedHosts.size() == 4) { break; } } - assertEquals("Never connected to all salve hosts", new HashSet(asList(slaveIp, slaveIp2)), + assertEquals("Did not connect to all secondary hosts", new HashSet(asList(secondaryIP, + secondaryIP2)), connectedHosts); - assertEquals("Never tried to connect to maste and fake node", 4, tryConnectedHosts.size()); + assertEquals("Did not attempt to connect to master and fake node", 4, tryConnectedHosts.size()); - getConnection(preferSlave, false, true, fake1, master1, slave1); - assertRemote(slaveIp); + getConnection(preferSecondary, false, true, fake1, master1, secondary1); + assertRemote(secondaryIP); connectedHosts.clear(); for (int i = 0; i < 20; ++i) { - getConnection(slave, false, true, fake1, master1, slave1, slave2); + getConnection(secondary, false, true, fake1, master1, secondary1, secondary2); connectedHosts.add(getRemoteHostSpec()); if (connectedHosts.size() == 2) { break; } } - assertEquals("Never connected to all slave hosts", new HashSet(asList(slaveIp, slaveIp2)), + assertEquals("Did not connect to all secondary hosts", new HashSet(asList(secondaryIP, + secondaryIP2)), connectedHosts); } public static void testHostRechecks() throws SQLException, InterruptedException { - GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Slave); - GlobalHostStatusTracker.reportHostStatus(hostSpec(slave1), Master); - GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Slave); + GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Secondary); + GlobalHostStatusTracker.reportHostStatus(hostSpec(secondary1), Master); + GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Secondary); try { - getConnection(master, false, fake1, slave1, master1); + getConnection(master, false, fake1, secondary1, master1); fail(); } catch (SQLException ex) { } - GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Slave); - GlobalHostStatusTracker.reportHostStatus(hostSpec(slave1), Master); - GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Slave); + GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Secondary); + GlobalHostStatusTracker.reportHostStatus(hostSpec(secondary1), Master); + GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Secondary); SECONDS.sleep(3); - getConnection(master, false, slave1, fake1, master1); + getConnection(master, false, secondary1, fake1, master1); assertRemote(masterIp); } public static void testNoGoodHostsRechecksEverything() throws SQLException, InterruptedException { - GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Slave); - GlobalHostStatusTracker.reportHostStatus(hostSpec(slave1), Slave); - GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Slave); + GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Secondary); + GlobalHostStatusTracker.reportHostStatus(hostSpec(secondary1), Secondary); + GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Secondary); - getConnection(master, false, slave1, fake1, master1); + getConnection(master, false, secondary1, fake1, master1); assertRemote(masterIp); } } From eb33c4c8e27d6df6ccd9c0a81eb119edeb069d55 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 16 Jan 2018 16:41:22 +0300 Subject: [PATCH 075/427] fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps fixes #1071 --- .../main/java/org/postgresql/jdbc/PgResultSet.java | 6 ++++++ .../postgresql/test/jdbc4/jdbc41/GetObjectTest.java | 12 +++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 8c554e7acd..e86c6b7bfb 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -3294,6 +3294,9 @@ public T getObject(int columnIndex, Class type) throws SQLException { //#endif ) { Timestamp timestampValue = getTimestamp(columnIndex); + if (wasNull()) { + return null; + } Calendar calendar = Calendar.getInstance(getDefaultCalendar().getTimeZone()); calendar.setTimeInMillis(timestampValue.getTime()); return type.cast(calendar); @@ -3318,6 +3321,9 @@ public T getObject(int columnIndex, Class type) throws SQLException { } else if (type == java.util.Date.class) { if (sqlType == Types.TIMESTAMP) { Timestamp timestamp = getTimestamp(columnIndex); + if (wasNull()) { + return null; + } return type.cast(new java.util.Date(timestamp.getTime())); } else { throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index c4619aff80..7cf296b02a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -220,9 +220,8 @@ public void testGetTimestamp() throws SQLException { @Test public void testGetJavaUtilDate() throws SQLException { Statement stmt = _conn.createStatement(); - stmt.executeUpdate(TestUtil.insertSQL("table1","timestamp_without_time_zone_column","TIMESTAMP '2004-10-19 10:23:54'")); - - ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "timestamp_without_time_zone_column")); + ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp timestamp_without_time_zone_column" + + ", null::timestamp null_timestamp"); try { assertTrue(rs.next()); Calendar calendar = GregorianCalendar.getInstance(); @@ -236,6 +235,7 @@ public void testGetJavaUtilDate() throws SQLException { java.util.Date expected = new java.util.Date(calendar.getTimeInMillis()); assertEquals(expected, rs.getObject("timestamp_without_time_zone_column", java.util.Date.class)); assertEquals(expected, rs.getObject(1, java.util.Date.class)); + assertNull(rs.getObject(2, java.util.Date.class)); } finally { rs.close(); } @@ -287,9 +287,9 @@ private void runGetTimestampWithTimeZone(TimeZone timeZone, String zoneString) t @Test public void testGetCalendar() throws SQLException { Statement stmt = _conn.createStatement(); - stmt.executeUpdate(TestUtil.insertSQL("table1","timestamp_without_time_zone_column,timestamp_with_time_zone_column","TIMESTAMP '2004-10-19 10:23:54', TIMESTAMP '2004-10-19 10:23:54+02'")); - ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "timestamp_without_time_zone_column, timestamp_with_time_zone_column")); + ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp timestamp_without_time_zone_column" + + ", TIMESTAMP '2004-10-19 10:23:54+02'::timestamp timestamp_with_time_zone_column, null::timestamp null_timestamp"); try { assertTrue(rs.next()); Calendar calendar = GregorianCalendar.getInstance(); @@ -303,10 +303,12 @@ public void testGetCalendar() throws SQLException { long expected = calendar.getTimeInMillis(); assertEquals(expected, rs.getObject("timestamp_without_time_zone_column", Calendar.class).getTimeInMillis()); assertEquals(expected, rs.getObject(1, Calendar.class).getTimeInMillis()); + assertNull(rs.getObject(3, Calendar.class)); calendar.setTimeZone(TimeZone.getTimeZone("GMT+2:00")); expected = calendar.getTimeInMillis(); assertEquals(expected, rs.getObject("timestamp_with_time_zone_column", Calendar.class).getTimeInMillis()); assertEquals(expected, rs.getObject(2, Calendar.class).getTimeInMillis()); + assertNull(rs.getObject(3, Calendar.class)); } finally { rs.close(); } From a8260f5d0e31d00c1b44d2b94f62d86a72e2b2d5 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 16 Jan 2018 09:08:55 -0500 Subject: [PATCH 076/427] first pass at release notes and some fixes to previous notes (#1041) * fix Changelog, and move to version 42.2.0 --- CHANGELOG.md | 31 +++- docs/_posts/2017-02-20-42.0.0-release.md | 2 +- docs/_posts/2017-05-04-42.1.0-release.md | 2 +- docs/_posts/2017-07-12-42.1.2-release.md | 2 +- docs/_posts/2018-01-16-42.2.0-release.md | 203 +++++++++++++++++++++++ docs/documentation/head/connect.md | 4 + release_notes_filter.pl | 7 +- 7 files changed, 242 insertions(+), 9 deletions(-) create mode 100644 docs/_posts/2018-01-16-42.2.0-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 07afed1d15..5d68c935ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,32 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] + +## [42.2.0] (2018-01-16) ### Added +- Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) - Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) +- Support Subject Alternative Names for SSL connections. [PR 952](https://github.com/pgjdbc/pgjdbc/pull/952) +- Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) +- Support for primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) +- Implement support for get/setNetworkTimeout() in connections. [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) +- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database]{https://jdbc.postgresql.org/documentation/head/connect.html ### Changed -- Improve behavior of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) +- Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) - Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) +- Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) +- Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). +- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) +### Fixed +- Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) +- Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) +- Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) +- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) +- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) + +### Removed +- Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) ### Deprecated - Reintroduce Driver.getVersion for backward compatibility reasons, mark it as deprecated as application should not rely on it (regression since 42.0.0) [50d5dd3e](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) @@ -46,7 +66,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) - Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) -### Regresions +### Regressions - There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 ## [42.0.0] (2017-02-20) @@ -59,7 +79,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better sematic versioning. [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) - Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. [Issue 742](https://github.com/pgjdbc/pgjdbc/issues/742) - Error position is displayed when SQL has unterminated literals, comments, etc. [Issue 688](https://github.com/pgjdbc/pgjdbc/issues/688) -- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) +- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are accepted (previously !=0 was true). [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) - Return correct versions and name of the driver. [PR 668](https://github.com/pgjdbc/pgjdbc/pull/668) ### Removed @@ -68,7 +88,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Deprecated - Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. [PR 739](https://github.com/pgjdbc/pgjdbc/pull/739) -### Regresions +### Regressions - Data truncated in setCharacterStream. Fixed in 42.1.0 - No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0 @@ -79,4 +99,5 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). [42.1.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.1...REL42.1.2 [42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 [42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...HEAD +[42.2.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...REL42.2.0 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...HEAD diff --git a/docs/_posts/2017-02-20-42.0.0-release.md b/docs/_posts/2017-02-20-42.0.0-release.md index 275af90f0e..e356c69f7a 100644 --- a/docs/_posts/2017-02-20-42.0.0-release.md +++ b/docs/_posts/2017-02-20-42.0.0-release.md @@ -25,7 +25,7 @@ version: 42.0.0 ### Deprecated - Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. [PR 739](https://github.com/pgjdbc/pgjdbc/pull/739) -### Regresions +### Regressions - Data truncated in setCharacterStream. Fixed in 42.1.0 - No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0 diff --git a/docs/_posts/2017-05-04-42.1.0-release.md b/docs/_posts/2017-05-04-42.1.0-release.md index b24e12303e..08f4a8db92 100644 --- a/docs/_posts/2017-05-04-42.1.0-release.md +++ b/docs/_posts/2017-05-04-42.1.0-release.md @@ -15,7 +15,7 @@ version: 42.1.0 - Fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) - Make sure org.postgresql.Driver is loaded when accessing though DataSource interface [Issue 768](https://github.com/pgjdbc/pgjdbc/issues/768) -### Regresions +### Regressions - There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6 diff --git a/docs/_posts/2017-07-12-42.1.2-release.md b/docs/_posts/2017-07-12-42.1.2-release.md index 0941a9efd2..914686bc37 100644 --- a/docs/_posts/2017-07-12-42.1.2-release.md +++ b/docs/_posts/2017-07-12-42.1.2-release.md @@ -14,7 +14,7 @@ version: 42.1.2 ### Fixed - Replication API: fix issue in #834 setting statusIntervalUpdate causes high CPU load. [PR 835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) -### Regresions +### Regressions - NPE in PreparedStatement.executeBatch in case of empty batch. Fixed in 42.1.3 diff --git a/docs/_posts/2018-01-16-42.2.0-release.md b/docs/_posts/2018-01-16-42.2.0-release.md new file mode 100644 index 0000000000..46509385b0 --- /dev/null +++ b/docs/_posts/2018-01-16-42.2.0-release.md @@ -0,0 +1,203 @@ +--- +title: PostgreSQL JDBC Driver 42.2.0 Released +date: 2018-01-16 08:11:00 -0500 +categories: + - new_release +version: 42.2.0 +--- +**Notable changes** + +### Added +- Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) +- Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) +- Support Subject Alternative Names for SSL connections. [PR 952](https://github.com/pgjdbc/pgjdbc/pull/952) +- Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) +- Support for primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) +- Implement support for get/setNetworkTimeout() in connections. [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) +- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database]{https://jdbc.postgresql.org/documentation/head/connect.html + +### Changed +- Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) +- Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) +- Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) +- Change behaviour of multihost connection. The new behaviour is to try all slaves first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). +- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) +### Fixed +- Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) +- Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) +- Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) +- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) +- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) + +### Removed +- Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) + +### Deprecated +- Reintroduce Driver.getVersion for backward compatibility reasons, mark it as deprecated as application should not rely on it (regression since 42.0.0) [50d5dd3e](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) +- slave and preferSlave values for the targetServerType connection property have been deprecated in favour of secondary and preferSecondary respectively. + + + +**Commits by author** + +AlexElin (8): + +* docs: fix header in CONTRIBUTING [PR#902](https://github.com/pgjdbc/pgjdbc/pull/902) [38ff0fe](https://github.com/pgjdbc/pgjdbc/commit/38ff0fe4728addf9a34d6fb0069ce4963aaae7ee) +* refactor: remove dead code from PGStream, implement Closeable [PR#901](https://github.com/pgjdbc/pgjdbc/pull/901) [acff949](https://github.com/pgjdbc/pgjdbc/commit/acff9495b8745bce30d93d61e77caf81d9748b4b) +* refactor: replace some usages of assertTrue [PR#957](https://github.com/pgjdbc/pgjdbc/pull/957) [c759a58](https://github.com/pgjdbc/pgjdbc/commit/c759a58313c4344924a311021e1c860580f3e318) +* refactor: state of PGXAConnection as enum [PR#966](https://github.com/pgjdbc/pgjdbc/pull/966) [7618822](https://github.com/pgjdbc/pgjdbc/commit/76188228ddb412db74959fbe59b5c2d6ef5eddfc) +* refactor: make PgStream implements Flushable [PR#1008](https://github.com/pgjdbc/pgjdbc/pull/1008) [0c3a2fc](https://github.com/pgjdbc/pgjdbc/commit/0c3a2fc132101f83dbb0990ac2c49c49b9c65ffe) +* style: add MissingDeprecated into checkstyle [PR#1019](https://github.com/pgjdbc/pgjdbc/pull/1019) [d74386d](https://github.com/pgjdbc/pgjdbc/commit/d74386def0d39f450f5dcfdb21ff6171ba0a89f3) +* chore: update checkstyle [PR#1025](https://github.com/pgjdbc/pgjdbc/pull/1025) [69e3b8b](https://github.com/pgjdbc/pgjdbc/commit/69e3b8b2ef7fb80ece8df23b55855fa4208e8a00) +* refactor: simplify methods in ConnectionFactoryImpl [PR#1028](https://github.com/pgjdbc/pgjdbc/pull/1028) [ed27c5b](https://github.com/pgjdbc/pgjdbc/commit/ed27c5b464563448079189b1759ecf05d4726ea0) + +Barnabas Bodnar (1): + +* fix: don't attempt to read a SQLXML more than once [PR#965](https://github.com/pgjdbc/pgjdbc/pull/965) [8f5e245](https://github.com/pgjdbc/pgjdbc/commit/8f5e2454185a929f1bc6ef66813d6681bb38e736) + +Brett Okken (1): + +* feat: primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) + +Brett Wooldridge (1): + +* Fixes #638 Implement support for get/setNetworkTimeout() [PR#849](https://github.com/pgjdbc/pgjdbc/pull/849) [8a30044](https://github.com/pgjdbc/pgjdbc/commit/8a30044d9e97c1038ee4401ae745d37a11f008db) + +Dave Cramer (9): + +* Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe [PR#928](https://github.com/pgjdbc/pgjdbc/pull/928) [ad47aba](https://github.com/pgjdbc/pgjdbc/commit/ad47abafa1754f8d0f2126ef1d26aa9b037b49e5) +* fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX [PR#992](https://github.com/pgjdbc/pgjdbc/pull/992) [f2d8ec5](https://github.com/pgjdbc/pgjdbc/commit/f2d8ec5740aa26c417d666a7afedaaf0fdf62d37) +* fix: support Subject Alternative Names for SSL connections [PR#952](https://github.com/pgjdbc/pgjdbc/pull/952) [2dcb91e](https://github.com/pgjdbc/pgjdbc/commit/2dcb91ef1fd8f0fe08f107c9c30cdc57d4c44b05) +* test: Appveyor configuration [PR#1000](https://github.com/pgjdbc/pgjdbc/pull/1000) [059628f](https://github.com/pgjdbc/pgjdbc/commit/059628fcdf2058cfd05cb80eac64799ca26ad0d2) +* add test for identity, fix isAutoincrement in postgresql 10 fixes #130 [PR#1004](https://github.com/pgjdbc/pgjdbc/pull/1004) [2f6633b](https://github.com/pgjdbc/pgjdbc/commit/2f6633bd9e1e9d7f313ea4dfec37f9671fc07453) +* first pass at release notes and some fixes to previous notes [9255cc3](https://github.com/pgjdbc/pgjdbc/commit/9255cc303771bfd04556ac984a485850fe2bdd76) +* fix Changelog, and move to version 42.2.0 [6f78114](https://github.com/pgjdbc/pgjdbc/commit/6f78114f2747b72b1f5d4e401406536a69b67b16) +* get all changes in [1a03463](https://github.com/pgjdbc/pgjdbc/commit/1a034630772389f4fcf086a7b1a212c06f081230) +* update changelog, fix docs to suit [35779d1](https://github.com/pgjdbc/pgjdbc/commit/35779d17a02992a000d26e5005c7520f03d9f69d) + +Joe Kutner (1): + +* fix: Added support for socksNonProxyHosts property [PR#975](https://github.com/pgjdbc/pgjdbc/pull/975) (#985) [9813c68](https://github.com/pgjdbc/pgjdbc/commit/9813c685cae2cbfbc561a6220ba388cef08f34b0) + +Jorge Solorzano (13): + +* chore: use mainly Trusty in Travis, reorder CI jobs, and jdk tests [PR#939](https://github.com/pgjdbc/pgjdbc/pull/939) [646a868](https://github.com/pgjdbc/pgjdbc/commit/646a868c0bc80def5fa62374e83b71d65fef9a14) +* fix: ignore replication test until 11.1 to avoid random failures [PR#949](https://github.com/pgjdbc/pgjdbc/pull/949) [ee6443d](https://github.com/pgjdbc/pgjdbc/commit/ee6443db167da735f5a9402d16f31c3ee6d719dc) +* chore: streamlining jobs [PR#959](https://github.com/pgjdbc/pgjdbc/pull/959) [ed0a398](https://github.com/pgjdbc/pgjdbc/commit/ed0a398edb47d0eea62e7f53723e14d9ed278fbb) +* docs: move changelog to separate file [PR#956](https://github.com/pgjdbc/pgjdbc/pull/956) [e67e8f9](https://github.com/pgjdbc/pgjdbc/commit/e67e8f9685e6c8235134baedeb790f39de39e77c) +* docs: improve website front page [PR#968](https://github.com/pgjdbc/pgjdbc/pull/968) [65170f1](https://github.com/pgjdbc/pgjdbc/commit/65170f1690bb571c8dbe0425b205ba8498c8173f) +* docs: fix test db password in docs [PR#984](https://github.com/pgjdbc/pgjdbc/pull/984) [7df56f8](https://github.com/pgjdbc/pgjdbc/commit/7df56f816770a7129cb56d150c6d556c64632a5c) +* test: add openj9 to the matrix [PR#974](https://github.com/pgjdbc/pgjdbc/pull/974) [f187645](https://github.com/pgjdbc/pgjdbc/commit/f187645896e9f86a654390581163a7064b611404) +* chore: remove testing of the latest Java updates [PR#993](https://github.com/pgjdbc/pgjdbc/pull/993) [0d8fde6](https://github.com/pgjdbc/pgjdbc/commit/0d8fde6da6dd28a14e12715a3b01d3787cac7fb8) +* chore: updates to CHANGELOG.md in release_notes.sh [PR#981](https://github.com/pgjdbc/pgjdbc/pull/981) [bdfc1db](https://github.com/pgjdbc/pgjdbc/commit/bdfc1dbb45315d659a49c1ef7a831ca2d6326be4) +* test: querymode extendedCacheEverything [PR#1007](https://github.com/pgjdbc/pgjdbc/pull/1007) [f574285](https://github.com/pgjdbc/pgjdbc/commit/f5742853b6d79cc20f718339855904c1384c59cd) +* fix: first composite query not calling getNativeSql() [PR#1020](https://github.com/pgjdbc/pgjdbc/pull/1020) [2cae5a1](https://github.com/pgjdbc/pgjdbc/commit/2cae5a199c2d08768ea9f784ee3f60cef244c4b0) +* drop old and unused crypt auth [PR#1026](https://github.com/pgjdbc/pgjdbc/pull/1026) [405f14e](https://github.com/pgjdbc/pgjdbc/commit/405f14eefc9d7e01bfaa1b526f1a6a0bac50d3c4) +* chore: collect coverage for Java 7 [PR#1030](https://github.com/pgjdbc/pgjdbc/pull/1030) [b629934](https://github.com/pgjdbc/pgjdbc/commit/b6299347e15ea2a40c80de9907ae3f137caa4401) + +Magnus (1): + +* fix: make warnings available as soon as they are received [PR#857](https://github.com/pgjdbc/pgjdbc/pull/857) [83dd5fe](https://github.com/pgjdbc/pgjdbc/commit/83dd5fea94928b349e05c1417e264797052f2bbe) + +Magnus Hagander (1): + +* Fix documentation spelling of sslpasswordcallback [PR#1021](https://github.com/pgjdbc/pgjdbc/pull/1021) [8ba5841](https://github.com/pgjdbc/pgjdbc/commit/8ba58418ae10f80530f67f0c8628161011c5a228) + +Michael (1): + +* fix: trim trailing zeros in timestamp strings returned in binary mode [PR#896](https://github.com/pgjdbc/pgjdbc/pull/896) [d28deff](https://github.com/pgjdbc/pgjdbc/commit/d28deff57684349707d2b2a357048f59b0861bb1) + +Michael Glaesemann (1): + +* refactor: use TypeInfo getPGArrayType instead of munging type name [PR#913](https://github.com/pgjdbc/pgjdbc/pull/913) [634e157](https://github.com/pgjdbc/pgjdbc/commit/634e157e4cdbc2f78f1a90ac4d9f538f39caf4f9) + +Pavel Raiskup (2): + +* packaging: rpm_ci: add missing BuildRequires [4e0cdc1](https://github.com/pgjdbc/pgjdbc/commit/4e0cdc13ec659f21a318b05c3a67cac7c75c957e) +* packaging: rpm_ci: don't shade scram jar into pgjdbc [1fd6c4f](https://github.com/pgjdbc/pgjdbc/commit/1fd6c4fe5ccc93ab7d08bf77bcd5344bc60dd334) + +Philippe Marschall (2): + +* feat: improve ResultSet#getObject(int, Class) [PR#932](https://github.com/pgjdbc/pgjdbc/pull/932) [fcb28c7](https://github.com/pgjdbc/pgjdbc/commit/fcb28c7c87a18ba6673b7fd3a48f3421410eb942) +* test: add ubenchmark for UTF-8 decoding [PR#988](https://github.com/pgjdbc/pgjdbc/pull/988) [0d918c3](https://github.com/pgjdbc/pgjdbc/commit/0d918c3b21ba2a368da34bd30668908723dc4d36) + +Piyush Sharma (1): + +* doc: Added quotes to URL in '@see' tag over org.postgresql.sspi.NTDSAPI#DsMakeSpnW for syntactic correctness [PR#926](https://github.com/pgjdbc/pgjdbc/pull/926) [29f574a](https://github.com/pgjdbc/pgjdbc/commit/29f574a0116ab93eade3c80e2db20573390a6a31) + +Sehrope Sarkuni (1): + +* feat: parse command complete message via regex [PR#962](https://github.com/pgjdbc/pgjdbc/pull/962) [097db5e](https://github.com/pgjdbc/pgjdbc/commit/097db5e70ae8bf193c736b11603332feadb8d544) + +Thach Hoang (2): + +* Update ServerVersionTest to actually compare versions [PR#1015](https://github.com/pgjdbc/pgjdbc/pull/1015) [cccd6cd](https://github.com/pgjdbc/pgjdbc/commit/cccd6cde4672de30ac0bbac6621b63e81aae9474) +* fix: always return Short[] for java.sql.Array.getArray() on smallint[] [PR#1017](https://github.com/pgjdbc/pgjdbc/pull/1017) [279fb43](https://github.com/pgjdbc/pgjdbc/commit/279fb435b392114c45266ecef901bfd59470842a) + +Vladimir Sitnikov (5): + +* fix: reintroduce Driver.getVersion for backward compatibility reasons [PR#905](https://github.com/pgjdbc/pgjdbc/pull/905) [50d5dd3](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) +* style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ [PR#1016](https://github.com/pgjdbc/pgjdbc/pull/1016) [9f07c9a](https://github.com/pgjdbc/pgjdbc/commit/9f07c9ae2eb0c1ec18455e3a3d66460dd264c790) +* fix: prevent statement hang in case close() called when query is in progress [PR#1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315) +* fix: synchronize Statement#result field access to make #close() more thread-safe [4139248](https://github.com/pgjdbc/pgjdbc/commit/41392481d5f2c7f89d783a535ade2d3afb565654) +* fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR#1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5) + +Zemian Deng (3): + +* refactor: use PGProperty enum instead of text ref for targetServerType, hostRecheckSeconds, loadBalanceHosts [PR#912](https://github.com/pgjdbc/pgjdbc/pull/912) (#915) [b0cfc33](https://github.com/pgjdbc/pgjdbc/commit/b0cfc33483759ed3583b57cd845311d17670524f) +* fix: correct javadoc on PGResultSetMetaData.getFormat [PR#917](https://github.com/pgjdbc/pgjdbc/pull/917) [cd77693](https://github.com/pgjdbc/pgjdbc/commit/cd77693ca22924479a39b8d925f276879023672a) +* fix: Correct DatabaseMetaData.getFunctions() implementation [PR#918](https://github.com/pgjdbc/pgjdbc/pull/918) [8884202](https://github.com/pgjdbc/pgjdbc/commit/8884202b9e7785a1eaf67ddcd97f2ba689d0cf19) + +djydewang (1): + +* style: disallowing user to use incomplete fully qualified Check names in config file [PR#961](https://github.com/pgjdbc/pgjdbc/pull/961) [3286c8c](https://github.com/pgjdbc/pgjdbc/commit/3286c8caa16efe59307b2713784c348e603ee67d) + +eperez (1): + +* Someone forgot to get the next column [PR#973](https://github.com/pgjdbc/pgjdbc/pull/973) [15aec6a](https://github.com/pgjdbc/pgjdbc/commit/15aec6a99c5615cdf0c0adaf5fc47b5419c617d4) + +mjanczykowski (1): + +* feat: add setURL method to BaseDataSource [PR#999](https://github.com/pgjdbc/pgjdbc/pull/999) [2277ffb](https://github.com/pgjdbc/pgjdbc/commit/2277ffb7b65d3cba9ef05be36408e2fdbef00ee7) + +rnveach (1): + +* style: remove deprecated maxLineLength from LeftCurlyCheck [PR#904](https://github.com/pgjdbc/pgjdbc/pull/904) [5f083d1](https://github.com/pgjdbc/pgjdbc/commit/5f083d118eea30e180500864d70f292b411c19af) + +zapov (1): + +* fix: avoid integer overflow when sending large arguments [PR#946](https://github.com/pgjdbc/pgjdbc/pull/946) [266ed61](https://github.com/pgjdbc/pgjdbc/commit/266ed61b30e89c2840b7967a8af7ac8ab86407ff) + +Álvaro Hernández Tortosa (1): + +* Add SCRAM-SHA-256 support [PR#842](https://github.com/pgjdbc/pgjdbc/pull/842) [befea18](https://github.com/pgjdbc/pgjdbc/commit/befea18d153dda7814daef4e036d3f5daf8de1e5) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[AlexElin](https://github.com/AlexElin) +Barnabas Bodnar +[Brett Okken](https://github.com/bokken) +[Brett Wooldridge](https://github.com/brettwooldridge) +[Dave Cramer](davec@postgresintl.com) +[Joe Kutner](https://github.com/jkutner) +[Jorge Solorzano](https://github.com/jorsol) +[Magnus](https://github.com/magJ) +[Magnus Hagander](https://github.com/mhagander) +Michael +[Michael Glaesemann](https://github.com/grzm) +[Pavel Raiskup](https://github.com/praiskup) +[Philippe Marschall](https://github.com/marschall) +Piyush Sharma +Sehrope Sarkuni +Thach Hoang +[Vladimir Sitnikov](https://github.com/vlsi) +Zemian Deng +djydewang +eperez +mjanczykowski +rnveach +[zapov](https://github.com/zapov) +[Álvaro Hernández Tortosa](https://github.com/ahachete) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index e40ddd45b7..9763b76d8d 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -453,3 +453,7 @@ One data source is for writes, another for reads. The write pool limits connecti And read pool balances connections between slaves nodes, but allows connections also to master if no slaves are available: `jdbc:postgresql://node1,node2,node3/accounting?targetServerType=preferSlave&loadBalanceHosts=true` + +If a slave fails, all slaves in the list will be tried first. If the case that there are no available slaves +the master will be tried. If all of the servers are marked as "can't connect" in the cache then an attempt +will be made to connect to all of the hosts in the URL in order. \ No newline at end of file diff --git a/release_notes_filter.pl b/release_notes_filter.pl index 3c5a39f2b3..a1999ad58f 100644 --- a/release_notes_filter.pl +++ b/release_notes_filter.pl @@ -6,7 +6,10 @@ my %author_url = ( 'Alexander Kjäll' => 'https://github.com/alexanderkjall', 'AlexElin' => 'https://github.com/AlexElin', + 'Álvaro Hernández Tortosa' => 'https://github.com/ahachete', 'aryabukhin' => 'https://github.com/aryabukhin', + 'Brett Okken' => 'https://github.com/bokken', + 'Brett Wooldridge' => 'https://github.com/brettwooldridge', 'bd-infor' => 'https://github.com/bd-infor', 'Christian Ullrich' => 'https://github.com/chrullrich', 'Christopher Deckers' => 'https://github.com/Chrriis', @@ -24,6 +27,8 @@ 'Jordan Lewis' => 'https://github.com/jordanlewis', 'Jorge Solorzano' => 'https://github.com/jorsol', 'Laurenz Albe' => 'https://github.com/laurenz', + 'Magnus' => 'https://github.com/magJ', + 'Magnus Hagander' => 'https://github.com/mhagander', 'Marc Petzold' => 'https://github.com/dosimeta', 'Marios Trivyzas' => 'https://github.com/matriv', 'Mathias Fußenegger' => 'https://github.com/mfussenegger', @@ -32,7 +37,6 @@ 'Pavel Raiskup' => 'https://github.com/praiskup', 'Petro Semeniuk' => 'https://github.com/PetroSemeniuk', 'Philippe Marschall' => 'https://github.com/marschall', - 'Philippe Marschall' => 'https://github.com/marschall', 'Rikard Pavelic' => 'https://github.com/zapov', 'Robert Zenz' => 'https://github.com/RobertZenz', 'Robert \'Bobby\' Zenz' => 'https://github.com/RobertZenz', @@ -44,6 +48,7 @@ 'Trygve Laugstøl' => 'https://github.com/trygvis', 'Vladimir Gordiychuk' => 'https://github.com/Gordiychuk', 'Vladimir Sitnikov' => 'https://github.com/vlsi', + 'zapov' => 'https://github.com/zapov', ); From b36867f34719d2af559b60b6f63b2df036798231 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 16 Jan 2018 09:14:46 -0500 Subject: [PATCH 077/427] Update 2018-01-16-42.2.0-release.md --- docs/_posts/2018-01-16-42.2.0-release.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_posts/2018-01-16-42.2.0-release.md b/docs/_posts/2018-01-16-42.2.0-release.md index 46509385b0..bdbdaddafe 100644 --- a/docs/_posts/2018-01-16-42.2.0-release.md +++ b/docs/_posts/2018-01-16-42.2.0-release.md @@ -28,6 +28,7 @@ version: 42.2.0 - Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) - Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) - Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) +- avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR 1072](https://github.com/pgjdbc/pgjdbc/pull/918) [Issue 1071](https://github.com/pgjdbc/pgjdbc/issues/1071) ### Removed - Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) From 71b3c118f6a9e125c06e58faa50bf54b6a8f3400 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 16 Jan 2018 18:55:07 +0300 Subject: [PATCH 078/427] test: add "as" to test queries so they work with PostgreSQL 8.3 --- .../org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index 7cf296b02a..56e74e1b3f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -220,8 +220,8 @@ public void testGetTimestamp() throws SQLException { @Test public void testGetJavaUtilDate() throws SQLException { Statement stmt = _conn.createStatement(); - ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp timestamp_without_time_zone_column" - + ", null::timestamp null_timestamp"); + ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp as timestamp_without_time_zone_column" + + ", null::timestamp as null_timestamp"); try { assertTrue(rs.next()); Calendar calendar = GregorianCalendar.getInstance(); @@ -288,8 +288,8 @@ private void runGetTimestampWithTimeZone(TimeZone timeZone, String zoneString) t public void testGetCalendar() throws SQLException { Statement stmt = _conn.createStatement(); - ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp timestamp_without_time_zone_column" - + ", TIMESTAMP '2004-10-19 10:23:54+02'::timestamp timestamp_with_time_zone_column, null::timestamp null_timestamp"); + ResultSet rs = stmt.executeQuery("select TIMESTAMP '2004-10-19 10:23:54'::timestamp as timestamp_without_time_zone_column" + + ", TIMESTAMP '2004-10-19 10:23:54+02'::timestamp as timestamp_with_time_zone_column, null::timestamp as null_timestamp"); try { assertTrue(rs.next()); Calendar calendar = GregorianCalendar.getInstance(); From 17cc5d2fa76a0a4adfcded36634f4b15c0a4bcaa Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 16 Jan 2018 12:09:12 -0500 Subject: [PATCH 079/427] docs: update 42.2.0 changelog (#1073) --- docs/_posts/2018-01-16-42.2.0-release.md | 96 +++++++++++++++++------- release_notes_filter.pl | 18 ++++- 2 files changed, 86 insertions(+), 28 deletions(-) diff --git a/docs/_posts/2018-01-16-42.2.0-release.md b/docs/_posts/2018-01-16-42.2.0-release.md index bdbdaddafe..272c800a1f 100644 --- a/docs/_posts/2018-01-16-42.2.0-release.md +++ b/docs/_posts/2018-01-16-42.2.0-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.0 Released -date: 2018-01-16 08:11:00 -0500 +date: 2018-01-16 11:11:10 -0500 categories: - new_release version: 42.2.0 @@ -20,7 +20,7 @@ version: 42.2.0 - Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) - Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) -- Change behaviour of multihost connection. The new behaviour is to try all slaves first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). +- Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). - Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) ### Fixed - Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) @@ -28,7 +28,6 @@ version: 42.2.0 - Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) - Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) - Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) -- avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR 1072](https://github.com/pgjdbc/pgjdbc/pull/918) [Issue 1071](https://github.com/pgjdbc/pgjdbc/issues/1071) ### Removed - Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) @@ -41,7 +40,7 @@ version: 42.2.0 **Commits by author** -AlexElin (8): +AlexElin (9): * docs: fix header in CONTRIBUTING [PR#902](https://github.com/pgjdbc/pgjdbc/pull/902) [38ff0fe](https://github.com/pgjdbc/pgjdbc/commit/38ff0fe4728addf9a34d6fb0069ce4963aaae7ee) * refactor: remove dead code from PGStream, implement Closeable [PR#901](https://github.com/pgjdbc/pgjdbc/pull/901) [acff949](https://github.com/pgjdbc/pgjdbc/commit/acff9495b8745bce30d93d61e77caf81d9748b4b) @@ -51,6 +50,11 @@ AlexElin (8): * style: add MissingDeprecated into checkstyle [PR#1019](https://github.com/pgjdbc/pgjdbc/pull/1019) [d74386d](https://github.com/pgjdbc/pgjdbc/commit/d74386def0d39f450f5dcfdb21ff6171ba0a89f3) * chore: update checkstyle [PR#1025](https://github.com/pgjdbc/pgjdbc/pull/1025) [69e3b8b](https://github.com/pgjdbc/pgjdbc/commit/69e3b8b2ef7fb80ece8df23b55855fa4208e8a00) * refactor: simplify methods in ConnectionFactoryImpl [PR#1028](https://github.com/pgjdbc/pgjdbc/pull/1028) [ed27c5b](https://github.com/pgjdbc/pgjdbc/commit/ed27c5b464563448079189b1759ecf05d4726ea0) +* refactor: replace some usages of initCause [PR#1037](https://github.com/pgjdbc/pgjdbc/pull/1037) [0c29823](https://github.com/pgjdbc/pgjdbc/commit/0c29823ad8eca86e3b8f27bcee5f116d41e367f9) + +Álvaro Hernández Tortosa (1): + +* Add SCRAM-SHA-256 support [PR#842](https://github.com/pgjdbc/pgjdbc/pull/842) [befea18](https://github.com/pgjdbc/pgjdbc/commit/befea18d153dda7814daef4e036d3f5daf8de1e5) Barnabas Bodnar (1): @@ -64,17 +68,31 @@ Brett Wooldridge (1): * Fixes #638 Implement support for get/setNetworkTimeout() [PR#849](https://github.com/pgjdbc/pgjdbc/pull/849) [8a30044](https://github.com/pgjdbc/pgjdbc/commit/8a30044d9e97c1038ee4401ae745d37a11f008db) -Dave Cramer (9): +Chen Huajun (1): + +* fix: improve multihost connection for preferSlave case (verify expired hosts before connecting to cached master) [PR#844](https://github.com/pgjdbc/pgjdbc/pull/844) [c6fec34](https://github.com/pgjdbc/pgjdbc/commit/c6fec34661b51cd9cbee157d0c334a3ab29859e8) + +Dave Cramer (11): * Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe [PR#928](https://github.com/pgjdbc/pgjdbc/pull/928) [ad47aba](https://github.com/pgjdbc/pgjdbc/commit/ad47abafa1754f8d0f2126ef1d26aa9b037b49e5) * fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX [PR#992](https://github.com/pgjdbc/pgjdbc/pull/992) [f2d8ec5](https://github.com/pgjdbc/pgjdbc/commit/f2d8ec5740aa26c417d666a7afedaaf0fdf62d37) * fix: support Subject Alternative Names for SSL connections [PR#952](https://github.com/pgjdbc/pgjdbc/pull/952) [2dcb91e](https://github.com/pgjdbc/pgjdbc/commit/2dcb91ef1fd8f0fe08f107c9c30cdc57d4c44b05) * test: Appveyor configuration [PR#1000](https://github.com/pgjdbc/pgjdbc/pull/1000) [059628f](https://github.com/pgjdbc/pgjdbc/commit/059628fcdf2058cfd05cb80eac64799ca26ad0d2) * add test for identity, fix isAutoincrement in postgresql 10 fixes #130 [PR#1004](https://github.com/pgjdbc/pgjdbc/pull/1004) [2f6633b](https://github.com/pgjdbc/pgjdbc/commit/2f6633bd9e1e9d7f313ea4dfec37f9671fc07453) -* first pass at release notes and some fixes to previous notes [9255cc3](https://github.com/pgjdbc/pgjdbc/commit/9255cc303771bfd04556ac984a485850fe2bdd76) -* fix Changelog, and move to version 42.2.0 [6f78114](https://github.com/pgjdbc/pgjdbc/commit/6f78114f2747b72b1f5d4e401406536a69b67b16) -* get all changes in [1a03463](https://github.com/pgjdbc/pgjdbc/commit/1a034630772389f4fcf086a7b1a212c06f081230) -* update changelog, fix docs to suit [35779d1](https://github.com/pgjdbc/pgjdbc/commit/35779d17a02992a000d26e5005c7520f03d9f69d) +* elaborate on sslmode options [PR#1054](https://github.com/pgjdbc/pgjdbc/pull/1054) [aa7a420](https://github.com/pgjdbc/pgjdbc/commit/aa7a4202e41bc58c4958e06161c5fd4daa36a7f9) +* prefer the word secondary over slave [PR#1063](https://github.com/pgjdbc/pgjdbc/pull/1063) [2e8c2b6](https://github.com/pgjdbc/pgjdbc/commit/2e8c2b67e22ddaa38894be4b2578ccd4bf97a27d) +* Revert "refactor: replace some usages of initCause [PR#1037](https://github.com/pgjdbc/pgjdbc/pull/1037)" (#1064) [e6a1ecc](https://github.com/pgjdbc/pgjdbc/commit/e6a1eccb148c3c59e8cf122e98ad01afc5bb555a) +* prefer secondary over slave referring to standby or secondary servers [PR#1070](https://github.com/pgjdbc/pgjdbc/pull/1070) [32c53902](https://github.com/pgjdbc/pgjdbc/commit/32c539020db3c940bae9b2a42425b1f23e864c73) +* first pass at release notes and some fixes to previous notes [PR#1041](https://github.com/pgjdbc/pgjdbc/pull/1041) [a8260f5](https://github.com/pgjdbc/pgjdbc/commit/a8260f5d0e31d00c1b44d2b94f62d86a72e2b2d5) +* Update 2018-01-16-42.2.0-release.md [b36867f](https://github.com/pgjdbc/pgjdbc/commit/b36867f34719d2af559b60b6f63b2df036798231) + +Hugh Cole-Baker (1): + +* Make GSS JAAS login optional [PR#922](https://github.com/pgjdbc/pgjdbc/pull/922) [d7f0f27](https://github.com/pgjdbc/pgjdbc/commit/d7f0f271b73adbf0ae22146beea122e014d9f9f2) + +Jeff Klukas (1): + +* fix: advance lastReceiveLSN on keepalive messages [PR#1038](https://github.com/pgjdbc/pgjdbc/pull/1038) [1be8a9e](https://github.com/pgjdbc/pgjdbc/commit/1be8a9ebafbfbcff118385a61a350745addcaf3d) Joe Kutner (1): @@ -104,7 +122,7 @@ Magnus Hagander (1): * Fix documentation spelling of sslpasswordcallback [PR#1021](https://github.com/pgjdbc/pgjdbc/pull/1021) [8ba5841](https://github.com/pgjdbc/pgjdbc/commit/8ba58418ae10f80530f67f0c8628161011c5a228) -Michael (1): +MichaelZg (1): * fix: trim trailing zeros in timestamp strings returned in binary mode [PR#896](https://github.com/pgjdbc/pgjdbc/pull/896) [d28deff](https://github.com/pgjdbc/pgjdbc/commit/d28deff57684349707d2b2a357048f59b0861bb1) @@ -135,13 +153,30 @@ Thach Hoang (2): * Update ServerVersionTest to actually compare versions [PR#1015](https://github.com/pgjdbc/pgjdbc/pull/1015) [cccd6cd](https://github.com/pgjdbc/pgjdbc/commit/cccd6cde4672de30ac0bbac6621b63e81aae9474) * fix: always return Short[] for java.sql.Array.getArray() on smallint[] [PR#1017](https://github.com/pgjdbc/pgjdbc/pull/1017) [279fb43](https://github.com/pgjdbc/pgjdbc/commit/279fb435b392114c45266ecef901bfd59470842a) -Vladimir Sitnikov (5): +Vladimir Sitnikov (22): * fix: reintroduce Driver.getVersion for backward compatibility reasons [PR#905](https://github.com/pgjdbc/pgjdbc/pull/905) [50d5dd3](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) * style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ [PR#1016](https://github.com/pgjdbc/pgjdbc/pull/1016) [9f07c9a](https://github.com/pgjdbc/pgjdbc/commit/9f07c9ae2eb0c1ec18455e3a3d66460dd264c790) * fix: prevent statement hang in case close() called when query is in progress [PR#1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315) * fix: synchronize Statement#result field access to make #close() more thread-safe [4139248](https://github.com/pgjdbc/pgjdbc/commit/41392481d5f2c7f89d783a535ade2d3afb565654) * fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR#1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5) +* fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0) +* fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [PR#811](https://github.com/pgjdbc/pgjdbc/pull/811) [082d009](https://github.com/pgjdbc/pgjdbc/commit/082d00941ad5f8abf44a0785a6f086c106b3c746) +* tests: correct assertion to use proper column [63918eb](https://github.com/pgjdbc/pgjdbc/commit/63918eb9b1211e0115c8b55401e22c7a3f37e534) +* fix: add type parameter so code is Java 6/7 compatible [1361c52](https://github.com/pgjdbc/pgjdbc/commit/1361c5208d6afc5d54e4df1053c48cdb31df9038) +* chore: avoid non-blocking IO for stdout to workaround "stdout: write error" in Travis [12bb084](https://github.com/pgjdbc/pgjdbc/commit/12bb084035a13c4fb690df93837b37e85354ebc4) +* test: run Travis tests with non-default time zone [a3982b4](https://github.com/pgjdbc/pgjdbc/commit/a3982b474dd92cd32c8fb1b7dafbd28c853c4177) +* fix: execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving [PR#955](https://github.com/pgjdbc/pgjdbc/pull/955) [684a699](https://github.com/pgjdbc/pgjdbc/commit/684a69920e08017c74ab4194d1a77067f544a28b) +* fix: use 'time with time zone' and 'timestamp with time zone' values as is and avoid computation with user-provided/default Calendars [e8c43f3](https://github.com/pgjdbc/pgjdbc/commit/e8c43f36ab2a6843f37d27e7417a5214f7142084) +* test: refactor SetObject310Test to use proper assertion messages and use less statements (make it faster) [be06946](https://github.com/pgjdbc/pgjdbc/commit/be06946f8b908536f4d659aaf6fc660bed339f67) +* refactor: factor out receiveParameterStatus so all the ParameterStatus messages are handled in the same way [a94cfea](https://github.com/pgjdbc/pgjdbc/commit/a94cfeace5d66b4fe8d8fa3b16986baebaec2a11) +* fix: add Provide-Capability OSGi manifest [PR#1029](https://github.com/pgjdbc/pgjdbc/pull/1029) [236805b](https://github.com/pgjdbc/pgjdbc/commit/236805bcaf0dd1d9df3542c5865a15b24375a01c) +* chore: update version to 42.2.0-SNAPSHOT to reflect the next release version [e27ee74](https://github.com/pgjdbc/pgjdbc/commit/e27ee740535a4034084d450cddefda2fbcb1b2af) +* packaging: add missing maven-clean-plugin dependency [a2ed9b5](https://github.com/pgjdbc/pgjdbc/commit/a2ed9b50e304a3437f92b945217c19197226d53f) +* chore: introduce release via Travis [acb9bdd](https://github.com/pgjdbc/pgjdbc/commit/acb9bddf36a8af6d1dd09857a6a05014c3e8849a) +* chore: skip CI builds for tags; skip Fedora and extendedCacheEverything jobs when building pull requests [3ba3b63](https://github.com/pgjdbc/pgjdbc/commit/3ba3b6334761909183334a3be3af0aa8dc4798da) +* fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR#1071](https://github.com/pgjdbc/pgjdbc/pull/1071) [eb33c4c](https://github.com/pgjdbc/pgjdbc/commit/eb33c4c8e27d6df6ccd9c0a81eb119edeb069d55) +* test: add "as" to test queries so they work with PostgreSQL 8.3 [71b3c11](https://github.com/pgjdbc/pgjdbc/commit/71b3c118f6a9e125c06e58faa50bf54b6a8f3400) Zemian Deng (3): @@ -149,6 +184,12 @@ Zemian Deng (3): * fix: correct javadoc on PGResultSetMetaData.getFormat [PR#917](https://github.com/pgjdbc/pgjdbc/pull/917) [cd77693](https://github.com/pgjdbc/pgjdbc/commit/cd77693ca22924479a39b8d925f276879023672a) * fix: Correct DatabaseMetaData.getFunctions() implementation [PR#918](https://github.com/pgjdbc/pgjdbc/pull/918) [8884202](https://github.com/pgjdbc/pgjdbc/commit/8884202b9e7785a1eaf67ddcd97f2ba689d0cf19) +bpd0018 (3): + +* docs - change load.md to reflect current practice [PR#1058](https://github.com/pgjdbc/pgjdbc/pull/1058) [90535d9](https://github.com/pgjdbc/pgjdbc/commit/90535d9289141c398b2e62f2ee7571617c5aecc3) +* docs: fix the URL regex [PR#1057](https://github.com/pgjdbc/pgjdbc/pull/1057) [6c5490f](https://github.com/pgjdbc/pgjdbc/commit/6c5490f90da434f37abd0be0f7bbdc38169ec33f) +* docs: fix no parameter connect string example [PR#1056](https://github.com/pgjdbc/pgjdbc/pull/1056) [bb8a315](https://github.com/pgjdbc/pgjdbc/commit/bb8a31508f3caef7532b87b50c19e092af2ec5f0) + djydewang (1): * style: disallowing user to use incomplete fully qualified Check names in config file [PR#961](https://github.com/pgjdbc/pgjdbc/pull/961) [3286c8c](https://github.com/pgjdbc/pgjdbc/commit/3286c8caa16efe59307b2713784c348e603ee67d) @@ -165,40 +206,43 @@ rnveach (1): * style: remove deprecated maxLineLength from LeftCurlyCheck [PR#904](https://github.com/pgjdbc/pgjdbc/pull/904) [5f083d1](https://github.com/pgjdbc/pgjdbc/commit/5f083d118eea30e180500864d70f292b411c19af) +steinarb (1): +* fix: add Provide-Capability org.osgi.service.jdbc.DataSourceFactory to OSGi manifest [Issue 1029](https://github.com/pgjdbc/pgjdbc/issues/1029) + zapov (1): * fix: avoid integer overflow when sending large arguments [PR#946](https://github.com/pgjdbc/pgjdbc/pull/946) [266ed61](https://github.com/pgjdbc/pgjdbc/commit/266ed61b30e89c2840b7967a8af7ac8ab86407ff) -Álvaro Hernández Tortosa (1): - -* Add SCRAM-SHA-256 support [PR#842](https://github.com/pgjdbc/pgjdbc/pull/842) [befea18](https://github.com/pgjdbc/pgjdbc/commit/befea18d153dda7814daef4e036d3f5daf8de1e5) - ### Contributors to this release We thank the following people for their contributions to this release. [AlexElin](https://github.com/AlexElin) -Barnabas Bodnar +[Álvaro Hernández Tortosa](https://github.com/ahachete) +[Barnabas Bodnar](https://github.com/bbodnar) [Brett Okken](https://github.com/bokken) [Brett Wooldridge](https://github.com/brettwooldridge) +[Chen Huajun](https://github.com/ChenHuajun) [Dave Cramer](davec@postgresintl.com) +[Hugh Cole-Baker](https://github.com/sigmaris) +[Jeff Klukas](https://github.com/jklukas) [Joe Kutner](https://github.com/jkutner) [Jorge Solorzano](https://github.com/jorsol) [Magnus](https://github.com/magJ) [Magnus Hagander](https://github.com/mhagander) -Michael +[MichaelZg](https://github.com/michaelzg) [Michael Glaesemann](https://github.com/grzm) [Pavel Raiskup](https://github.com/praiskup) [Philippe Marschall](https://github.com/marschall) -Piyush Sharma -Sehrope Sarkuni -Thach Hoang +[Piyush Sharma](https://github.com/ps-sp) +[Sehrope Sarkuni](https://github.com/sehrope) +[Thach Hoang](https://github.com/thachhoang) [Vladimir Sitnikov](https://github.com/vlsi) -Zemian Deng -djydewang -eperez -mjanczykowski -rnveach +[Zemian Deng](https://github.com/zemian) +[bpd0018](https://github.com/bpd0018) +[djydewang](https://github.com/djydewang) +[eperez](https://github.com/eperez) +[mjanczykowski](https://github.com/mjanczykowski) +[rnveach](https://github.com/rnveach) [zapov](https://github.com/zapov) -[Álvaro Hernández Tortosa](https://github.com/ahachete) diff --git a/release_notes_filter.pl b/release_notes_filter.pl index a1999ad58f..5fdd74789d 100644 --- a/release_notes_filter.pl +++ b/release_notes_filter.pl @@ -8,47 +8,61 @@ 'AlexElin' => 'https://github.com/AlexElin', 'Álvaro Hernández Tortosa' => 'https://github.com/ahachete', 'aryabukhin' => 'https://github.com/aryabukhin', + 'Barnabas Bodnar' => 'https://github.com/bbodnar', + 'bd-infor' => 'https://github.com/bd-infor', + 'bpd0018' => 'https://github.com/bpd0018', 'Brett Okken' => 'https://github.com/bokken', 'Brett Wooldridge' => 'https://github.com/brettwooldridge', - 'bd-infor' => 'https://github.com/bd-infor', + 'Chen Huajun' => 'https://github.com/ChenHuajun', 'Christian Ullrich' => 'https://github.com/chrullrich', 'Christopher Deckers' => 'https://github.com/Chrriis', 'Daniel Gustafsson' => 'https://github.com/danielgustafsson', 'Daniel Migowski' =>'https://github.com/dmigowski', 'Dave Cramer' => 'davec@postgresintl.com', + 'djydewang' => 'https://github.com/djydewang', + 'eperez' => 'https://github.com/eperez', 'Eric McCormack' => 'https://github.com/ericmack', 'Florin Asăvoaie' => 'https://github.com/FlorinAsavoaie', 'George Kankava' => 'https://github.com/georgekankava', 'goeland86' => 'https://github.com/goeland86', + 'Hugh Cole-Baker' => 'https://github.com/sigmaris', 'Jacques Fuentes' => 'https://github.com/jpfuentes2', 'James' => 'https://github.com/jamesthomp', + 'Jeff Klukas' => 'https://github.com/jklukas', 'Jeremy Whiting' => 'https://github.com/whitingjr', 'Joe Kutner' => 'https://github.com/jkutner', 'Jordan Lewis' => 'https://github.com/jordanlewis', 'Jorge Solorzano' => 'https://github.com/jorsol', 'Laurenz Albe' => 'https://github.com/laurenz', - 'Magnus' => 'https://github.com/magJ', 'Magnus Hagander' => 'https://github.com/mhagander', + 'Magnus' => 'https://github.com/magJ', 'Marc Petzold' => 'https://github.com/dosimeta', 'Marios Trivyzas' => 'https://github.com/matriv', 'Mathias Fußenegger' => 'https://github.com/mfussenegger', 'Michael Glaesemann' => 'https://github.com/grzm', + 'MichaelZg' => 'https://github.com/michaelzg', 'Minglei Tu' => 'https://github.com/tminglei', + 'mjanczykowski' => 'https://github.com/mjanczykowski', 'Pavel Raiskup' => 'https://github.com/praiskup', 'Petro Semeniuk' => 'https://github.com/PetroSemeniuk', 'Philippe Marschall' => 'https://github.com/marschall', + 'Piyush Sharma' => 'https://github.com/ps-sp', 'Rikard Pavelic' => 'https://github.com/zapov', + 'rnveach' => 'https://github.com/rnveach', 'Robert Zenz' => 'https://github.com/RobertZenz', 'Robert \'Bobby\' Zenz' => 'https://github.com/RobertZenz', 'Roman Ivanov' => 'https://github.com/romani', 'Sebastian Utz' => 'https://github.com/seut', + 'Sehrope Sarkuni' => 'https://github.com/sehrope', 'slmsbrhgn' => 'https://github.com/slmsbrhgn', 'Steve Ungerer' => 'https://github.com/scubasau', 'Tanya Gordeeva' => 'https://github.com/tmgordeeva', + 'Thach Hoang' => 'https://github.com/thachhoang', 'Trygve Laugstøl' => 'https://github.com/trygvis', 'Vladimir Gordiychuk' => 'https://github.com/Gordiychuk', 'Vladimir Sitnikov' => 'https://github.com/vlsi', 'zapov' => 'https://github.com/zapov', + 'Zemian Deng' => 'https://github.com/zemian', ); From eb406dcbee469a8724723f008f7dc5a515457cbe Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 17 Jan 2018 16:03:37 +0300 Subject: [PATCH 080/427] docs: make pgjdbc's javadocs to inherit base Java documentation By default, the step of "unzipping jdk/src.zip" is skipped to speedup Travis CI, however it was not properly activated in travis_release.sh. --- .travis/travis_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/travis_release.sh b/.travis/travis_release.sh index 0dacc73d58..f8a531b6ac 100755 --- a/.travis/travis_release.sh +++ b/.travis/travis_release.sh @@ -94,7 +94,7 @@ git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git :$RELEASE_TAG || true # -Darguments here is for maven-release-plugin MVN_SETTINGS=$(pwd)/settings.xml -mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}'" -Dskip.unzip-jdk-src=false release:prepare release:perform +mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}' -Dskip.unzip-jdk-src=false" -Dskip.unzip-jdk-src=false release:prepare release:perform # Point "master" branch to "next development snapshot commit" git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git "HEAD:$ORIGINAL_BRANCH" From 5819f31a8f52fde09f51a8c81659364fca587bf0 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 17 Jan 2018 16:05:44 +0300 Subject: [PATCH 081/427] docs: update 42.2.0 release notes --- CHANGELOG.md | 2 +- ...-01-16-42.2.0-release.md => 2018-01-17-42.2.0-release.md} | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) rename docs/_posts/{2018-01-16-42.2.0-release.md => 2018-01-17-42.2.0-release.md} (99%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d68c935ae..28b119a3a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] -## [42.2.0] (2018-01-16) +## [42.2.0] (2018-01-17) ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) - Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) diff --git a/docs/_posts/2018-01-16-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md similarity index 99% rename from docs/_posts/2018-01-16-42.2.0-release.md rename to docs/_posts/2018-01-17-42.2.0-release.md index 272c800a1f..9bc4ab7a2e 100644 --- a/docs/_posts/2018-01-16-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.0 Released -date: 2018-01-16 11:11:10 -0500 +date: 2018-01-17 20:11:10 +0300 categories: - new_release version: 42.2.0 @@ -153,7 +153,7 @@ Thach Hoang (2): * Update ServerVersionTest to actually compare versions [PR#1015](https://github.com/pgjdbc/pgjdbc/pull/1015) [cccd6cd](https://github.com/pgjdbc/pgjdbc/commit/cccd6cde4672de30ac0bbac6621b63e81aae9474) * fix: always return Short[] for java.sql.Array.getArray() on smallint[] [PR#1017](https://github.com/pgjdbc/pgjdbc/pull/1017) [279fb43](https://github.com/pgjdbc/pgjdbc/commit/279fb435b392114c45266ecef901bfd59470842a) -Vladimir Sitnikov (22): +Vladimir Sitnikov (23): * fix: reintroduce Driver.getVersion for backward compatibility reasons [PR#905](https://github.com/pgjdbc/pgjdbc/pull/905) [50d5dd3](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) * style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ [PR#1016](https://github.com/pgjdbc/pgjdbc/pull/1016) [9f07c9a](https://github.com/pgjdbc/pgjdbc/commit/9f07c9ae2eb0c1ec18455e3a3d66460dd264c790) @@ -177,6 +177,7 @@ Vladimir Sitnikov (22): * chore: skip CI builds for tags; skip Fedora and extendedCacheEverything jobs when building pull requests [3ba3b63](https://github.com/pgjdbc/pgjdbc/commit/3ba3b6334761909183334a3be3af0aa8dc4798da) * fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR#1071](https://github.com/pgjdbc/pgjdbc/pull/1071) [eb33c4c](https://github.com/pgjdbc/pgjdbc/commit/eb33c4c8e27d6df6ccd9c0a81eb119edeb069d55) * test: add "as" to test queries so they work with PostgreSQL 8.3 [71b3c11](https://github.com/pgjdbc/pgjdbc/commit/71b3c118f6a9e125c06e58faa50bf54b6a8f3400) +* docs: make pgjdbc's javadocs to inherit base Java documentation [eb406dc](https://github.com/pgjdbc/pgjdbc/commit/eb406dcbee469a8724723f008f7dc5a515457cbe) Zemian Deng (3): From 0bbd405590d898a184d5f46331cc803c5a1b22c6 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Wed, 17 Jan 2018 17:22:37 +0000 Subject: [PATCH 082/427] [maven-release-plugin] prepare release REL42.2.0 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 8409fb926a..6fc1f20681 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.0-SNAPSHOT + 42.2.0 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,4 +335,8 @@ + + + REL42.2.0 + diff --git a/pom.xml b/pom.xml index cd1d2e3587..458be59ddd 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.0-SNAPSHOT + 42.2.0 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.0 diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index 5d7a89a772..addbe1d01c 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.0-SNAPSHOT + 42.2.0 PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,4 +233,8 @@ POSSIBILITY OF SUCH DAMAGE. + + + REL42.2.0 + From 7a027338c2c08a70fddcbb7ccb9aca341e1e420c Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Wed, 17 Jan 2018 17:22:40 +0000 Subject: [PATCH 083/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +----- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 6fc1f20681..c4747421c1 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.0 + 42.2.1-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,8 +335,4 @@ - - - REL42.2.0 - diff --git a/pom.xml b/pom.xml index 458be59ddd..84f3e60cb8 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.0 + 42.2.1-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.0 + HEAD diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index addbe1d01c..f5dff31a02 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.0 + 42.2.1-SNAPSHOT PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,8 +233,4 @@ POSSIBILITY OF SUCH DAMAGE. - - - REL42.2.0 - From 6d02e9587e47921e66d8d029e5056bab72f15565 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 17 Jan 2018 21:04:04 +0300 Subject: [PATCH 084/427] docs: reflect 42.2.0 release in readme.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c85fc47e64..291bb868de 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.1.4-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.0-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.1.4 + 42.2.0 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.1.4.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.0.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.1.4.jre7 + 42.2.0.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.1.4.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.0.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.1.4.jre6 + 42.2.0.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.1.4.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.1.4.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.1.4|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.1.5-SNAPSHOT - 42.1.5.jre7-SNAPSHOT - 42.1.5.jre6-SNAPSHOT + 42.2.1-SNAPSHOT + 42.2.1.jre7-SNAPSHOT + 42.2.1.jre6-SNAPSHOT ``` From c2664b444ffa1390d0dd5e4104d4200823d145ba Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 18 Jan 2018 16:16:16 +0300 Subject: [PATCH 085/427] chore: remove braces for LeftCurlyCheck checkstyle (#1075) --- .../src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index b409c3025e..157a7aef7e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1197,7 +1197,6 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) block = true; break; case 'S': // Parameter Status - { try { receiveParameterStatus(); } catch (SQLException e) { @@ -1205,7 +1204,6 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) endReceiving = true; } break; - } case 'Z': // ReadyForQuery: After FE:CopyDone => BE:CommandComplete From 975aaf5ae489b3efeda3fd0241a4d39d260105cd Mon Sep 17 00:00:00 2001 From: Ivan Date: Fri, 19 Jan 2018 12:54:09 +0300 Subject: [PATCH 086/427] chore: remove additional braces for LeftCurlyCheck checkstyle (#1076) --- .../postgresql/core/v3/QueryExecutorImpl.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 157a7aef7e..877bc8f945 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1949,12 +1949,12 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti break; - case 't': // ParameterDescription + case 't': { // ParameterDescription pgStream.receiveInteger4(); // len, discarded LOGGER.log(Level.FINEST, " <=BE ParameterDescription"); - { + DescribeRequest describeData = pendingDescribeStatementQueue.getFirst(); SimpleQuery query = describeData.query; SimpleParameterList params = describeData.parameterList; @@ -2022,14 +2022,14 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti } break; - case 's': // Portal Suspended (end of Execute) + case 's': { // Portal Suspended (end of Execute) // nb: this appears *instead* of CommandStatus. // Must be a SELECT if we suspended, so don't worry about it. pgStream.receiveInteger4(); // len, discarded LOGGER.log(Level.FINEST, " <=BE PortalSuspended"); - { + ExecuteRequest executeData = pendingExecuteQueue.removeFirst(); SimpleQuery currentQuery = executeData.query; Portal currentPortal = executeData.portal; @@ -2046,7 +2046,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti break; } - case 'C': // Command Status (end of Execute) + case 'C': { // Command Status (end of Execute) // Handle status. String status = receiveCommandStatus(); if (isFlushCacheOnDeallocate() @@ -2056,7 +2056,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti doneAfterRowDescNoData = false; - { + ExecuteRequest executeData = pendingExecuteQueue.peekFirst(); SimpleQuery currentQuery = executeData.query; Portal currentPortal = executeData.portal; @@ -2179,12 +2179,11 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti // keep processing break; - case 'I': // Empty Query (end of Execute) + case 'I': { // Empty Query (end of Execute) pgStream.receiveInteger4(); LOGGER.log(Level.FINEST, " <=BE EmptyQuery"); - { ExecuteRequest executeData = pendingExecuteQueue.removeFirst(); Portal currentPortal = executeData.portal; handler.handleCommandStatus("EMPTY", 0, 0); @@ -2200,7 +2199,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti break; case 'S': // Parameter Status - { try { receiveParameterStatus(); } catch (SQLException e) { @@ -2208,7 +2206,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti endQuery = true; } break; - } case 'T': // Row Description (response to Describe) Field[] fields = receiveFields(); From dcbf70bc071fe9d602f7c87918982b01452da9ba Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 19 Jan 2018 12:26:37 +0100 Subject: [PATCH 087/427] packaging: update Fedora's CI * update Dockerfile to Fedora 27 * spec template synced with Fedora Rawhide --- .travis/travis_build.sh | 1 + packaging/rpm/.srpmconfig | 1 - packaging/rpm/.srpmgen | 10 ---------- packaging/rpm/fedora-image/Dockerfile | 2 +- packaging/rpm/fedora-image/copr-ci-git | 3 +++ packaging/rpm/postgresql-jdbc.spec.tpl | 16 +++++++--------- packaging/rpm_ci | 4 ++-- 7 files changed, 14 insertions(+), 23 deletions(-) delete mode 100644 packaging/rpm/.srpmgen diff --git a/.travis/travis_build.sh b/.travis/travis_build.sh index 2aa0e1bf2b..57fd97a0fd 100755 --- a/.travis/travis_build.sh +++ b/.travis/travis_build.sh @@ -6,6 +6,7 @@ then # Try to prevent "stdout: write error" # WA is taken from https://github.com/travis-ci/travis-ci/issues/4704#issuecomment-348435959 python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);' + export PROJECT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[') export PARENT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.parent.version | grep -v '\[') exec ./packaging/rpm_ci fi diff --git a/packaging/rpm/.srpmconfig b/packaging/rpm/.srpmconfig index 9cc16bf92c..bdc6aceb17 100644 --- a/packaging/rpm/.srpmconfig +++ b/packaging/rpm/.srpmconfig @@ -2,4 +2,3 @@ spec: postgresql-jdbc.spec source0: method: git_archive - archive_prefix: pgjdbc-REL9.5.git diff --git a/packaging/rpm/.srpmgen b/packaging/rpm/.srpmgen deleted file mode 100644 index f9af4cb879..0000000000 --- a/packaging/rpm/.srpmgen +++ /dev/null @@ -1,10 +0,0 @@ -git: - address: 'https://github.com/pgjdbc/pgjdbc.git' - rpmsources: packaging/rpm - -spec: postgresql-jdbc.spec - -source0: - git_archive: - prefix: pgjdbc-REL9.5.git - tarball_base: REL9.5.git diff --git a/packaging/rpm/fedora-image/Dockerfile b/packaging/rpm/fedora-image/Dockerfile index bc140062d5..7f24e2e791 100644 --- a/packaging/rpm/fedora-image/Dockerfile +++ b/packaging/rpm/fedora-image/Dockerfile @@ -1,4 +1,4 @@ -FROM index.docker.io/fedora:25 +FROM index.docker.io/fedora:27 MAINTAINER pgjdbc team ENV HOME=/rpm diff --git a/packaging/rpm/fedora-image/copr-ci-git b/packaging/rpm/fedora-image/copr-ci-git index 56a94debab..b9416bc298 100755 --- a/packaging/rpm/fedora-image/copr-ci-git +++ b/packaging/rpm/fedora-image/copr-ci-git @@ -7,6 +7,8 @@ copr_be_link=https://copr-be.cloud.fedoraproject.org/results/@pgjdbc/pgjdbc-trav status_file=copr_build_id test -z "$PARENT_VERSION" && exit 1 +test -z "$PROJECT_VERSION" && exit 1 +PROJECT_VERSION=${PROJECT_VERSION//-/_} copr_wrapper () ( @@ -32,6 +34,7 @@ git_rev=$(git rev-parse --short=7 HEAD) date_rev=$(date +%Y%m%d_%H%M%S) release=${date_rev}.git$git_rev sed -e "s!^Release:.*\$!Release: 1.$release%{?dist}!" \ + -e "s!^Version:.*\$!Version: $PROJECT_VERSION!" \ -e "s!%global parent_ver.*!%global parent_ver $PARENT_VERSION!" \ "$2".spec.tpl > "$2".spec diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index eef41c47c5..b5988d649d 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -35,8 +35,6 @@ %global section devel -%global upstreamrel git -%global upstreammajor 9.5 %global source_path pgjdbc/src/main/java/org/postgresql %global parent_ver GENERATED %global parent_poms_builddir ./pgjdbc-parent-poms @@ -46,30 +44,30 @@ Summary: JDBC driver for PostgreSQL Name: postgresql-jdbc -Version: %upstreammajor.%{upstreamrel} +Version: GENERATED Release: GENERATED License: BSD URL: http://jdbc.postgresql.org/ -Source0: REL%{version}.tar.gz +Source0: https://github.com/pgjdbc/pgjdbc/archive/REL%{version}/pgjdbc-REL%{version}.tar.gz # Upstream moved parent pom.xml into separate project (even though there is only # one dependant project on it?). Let's try to not complicate packaging by # having separate spec file for it, too. -Source1: https://github.com/pgjdbc/pgjdbc-parent-poms/archive/REL%parent_ver.tar.gz +Source1: https://github.com/pgjdbc/pgjdbc-parent-poms/archive/REL%parent_ver/pgjdbc-parent-poms-REL%{parent_ver}.tar.gz BuildArch: noarch BuildRequires: java-devel >= 1.8 BuildRequires: maven-local BuildRequires: java-comment-preprocessor BuildRequires: properties-maven-plugin -BuildRequires: maven-clean-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-plugin-bundle BuildRequires: maven-plugin-build-helper BuildRequires: classloader-leak-test-framework BuildRequires: mvn(com.ongres.scram:client) +BuildRequires: mvn(org.apache.maven.plugins:maven-clean-plugin) %if %runselftest BuildRequires: postgresql-contrib @@ -102,7 +100,7 @@ This package contains the API Documentation for %{name}. %prep -%setup -c -q -a 1 -n pgjdbc-REL%version +%setup -c -q -a 1 mv pgjdbc-REL%version/* . mv pgjdbc-parent-poms-REL%parent_ver pgjdbc-parent-poms @@ -143,7 +141,7 @@ mkdir -p pgjdbc/target/generated-sources/annotations # Include PostgreSQL testing methods and variables. %if %runselftest -%pgtests_init +%postgresql_tests_init PGTESTS_LOCALE=C.UTF-8 @@ -161,7 +159,7 @@ protocolVersion=0 EOF # Start the local PG cluster. -%pgtests_start +%postgresql_tests_start %else # -f is equal to -Dmaven.test.skip=true opts="-f" diff --git a/packaging/rpm_ci b/packaging/rpm_ci index ad3259928b..4c6464a580 100755 --- a/packaging/rpm_ci +++ b/packaging/rpm_ci @@ -10,6 +10,6 @@ cd "$(dirname "$0")" echo "$copr_token_password" | gpg --batch --passphrase-fd 0 rpm/copr-token.gpg ) || exit 0 -docker run -e HOME=/git -e PARENT_VERSION \ +docker run -e HOME=/git -e PARENT_VERSION -e PROJECT_VERSION \ -u `id -u` -ti --rm -v `pwd`/..:/git:Z praiskup/copr-and-jdbc-ci \ - copr-ci-git /git/packaging/rpm postgresql-jdbc 9.5.git + copr-ci-git /git/packaging/rpm postgresql-jdbc From fe463bceb3d6449443bd5e6abf2929516effccff Mon Sep 17 00:00:00 2001 From: AlexElin Date: Fri, 19 Jan 2018 19:12:50 +0600 Subject: [PATCH 088/427] test: check if url is not for PostgreSQL (#1077) --- .../test/java/org/postgresql/test/jdbc2/DriverTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java index b4c0fe5d93..317f437414 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java @@ -8,6 +8,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -23,6 +24,7 @@ import java.lang.reflect.Method; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.Properties; @@ -35,6 +37,13 @@ */ public class DriverTest { + @Test + public void urlIsNotForPostgreSQL() throws SQLException { + Driver driver = new Driver(); + + assertNull(driver.connect("jdbc:otherdb:database", new Properties())); + } + /* * This tests the acceptsURL() method with a couple of well and poorly formed jdbc urls. */ From 0d51370b68cd26ccfa92b0bae4a66da1015cf9ee Mon Sep 17 00:00:00 2001 From: JCzogalla <35594017+JCzogalla@users.noreply.github.com> Date: Fri, 19 Jan 2018 15:43:17 +0100 Subject: [PATCH 089/427] Fixes issue #1078 (#1079) * Fixes issue #1078 Check the "socksProxyHost" system property not only for null, but also for emptiness * #1078: Added test and fixed code style issues --- .../main/java/org/postgresql/util/HostSpec.java | 3 ++- .../org/postgresql/test/util/HostSpecTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java b/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java index 6869b311f6..940b9b26d1 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java +++ b/pgjdbc/src/main/java/org/postgresql/util/HostSpec.java @@ -48,7 +48,8 @@ public int hashCode() { } public Boolean shouldResolve() { - if (System.getProperty("socksProxyHost") == null) { + String socksProxy = System.getProperty("socksProxyHost"); + if (socksProxy == null || socksProxy.trim().isEmpty()) { return true; } return matchesNonProxyHosts(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java index 32acc31fd7..3f4e33c392 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/HostSpecTest.java @@ -32,6 +32,20 @@ public void testShouldResolve() throws Exception { assertTrue(hostSpec.shouldResolve()); } + @Test + public void testShouldResolveWithEmptySocksProxyHost() throws Exception { + System.setProperty("socksProxyHost", ""); + HostSpec hostSpec = new HostSpec("localhost", 5432); + assertFalse(hostSpec.shouldResolve()); + } + + @Test + public void testShouldResolveWithWhiteSpaceSocksProxyHost() throws Exception { + System.setProperty("socksProxyHost", " "); + HostSpec hostSpec = new HostSpec("localhost", 5432); + assertFalse(hostSpec.shouldResolve()); + } + @Test public void testShouldResolveWithSocksProxyHost() throws Exception { System.setProperty("socksProxyHost", "fake-socks-proxy"); From e442db1f064c78372f8312d65faee30842a68aea Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 21 Jan 2018 19:21:28 +0300 Subject: [PATCH 090/427] fix: avoid connection failure when DateStyle is set to ISO (#1081) Default PostgreSQL configuration is DateStyle='iso, dmy', however pgjdbc should not raise errors if DateStyle is just ISO Note: PostgreSQL prints DateStyle value in upper case, and toUpperCase was added just in case. fixes #1080 --- CHANGELOG.md | 3 + .../postgresql/core/v3/QueryExecutorImpl.java | 3 +- .../postgresql/test/jdbc2/DateStyleTest.java | 62 +++++++++++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 1 + 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateStyleTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 28b119a3a1..c5daddef89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Fixed +- Avoid connection failure when `DateStyle` is set to `ISO` [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) + ## [42.2.0] (2018-01-17) ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 877bc8f945..57977c4d1e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2593,7 +2593,8 @@ public void receiveParameterStatus() throws IOException, SQLException { value), PSQLState.CONNECTION_FAILURE); } - if (name.equals("DateStyle") && !value.startsWith("ISO,")) { + if (name.equals("DateStyle") && !value.startsWith("ISO") + && !value.toUpperCase().startsWith("ISO")) { close(); // we're screwed now; we can't trust any subsequent date. throw new PSQLException(GT.tr( "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation.", diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateStyleTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateStyleTest.java new file mode 100644 index 0000000000..4f69e9a257 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateStyleTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLState; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class DateStyleTest extends BaseTest4 { + + @Parameterized.Parameter(0) + public String dateStyle; + + @Parameterized.Parameter(1) + public boolean shouldPass; + + + @Parameterized.Parameters(name = "dateStyle={0}, shouldPass={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"iso, mdy", true}, + {"ISO", true}, + {"ISO,ymd", true}, + {"PostgreSQL", false} + }); + } + + @Test + public void conenct() throws SQLException { + Statement st = con.createStatement(); + try { + st.execute("set DateStyle='" + dateStyle + "'"); + if (!shouldPass) { + Assert.fail("Set DateStyle=" + dateStyle + " should not be allowed"); + } + } catch (SQLException e) { + if (shouldPass) { + throw new IllegalStateException("Set DateStyle=" + dateStyle + + " should be fine, however received " + e.getMessage(), e); + } + if (PSQLState.CONNECTION_FAILURE.getState().equals(e.getSQLState())) { + return; + } + throw new IllegalStateException("Set DateStyle=" + dateStyle + + " should result in CONNECTION_FAILURE error, however received " + e.getMessage(), e); + } finally { + TestUtil.closeQuietly(st); + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index e687cb61b5..903409bfe8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -31,6 +31,7 @@ DriverTest.class, ConnectionTest.class, + DateStyleTest.class, DatabaseMetaDataTest.class, DatabaseMetaDataPropertiesTest.class, SearchPathLookupTest.class, From 09af4b23ad589e3691314e955c130a8755436e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Kj=C3=A4ll?= Date: Sun, 21 Jan 2018 17:25:40 +0100 Subject: [PATCH 091/427] feat: add support for fetching 'TIMESTAMP(6) WITHOUT TIME ZONE' as LocalDate to getObject() (#1083) --- pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java | 6 ++++++ .../java/org/postgresql/test/jdbc42/GetObject310Test.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index e86c6b7bfb..262033f486 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -3371,6 +3371,12 @@ public T getObject(int columnIndex, Class type) throws SQLException { return type.cast(LocalDate.MIN); } return type.cast(dateValue.toLocalDate()); + } else if (sqlType == Types.TIMESTAMP) { + LocalDateTime localDateTimeValue = getLocalDateTime(columnIndex); + if (wasNull()) { + return null; + } + return type.cast(localDateTimeValue.toLocalDate()); } else { throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, sqlType), PSQLState.INVALID_PARAMETER_VALUE); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java index 9720221cbf..b942a41f3b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java @@ -214,6 +214,10 @@ public void localTimestamps(ZoneId zoneId, String timestamp) throws SQLException LocalDateTime localDateTime = LocalDateTime.parse(timestamp); assertEquals(localDateTime, rs.getObject("timestamp_without_time_zone_column", LocalDateTime.class)); assertEquals(localDateTime, rs.getObject(1, LocalDateTime.class)); + + //Also test that we get the correct values when retrieving the data as LocalDate objects + assertEquals(localDateTime.toLocalDate(), rs.getObject("timestamp_without_time_zone_column", LocalDate.class)); + assertEquals(localDateTime.toLocalDate(), rs.getObject(1, LocalDate.class)); } finally { rs.close(); } From 5ebd20900ebf7af5b55c56eac7f2fae6d40d9f5c Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Tue, 23 Jan 2018 05:05:36 -0600 Subject: [PATCH 092/427] Fix style changelog (#1089) * fix: small syntax error in changelog [skipci] * also fix post [skipci] --- CHANGELOG.md | 8 ++++---- docs/_posts/2018-01-17-42.2.0-release.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5daddef89..ac493e79de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,20 +16,20 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) - Support for primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) - Implement support for get/setNetworkTimeout() in connections. [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) -- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database]{https://jdbc.postgresql.org/documentation/head/connect.html +- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database](https://jdbc.postgresql.org/documentation/head/connect.html) ### Changed - Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) - Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) - Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). -- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) +- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) ### Fixed - Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) - Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) - Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) -- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) -- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) +- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) +- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) ### Removed - Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 9bc4ab7a2e..69a068b9e8 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -14,20 +14,20 @@ version: 42.2.0 - Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) - Support for primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) - Implement support for get/setNetworkTimeout() in connections. [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) -- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database]{https://jdbc.postgresql.org/documentation/head/connect.html +- Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database](https://jdbc.postgresql.org/documentation/head/connect.html) ### Changed - Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) - Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) - Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). -- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) +- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) ### Fixed - Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) - Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) - Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) -- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) -- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) +- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes [Issue #955](https://github.com/pgjdbc/pgjdbc/issues/955) +- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [Issue 811](https://github.com/pgjdbc/pgjdbc/issues/811) ### Removed - Drop support for the (insecure) crypt authentication method. [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) From e133510e70114db128784911b6790b5690d77320 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 23 Jan 2018 18:00:02 +0300 Subject: [PATCH 093/427] fix: reWriteBatchedInserts=true causes syntax error with ON CONFLICT (#1082) INSERT into ... VALUES(...),(...),(...) ON CONFLICT (id) ... confused parser since it considered braces after on conflict to be a part of VALUES clause. --- .../main/java/org/postgresql/core/Parser.java | 9 ++- .../java/org/postgresql/core/ParserTest.java | 19 ++++++ .../org/postgresql/test/jdbc2/BaseTest4.java | 13 ++++ .../BatchedInsertReWriteEnabledTest.java | 10 +++- .../org/postgresql/test/jdbc2/UpsertTest.java | 60 ++++++++++++++++++- 5 files changed, 104 insertions(+), 7 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 8f5ea2fa53..ff2bef0cbf 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -63,6 +63,7 @@ public static List parseJdbcSql(String query, boolean standardConfo boolean isValuesFound = false; int valuesBraceOpenPosition = -1; int valuesBraceClosePosition = -1; + boolean valuesBraceCloseFound = false; boolean isInsertPresent = false; boolean isReturningPresent = false; boolean isReturningPresentPrev = false; @@ -103,7 +104,7 @@ public static List parseJdbcSql(String query, boolean standardConfo case ')': inParen--; - if (inParen == 0 && isValuesFound) { + if (inParen == 0 && isValuesFound && !valuesBraceCloseFound) { // If original statement is multi-values like VALUES (...), (...), ... then // search for the latest closing paren valuesBraceClosePosition = nativeSql.length() + i - fragmentStart; @@ -168,6 +169,7 @@ public static List parseJdbcSql(String query, boolean standardConfo nativeSql.setLength(0); valuesBraceOpenPosition = -1; valuesBraceClosePosition = -1; + valuesBraceCloseFound = false; } } break; @@ -184,6 +186,11 @@ public static List parseJdbcSql(String query, boolean standardConfo isKeyWordChar = isIdentifierStartChar(aChar); if (isKeyWordChar) { keywordStart = i; + if (valuesBraceOpenPosition != -1 && inParen == 0) { + // When the statement already has multi-values, stop looking for more of them + // Since values(?,?),(?,?),... should not contain keywords in the middle + valuesBraceCloseFound = true; + } } break; } diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index da989c23cb..7cf362fa66 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -161,4 +161,23 @@ public void insertSelectReturning() throws SQLException { boolean returningKeywordPresent = qry.get(0).command.isReturningKeywordPresent(); Assert.assertTrue("Query has a returning clause " + query, returningKeywordPresent); } + + @Test + public void insertBatchedReWriteOnConflict() throws SQLException { + String query = "insert into test(id, name) values (:id,:name) ON CONFLICT (id) DO NOTHING"; + List qry = Parser.parseJdbcSql(query, true, true, true, true); + SqlCommand command = qry.get(0).getCommand(); + Assert.assertEquals(34, command.getBatchRewriteValuesBraceOpenPosition()); + Assert.assertEquals(44, command.getBatchRewriteValuesBraceClosePosition()); + } + + @Test + public void insertMultiInsert() throws SQLException { + String query = + "insert into test(id, name) values (:id,:name),(:id,:name) ON CONFLICT (id) DO NOTHING"; + List qry = Parser.parseJdbcSql(query, true, true, true, true); + SqlCommand command = qry.get(0).getCommand(); + Assert.assertEquals(34, command.getBatchRewriteValuesBraceOpenPosition()); + Assert.assertEquals(56, command.getBatchRewriteValuesBraceClosePosition()); + } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java index 5546d31726..4c9f69f296 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java @@ -25,18 +25,26 @@ public enum BinaryMode { REGULAR, FORCE } + public enum ReWriteBatchedInserts { + YES, NO + } + public enum AutoCommit { YES, NO } protected Connection con; private BinaryMode binaryMode; + private ReWriteBatchedInserts reWriteBatchedInserts; protected PreferQueryMode preferQueryMode; protected void updateProperties(Properties props) { if (binaryMode == BinaryMode.FORCE) { forceBinary(props); } + if (reWriteBatchedInserts == ReWriteBatchedInserts.YES) { + PGProperty.REWRITE_BATCHED_INSERTS.set(props, true); + } } protected void forceBinary(Properties props) { @@ -47,6 +55,11 @@ public final void setBinaryMode(BinaryMode binaryMode) { this.binaryMode = binaryMode; } + public void setReWriteBatchedInserts( + ReWriteBatchedInserts reWriteBatchedInserts) { + this.reWriteBatchedInserts = reWriteBatchedInserts; + } + @Before public void setUp() throws Exception { Properties props = new Properties(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java index dd72f735d7..ac38742bbc 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java @@ -26,15 +26,19 @@ public class BatchedInsertReWriteEnabledTest extends BaseTest4 { private final AutoCommit autoCommit; - public BatchedInsertReWriteEnabledTest(AutoCommit autoCommit) { + public BatchedInsertReWriteEnabledTest(AutoCommit autoCommit, + BinaryMode binaryMode) { this.autoCommit = autoCommit; + setBinaryMode(binaryMode); } - @Parameterized.Parameters(name = "{index}: autoCommit={0}") + @Parameterized.Parameters(name = "{index}: autoCommit={0}, binary={1}") public static Iterable data() { Collection ids = new ArrayList(); for (AutoCommit autoCommit : AutoCommit.values()) { - ids.add(new Object[]{autoCommit}); + for (BinaryMode binaryMode : BinaryMode.values()) { + ids.add(new Object[]{autoCommit, binaryMode}); + } } return ids; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java index fd1257c0cf..253796f3f8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java @@ -10,11 +10,13 @@ import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.sql.PreparedStatement; +import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; @@ -26,15 +28,18 @@ */ @RunWith(Parameterized.class) public class UpsertTest extends BaseTest4 { - public UpsertTest(BinaryMode binaryMode) { + public UpsertTest(BinaryMode binaryMode, ReWriteBatchedInserts rewrite) { setBinaryMode(binaryMode); + setReWriteBatchedInserts(rewrite); } - @Parameterized.Parameters(name = "binary = {0}") + @Parameterized.Parameters(name = "binary = {0}, reWriteBatchedInserts = {1}") public static Iterable data() { Collection ids = new ArrayList(); for (BinaryMode binaryMode : BinaryMode.values()) { - ids.add(new Object[]{binaryMode}); + for (ReWriteBatchedInserts rewrite : ReWriteBatchedInserts.values()) { + ids.add(new Object[]{binaryMode, rewrite}); + } } return ids; } @@ -94,4 +99,53 @@ public void testUpsertDoUpdateNoConflict() throws SQLException { assertEquals("insert on conflict do update should report 1 modified row on plain insert", 1, count); } + + @Test + public void testSingleValuedUpsertBatch() throws SQLException { + PreparedStatement ps = null; + try { + ps = con.prepareStatement( + "insert into test_statement(i, t) values (?,?) ON CONFLICT (i) DO NOTHING"); + ps.setInt(1, 50); + ps.setString(2, "50"); + ps.addBatch(); + ps.setInt(1, 53); + ps.setString(2, "53"); + ps.addBatch(); + int[] actual = ps.executeBatch(); + BatchExecuteTest.assertSimpleInsertBatch(2, actual); + } finally { + TestUtil.closeQuietly(ps); + } + } + + @Test + public void testMultiValuedUpsertBatch() throws SQLException { + PreparedStatement ps = null; + try { + ps = con.prepareStatement( + "insert into test_statement(i, t) values (?,?),(?,?) ON CONFLICT (i) DO NOTHING"); + ps.setInt(1, 50); + ps.setString(2, "50"); + ps.setInt(3, 51); + ps.setString(4, "51"); + ps.addBatch(); + ps.setInt(1, 52); + ps.setString(2, "52"); + ps.setInt(3, 53); + ps.setString(4, "53"); + ps.addBatch(); + int[] actual = ps.executeBatch(); + + BatchExecuteTest.assertBatchResult("2 batched rows, 2-values each", new int[]{2, 2}, actual); + + Statement st = con.createStatement(); + ResultSet rs = + st.executeQuery("select count(*) from test_statement where i between 50 and 53"); + rs.next(); + Assert.assertEquals("test_statement should have 4 rows with 'i' of 50..53", 4, rs.getInt(1)); + } finally { + TestUtil.closeQuietly(ps); + } + } } From 1a89290e110d5863b35e0a2ccf79e4292c1056f8 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 23 Jan 2018 10:49:32 -0500 Subject: [PATCH 094/427] fix: package scram:client classes, so SCRAM works when using a shaded jar (#1091) --- .travis.yml | 3 ++- CHANGELOG.md | 4 ++++ docs/_posts/2018-01-17-42.2.0-release.md | 3 +++ pgjdbc/pom.xml | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d517abc06a..dcebb29078 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,6 +113,7 @@ matrix: - XA=true - REPLICATION=Y - COVERAGE=Y + - TEST_CLIENTS=Y - TZ=Pacific/Chatham # flips between +12:45 and +13:45 - jdk: oraclejdk8 sudo: required @@ -193,7 +194,7 @@ matrix: - PG_VERSION=9.6 - QUERY_MODE=simple - COVERAGE=Y - - ANORM_SBT=Y + - TEST_CLIENTS=Y - jdk: oraclejdk8 addons: postgresql: "9.3" diff --git a/CHANGELOG.md b/CHANGELOG.md index ac493e79de..ddb817ae9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - Avoid connection failure when `DateStyle` is set to `ISO` [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) +- Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library ## [42.2.0] (2018-01-17) +### Known issues +- SCRAM does not work as scram:client library is not packaged + ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) - Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 69a068b9e8..c6b62064a1 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -7,6 +7,9 @@ version: 42.2.0 --- **Notable changes** +### Known issues +- SCRAM authentication does not work as scram client classes are not packaged + ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) - Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index c4747421c1..9bdd911ae4 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -267,7 +267,7 @@ com.ongres.scram:client - *.* + ** From d5f1cf7c35b05318947021d41e73b6953f623256 Mon Sep 17 00:00:00 2001 From: Jamie Pullar Date: Tue, 23 Jan 2018 19:42:41 +0000 Subject: [PATCH 095/427] fix: getPGArrayType fails in when stringType=unspecified (#1036) --- .../org/postgresql/jdbc/TypeInfoCache.java | 10 ++-- .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 1 + .../jdbc2/StringTypeUnspecifiedArrayTest.java | 48 +++++++++++++++++++ 3 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/StringTypeUnspecifiedArrayTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java index 461506421d..c55f1d7f95 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java @@ -292,7 +292,7 @@ private PreparedStatement getOidStatement(String pgTypeName) throws SQLException + " FROM pg_catalog.pg_type t" + " JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid" + " JOIN pg_catalog.pg_type arr ON arr.oid = t.typarray" - + " WHERE t.typname = ? AND (n.nspname = ? OR ? IS NULL AND n.nspname = ANY (current_schemas(true)))" + + " WHERE t.typname = ? AND (n.nspname = ? OR ? AND n.nspname = ANY (current_schemas(true)))" + " ORDER BY t.oid DESC LIMIT 1"; } else { sql = "SELECT t.oid, t.typname " @@ -300,7 +300,7 @@ private PreparedStatement getOidStatement(String pgTypeName) throws SQLException + " JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid" + " WHERE t.typelem = (SELECT oid FROM pg_catalog.pg_type WHERE typname = ?)" + " AND substring(t.typname, 1, 1) = '_' AND t.typlen = -1" - + " AND (n.nspname = ? OR ? IS NULL AND n.nspname = ANY (current_schemas(true)))" + + " AND (n.nspname = ? OR ? AND n.nspname = ANY (current_schemas(true)))" + " ORDER BY t.typelem DESC LIMIT 1"; } _getOidStatementComplexArray = _conn.prepareStatement(sql); @@ -311,12 +311,14 @@ private PreparedStatement getOidStatement(String pgTypeName) throws SQLException String sql = "SELECT t.oid, t.typname " + " FROM pg_catalog.pg_type t" + " JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid" - + " WHERE t.typname = ? AND (n.nspname = ? OR ? IS NULL AND n.nspname = ANY (current_schemas(true)))" + + " WHERE t.typname = ? AND (n.nspname = ? OR ? AND n.nspname = ANY (current_schemas(true)))" + " ORDER BY t.oid DESC LIMIT 1"; _getOidStatementComplexNonArray = _conn.prepareStatement(sql); } oidStatementComplex = _getOidStatementComplexNonArray; } + //type name requested may be schema specific, of the form "{schema}"."typeName", + //or may check across all schemas where a schema is not specified. String fullName = isArray ? pgTypeName.substring(0, pgTypeName.length() - 2) : pgTypeName; String schema; String name; @@ -352,7 +354,7 @@ private PreparedStatement getOidStatement(String pgTypeName) throws SQLException } oidStatementComplex.setString(1, name); oidStatementComplex.setString(2, schema); - oidStatementComplex.setString(3, schema); + oidStatementComplex.setBoolean(3, schema == null); return oidStatementComplex; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 903409bfe8..28b79e6c17 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -62,6 +62,7 @@ ResultSetTest.class, ResultSetMetaDataTest.class, + StringTypeUnspecifiedArrayTest.class, ArrayTest.class, PrimitiveArraySupportTest.class, RefCursorTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StringTypeUnspecifiedArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StringTypeUnspecifiedArrayTest.java new file mode 100644 index 0000000000..81b7bf7464 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StringTypeUnspecifiedArrayTest.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2007, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.postgresql.PGProperty; +import org.postgresql.geometric.PGbox; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.Array; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Properties; + +@RunWith(Parameterized.class) +public class StringTypeUnspecifiedArrayTest extends BaseTest4 { + public StringTypeUnspecifiedArrayTest(BinaryMode binaryMode) { + setBinaryMode(binaryMode); + } + + @Parameterized.Parameters(name = "binary = {0}") + public static Iterable data() { + Collection ids = new ArrayList(); + for (BinaryMode binaryMode : BinaryMode.values()) { + ids.add(new Object[]{binaryMode}); + } + return ids; + } + + @Override + protected void updateProperties(Properties props) { + PGProperty.STRING_TYPE.set(props, "unspecified"); + super.updateProperties(props); + } + + @Test + public void testCreateArrayWithNonCachedType() throws Exception { + PGbox[] in = new PGbox[0]; + Array a = con.createArrayOf("box", in); + Assert.assertEquals(1111, a.getBaseType()); + } +} From e53838cd79a9a1a25caf7746ca7e56860079780a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 25 Jan 2018 17:53:46 +0300 Subject: [PATCH 096/427] docs: prepare release notes for 42.2.1 (#1093) --- CHANGELOG.md | 13 +++- docs/_posts/2018-01-17-42.2.0-release.md | 1 + docs/_posts/2018-01-25-42.2.1-release.md | 77 ++++++++++++++++++++++++ release_notes_filter.pl | 2 + 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 docs/_posts/2018-01-25-42.2.1-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index ddb817ae9d..f4efd22810 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [42.2.1] (2018-01-25) +### Changed +- socksProxyHost is ignored in case it contains empty string [PR 1079](https://github.com/pgjdbc/pgjdbc/pull/1079) + ### Fixed -- Avoid connection failure when `DateStyle` is set to `ISO` [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) -- Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library +- Avoid connection failure when `DateStyle` is set to `ISO` (~PgBouncer) [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) +- Package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) +- reWriteBatchedInserts=true causes syntax error with ON CONFLICT [Issue 1045](https://github.com/pgjdbc/pgjdbc/issues/1045) [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) +- Avoid failure in getPGArrayType when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) ## [42.2.0] (2018-01-17) ### Known issues @@ -107,4 +113,5 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). [42.1.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.2...REL42.1.3 [42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 [42.2.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...REL42.2.0 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...HEAD +[42.2.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...REL42.2.1 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...HEAD diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index c6b62064a1..6c20362e9d 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -25,6 +25,7 @@ version: 42.2.0 - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) - Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). - Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) + ### Fixed - Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) - Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) diff --git a/docs/_posts/2018-01-25-42.2.1-release.md b/docs/_posts/2018-01-25-42.2.1-release.md new file mode 100644 index 0000000000..a3f8f1f8a0 --- /dev/null +++ b/docs/_posts/2018-01-25-42.2.1-release.md @@ -0,0 +1,77 @@ +--- +title: PostgreSQL JDBC Driver 42.2.1 Released +date: 2018-01-25 19:30:35 +0300 +categories: + - new_release +version: 42.2.1 +--- +**Notable changes** + + +### Changed +- socksProxyHost is ignored in case it contains empty string [PR 1079](https://github.com/pgjdbc/pgjdbc/pull/1079) + +### Fixed +- Avoid connection failure when `DateStyle` is set to `ISO` (~PgBouncer) [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) +- Package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) +- reWriteBatchedInserts=true causes syntax error with ON CONFLICT [Issue 1045](https://github.com/pgjdbc/pgjdbc/issues/1045) [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) +- Avoid failure in getPGArrayType when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) + + + + +**Commits by author** + +AlexElin (1): + +* test: check if url is not for PostgreSQL [PR#1077](https://github.com/pgjdbc/pgjdbc/pull/1077) [fe463bce](https://github.com/pgjdbc/pgjdbc/commit/fe463bceb3d6449443bd5e6abf2929516effccff) + +Alexander Kjäll (1): + +* feat: add support for fetching 'TIMESTAMP(6) WITHOUT TIME ZONE' as LocalDate to getObject() [PR#1083](https://github.com/pgjdbc/pgjdbc/pull/1083) [09af4b23](https://github.com/pgjdbc/pgjdbc/commit/09af4b23ad589e3691314e955c130a8755436e2d) + +Dave Cramer (1): + +* fix: package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) + +Ivan (2): + +* chore: remove braces for LeftCurlyCheck checkstyle [PR#1075](https://github.com/pgjdbc/pgjdbc/pull/1075) [c2664b44](https://github.com/pgjdbc/pgjdbc/commit/c2664b444ffa1390d0dd5e4104d4200823d145ba) +* chore: remove additional braces for LeftCurlyCheck checkstyle [PR#1076](https://github.com/pgjdbc/pgjdbc/pull/1076) [975aaf5a](https://github.com/pgjdbc/pgjdbc/commit/975aaf5ae489b3efeda3fd0241a4d39d260105cd) + +JCzogalla (1): + +* Fixes issue #1078 [PR#1079](https://github.com/pgjdbc/pgjdbc/pull/1079) [0d51370b](https://github.com/pgjdbc/pgjdbc/commit/0d51370b68cd26ccfa92b0bae4a66da1015cf9ee) + +Jamie Pullar (1): + +* fix: getPGArrayType fails in when stringType=unspecified [PR#1036](https://github.com/pgjdbc/pgjdbc/pull/1036) [d5f1cf7c](https://github.com/pgjdbc/pgjdbc/commit/d5f1cf7c35b05318947021d41e73b6953f623256) + +Jorge Solorzano (1): + +* Fix style changelog [PR#1089](https://github.com/pgjdbc/pgjdbc/pull/1089) [5ebd2090](https://github.com/pgjdbc/pgjdbc/commit/5ebd20900ebf7af5b55c56eac7f2fae6d40d9f5c) + +Pavel Raiskup (1): + +* packaging: update Fedora's CI [dcbf70bc](https://github.com/pgjdbc/pgjdbc/commit/dcbf70bc071fe9d602f7c87918982b01452da9ba) + +Vladimir Sitnikov (3): + +* docs: reflect 42.2.0 release in readme.md [6d02e958](https://github.com/pgjdbc/pgjdbc/commit/6d02e9587e47921e66d8d029e5056bab72f15565) +* fix: avoid connection failure when DateStyle is set to ISO [PR#1081](https://github.com/pgjdbc/pgjdbc/pull/1081) [e442db1f](https://github.com/pgjdbc/pgjdbc/commit/e442db1f064c78372f8312d65faee30842a68aea) +* fix: reWriteBatchedInserts=true causes syntax error with ON CONFLICT [PR#1082](https://github.com/pgjdbc/pgjdbc/pull/1082) [e133510e](https://github.com/pgjdbc/pgjdbc/commit/e133510e70114db128784911b6790b5690d77320) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[AlexElin](https://github.com/AlexElin) +[Alexander Kjäll](https://github.com/alexanderkjall) +[Dave Cramer](davec@postgresintl.com) +[Ivan](https://github.com/vaano94) +[JCzogalla](https://github.com/JCzogalla) +[Jamie Pullar](https://github.com/JamiePullar) +[Jorge Solorzano](https://github.com/jorsol) +[Pavel Raiskup](https://github.com/praiskup) +[Vladimir Sitnikov](https://github.com/vlsi) diff --git a/release_notes_filter.pl b/release_notes_filter.pl index 5fdd74789d..aa82fe6e82 100644 --- a/release_notes_filter.pl +++ b/release_notes_filter.pl @@ -28,6 +28,8 @@ 'Hugh Cole-Baker' => 'https://github.com/sigmaris', 'Jacques Fuentes' => 'https://github.com/jpfuentes2', 'James' => 'https://github.com/jamesthomp', + 'Jamie Pullar' => 'https://github.com/JamiePullar', + 'JCzogalla' => 'https://github.com/JCzogalla', 'Jeff Klukas' => 'https://github.com/jklukas', 'Jeremy Whiting' => 'https://github.com/whitingjr', 'Joe Kutner' => 'https://github.com/jkutner', From 7bb4ebc1c5775a0dca0adf8d760acd5336d355fc Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 25 Jan 2018 15:42:18 +0000 Subject: [PATCH 097/427] [maven-release-plugin] prepare release REL42.2.1 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 9bdd911ae4..ff850bf966 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.1-SNAPSHOT + 42.2.1 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,4 +335,8 @@ + + + REL42.2.1 + diff --git a/pom.xml b/pom.xml index 84f3e60cb8..45eba2880d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.1-SNAPSHOT + 42.2.1 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.1 diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index f5dff31a02..e1a370d3fc 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.1-SNAPSHOT + 42.2.1 PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,4 +233,8 @@ POSSIBILITY OF SUCH DAMAGE. + + + REL42.2.1 + From 4f0ce33160e4cffd3c341bc5956d52275f1829c6 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 25 Jan 2018 15:42:22 +0000 Subject: [PATCH 098/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +----- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index ff850bf966..3453ad9261 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.1 + 42.2.2-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,8 +335,4 @@ - - - REL42.2.1 - diff --git a/pom.xml b/pom.xml index 45eba2880d..98e54a405f 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.1 + 42.2.2-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.1 + HEAD diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index e1a370d3fc..c45bd4fd2a 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.1 + 42.2.2-SNAPSHOT PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,8 +233,4 @@ POSSIBILITY OF SUCH DAMAGE. - - - REL42.2.1 - From 1a4256b973da36c0fc42f0268e58e1535073247b Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 25 Jan 2018 20:24:24 +0300 Subject: [PATCH 099/427] docs: reflect 42.2.1 release in readme.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 291bb868de..b43ce9f8be 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.0-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.1-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.0 + 42.2.1 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.0.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.1.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.0.jre7 + 42.2.1.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.0.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.1.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.0.jre6 + 42.2.1.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.0|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.1-SNAPSHOT - 42.2.1.jre7-SNAPSHOT - 42.2.1.jre6-SNAPSHOT + 42.2.2-SNAPSHOT + 42.2.2.jre7-SNAPSHOT + 42.2.2.jre6-SNAPSHOT ``` From 643e5583fe34c28602af21eb766acbc56a7b26d7 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 26 Jan 2018 08:44:15 -0500 Subject: [PATCH 100/427] Update java8-date-time.md TIMEZONE -> TIME ZONE --- docs/documentation/head/java8-date-time.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/documentation/head/java8-date-time.md b/docs/documentation/head/java8-date-time.md index f11a5f4db6..f4eb7f51e1 100644 --- a/docs/documentation/head/java8-date-time.md +++ b/docs/documentation/head/java8-date-time.md @@ -27,15 +27,15 @@ The PostgreSQL™ JDBC driver implements native support for the LocalDate - TIME [ WITHOUT TIMEZONE ] + TIME [ WITHOUT TIME ZONE ] LocalTime - TIMESTAMP [ WITHOUT TIMEZONE ] + TIMESTAMP [ WITHOUT TIME ZONE ] LocalDateTime - TIMESTAMP WITH TIMEZONE + TIMESTAMP WITH TIME ZONE OffsetDateTime @@ -43,7 +43,7 @@ The PostgreSQL™ JDBC driver implements native support for the This is closely aligned with tables B-4 and B-5 of the JDBC 4.2 specification. Note that `ZonedDateTime`, `Instant` and -`OffsetTime / TIME [ WITHOUT TIMEZONE ]` are not supported. Also note +`OffsetTime / TIME [ WITHOUT TIME ZONE ]` are not supported. Also note that all `OffsetDateTime` will instances will have be in UTC (have offset 0). This is because the backend stores them as UTC. From 6fe76a3c9289c78b2a8875e101020747584c36a7 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 26 Jan 2018 12:00:20 -0500 Subject: [PATCH 101/427] Update about.html note that we support Java 9 --- docs/about/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about/about.html b/docs/about/about.html index 084112f254..a4d2631944 100644 --- a/docs/about/about.html +++ b/docs/about/about.html @@ -14,7 +14,7 @@

About

database independent Java code. Is an open source JDBC driver written in Pure Java (Type 4), and communicates in the PostgreSQL native network protocol.

The current version of the driver should be compatible with PostgreSQL 8.2 and higher, - and Java 6 (JDBC 4.0), Java 7 (JDBC 4.1) and Java 8 (JDBC 4.2).

+ and Java 6 (JDBC 4.0), Java 7 (JDBC 4.1), Java 8 (JDBC 4.2) and Java 9.


From aa676bb39117dc47cbd51a236b232227e9128220 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 28 Jan 2018 15:54:05 +0300 Subject: [PATCH 102/427] chore: make sure TEST_CLIENTS performs regular tests as well --- .travis.yml | 6 ------ .travis/travis_build.sh | 18 ++++++++---------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index dcebb29078..861922fd8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -202,12 +202,6 @@ matrix: - PG_VERSION=9.3 - QUERY_MODE=extendedForPrepared - COVERAGE=Y - - jdk: oraclejdk8 - addons: - postgresql: "9.6" - env: - - PG_VERSION=9.6 - - TEST_CLIENTS=Y - jdk: oraclejdk8 addons: postgresql: "9.4" diff --git a/.travis/travis_build.sh b/.travis/travis_build.sh index 57fd97a0fd..0ccc6878b4 100755 --- a/.travis/travis_build.sh +++ b/.travis/travis_build.sh @@ -36,10 +36,7 @@ then MVN_ARGS="$MVN_ARGS -Dcurrent.jdk=1.9 -Djavac.target=1.9" fi -if [[ "$TEST_CLIENTS" ]]; -then - mvn clean install -B -V -DskipTests $MVN_CUSTOM_ARGS -elif [[ "$JDOC" == *"Y"* ]]; +if [[ "$JDOC" == *"Y"* ]]; then # Build javadocs for Java 8 only mvn ${MVN_ARGS} -P ${MVN_PROFILES},release-artifacts @@ -57,9 +54,16 @@ else mvn ${MVN_ARGS} -P ${MVN_PROFILES} fi +if [[ "${COVERAGE}" == "Y" ]]; +then + pip install --user codecov + codecov +fi + # Run Scala-based and Clojure-based tests if [[ "${TEST_CLIENTS}" == *"Y" ]]; then + # Pgjdbc should be in "local maven repository" so the clients can use it. Mvn commands above just package it. mvn -DskipTests install mkdir -p $HOME/.sbt/launchers/0.13.12 @@ -78,9 +82,3 @@ then #cd java.jdbc #TEST_DBS=postgres TEST_POSTGRES_USER=test TEST_POSTGRES_DBNAME=test mvn test -Djava.jdbc.test.pgjdbc.version=$PROJECT_VERSION fi - -if [[ "${COVERAGE}" == "Y" ]]; -then - pip install --user codecov - codecov -fi From df4e7fa07c205e12f7fe5e3c80ab90ea63c1bc17 Mon Sep 17 00:00:00 2001 From: Pawel Date: Thu, 1 Feb 2018 07:58:04 -0800 Subject: [PATCH 103/427] Fixes #1096 (#1097) --- docs/documentation/94/connect.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/documentation/94/connect.md b/docs/documentation/94/connect.md index a1eb5cb481..15adad82d2 100644 --- a/docs/documentation/94/connect.md +++ b/docs/documentation/94/connect.md @@ -121,7 +121,11 @@ connection. * `recvBufferSize = int` Sets SO_RCVBUF on the connection stream + +* `receiveBufferSize = int` + Sets SO_RCVBUF on the connection stream + * `protocolVersion = String` The driver supports both the V2 and V3 frontend/backend protocols. The @@ -330,14 +334,6 @@ connection. Use SPNEGO in SSPI authentication requests -* `sendBufferSize = int` - - Sets SO_SNDBUF on the connection stream - -* `receiveBufferSize = int` - - Sets SO_RCVBUF on the connection stream - * `readOnly = boolean` Put the connection in read-only mode From 0cfffa841b9b8d2040fe6c576aa77edfd399bbc0 Mon Sep 17 00:00:00 2001 From: bpd0018 Date: Fri, 2 Feb 2018 14:11:38 -0600 Subject: [PATCH 104/427] docs: fix spelling and chapter, update sample code (#1098) metioned -> mentioned Chapter 12 -> Chapter 13 change sample code to match PgJDBC code style guidelines explicitly close (via try-with-resources) the Statement and ResultSet in retrieveCircle(Connection) --- docs/documentation/head/geometric.md | 80 +++++++++++++--------------- 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/docs/documentation/head/geometric.md b/docs/documentation/head/geometric.md index 0d37dbbfe5..f6a6dc6485 100644 --- a/docs/documentation/head/geometric.md +++ b/docs/documentation/head/geometric.md @@ -1,9 +1,9 @@ --- layout: default_docs title: Geometric Data Types -header: Chapter 9. PostgreSQL™ Extensions to the JDBC API +header: Chapter 9. PostgreSQL™ Extensions to the JDBC API resource: media -previoustitle: Chapter 9. PostgreSQL™ Extensions to the JDBC API +previoustitle: Chapter 9. PostgreSQL™ Extensions to the JDBC API previous: ext.html nexttitle: Large Objects next: largeobjects.html @@ -12,10 +12,11 @@ next: largeobjects.html PostgreSQL™ has a set of data types that can store geometric features into a table. These include single points, lines, and polygons. We support these types in Java with the org.postgresql.geometric package. Please consult the Javadoc -for the details of available classes and features metioned in [Chapter 12, *Further Reading*](reading.html). +mentioned in [Chapter 13, *Further Reading*](reading.html) for details of +available classes and features. -**Example 9.1. Using the CIRCLE datatype JDBC** +**Example 9.1. Using the CIRCLE datatype JDBC** ```java import java.sql.*; @@ -24,47 +25,40 @@ import org.postgresql.geometric.PGpoint; import org.postgresql.geometric.PGcircle; public class GeometricTest { + public static void main(String args[]) throws Exception { + String url = "jdbc:postgresql://localhost:5432/test"; + try (Connection conn = DriverManager.getConnection(url, "test", "")) { + try (Statement stmt = conn.createStatement()) { + stmt.execute("CREATE TEMP TABLE geomtest(mycirc circle)"); + } + insertCircle(conn); + retrieveCircle(conn); + } + } - public static void main(String args[]) throws Exception { - Class.forName("org.postgresql.Driver"); - String url = "jdbc:postgresql://localhost:5432/test"; + private static void insertCircle(Connection conn) throws SQLException { + PGpoint center = new PGpoint(1, 2.5); + double radius = 4; + PGcircle circle = new PGcircle(center, radius); + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO geomtest(mycirc) VALUES (?)")) { + ps.setObject(1, circle); + ps.executeUpdate(); + } + } - Connection conn = DriverManager.getConnection(url,"test",""); + private static void retrieveCircle(Connection conn) throws SQLException { + try (Statement stmt = conn.createStatement()) { + try (ResultSet rs = stmt.executeQuery("SELECT mycirc, area(mycirc) FROM geomtest")) { + while (rs.next()) { + PGcircle circle = (PGcircle)rs.getObject(1); + double area = rs.getDouble(2); - Statement stmt = conn.createStatement(); - stmt.execute("CREATE TEMP TABLE geomtest(mycirc circle)"); - stmt.close(); - - insertCircle(conn); - retrieveCircle(conn); - conn.close(); - } - - private static void insertCircle(Connection conn) throws SQLException { - - PGpoint center = new PGpoint(1, 2.5); - double radius = 4; - PGcircle circle = new PGcircle(center, radius); - - PreparedStatement ps = conn.prepareStatement("INSERT INTO geomtest(mycirc) VALUES (?)"); - ps.setObject(1, circle); - ps.executeUpdate(); - ps.close(); - } - - private static void retrieveCircle(Connection conn) throws SQLException { - Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT mycirc, area(mycirc) FROM geomtest"); - rs.next(); - PGcircle circle = (PGcircle)rs.getObject(1); - double area = rs.getDouble(2); - - PGpoint center = circle.center; - double radius = circle.radius; - - System.out.println("Center (X, Y) = (" + center.x + ", " + center.y + ")"); - System.out.println("Radius = " + radius); - System.out.println("Area = " + area); - } + System.out.println("Center (X, Y) = (" + circle.center.x + ", " + circle.center.y + ")"); + System.out.println("Radius = " + circle.radius); + System.out.println("Area = " + area); + } + } + } + } } ``` From 48b98971d085a7988b67a31cf5ff9fb52c5534e5 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 13 Feb 2018 20:56:24 +0300 Subject: [PATCH 105/427] chore: remove unused variable lastKnownTime in ConnectionFactoryImpl --- .../main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index ee59bd9ffc..a797495439 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -125,8 +125,6 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT); } - long lastKnownTime = System.currentTimeMillis() - PGProperty.HOST_RECHECK_SECONDS.getInt(info) * 1000; - SocketFactory socketFactory = SocketFactoryFactory.getSocketFactory(info); HostChooser hostChooser = From 0e9dfce42c80391d0eefa830600e0ac4c1baae50 Mon Sep 17 00:00:00 2001 From: trtrmitya Date: Thu, 15 Feb 2018 08:50:11 +0300 Subject: [PATCH 106/427] fix: use Locale.Category.DISPLAY (~lc_messages) when selecting resource bundle. (#1115) --- pgjdbc/src/main/java/org/postgresql/util/GT.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/util/GT.java b/pgjdbc/src/main/java/org/postgresql/util/GT.java index 3f3169c541..4780e4fdb5 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/GT.java +++ b/pgjdbc/src/main/java/org/postgresql/util/GT.java @@ -6,6 +6,7 @@ package org.postgresql.util; import java.text.MessageFormat; +import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; @@ -28,7 +29,11 @@ public static String tr(String message, Object... args) { private GT() { try { + //#if mvn.project.property.postgresql.jdbc.spec < "JDBC4.1" _bundle = ResourceBundle.getBundle("org.postgresql.translation.messages"); + //#else + _bundle = ResourceBundle.getBundle("org.postgresql.translation.messages", Locale.getDefault(Locale.Category.DISPLAY)); + //#endif } catch (MissingResourceException mre) { // translation files have not been installed _bundle = null; From 3b3fd8c90a4bdcde101f45ae255ca2fe30bac338 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 15 Feb 2018 08:40:48 -0500 Subject: [PATCH 107/427] Update documentation.md Make it clearer that 9.4 is not the current documentation --- docs/documentation/documentation.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/documentation/documentation.md b/docs/documentation/documentation.md index c72f53660f..0520222d51 100644 --- a/docs/documentation/documentation.md +++ b/docs/documentation/documentation.md @@ -6,7 +6,8 @@ nav: ../ --- * [HEAD](head/index.html) -* [9.4](94/index.html) Download - [postgresql-jdbc-head-doc.tar.gz](postgresql-jdbc-head-doc.tar.gz) +* [42.x](head/index.html) Download - [postgresql-jdbc-head-doc.tar.gz](postgresql-jdbc-head-doc.tar.gz) +* [9.4](94/index.html) Download - [postgresql-jdbc-head-doc.tar.gz](postgresql-jdbc-94-doc.tar.gz) * [9.3](93/index.html) Download - [postgresql-jdbc-93-doc.tar.gz](postgresql-jdbc-93-doc.tar.gz) * [9.2](92/index.html) Download - [postgresql-jdbc-92-doc.tar.gz](postgresql-jdbc-92-doc.tar.gz) * [9.1](91/index.html) Download - [postgresql-jdbc-91-doc.tar.gz](postgresql-jdbc-91-doc.tar.gz) From a8ef9f96feb02246a3d7967ada2ffe146778f7ed Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 15 Feb 2018 15:56:14 -0500 Subject: [PATCH 108/427] Update documentation.md fix up 94 url --- docs/documentation/documentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/documentation.md b/docs/documentation/documentation.md index 0520222d51..8fb0ff231d 100644 --- a/docs/documentation/documentation.md +++ b/docs/documentation/documentation.md @@ -7,7 +7,7 @@ nav: ../ * [HEAD](head/index.html) * [42.x](head/index.html) Download - [postgresql-jdbc-head-doc.tar.gz](postgresql-jdbc-head-doc.tar.gz) -* [9.4](94/index.html) Download - [postgresql-jdbc-head-doc.tar.gz](postgresql-jdbc-94-doc.tar.gz) +* [9.4](94/index.html) Download - [postgresql-jdbc-94-doc.tar.gz](postgresql-jdbc-94-doc.tar.gz) * [9.3](93/index.html) Download - [postgresql-jdbc-93-doc.tar.gz](postgresql-jdbc-93-doc.tar.gz) * [9.2](92/index.html) Download - [postgresql-jdbc-92-doc.tar.gz](postgresql-jdbc-92-doc.tar.gz) * [9.1](91/index.html) Download - [postgresql-jdbc-91-doc.tar.gz](postgresql-jdbc-91-doc.tar.gz) From 8ff2a617c8a153eb364d8b762102b6b6b1cb53f8 Mon Sep 17 00:00:00 2001 From: Simon Stelling Date: Sat, 17 Feb 2018 19:31:04 +0100 Subject: [PATCH 109/427] fix: handle Timestamp values with fractional seconds < 1 microsecond correctly in PreparedStatement arguments (#1119) When Timestamp values with nanosecond values < 1000 are submitted as arguments to a PreparedStatement, avoid formatting them with a trailing dot '.' after the seconds part. This fixes a regression introduced with PR #896. closes #1117 --- .../org/postgresql/jdbc/TimestampUtils.java | 7 +- .../postgresql/test/jdbc2/TimestampTest.java | 80 ++++++++++++++++++- 2 files changed, 81 insertions(+), 6 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 182008dc99..cfdb92258f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -654,17 +654,18 @@ private static void appendTime(StringBuilder sb, int hours, int minutes, int sec sb.append(':'); sb.append(NUMBERS[seconds]); - // Add nanoseconds. + // Add microseconds, rounded. // This won't work for server versions < 7.2 which only want // a two digit fractional second, but we don't need to support 7.1 // anymore and getting the version number here is difficult. // - if (nanos == 0) { + int microseconds = (nanos / 1000) + (((nanos % 1000) + 500) / 1000); + if (microseconds == 0) { return; } sb.append('.'); int len = sb.length(); - sb.append(nanos / 1000); // append microseconds + sb.append(microseconds); int needZeros = 6 - (sb.length() - len); if (needZeros > 0) { sb.insert(len, ZEROS, 0, needZeros); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java index a90e4427ca..c8d9766738 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java @@ -332,6 +332,10 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); @@ -347,6 +351,10 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); @@ -362,6 +370,10 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS6WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS7WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate1WOTZ.getTime())) + "'"))); @@ -377,6 +389,8 @@ public void testGetTimestampWOTZ() throws SQLException { "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate6WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate7WOTZ.getTime())) + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, + "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate8WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime1WOTZ.getTime())) + "'"))); @@ -392,11 +406,13 @@ public void testGetTimestampWOTZ() throws SQLException { "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime6WOTZ.getTime())) + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime7WOTZ.getTime())) + "'"))); + assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, + "'" + tsu.toString(null, new java.sql.Timestamp(tmpTime8WOTZ.getTime())) + "'"))); // Fall through helper timestampTestWOTZ(); - assertEquals(35, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(43, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); stmt.close(); } @@ -436,6 +452,12 @@ public void testSetTimestampWOTZ() throws SQLException { pstmt.setTimestamp(1, TS7WOTZ); assertEquals(1, pstmt.executeUpdate()); + pstmt.setTimestamp(1, TS8WOTZ); + assertEquals(1, pstmt.executeUpdate()); + + pstmt.setTimestamp(1, TS9WOTZ); + assertEquals(1, pstmt.executeUpdate()); + // With java.sql.Timestamp pstmt.setObject(1, TS1WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); @@ -451,6 +473,10 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS7WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS8WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS9WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With Strings pstmt.setObject(1, TS1WOTZ_PGFORMAT, Types.TIMESTAMP); @@ -467,6 +493,10 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS7WOTZ_PGFORMAT, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS8WOTZ_PGFORMAT, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS9WOTZ_PGFORMAT, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With java.sql.Date pstmt.setObject(1, tmpDate1WOTZ, Types.TIMESTAMP); @@ -483,6 +513,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, tmpDate7WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, tmpDate8WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With java.sql.Time pstmt.setObject(1, tmpTime1WOTZ, Types.TIMESTAMP); @@ -499,10 +531,12 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, tmpTime7WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, tmpTime8WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // Fall through helper timestampTestWOTZ(); - assertEquals(35, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(43, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); pstmt.close(); stmt.close(); @@ -663,6 +697,24 @@ private void timestampTestWOTZ() throws SQLException { tString = rs.getString(1); assertNotNull(tString); assertEquals(TS7WOTZ_PGFORMAT, tString); + + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(TS8WOTZ, t); + + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS8WOTZ_PGFORMAT, tString); + + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(TS9WOTZ_ROUNDED, t); + + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS9WOTZ_ROUNDED_PGFORMAT, tString); } // Testing for Date @@ -701,6 +753,11 @@ private void timestampTestWOTZ() throws SQLException { assertNotNull(t); assertEquals(tmpDate7WOTZ.getTime(), t.getTime()); + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(tmpDate8WOTZ.getTime(), t.getTime()); + // Testing for Time assertTrue(rs.next()); t = rs.getTimestamp(1); @@ -737,6 +794,11 @@ private void timestampTestWOTZ() throws SQLException { assertNotNull(t); assertEquals(tmpTime7WOTZ.getTime(), t.getTime()); + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(tmpTime8WOTZ.getTime(), t.getTime()); + assertTrue(!rs.next()); // end of table. Fail if more entries exist. rs.close(); @@ -816,6 +878,17 @@ private static java.sql.Timestamp getTimestamp(int y, int m, int d, int h, int m getTimestamp(2000, 7, 7, 15, 0, 0, 0, null); private static final String TS7WOTZ_PGFORMAT = "2000-07-07 15:00:00"; + private static final java.sql.Timestamp TS8WOTZ = + getTimestamp(2000, 7, 7, 15, 0, 0, 20400000, null); + private static final String TS8WOTZ_PGFORMAT = "2000-07-07 15:00:00.0204"; + + private static final java.sql.Timestamp TS9WOTZ = + getTimestamp(2000, 2, 7, 15, 0, 0, 789, null); + private static final String TS9WOTZ_PGFORMAT = "2000-02-07 15:00:00.000000789"; + private static final java.sql.Timestamp TS9WOTZ_ROUNDED = + getTimestamp(2000, 2, 7, 15, 0, 0, 1000, null); + private static final String TS9WOTZ_ROUNDED_PGFORMAT = "2000-02-07 15:00:00.000001"; + private static final String TSWTZ_TABLE = "testtimestampwtz"; private static final String TSWOTZ_TABLE = "testtimestampwotz"; private static final String DATE_TABLE = "testtimestampdate"; @@ -843,6 +916,7 @@ private static java.sql.Timestamp getTimestamp(int y, int m, int d, int h, int m private static final java.sql.Date tmpTime6WOTZ = new java.sql.Date(TS6WOTZ.getTime()); private static final java.sql.Date tmpDate7WOTZ = new java.sql.Date(TS7WOTZ.getTime()); private static final java.sql.Time tmpTime7WOTZ = new java.sql.Time(TS7WOTZ.getTime()); - + private static final java.sql.Date tmpDate8WOTZ = new java.sql.Date(TS8WOTZ.getTime()); + private static final java.sql.Time tmpTime8WOTZ = new java.sql.Time(TS8WOTZ.getTime()); } From cc219aa79b37f03432db4fe61e06b5f27fcb7f83 Mon Sep 17 00:00:00 2001 From: bpd0018 <17967090+bpd0018@users.noreply.github.com> Date: Sun, 18 Feb 2018 03:37:31 -0600 Subject: [PATCH 110/427] style: spelling in comment (#1121) change incorrent to incorrect --- .../src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 57977c4d1e..9bacfb2f36 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1504,7 +1504,7 @@ private void sendBind(SimpleQuery query, SimpleParameterList params, Portal port // backend's MaxAllocSize is the largest message that can // be received from a client. If we have a bigger value - // from either very large parameters or incorrent length + // from either very large parameters or incorrect length // descriptions of setXXXStream we do not send the bind // messsage. // From 43d80cd48a54ea91868d15bd2f3806b467519883 Mon Sep 17 00:00:00 2001 From: bpd0018 <17967090+bpd0018@users.noreply.github.com> Date: Sun, 18 Feb 2018 03:38:53 -0600 Subject: [PATCH 111/427] docs: fix JavaDoc for getPreferQueryMode() (#1122) Update the JavaDoc to show that the return type is PreferQueryMode rather than boolean. --- pgjdbc/src/main/java/org/postgresql/PGConnection.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index ec849568e3..ad2172a8e6 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -204,12 +204,14 @@ public interface PGConnection { String escapeLiteral(String literal) throws SQLException; /** - * Returns true if the connection is configured to use "simple 'Q' execute" commands only - * When running in simple protocol only, certain features are not available: callable statements, + * Returns the query mode for this connection. + *

+ * When running in simple query mode, certain features are not available: callable statements, * partial result set fetch, bytea type, etc. * The list of supported features is subject to change. * - * @return true if the connection is configured to use "simple 'Q' execute" commands only + * @return the preferred query mode + * @see PreferQueryMode */ PreferQueryMode getPreferQueryMode(); From 45c32bc6af2e140ff86dabd718344c74fc244394 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 18 Feb 2018 14:33:32 +0300 Subject: [PATCH 112/427] fix: ArrayIndexOutOfBoundsException when using the same SQL for regular and updateable resultset (#1123) fixes #1116 --- .../postgresql/core/v3/QueryExecutorImpl.java | 11 +++++ .../org/postgresql/core/v3/SimpleQuery.java | 3 ++ .../test/jdbc2/UpdateableResultTest.java | 48 +++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 9bacfb2f36..3fcb737d9d 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1489,6 +1489,17 @@ private void sendBind(SimpleQuery query, SimpleParameterList params, Portal port } } } + // If text-only results are required (e.g. updateable resultset), and the query has binary columns, + // flip to text format. + if (noBinaryTransfer && query.hasBinaryFields()) { + for (Field field : fields) { + if (field.getFormat() != Field.TEXT_FORMAT) { + field.setFormat(Field.TEXT_FORMAT); + } + } + query.resetNeedUpdateFieldFormats(); + query.setHasBinaryFields(false); + } // This is not the number of binary fields, but the total number // of fields if any of them are binary or zero if all of them diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java index feab7ef76a..1041723584 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java @@ -204,6 +204,9 @@ boolean needUpdateFieldFormats() { return false; } + public void resetNeedUpdateFieldFormats() { + needUpdateFieldFormats = fields != null; + } public boolean hasBinaryFields() { return hasBinaryFields; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java index e98e4cae2d..34631605ad 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java @@ -12,8 +12,11 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.postgresql.PGConnection; import org.postgresql.test.TestUtil; +import org.junit.Assert; +import org.junit.Assume; import org.junit.Test; import java.io.ByteArrayInputStream; @@ -529,4 +532,49 @@ public void testMultiColumnUpdate() throws Exception { st.close(); } + @Test + public void simpleAndUpdateableSameQuery() throws Exception { + PGConnection unwrap = con.unwrap(PGConnection.class); + Assume.assumeNotNull(unwrap); + int prepareThreshold = unwrap.getPrepareThreshold(); + String sql = "select * from second where id1=?"; + for (int i = 0; i <= prepareThreshold; i++) { + PreparedStatement ps = null; + ResultSet rs = null; + try { + ps = con.prepareStatement(sql); + ps.setInt(1, 1); + rs = ps.executeQuery(); + rs.next(); + String name1 = rs.getString("name1"); + Assert.assertEquals("anyvalue", name1); + int id1 = rs.getInt("id1"); + Assert.assertEquals(1, id1); + } finally { + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(ps); + } + } + // The same SQL, and use updateable ResultSet + { + PreparedStatement ps = null; + ResultSet rs = null; + try { + ps = con.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE); + ps.setInt(1, 1); + rs = ps.executeQuery(); + rs.next(); + String name1 = rs.getString("name1"); + Assert.assertEquals("anyvalue", name1); + int id1 = rs.getInt("id1"); + Assert.assertEquals(1, id1); + rs.updateString("name1", "updatedValue"); + rs.updateRow(); + } finally { + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(ps); + } + } + } + } From 1ca0c5864a8b6c575b32aee03e2e1e8848fee143 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 8 Mar 2018 20:06:56 +0700 Subject: [PATCH 113/427] fix: support insert ... on conflict...update for reWriteBatchedInserts=true (#1130) pgjdbc will avoid rewriting the query if a bind is identified after values(...) That is ON CONFLICT... DO update set x=? is NOT rewrite-compatible, and update set x='default' is rewrite-compatible "reported" here: https://stackoverflow.com/questions/47664889/jdbc-batch-operations-understanding/48349524?noredirect=1#comment84691562_48349524 --- CHANGELOG.md | 2 + .../main/java/org/postgresql/core/Parser.java | 15 +++++-- .../java/org/postgresql/core/ParserTest.java | 16 +++++++ .../org/postgresql/test/jdbc2/UpsertTest.java | 42 +++++++++++++++++++ 4 files changed, 71 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4efd22810..7d65f62a4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Fixed +- Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR#1130](https://github.com/pgjdbc/pgjdbc/pull/1130) ## [42.2.1] (2018-01-25) ### Changed diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index ff2bef0cbf..8ae75a16cb 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -149,6 +149,13 @@ public static List parseJdbcSql(String query, boolean standardConfo nativeQueries = new ArrayList(); } + if (!isValuesFound || !isCurrentReWriteCompatible || valuesBraceClosePosition == -1 + || (bindPositions != null + && valuesBraceClosePosition < bindPositions.get(bindPositions.size() - 1))) { + valuesBraceOpenPosition = -1; + valuesBraceClosePosition = -1; + } + nativeQueries.add(new NativeQuery(nativeSql.toString(), toIntArray(bindPositions), false, SqlCommand.createStatementTypeInfo( @@ -236,10 +243,10 @@ public static List parseJdbcSql(String query, boolean standardConfo } } } - if (!isValuesFound) { - isCurrentReWriteCompatible = false; - } - if (!isCurrentReWriteCompatible) { + + if (!isValuesFound || !isCurrentReWriteCompatible || valuesBraceClosePosition == -1 + || (bindPositions != null + && valuesBraceClosePosition < bindPositions.get(bindPositions.size() - 1))) { valuesBraceOpenPosition = -1; valuesBraceClosePosition = -1; } diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 7cf362fa66..706dc530dc 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -171,6 +171,22 @@ public void insertBatchedReWriteOnConflict() throws SQLException { Assert.assertEquals(44, command.getBatchRewriteValuesBraceClosePosition()); } + @Test + public void insertBatchedReWriteOnConflictUpdateBind() throws SQLException { + String query = "insert into test(id, name) values (?,?) ON CONFLICT (id) UPDATE SET name=?"; + List qry = Parser.parseJdbcSql(query, true, true, true, true); + SqlCommand command = qry.get(0).getCommand(); + Assert.assertFalse("update set name=? is NOT compatible with insert rewrite", command.isBatchedReWriteCompatible()); + } + + @Test + public void insertBatchedReWriteOnConflictUpdateConstant() throws SQLException { + String query = "insert into test(id, name) values (?,?) ON CONFLICT (id) UPDATE SET name='default'"; + List qry = Parser.parseJdbcSql(query, true, true, true, true); + SqlCommand command = qry.get(0).getCommand(); + Assert.assertTrue("update set name='default' is compatible with insert rewrite", command.isBatchedReWriteCompatible()); + } + @Test public void insertMultiInsert() throws SQLException { String query = diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java index 253796f3f8..05934f4424 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java @@ -148,4 +148,46 @@ public void testMultiValuedUpsertBatch() throws SQLException { TestUtil.closeQuietly(ps); } } + + @Test + public void testSingleValuedUpsertUpdateBatch() throws SQLException { + PreparedStatement ps = null; + try { + ps = con.prepareStatement( + "insert into test_statement(i, t) values (?,?) ON CONFLICT (i) DO update set t=?"); + ps.setInt(1, 50); + ps.setString(2, "50U"); + ps.setString(3, "50U"); + ps.addBatch(); + ps.setInt(1, 53); + ps.setString(2, "53U"); + ps.setString(3, "53U"); + ps.addBatch(); + int[] actual = ps.executeBatch(); + BatchExecuteTest.assertSimpleInsertBatch(2, actual); + } finally { + TestUtil.closeQuietly(ps); + } + } + + @Test + public void testSingleValuedUpsertUpdateConstantBatch() throws SQLException { + PreparedStatement ps = null; + try { + // For reWriteBatchedInserts=YES the following is expected + // FE=> Parse(stmt=null,query="insert into test_statement(i, t) values ($1,$2),($3,$4) ON CONFLICT (i) DO update set t='DEF'",oids={23,1043,23,1043}) + ps = con.prepareStatement( + "insert into test_statement(i, t) values (?,?) ON CONFLICT (i) DO update set t='DEF'"); + ps.setInt(1, 50); + ps.setString(2, "50"); + ps.addBatch(); + ps.setInt(1, 53); + ps.setString(2, "53"); + ps.addBatch(); + int[] actual = ps.executeBatch(); + BatchExecuteTest.assertSimpleInsertBatch(2, actual); + } finally { + TestUtil.closeQuietly(ps); + } + } } From af64ed2dac035c621b4aec4a0471730457725194 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 8 Mar 2018 22:12:55 +0700 Subject: [PATCH 114/427] fix: allowEncodingChanges should allow set client_encoding=... (#1125) fixes #1101 --- CHANGELOG.md | 9 +- docs/_posts/2018-01-17-42.2.0-release.md | 1 + docs/_posts/2018-01-25-42.2.1-release.md | 2 + .../postgresql/core/v3/QueryExecutorImpl.java | 38 ++++----- .../test/jdbc2/ClientEncodingTest.java | 85 +++++++++++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 1 + 6 files changed, 112 insertions(+), 24 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/ClientEncodingTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d65f62a4b..7493f28ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,21 +5,26 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Fixed -- Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR#1130](https://github.com/pgjdbc/pgjdbc/pull/1130) +- Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) +- fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) ## [42.2.1] (2018-01-25) +### Known issues +- client_encoding has to be UTF8 even with allowEncodingChanges=true + ### Changed - socksProxyHost is ignored in case it contains empty string [PR 1079](https://github.com/pgjdbc/pgjdbc/pull/1079) ### Fixed - Avoid connection failure when `DateStyle` is set to `ISO` (~PgBouncer) [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) -- Package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) +- Package scram:client classes, so SCRAM works when using a shaded jar [PR 1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) - reWriteBatchedInserts=true causes syntax error with ON CONFLICT [Issue 1045](https://github.com/pgjdbc/pgjdbc/issues/1045) [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) - Avoid failure in getPGArrayType when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) ## [42.2.0] (2018-01-17) ### Known issues - SCRAM does not work as scram:client library is not packaged +- client_encoding has to be UTF8 even with allowEncodingChanges=true ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 6c20362e9d..6b4e7ae714 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -9,6 +9,7 @@ version: 42.2.0 ### Known issues - SCRAM authentication does not work as scram client classes are not packaged +- client_encoding has to be UTF8 even with allowEncodingChanges=true ### Added - Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) diff --git a/docs/_posts/2018-01-25-42.2.1-release.md b/docs/_posts/2018-01-25-42.2.1-release.md index a3f8f1f8a0..6ef3b38214 100644 --- a/docs/_posts/2018-01-25-42.2.1-release.md +++ b/docs/_posts/2018-01-25-42.2.1-release.md @@ -7,6 +7,8 @@ version: 42.2.1 --- **Notable changes** +### Known issues +- client_encoding has to be UTF8 even with allowEncodingChanges=true ### Changed - socksProxyHost is ignored in case it contains empty string [PR 1079](https://github.com/pgjdbc/pgjdbc/pull/1079) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 3fcb737d9d..1cc07e8e0d 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2596,12 +2596,21 @@ public void receiveParameterStatus() throws IOException, SQLException { LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); } - if (name.equals("client_encoding") && !value.equalsIgnoreCase("UTF8") - && !allowEncodingChanges) { - close(); // we're screwed now; we can't trust any subsequent string. - throw new PSQLException(GT.tr( - "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation.", - value), PSQLState.CONNECTION_FAILURE); + if (name.equals("client_encoding")) { + if (allowEncodingChanges) { + if (!value.equalsIgnoreCase("UTF8") && !value.equalsIgnoreCase("UTF-8")) { + LOGGER.log(Level.WARNING, + "pgjdbc expects client_encoding to be UTF8 for proper operation. Actual encoding is {0}", + value); + } + pgStream.setEncoding(Encoding.getDatabaseEncoding(value)); + } else if (!value.equalsIgnoreCase("UTF8") && !value.equalsIgnoreCase("UTF-8")) { + close(); // we're screwed now; we can't trust any subsequent string. + throw new PSQLException(GT.tr( + "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation.", + value), PSQLState.CONNECTION_FAILURE); + + } } if (name.equals("DateStyle") && !value.startsWith("ISO") @@ -2635,22 +2644,7 @@ public void receiveParameterStatus() throws IOException, SQLException { setServerVersionNum(Integer.parseInt(value)); } else if ("server_version".equals(name)) { setServerVersion(value); - } else if ("client_encoding".equals(name)) { - if (!"UTF8".equals(value)) { - throw new PSQLException(GT.tr("Protocol error. Session setup failed."), - PSQLState.PROTOCOL_VIOLATION); - } - pgStream.setEncoding(Encoding.getDatabaseEncoding("UTF8")); - } else if ("standard_conforming_strings".equals(name)) { - if ("on".equals(value)) { - setStandardConformingStrings(true); - } else if ("off".equals(value)) { - setStandardConformingStrings(false); - } else { - throw new PSQLException(GT.tr("Protocol error. Session setup failed."), - PSQLState.PROTOCOL_VIOLATION); - } - } else if ("integer_datetimes".equals(name)) { + } else if ("integer_datetimes".equals(name)) { if ("on".equals(value)) { setIntegerDateTimes(true); } else if ("off".equals(value)) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ClientEncodingTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ClientEncodingTest.java new file mode 100644 index 0000000000..117b399772 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ClientEncodingTest.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.postgresql.PGProperty; +import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLState; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Arrays; +import java.util.Properties; + +@RunWith(Parameterized.class) +public class ClientEncodingTest extends BaseTest4 { + + @Parameterized.Parameter(0) + public boolean allowEncodingChanges; + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.ALLOW_ENCODING_CHANGES.set(props, allowEncodingChanges); + } + + @Parameterized.Parameters(name = "allowEncodingChanges={0}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {true}, + {false} + }); + } + + @Test + public void setEncodingUtf8() throws SQLException { + // UTF-8 is a default encoding, so it should always be safe to set encoding to UTF-8 + setEncoding("UTF-8"); + + checkConnectionSanity(); + } + + @Test + public void setEncodingAscii() throws SQLException { + try { + setEncoding("sql_ascii"); + if (!allowEncodingChanges) { + Assert.fail( + "allowEncodingChanges is false, thus set client_encoding=aql_ascii is expected to fail"); + } + } catch (SQLException e) { + if (!allowEncodingChanges && !PSQLState.CONNECTION_FAILURE.getState() + .equals(e.getSQLState())) { + throw e; + } + Assert.assertTrue("Connection should be closed on client_encoding change", con.isClosed()); + return; + } + + checkConnectionSanity(); + } + + private void checkConnectionSanity() throws SQLException { + Statement st = con.createStatement(); + ResultSet rs = st.executeQuery("select 'abc' as x"); + rs.next(); + Assert.assertEquals("abc", rs.getString(1)); + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(st); + } + + private void setEncoding(String encoding) throws SQLException { + Statement st = con.createStatement(); + st.execute("set client_encoding='" + encoding + "'"); + TestUtil.closeQuietly(st); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 28b79e6c17..ec4a49d5f4 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -93,6 +93,7 @@ MiscTest.class, NotifyTest.class, DatabaseEncodingTest.class, + ClientEncodingTest.class, BlobTest.class, BlobTransactionTest.class, From 5827858ba5b72b519feb86fc65301a7bffa10c4d Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 9 Mar 2018 22:56:02 +0300 Subject: [PATCH 115/427] tests: UUID vs setString test By default, setString sends 'varchar' datatype, and PostgreSQL might result in <> There's stringType option that enables sending strings as UNSPECIFIED type to overcome that error. fixes #1133 --- .../org/postgresql/test/jdbc2/BaseTest4.java | 16 ++++++ .../org/postgresql/test/jdbc4/UUIDTest.java | 49 +++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java index 4c9f69f296..23841d3b91 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java @@ -33,10 +33,15 @@ public enum AutoCommit { YES, NO } + public enum StringType { + UNSPECIFIED, VARCHAR; + } + protected Connection con; private BinaryMode binaryMode; private ReWriteBatchedInserts reWriteBatchedInserts; protected PreferQueryMode preferQueryMode; + private StringType stringType; protected void updateProperties(Properties props) { if (binaryMode == BinaryMode.FORCE) { @@ -45,6 +50,9 @@ protected void updateProperties(Properties props) { if (reWriteBatchedInserts == ReWriteBatchedInserts.YES) { PGProperty.REWRITE_BATCHED_INSERTS.set(props, true); } + if (stringType != null) { + PGProperty.STRING_TYPE.set(props, stringType.name().toLowerCase()); + } } protected void forceBinary(Properties props) { @@ -55,6 +63,14 @@ public final void setBinaryMode(BinaryMode binaryMode) { this.binaryMode = binaryMode; } + public StringType getStringType() { + return stringType; + } + + public void setStringType(StringType stringType) { + this.stringType = stringType; + } + public void setReWriteBatchedInserts( ReWriteBatchedInserts reWriteBatchedInserts) { this.reWriteBatchedInserts = reWriteBatchedInserts; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java index 3a386162bc..2db1e357a7 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java @@ -9,19 +9,43 @@ import static org.junit.Assert.assertTrue; import org.postgresql.core.ServerVersion; +import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; +import org.postgresql.util.PSQLState; +import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; +import java.util.ArrayList; +import java.util.Collection; import java.util.UUID; +@RunWith(Parameterized.class) public class UUIDTest extends BaseTest4 { + public UUIDTest(BinaryMode binaryMode, StringType stringType) { + setBinaryMode(binaryMode); + setStringType(stringType); + } + + @Parameterized.Parameters(name = "binary={0}, stringType={1}") + public static Iterable data() { + Collection ids = new ArrayList(); + for (BinaryMode binaryMode : BinaryMode.values()) { + for (StringType stringType : StringType.values()) { + ids.add(new Object[]{binaryMode, stringType}); + } + } + return ids; + } + @Override public void setUp() throws Exception { super.setUp(); @@ -60,5 +84,30 @@ public void testUUID() throws SQLException { stmt.close(); } + @Test + public void testUUIDString() throws SQLException { + String uuid = "0dcdf03a-058c-4fa3-b210-8385cb6810d5"; + PreparedStatement ps = con.prepareStatement("INSERT INTO uuidtest VALUES (?)"); + ps.setString(1, uuid); + try { + ps.executeUpdate(); + if (getStringType() == StringType.VARCHAR) { + Assert.fail( + "setString(, uuid) should fail to insert value into UUID column when stringType=varchar." + + " Expecting error <>"); + } + } catch (SQLException e) { + if (getStringType() == StringType.VARCHAR + && PSQLState.DATATYPE_MISMATCH.getState().equals(e.getSQLState())) { + // The following error is expected in stringType=varchar mode + // ERROR: column "id" is of type uuid but expression is of type character varying + return; + } + throw e; + } finally { + TestUtil.closeQuietly(ps); + } + } + } From 44bb7f8d66829705bf46a6cfcad8a179eb14e441 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 10 Mar 2018 12:36:30 +0300 Subject: [PATCH 116/427] fix: UUID test for preferQueryMode=simple --- pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java index 2db1e357a7..5eec48b207 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/UUIDTest.java @@ -9,6 +9,7 @@ import static org.junit.Assert.assertTrue; import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; import org.postgresql.util.PSQLState; @@ -91,7 +92,7 @@ public void testUUIDString() throws SQLException { ps.setString(1, uuid); try { ps.executeUpdate(); - if (getStringType() == StringType.VARCHAR) { + if (getStringType() == StringType.VARCHAR && preferQueryMode != PreferQueryMode.SIMPLE) { Assert.fail( "setString(, uuid) should fail to insert value into UUID column when stringType=varchar." + " Expecting error <>"); From 61e1c300fb52237b05b7649d61603dd339fbdd9b Mon Sep 17 00:00:00 2001 From: Selene Feigl <890054+sfeigl@users.noreply.github.com> Date: Sun, 11 Mar 2018 09:33:48 +0100 Subject: [PATCH 117/427] fix: wrong data from Blob/Clob when mark/reset is used (#971) BlobInputStream#reset() did not invalidate read buffer, thus it resulted in reading wrong data. --- CHANGELOG.md | 1 + .../largeobject/BlobInputStream.java | 17 +++++++------ .../org/postgresql/test/jdbc2/BlobTest.java | 25 +++++++++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7493f28ade..34e98ebd87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) - fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) +- Wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) ## [42.2.1] (2018-01-25) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java index 0be87d74a1..95f03d3046 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java @@ -41,7 +41,7 @@ public class BlobInputStream extends InputStream { /** * The mark position */ - private int mpos = 0; + private long mpos = 0; /** * The limit @@ -156,12 +156,7 @@ public void close() throws IOException { * @see java.io.InputStream#reset() */ public synchronized void mark(int readlimit) { - try { - mpos = lo.tell(); - } catch (SQLException se) { - // Can't throw this because mark API doesn't allow it. - // throw new IOException(se.toString()); - } + mpos = apos; } /** @@ -174,7 +169,13 @@ public synchronized void mark(int readlimit) { public synchronized void reset() throws IOException { checkClosed(); try { - lo.seek(mpos); + if (mpos <= Integer.MAX_VALUE) { + lo.seek((int)mpos); + } else { + lo.seek64(mpos, LargeObject.SEEK_SET); + } + buffer = null; + apos = mpos; } catch (SQLException se) { throw new IOException(se.toString()); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java index 6b2647a387..fb1ce7edfd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java @@ -155,6 +155,31 @@ public void testUploadBlob_NATIVE() throws Exception { assertTrue(compareBlobs()); } + @Test + public void testMarkResetStream() throws Exception { + assertTrue(uploadFile("/test-file.xml", NATIVE_STREAM) > 0); + + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT lo FROM testblob"); + assertTrue(rs.next()); + + LargeObjectManager lom = ((org.postgresql.PGConnection) con).getLargeObjectAPI(); + + long oid = rs.getLong(1); + LargeObject blob = lom.open(oid); + InputStream bis = blob.getInputStream(); + + assertEquals('<', bis.read()); + bis.mark(4); + assertEquals('?', bis.read()); + assertEquals('x', bis.read()); + assertEquals('m', bis.read()); + assertEquals('l', bis.read()); + bis.reset(); + assertEquals('?', bis.read()); + } + + @Test public void testGetBytesOffset() throws Exception { assertTrue(uploadFile("/test-file.xml", NATIVE_STREAM) > 0); From e5aab1cd3e49051f46298d8f1fd9f66af1731299 Mon Sep 17 00:00:00 2001 From: chalda Date: Sun, 11 Mar 2018 09:40:19 +0100 Subject: [PATCH 118/427] Adjust XAException return codes for better compatibility with XA specification (#782) There are three main adjustments * XAException.XAER_RMFAIL is used when some connection error happens and it is expected that reconnection of RM could occur * XAException.XAER_NOTA is used when RM does not know anything about the provided Xid * XAException.XAER_PROTO is used when some wrong sequence of method calls is invoked Fixes #236, #510, #683 --- .gitignore | 1 + CHANGELOG.md | 1 + .../java/org/postgresql/translation/bg.po | 2106 ++++++++-------- .../java/org/postgresql/translation/cs.po | 2078 ++++++++-------- .../java/org/postgresql/translation/de.po | 2125 ++++++++-------- .../java/org/postgresql/translation/es.po | 1851 +++++++------- .../java/org/postgresql/translation/fr.po | 2076 ++++++++-------- .../java/org/postgresql/translation/it.po | 2091 ++++++++-------- .../java/org/postgresql/translation/ja.po | 2105 ++++++++-------- .../org/postgresql/translation/messages.pot | 1735 ++++++------- .../java/org/postgresql/translation/nl.po | 1984 ++++++++------- .../java/org/postgresql/translation/pl.po | 2062 ++++++++-------- .../java/org/postgresql/translation/pt_BR.po | 2086 ++++++++-------- .../java/org/postgresql/translation/ru.po | 2158 +++++++++-------- .../java/org/postgresql/translation/sr.po | 2046 ++++++++-------- .../java/org/postgresql/translation/tr.po | 2085 ++++++++-------- .../java/org/postgresql/translation/zh_CN.po | 1977 ++++++++------- .../java/org/postgresql/translation/zh_TW.po | 1977 ++++++++------- .../java/org/postgresql/util/PSQLState.java | 8 + .../org/postgresql/xa/PGXAConnection.java | 120 +- .../postgresql/translation/messages_bg.class | Bin 41250 -> 39612 bytes .../postgresql/translation/messages_cs.class | Bin 14019 -> 13037 bytes .../postgresql/translation/messages_de.class | Bin 27324 -> 24078 bytes .../postgresql/translation/messages_es.class | Bin 4225 -> 3759 bytes .../postgresql/translation/messages_fr.class | Bin 27117 -> 24001 bytes .../postgresql/translation/messages_it.class | Bin 26160 -> 22890 bytes .../postgresql/translation/messages_ja.class | Bin 39729 -> 38424 bytes .../postgresql/translation/messages_nl.class | Bin 2635 -> 2329 bytes .../postgresql/translation/messages_pl.class | Bin 12139 -> 11459 bytes .../translation/messages_pt_BR.class | Bin 28937 -> 27652 bytes .../postgresql/translation/messages_ru.class | Bin 18193 -> 19976 bytes .../postgresql/translation/messages_sr.class | Bin 28131 -> 26960 bytes .../postgresql/translation/messages_tr.class | Bin 28091 -> 26974 bytes .../translation/messages_zh_CN.class | Bin 18511 -> 17377 bytes .../translation/messages_zh_TW.class | Bin 18512 -> 17372 bytes .../postgresql/test/xa/XADataSourceTest.java | 345 ++- 36 files changed, 17689 insertions(+), 15328 deletions(-) diff --git a/.gitignore b/.gitignore index acfd0ac0f5..ec662f4f16 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .classpath .settings .project +.checkstyle .DS_Store .externalToolBuilders build diff --git a/CHANGELOG.md b/CHANGELOG.md index 34e98ebd87..daea879e3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) - fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) - Wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) +- Adjust XAException return codes for better compatibility with XA specification [PR 782](https://github.com/pgjdbc/pgjdbc/pull/782) ## [42.2.1] (2018-01-25) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/translation/bg.po b/pgjdbc/src/main/java/org/postgresql/translation/bg.po index 350973164f..862096b80f 100755 --- a/pgjdbc/src/main/java/org/postgresql/translation/bg.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2009-12-28 00:01+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,420 +17,411 @@ msgstr "" "X-Poedit-Language: Bulgarian\n" "X-Poedit-Country: BULGARIA\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" -msgstr "Зададено CopyIn но получено {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" -msgstr "Зададено CopyOut но получено {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" -msgstr "Копирането от базата данни бе неуспешно: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." -msgstr "Потока за копиране на данните е затворен." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." -msgstr "Четене от копието неуспешно." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Възникна грешка при осъществяване на SSL връзката." -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "Няма пишещи права, за да копира байтова стойност {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Не може да осъществи връзка, ползвайки искания протокол {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/core/Parser.java:616 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "Непозволен синтаксис на функция или процедура при офсет {0}." +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Преждевременен край на входящ поток на данни, очаквани {0} байта, но " -"прочетени само {1}." -#: org/postgresql/core/PGStream.java:538 -#, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Очакван край на файла от сървъра, но получено: {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Заявката върна неочакван резултат." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Невалидна UTF-8 последователност: байта {0} от байтова последователност {1} " -"не е 10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Невалидна UTF-8 последователност: {0} байта използвани за кодирането на {1} " -"байтова стойност: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Невалидна UTF-8 последователност: първоначален байт е {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Невалидна UTF-8 последователност: крайната стойност е извън стойностните " -"граници: {0}" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Невалидна UTF-8 последователност: крайната стойност е заместителна стойност: " -"{0}" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Не може да има нула байта в низ параметрите." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Не може да има нула байта в идентификаторите." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Невалидна дължина {0} на потока данни." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Невалидна дължина {0} на потока данни." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Връзката отказана. Проверете дали името на хоста и порта са верни и дали " -"postmaster приема ТСР / IP връзки." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Опита за връзка бе неуспешен." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Опита за връзка бе неуспешен." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Сървърът не поддържа SSL." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Грешка в протокола. Неуспешна настройка на сесията." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Възникна грешка при осъществяване на SSL връзката." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "GSS удостоверяването бе неуспешно" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Connection rejected: {0}." -msgstr "Връзката отказана: {0}." +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "Непозволен синтаксис на функция или процедура при офсет {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Сървърът изисква идентифициране с парола, но парола не бе въведена." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Не може да има нула байта в низ параметрите." + +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Тип на удостоверяване {0} не се поддържа. Проверете дали сте конфигурирали " -"pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се " -"използва схема за удостоверяване, поддържана от драйвъра." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Грешка в протокола. Неуспешна настройка на сесията." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Не може да има нула байта в идентификаторите." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Неуспешен опит за стартиране на backend: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" +"Невалидна UTF-8 последователност: байта {0} от байтова последователност {1} " +"не е 10xxxxxx: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Няма стойност, определена за параметър {0}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Невалидна UTF-8 последователност: {0} байта използвани за кодирането на {1} " +"байтова стойност: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Очаквана команда BEGIN, получена {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Невалидна UTF-8 последователност: първоначален байт е {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Неочакван статус на команда: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Входно/изходна грешка при изпращане към backend." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "" +"Невалидна UTF-8 последователност: крайната стойност е извън стойностните " +"граници: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Неизвестен тип на отговор {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" +"Невалидна UTF-8 последователност: крайната стойност е заместителна стойност: " +"{0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Недостатъчна памет при представяна на резултатите от заявката." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Заявката върна неочакван резултат." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -"Не може да осъществи актуализация на брояча при командно допълнение: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" -msgstr "Копирането не е възможно при версия 2 на протокола" - -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." +"Преждевременен край на входящ поток на данни, очаквани {0} байта, но " +"прочетени само {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Връзката отказана. Проверете дали името на хоста и порта са верни и дали " -"postmaster приема ТСР / IP връзки." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Очакван край на файла от сървъра, но получено: {0}" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 +#: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " msgstr "Очаквано командно допълнение COPY но получено: " -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "Опит за получаване на заключване/резервация докато вече е получено" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" "Опит за премахване на заключването/резервацията при връзка към базата данни" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" "Прекъсване при чакане да получи заключване/резервация при връзка към базата " "данни" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Не може да подготви параметрите на командата." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Входно/изходна грешка при изпращане към backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Очаквана команда BEGIN, получена {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Неочакван статус на команда: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Входно/изходна грешка при изпращане към backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Неизвестен тип на отговор {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Входно/изходна грешка при изпращане към backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "Неосъществена връзка към базата данни при започване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "Опит за прекъсване на неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "Неосъществена връзка към базата данни при прекъсване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "Липсва очакван отговор при грешка да прекъсне копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" "Получени {0} отговори за грешка при единствено искане да се прекъсне " "копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "Опит за прекъсване на неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "Неосъществена връзка към базата данни при завършване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "Опит за писане при неактивна операция за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "Неосъществена връзка към базата данни при опит за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "Опит за четене при неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "Неосъществена връзка към базата данни при четене от копие" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "Получено командно допълнение ''{0}'' без активна команда за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "Получен CopyInResponse отговор от сървъра при активно {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "Получен CopyOutResponse отговор от сървъра при активно {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, fuzzy, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "Получен CopyOutResponse отговор от сървъра при активно {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "Получено CopyData без наличие на активна операция за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "Неочаквано CopyData от сървъра за {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 -#, fuzzy, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." -msgstr "" -"Параметърът client_encoding при сървъра бе променен на {0}. JDBC драйвъра " -"изисква client_encoding да бъде UNICODE за да функционира правилно." +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "Неочакван тип пакет при копиране: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 #, java-format msgid "" -"The server''s DateStyle parameter was changed to {0}. The JDBC driver " -"requires DateStyle to begin with ISO for correct operation." +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"Прекалено голяма дължина {0} на съобщението. Това може да е причинено от " +"прекалено голяма или неправилно зададена дължина на InputStream параметри." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Недостатъчна памет при представяна на резултатите от заявката." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "За момента драйвъра не поддържа COPY команди." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Не може да осъществи актуализация на брояча при командно допълнение: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, fuzzy, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." +msgstr "" +"Параметърът client_encoding при сървъра бе променен на {0}. JDBC драйвъра " +"изисква client_encoding да бъде UNICODE за да функционира правилно." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#, java-format +msgid "" +"The server''s DateStyle parameter was changed to {0}. The JDBC driver " +"requires DateStyle to begin with ISO for correct operation." msgstr "" "Параметърът DateStyle при сървъра бе променен на {0}. JDBC драйвъра изисква " "DateStyle започва с ISO за да функционира правилно." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -439,66 +430,193 @@ msgstr "" "Параметърът standard_conforming_strings при сървъра бе докладван като {0}. " "JDBC драйвъра очаква този параметър да бъде on или off." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "Неочакван тип пакет при копиране: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format +msgid "No value specified for parameter {0}." +msgstr "Няма стойност, определена за параметър {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Опита за връзка бе неуспешен." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, fuzzy, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "Неочакван тип пакет при копиране: {0}" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Връзката бе прекъсната." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Невалидна дължина {0} на потока данни." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Невалидна дължина {0} на потока данни." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Прекалено голяма дължина {0} на съобщението. Това може да е причинено от " -"прекалено голяма или неправилно зададена дължина на InputStream параметри." +"Връзката отказана. Проверете дали името на хоста и порта са верни и дали " +"postmaster приема ТСР / IP връзки." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "За момента драйвъра не поддържа COPY команди." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Сървърът не поддържа SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Възникна грешка при осъществяване на SSL връзката." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Сървърът изисква идентифициране с парола, но парола не бе въведена." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Грешка при зареждане на настройките по подразбиране от файла driverconfig." -"properties" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Тип на удостоверяване {0} не се поддържа. Проверете дали сте конфигурирали " +"pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се " +"използва схема за удостоверяване, поддържана от драйвъра." + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Не може да осъществи връзка, ползвайки искания протокол {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Връзката не бе осъществена, поради вашите настройки за сигурност. Може би " -"трябва да предоставите java.net.SocketPermission права на сървъра и порта с " -"базата данни, към който искате да се свържете." +"Бяха намерени невалидни данни. Това най-вероятно се дължи на съхранявани " +"данни, съдържащи символи, които са невалидни за набора от знаци при " +"създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в " +"SQL_ASCII бази данни." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Неуспешно валутно преобразуване." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Неуспешно преобразуване на интервал" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. " -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Времето за осъществяване на връзката изтече (таймаут)." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Подробност: {0}" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Опита за осъществяване на връзка бе своевременно прекъснат. " +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Забележка: {0}" -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Методът {0} все още не е функционален." +msgid "Position: {0}" +msgstr "Позиция: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Където: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Вътрешна заявка: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Вътрешна позиция: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Местоположение: Файл: {0}, Функция: {1}, Ред: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQL статус на сървъра: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Източникът на данни е прекъснат." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Неподдържана стойност за тип: {0}" @@ -507,7 +625,7 @@ msgstr "Неподдържана стойност за тип: {0}" msgid "This PooledConnection has already been closed." msgstr "Тази PooledConnection връзка бе вече прекъсната." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -515,393 +633,532 @@ msgstr "" "Връзката бе автоматично прекъсната, защото нова връзка за същата беше " "осъществена или PooledConnection връзката е вече прекъсната." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Връзката бе прекъсната." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Командата е завършена." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Източникът на данни е прекъснат." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +msgid "Invalid server-first-message: {0}" +msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Невалидна дължина {0} на потока данни." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +msgid "Unsupported properties: {0}" +msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "" +"Грешка при зареждане на настройките по подразбиране от файла driverconfig." +"properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" +"Връзката не бе осъществена, поради вашите настройки за сигурност. Може би " +"трябва да предоставите java.net.SocketPermission права на сървъра и порта с " +"базата данни, към който искате да се свържете." + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. " -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Времето за осъществяване на връзката изтече (таймаут)." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Опита за осъществяване на връзка бе своевременно прекъснат. " + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Функцията {0} е неизвестна." +msgid "Method {0} is not yet implemented." +msgstr "Методът {0} все още не е функционален." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Неуспешно преобразуване към тип {0}: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Не може да определи дали адреса е отворен или затворен: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "GSS удостоверяването бе неуспешно" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "Скъсяване на големи обекти LOB е осъществено само във версии след 8.3." - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL индексира големи обекти LOB само до: {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "Позиционалният офсет при големи обекти LOB започва от 1." +msgid "Invalid flags {0}" +msgstr "Невалидни флагове {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "Функцията free() бе вече извикана за този голям обект LOB" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid не може да бъде null" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Бе получен резултат, когато такъв не бе очакван." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Връзката е заета с друга транзакция" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Твърде много резултати бяха получени при актуализацията." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "спиране / започване не се поддържа за момента" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"Партида {0} {1} беше прекратена. Изпълнете функция getNextException за да " -"видите причината." +"Транзакция в транзакция не се поддържа за момента. xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "Функцията {0} може да приеме четири и само четири аргумента." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Грешка при изключване на autocommit" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Функцията {0} може да приеме два и само два аргумента." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"опита да извика end без съответстващо извикване на start. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 -#, java-format -msgid "{0} function takes one and only one argument." -msgstr "Функцията {0} може да приеме само един единствен аргумент." +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Грешка при възстановяване на състоянието преди подготвена транзакция. " +"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Функцията {0} може да приеме два или три аргумента." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Функцията {0} не може да приема аргументи." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Невъзможна комбинация: Prepare трябва да бъде издадено чрез използване на " +"същата връзка, при която е започната транзакцията. currentXid={0}, prepare " +"xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Функцията {0} може да приеме три и само три аргумента." +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare извикано преди края. prepare xid={0}, state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Интервалът {0} не е валиден все още." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Грешка при подготвяне на транзакция. prepare xid={0}" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Индексът на масив е извън обхвата: {0}" +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Грешка при възстановяване" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Индексът на масив е извън обхвата: {0}, брой елементи: {1}." +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Грешка при възстановяване на състоянието преди подготвена транзакция. " +"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -"Бяха намерени невалидни данни. Това най-вероятно се дължи на съхранявани " -"данни, съдържащи символи, които са невалидни за набора от знаци при " -"създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в " -"SQL_ASCII бази данни." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement функция бе обработена, но няма резултати." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез " +"използване на същата връзка, при която е започнал" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"CallableStatement функция бе обработена, но с непозволен брой параметри." -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit извикан преди end. commit xid={0}, state={1}" + +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Грешка при едно-фазов commit. commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"CallableStatement функция бе обработена и изходния параметър {0} бе от тип " -"{1}, обаче тип {2} бе използван." +"Невъзможна комбинация: втората фаза на commit задължително трябва да бъде " +"издадена при свободна връзка. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за " -"да декларирате такъв." +"Грешка при възстановяване на състоянието преди подготвена транзакция. commit " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull не може да бьде изпълнен, преди наличието на резултата." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Евристичен commit или rollback не се поддържа. forget xid={0}" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Не може да декодира XML данните." + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Неизвестен XML входящ клас: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Не може да се създаде SAXResult за SQLXML." -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Не може да се създаде StAXResult за SQLXML." + +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Неизвестен XML изходящ клас: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Този SQLXML обект вече е освободен." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -"Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). " +"Този SQLXML обект не е инициализиран, така че не могат да се извличат данни " +"от него." -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -"CallableStatement функция бе декларирана, но обработена като " -"registerOutParameter(1, ) " +"Неуспешно преобразуване на двоични XML данни за кодиране съгласно: {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "Резултати от функцията не бяха регистрирани." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "Не може да преобразува DOMResult SQLXML данни в низ." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "Този SQLXML обект вече е инициализиран и не може да бъде променен." + +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Не може да референцира savepoint, след като е била освободена." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Не може да определи ID на спомената savepoint." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Не може да определи името на неупомената savepoint." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Индексът на масив е извън обхвата: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Индексът на масив е извън обхвата: {0}, брой елементи: {1}." + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Твърде много резултати бяха получени при актуализацията." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format +msgid "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Резултати от CallableStatement функция не могат да бъдат получени, преди тя " -"да бъде обработена." +"Партида {0} {1} беше прекратена. Изпълнете функция getNextException за да " +"видите причината." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Непозволена стойност за StringType параметър: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Няма намерени резултати за заявката." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Бе получен резултат, когато такъв не бе очакван." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "Специфични типови съответствия не се поддържат." -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Неуспешно създаване на обект за: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Невъзможно е зареждането на клас {0}, отговарящ за типа данни {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Не може да променяте правата на транзакцията по време на нейното извършване." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Връзката бе прекъсната." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Не може да променяте изолационното ниво на транзакцията по време на нейното " "извършване." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Изолационно ниво на транзакциите {0} не се поддържа." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Приключване на връзка, която не бе прекъсната:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Невъзможно преобразуване на данни в желаното кодиране." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Размера за fetch size трябва да бъде по-голям или равен на 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Не може да се намери типа на сървърен масив за зададеното име {0}." -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Невалидни флагове {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Неуспешно създаване на обект за: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "Информацията за ClientInfo не се поддържа." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "" +"Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " +"равна на 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Неизвестна ResultSet holdability настройка: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Сървър версии преди 8.0 не поддържат savepoints." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Не може да се установи savepoint в auto-commit модус." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Автоматично генерирани ключове не се поддържат." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Заявката върна няколко ResultSets." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" +"Максималният брой редове трябва да бъде стойност по-голяма или равна на 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" +"Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " +"равна на 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" +"Максималният размер на полето трябва да бъде стойност по-голяма или равна на " +"0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Командата е извършена." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Невалидна константа за fetch посоката: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" +"Автоматично генерирани ключове спрямо индекс на колона не се поддържат." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -909,118 +1166,134 @@ msgstr "" "Невъзможно е да се определи стойността за MaxIndexKeys поради липса на " "системния каталог с данни." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Не може да се намери името на типа данни в системните каталози." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "Скъсяване на големи обекти LOB е осъществено само във версии след 8.3." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL индексира големи обекти LOB само до: {0}" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Позиционалният офсет при големи обекти LOB започва от 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "Функцията free() бе вече извикана за този голям обект LOB" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Не може да се употребяват методи за заявка, които ползват низове на " "PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Заявката върна няколко ResultSets." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Стойност от неизвестен тип." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM не поддържа за момента {0} кодовата таблица." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Зададения InputStream поток е неуспешен." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Неизвестен тип {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Не може да преобразува инстанция на {0} към тип {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1029,23 +1302,22 @@ msgstr "" "Не може да се определи SQL тип, който да се използва за инстанцията на {0}. " "Ползвайте метода setObject() с точни стойности, за да определите типа." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Неочаквана грешка при записване на голям обект LOB в базата данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Грешка с ползвания четец." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1053,46 +1325,38 @@ msgstr "" "Операцията изисква резултатите да са scrollable, но този ResultSet е " "FORWARD_ONLY." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "Неочаквана грешка при декодиране на символите от голям обект LOB." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Не може да се използват относителни методи за движение, когато се намираме " "при редицата на въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Невалидна константа за fetch посоката: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" "Не може да се изпълни cancelRowUpdates() метода, когато се намираме при " "редицата на въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "" "Не може да се изпълни deleteRow() метода, когато се намираме при редицата на " "въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1100,7 +1364,7 @@ msgstr "" "В момента се намираме в началото на ResultSet. Тук не може да се изпълни " "deleteRow() метода." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1108,38 +1372,38 @@ msgstr "" "В момента се намираме преди края на ResultSet. Тук не може да се изпълни " "deleteRow() метода." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "В този ResultSet няма редове." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Не сме в редицата на въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "Трябва да посочите поне една стойност за колона, за да вмъкнете ред." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM не поддържа тази кодова таблица за момента: {0}" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Не може да обнови въведения ред." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "" "Не може да се изпълни updateRow() метода, когато се намираме при редицата на " "въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1147,39 +1411,39 @@ msgstr "" "Не може да се обнови ResultSet, когато се намираме преди началото или след " "края на резултатите." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" "ResultSets с concurrency CONCUR_READ_ONLY не могат да бъдат актуализирани." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Няма първичен ключ за таблица {0}." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Името на колоната {0} не бе намерено в този ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1189,436 +1453,312 @@ msgstr "" "да селектира само една таблица, както и всички първични ключове в нея. За " "повече информация, вижте раздел 5.6 на JDBC 2.1 API Specification." -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "Операциите по този ResultSet са били прекратени." -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet не е референциран правилно. Вероятно трябва да придвижите курсора " "посредством next." -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 msgid "Invalid UUID data." msgstr "Невалидни UUID данни." -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "Не може да декодира XML данните." - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Неизвестен XML входящ клас: {0}" +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Изолационно ниво на транзакциите {0} не се поддържа." -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Не може да се създаде SAXResult за SQLXML." +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Не може да се създаде StAXResult за SQLXML." +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Неизвестен XML изходящ клас: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "Този SQLXML обект вече е освободен." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement функция бе обработена, но няма резултати." -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -"Този SQLXML обект не е инициализиран, така че не могат да се извличат данни " -"от него." +"CallableStatement функция бе обработена, но с непозволен брой параметри." -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" -"Неуспешно преобразуване на двоични XML данни за кодиране съгласно: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "Не може да преобразува DOMResult SQLXML данни в низ." - -#: org/postgresql/jdbc/PgSQLXML.java:290 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "Този SQLXML обект вече е инициализиран и не може да бъде променен." - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" -"Максималният брой редове трябва да бъде стойност по-голяма или равна на 0." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -"Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " -"равна на 0." +"CallableStatement функция бе обработена и изходния параметър {0} бе от тип " +"{1}, обаче тип {2} бе използван." -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -"Максималният размер на полето трябва да бъде стойност по-голяма или равна на " -"0." +"Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за " +"да декларирате такъв." -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Командата е извършена." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull не може да бьде изпълнен, преди наличието на резултата." -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"Автоматично генерирани ключове се поддържат за версии на сървъра след 8.2." +"Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). " -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"Автоматично генерирани ключове спрямо индекс на колона не се поддържат." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Не може да референцира savepoint, след като е била освободена." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Не може да определи ID на спомената savepoint." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Не може да определи името на неупомената savepoint." +"CallableStatement функция бе декларирана, но обработена като " +"registerOutParameter(1, ) " -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Невалидна стойност за тип {0} : {1}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Резултати от функцията не бяха регистрирани." -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -"Безкрайна стойност за време или дата. Не може да бъде представена като " -"времева стойност." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Неподдържана стойност за тип: {0}" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Не може да инициализира LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Големи обекти LOB не могат да се използват в auto-commit модус." +"Резултати от CallableStatement функция не могат да бъдат получени, преди тя " +"да бъде обработена." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, fuzzy, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "Стойността на параметъра unknownLength трябва да бъде цяло число" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "Функцията {0} може да приеме четири и само четири аргумента." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." +msgid "{0} function takes two and only two arguments." +msgstr "Функцията {0} може да приеме два и само два аргумента." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "Функцията {0} може да приеме само един единствен аргумент." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "Функцията {0} може да приеме два или три аргумента." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Функцията {0} не може да приема аргументи." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." +msgid "{0} function takes three and only three arguments." +msgstr "Функцията {0} може да приеме три и само три аргумента." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "SSL error: {0}" -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Интервалът {0} не е валиден все още." -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." - -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:93 -#, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Възникна грешка при осъществяване на SSL връзката." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" -msgstr "" +msgid "{0} parameter value must be an integer but was: {1}" +msgstr "Стойността на параметъра unknownLength трябва да бъде цяло число" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Неуспешно преобразуване на интервал" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Не може да инициализира LargeObject API" -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Неуспешно валутно преобразуване." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Големи обекти LOB не могат да се използват в auto-commit модус." -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Detail: {0}" -msgstr "Подробност: {0}" +msgid "Copying from database failed: {0}" +msgstr "Копирането от базата данни бе неуспешно: {0}" -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "Забележка: {0}" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "Потока за копиране на данните е затворен." -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Позиция: {0}" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." +msgstr "Четене от копието неуспешно." -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Where: {0}" -msgstr "Където: {0}" +msgid "Requested CopyIn but got {0}" +msgstr "Зададено CopyIn но получено {0}" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Internal Query: {0}" -msgstr "Вътрешна заявка: {0}" +msgid "Requested CopyOut but got {0}" +msgstr "Зададено CopyOut но получено {0}" -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "Вътрешна позиция: {0}" +#: org/postgresql/copy/CopyManager.java:75 +#, fuzzy, java-format +msgid "Requested CopyDual but got {0}" +msgstr "Зададено CopyOut но получено {0}" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Местоположение: Файл: {0}, Функция: {1}, Ред: {2}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "Няма пишещи права, за да копира байтова стойност {0}" -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." + +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQL статус на сървъра: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/xa/PGXAConnection.java:148 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Невалидни флагове" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid не може да бъде null" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "Връзката е заета с друга транзакция" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "спиране / започване не се поддържа за момента" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Транзакция в транзакция не се поддържа за момента" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "Грешка при изключване на autocommit" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "опита да извика end без съответстващо извикване на start" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" -"Невъзможна комбинация: Prepare трябва да бъде издадено чрез използване на " -"същата връзка, при която е започната транзакцията" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Prepare извикано преди края" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "Функцията {0} е неизвестна." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "Сървър версии преди 8.1 не поддържат дву-фазов commit." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Връзката отказана. Проверете дали името на хоста и порта са верни и дали " +#~ "postmaster приема ТСР / IP връзки." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Грешка при подготвяне на транзакция" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Опита за връзка бе неуспешен." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Невалиден флаг" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Връзката отказана: {0}." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Грешка при възстановяване" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Неуспешен опит за стартиране на backend: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Грешка при възстановяване на състоянието преди подготвена транзакция" +#~ msgid "Copy not implemented for protocol version 2" +#~ msgstr "Копирането не е възможно при версия 2 на протокола" -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез " -"използване на същата връзка, при която е започнал" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Сървър версии преди 8.0 не поддържат savepoints." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "commit извикан преди end" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Неочаквана грешка при декодиране на символите от голям обект LOB." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Грешка при едно-фазов commit" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Автоматично генерирани ключове се поддържат за версии на сървъра след 8.2." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Невъзможна комбинация: втората фаза на commit задължително трябва да бъде " -"издадена при свободна връзка" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Безкрайна стойност за време или дата. Не може да бъде представена като " +#~ "времева стойност." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Грешка при възстановяване на състоянието преди подготвена транзакция" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "Сървър версии преди 8.1 не поддържат дву-фазов commit." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Евристичен commit или rollback не се поддържа" +#~ msgid "Invalid flag" +#~ msgstr "Невалиден флаг" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Клас {0} не изпълнява org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/cs.po b/pgjdbc/src/main/java/org/postgresql/translation/cs.po index 2d20e7a525..003e84abbb 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/cs.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2005-08-21 20:00+0200\n" "Last-Translator: Petr Dittrich \n" "Language-Team: \n" @@ -16,462 +16,583 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Tento ResultSet je uzaven." +msgid "An error occurred reading the certificate" +msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Spojen nelze vytvoit s pouitm danho protokolu {0}." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "Pokozen funkce nebo oputn procedury na pozici {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Obdren neoekvan vsledek dotazu." - -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "" +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Vadn dlka proudu {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Vadn dlka proudu {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " -"postmaster pijm TCP/IP spojen." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Pokus o pipojen selhal." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Chyba protokolu. Nastaven relace selhalo." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Pokus o pipojen selhal." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Server nepodporuje SSL." +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "Pokozen funkce nebo oputn procedury na pozici {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Nastala chyba pi nastaven SSL spojen." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 -#, java-format -msgid "Connection rejected: {0}." -msgstr "Spojen odmtnuto: {0}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Server vyaduje oven heslem, ale dn nebylo poslno." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"Oven typu {0} nen podporovno. Zkontrolujte zda konfiguran soubor " -"pg_hba.conf obsahuje klientskou IP adresu i pods a zda je pouit " -"ovenovac schma podporovno ovladaem." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Chyba protokolu. Nastaven relace selhalo." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Selhal start backendu: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Index sloupece je mimo rozsah: {0}, poet sloupc: {1}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Nespecifikovna hodnota parametru {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Oekvn pkaz BEGIN, obdren {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Neoekvan stav pkazu: {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -msgid "An I/O error occurred while sending to the backend." -msgstr "Vystupn/vstupn chyba pi odesln k backend." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Obdren neoekvan vsledek dotazu." -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Neznm typ odpovdi {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " -"postmaster pijm TCP/IP spojen." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." +msgstr "Vystupn/vstupn chyba pi odesln k backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Oekvn pkaz BEGIN, obdren {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Neoekvan stav pkazu: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Vystupn/vstupn chyba pi odesln k backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Neznm typ odpovdi {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Vystupn/vstupn chyba pi odesln k backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Neoekvan stav pkazu: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Ovlada nyn nepodporuje pkaz COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Index sloupece je mimo rozsah: {0}, poet sloupc: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Ovlada nyn nepodporuje pkaz COPY." - -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Chyba natn standardnho nastaven z driverconfig.properties" +msgid "No value specified for parameter {0}." +msgstr "Nespecifikovna hodnota parametru {0}." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." -#: org/postgresql/Driver.java:290 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Pokus o pipojen selhal." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -"Nco neobvyklho pinutilo ovlada selhat. Prosm nahlaste tuto vyjmku." -#: org/postgresql/Driver.java:370 +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 #, fuzzy -msgid "Connection attempt timed out." -msgstr "Pokus o pipojen selhal." +msgid "This replication stream has been closed." +msgstr "Spojeni bylo uzaveno." -#: org/postgresql/Driver.java:383 -#, fuzzy -msgid "Interrupted while attempting to connect." -msgstr "Nastala chyba pi nastaven SSL spojen." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." +msgstr "" +"Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " +"postmaster pijm TCP/IP spojen." -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metoda {0} nen implementovna." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Server nepodporuje SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Nastala chyba pi nastaven SSL spojen." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Server vyaduje oven heslem, ale dn nebylo poslno." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Oven typu {0} nen podporovno. Zkontrolujte zda konfiguran soubor " +"pg_hba.conf obsahuje klientskou IP adresu i pods a zda je pouit " +"ovenovac schma podporovno ovladaem." + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Spojen nelze vytvoit s pouitm danho protokolu {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Nalezena vada ve znakovch datech. Toto me bt zpsobeno uloenmi daty " +"obsahujcmi znaky, kter jsou zvadn pro znakovou sadu nastavenou pi " +"zakldn databze. Nejznmej pklad je ukldn 8bitovch dat vSQL_ASCII " +"databzi." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Pevod penz selhal." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +#, fuzzy +msgid "Conversion of interval failed" +msgstr "Pevod penz selhal." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detail: {0}" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Rada: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Pozice: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Kde: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, fuzzy, java-format +msgid "Internal Position: {0}" +msgstr "Pozice: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Poloha: Soubor: {0}, Rutina: {1}, dek: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Server SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource byl uzaven." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Nepodporovan hodnota typu: {0}" @@ -480,1068 +601,1069 @@ msgstr "Nepodporovan msgid "This PooledConnection has already been closed." msgstr "Tento PooledConnection byl uzaven." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Spojeni bylo uzaveno." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Statement byl uzaven." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource byl uzaven." - -#: org/postgresql/fastpath/Fastpath.java:82 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Obdren vsledek, ikdy dn nebyl oekvn." +msgid "Unsupported properties: {0}" +msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/fastpath/Fastpath.java:200 -#, java-format +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Chyba natn standardnho nastaven z driverconfig.properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:312 -#, java-format -msgid "The fastpath function {0} is unknown." +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Nco neobvyklho pinutilo ovlada selhat. Prosm nahlaste tuto vyjmku." + +#: org/postgresql/Driver.java:416 +#, fuzzy +msgid "Connection attempt timed out." +msgstr "Pokus o pipojen selhal." + +#: org/postgresql/Driver.java:429 +#, fuzzy +msgid "Interrupted while attempting to connect." +msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/Driver.java:682 +#, java-format +msgid "Method {0} is not yet implemented." +msgstr "Metoda {0} nen implementovna." + +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "Zatek pozicovn LOB zana na 1." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Obdren vsledek, ikdy dn nebyl oekvn." +#: org/postgresql/xa/PGXAConnection.java:297 +#, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Bylo vrceno pli mnoho vsledk aktualizac." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Funkce {0} bere pesn tyi argumenty." +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Funkce {0} bere prv dva argumenty." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 -#, java-format -msgid "{0} function takes one and only one argument." -msgstr "Funkce {0} bere jeden argument." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Funkce {0} bere dva nebo ti argumenty." +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Funkce {0} nebere dn argument." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, fuzzy, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Funkce {0} bere prv dva argumenty." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Metoda {0} nen implementovna." +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "The array index is out of range: {0}" -msgstr "Index pole mimo rozsah: {0}" +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Index pole mimo rozsah: {0}, poet prvk: {1}." +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Nalezena vada ve znakovch datech. Toto me bt zpsobeno uloenmi daty " -"obsahujcmi znaky, kter jsou zvadn pro znakovou sadu nastavenou pi " -"zakldn databze. Nejznmej pklad je ukldn 8bitovch dat vSQL_ASCII " -"databzi." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement byl sputn, le nic nebylo vrceno." +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement byl sputn, le nic nebylo vrceno." +msgid "Unable to create SAXResult for SQLXML." +msgstr "Selhalo vytvoen objektu: {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Tento PooledConnection byl uzaven." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Nemohu zskat odkaz na savepoint, kdy byl uvolnn." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Nemohu zskat id nepojmenovanho savepointu." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Nemohu zskat nzev nepojmenovanho savepointu." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Index pole mimo rozsah: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "" +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Index pole mimo rozsah: {0}, poet prvk: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." -msgstr "" +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Bylo vrceno pli mnoho vsledk aktualizac." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, fuzzy, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Neobdren dn vsledek dotazu." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Obdren vsledek, ikdy dn nebyl oekvn." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Selhalo vytvoen objektu: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Nemohu nast tdu {0} odpovdnou za typ {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Spojeni bylo uzaveno." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 #, fuzzy msgid "Finalizing a Connection that was never closed:" msgstr "Spojeni bylo uzaveno." -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Nemohu peloit data do poadovanho kdovn." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Nabran velikost mus bt nezporn." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Selhalo vytvoen objektu: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 #, fuzzy msgid "ClientInfo property not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "asov limit dotazu mus bt nezporn slo." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Nemohu vytvoit savepoint v auto-commit modu." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Vcensobn ResultSet byl vrcen dotazem." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Maximln poet dek mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "asov limit dotazu mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "Maximln velikost pole mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Pkaz byl uzaven." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "patn smr ten: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Vrcen automaticky generovanch kl nen podporovno." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 #, fuzzy msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "Nemohu najt oid a oidvector typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Nemohu najt nzev typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Zatek pozicovn LOB zana na 1." -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Vcensobn ResultSet byl vrcen dotazem." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Neznm hodnota typu." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM tvrd, e nepodporuje kodovn {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Selhal poskytnut InputStream." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Neznm typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Nemohu petypovat instanci {0} na typ {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, fuzzy, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Nemohu petypovat instanci {0} na typ {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Neoekvan chyba pi zapisovn velkho objektu do databze." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Selhal poskytnut Reader." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "Neoekvan chyba bham dekdovn znaku z velkho objektu." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nemohu petypovat instanci {0} na typ {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "Nemete pouvat relativn pesuny pi vkldn dku." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "patn smr ten: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 -msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "Nemete volat cancelRowUpdates() pi vkldn dku." - -#: org/postgresql/jdbc/PgResultSet.java:856 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "Nemete volat deleteRow() pi vkldn dku." - -#: org/postgresql/jdbc/PgResultSet.java:863 -msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:869 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "" -"Prv jste za pozic konce ResultSetu. Zde nemete volat deleteRow().s" - -#: org/postgresql/jdbc/PgResultSet.java:873 -msgid "There are no rows in this ResultSet." -msgstr "dn dek v ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:914 -msgid "Not on the insert row." -msgstr "Ne na vkldanm dku." - -#: org/postgresql/jdbc/PgResultSet.java:916 -msgid "You must specify at least one column value to insert a row." -msgstr "Muste vyplnit alespo jeden sloupec pro vloen dku." - -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 -#, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "JVM tvrd, e nepodporuje kodovn: {0}" - -#: org/postgresql/jdbc/PgResultSet.java:1214 -msgid "Can''t refresh the insert row." -msgstr "Nemohu obnovit vkldan dek." - -#: org/postgresql/jdbc/PgResultSet.java:1280 -msgid "Cannot call updateRow() when on the insert row." -msgstr "Nemohu volat updateRow() na vlkdanm dku." - -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1486 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." -msgstr "ResultSets se soubnost CONCUR_READ_ONLY neme bt aktualizovno" - -#: org/postgresql/jdbc/PgResultSet.java:1555 -#, java-format -msgid "No primary key found for table {0}." -msgstr "Nenalezen primrn kl pro tabulku {0}." - -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 -#, java-format -msgid "Bad value for type {0} : {1}" -msgstr "patn hodnota pro typ {0} : {1}" - -#: org/postgresql/jdbc/PgResultSet.java:2564 -#, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Sloupec pojmenovan {0} nebyl nalezen v ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" -"ResultSet nen aktualizavateln. Dotaz mus vybrat pouze z jedn tabulky a " -"mus obsahovat vechny primrn kle tabulky. Koukni do JDBC 2.1 API " -"Specifikace, sekce 5.6 pro vce podrobnost." - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "Tento ResultSet je uzaven." - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Selhalo vytvoen objektu: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Tento PooledConnection byl uzaven." - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Maximln poet dek mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "asov limit dotazu mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "Maximln velikost pole mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Pkaz byl uzaven." - -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy -msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "Vrcen automaticky generovanch kl nen podporovno." - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Vrcen automaticky generovanch kl nen podporovno." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Nemohu zskat odkaz na savepoint, kdy byl uvolnn." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Nemohu zskat id nepojmenovanho savepointu." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Nemohu zskat nzev nepojmenovanho savepointu." - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "patn hodnota pro typ {0} : {1}" - -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "Nekonen hodnota pro timestamp/date. Toto neme reprezentovat as." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Nepodporovan hodnota typu: {0}" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Selhala inicializace LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Velk objecky nemohou bt pouity v auto-commit modu." - -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Nepodporovan hodnota typu: {0}" - -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "Nemete volat cancelRowUpdates() pi vkldn dku." + +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "Nemete volat deleteRow() pi vkldn dku." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" +"Prv jste za pozic konce ResultSetu. Zde nemete volat deleteRow().s" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "dn dek v ResultSet." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Ne na vkldanm dku." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." +msgstr "Muste vyplnit alespo jeden sloupec pro vloen dku." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "The JVM claims not to support the encoding: {0}" +msgstr "JVM tvrd, e nepodporuje kodovn: {0}" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." +msgstr "Nemohu obnovit vkldan dek." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." +msgstr "Nemohu volat updateRow() na vlkdanm dku." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +msgstr "ResultSets se soubnost CONCUR_READ_ONLY neme bt aktualizovno" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "No primary key found for table {0}." +msgstr "Nenalezen primrn kl pro tabulku {0}." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "Bad value for type {0} : {1}" +msgstr "patn hodnota pro typ {0} : {1}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +msgid "The column name {0} was not found in this ResultSet." +msgstr "Sloupec pojmenovan {0} nebyl nalezen v ResultSet." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/jdbc/PgResultSet.java:2725 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"ResultSet nen aktualizavateln. Dotaz mus vybrat pouze z jedn tabulky a " +"mus obsahovat vechny primrn kle tabulky. Koukni do JDBC 2.1 API " +"Specifikace, sekce 5.6 pro vce podrobnost." -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "Tento ResultSet je uzaven." -#: org/postgresql/ssl/MakeSSL.java:67 -#, java-format -msgid "SSL error: {0}" +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "patn hodnota pro typ {0} : {1}" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement byl sputn, le nic nebylo vrceno." + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement byl sputn, le nic nebylo vrceno." + +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "The hostname {0} could not be verified." +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Nastala chyba pi nastaven SSL spojen." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -#, fuzzy -msgid "Conversion of interval failed" -msgstr "Pevod penz selhal." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Pevod penz selhal." +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Detail: {0}" -msgstr "Detail: {0}" +msgid "{0} function takes four and only four argument." +msgstr "Funkce {0} bere pesn tyi argumenty." -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Hint: {0}" -msgstr "Rada: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "Funkce {0} bere prv dva argumenty." -#: org/postgresql/util/ServerErrorMessage.java:174 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Position: {0}" -msgstr "Pozice: {0}" +msgid "{0} function takes one and only one argument." +msgstr "Funkce {0} bere jeden argument." -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Where: {0}" -msgstr "Kde: {0}" +msgid "{0} function takes two or three arguments." +msgstr "Funkce {0} bere dva nebo ti argumenty." -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Internal Query: {0}" -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Funkce {0} nebere dn argument." -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, fuzzy, java-format -msgid "Internal Position: {0}" -msgstr "Pozice: {0}" +msgid "{0} function takes three and only three arguments." +msgstr "Funkce {0} bere prv dva argumenty." -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Poloha: Soubor: {0}, Rutina: {1}, dek: {2}" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Metoda {0} nen implementovna." -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Server SQLState: {0}" -msgstr "Server SQLState: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Selhala inicializace LargeObject API" -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Velk objecky nemohou bt pouity v auto-commit modu." -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, java-format +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Tento ResultSet je uzaven." -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" +#: org/postgresql/copy/CopyManager.java:53 +#, java-format +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:317 -#, fuzzy -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." - -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" +#: org/postgresql/fastpath/Fastpath.java:80 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" +#: org/postgresql/fastpath/Fastpath.java:165 +#, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Obdren vsledek, ikdy dn nebyl oekvn." -#: org/postgresql/xa/PGXAConnection.java:464 +#: org/postgresql/fastpath/Fastpath.java:190 +#, java-format msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " +#~ "postmaster pijm TCP/IP spojen." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Pokus o pipojen selhal." -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Spojen odmtnuto: {0}." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Selhal start backendu: {0}." + +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." + +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Neoekvan chyba bham dekdovn znaku z velkho objektu." + +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "Vrcen automaticky generovanch kl nen podporovno." + +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Nekonen hodnota pro timestamp/date. Toto neme reprezentovat as." + +#, fuzzy +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Tda {0} nepodporuje org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/de.po b/pgjdbc/src/main/java/org/postgresql/translation/de.po index cf12c2802b..a684dbc2c2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/de.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2008-09-12 14:22+0200\n" "Last-Translator: Andre Bialojahn \n" "Language-Team: Deutsch\n" @@ -20,427 +20,416 @@ msgstr "" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Konnte {0} nicht in Typ box umwandeln" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Dieses ResultSet ist geschlossen." +msgid "An error occurred reading the certificate" +msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." +msgid "Could not open SSL certificate file {0}." msgstr "" -"Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt " -"werden." -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Unzulssige Syntax fr ein Funktions- oder Prozedur-Escape an Offset {0}." -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, " -"jedoch nur {1} gelesen." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Eine Abfrage lieferte ein unerwartetes Resultat." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Ungltige UTF-8-Sequenz: Byte {0} der {1} Bytesequenz ist nicht 10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Ungltige UTF-8-Sequenz: {0} Bytes wurden verwendet um einen {1} Bytewert zu " -"kodieren: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Ungltige UTF-8-Sequenz: das erste Byte ist {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Ungltige UTF-8-Sequenz: Der letzte Wert ist auerhalb des zulssigen " -"Bereichs: {0}" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "Ungltige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Stringparameter drfen keine Nullbytes enthalten." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Nullbytes drfen in Bezeichnern nicht vorkommen." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " -"Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Der Verbindungsversuch schlug fehl." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Der Verbindungsversuch schlug fehl." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Der Server untersttzt SSL nicht." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Protokollfehler. Die Sitzung konnte nicht gestartet werden." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Connection rejected: {0}." -msgstr "Verbindung abgewiesen: {0}." +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" +"Unzulssige Syntax fr ein Funktions- oder Prozedur-Escape an Offset {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -"Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein " -"Passwort angegeben." +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Stringparameter drfen keine Nullbytes enthalten." + +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Der Authentifizierungstyp {0} wird nicht untersttzt. Stellen Sie sicher, " -"dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients " -"enthlt und dass der Client ein Authentifizierungsschema nutzt, das vom " -"Treiber untersttzt wird." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Protokollfehler. Die Sitzung konnte nicht gestartet werden." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Nullbytes drfen in Bezeichnern nicht vorkommen." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Das Backend konnte nicht gestartet werden: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"Der Spaltenindex {0} ist auerhalb des gltigen Bereichs. Anzahl Spalten: " -"{1}." +"Ungltige UTF-8-Sequenz: Byte {0} der {1} Bytesequenz ist nicht 10xxxxxx: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Fr den Parameter {0} wurde kein Wert angegeben." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Ungltige UTF-8-Sequenz: {0} Bytes wurden verwendet um einen {1} Bytewert zu " +"kodieren: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Ungltige UTF-8-Sequenz: das erste Byte ist {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Unerwarteter Befehlsstatus: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "" +"Ungltige UTF-8-Sequenz: Der letzte Wert ist auerhalb des zulssigen " +"Bereichs: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Die Antwort weist einen unbekannten Typ auf: {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "Ungltige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Nicht gengend Speicher beim Abholen der Abfrageergebnisse." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Eine Abfrage lieferte ein unerwartetes Resultat." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" -"Der Updatecount aus der Kommandovervollstndigungsmarkierung(?) {0} konnte " -"nicht interpretiert werden." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, " +"jedoch nur {1} gelesen." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " -"Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Der Anweisung konnten keine Parameterwerte zugewiesen werden." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Unerwarteter Befehlsstatus: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Die Antwort weist einen unbekannten Typ auf: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 -#, fuzzy, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" msgstr "" -"Der Parameter ''client_encoding'' wurde auf dem Server auf {0} verndert. " -"Der JDBC-Treiber setzt fr korrektes Funktionieren die Einstellung UNICODE " -"voraus." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 #, java-format msgid "" -"The server''s DateStyle parameter was changed to {0}. The JDBC driver " -"requires DateStyle to begin with ISO for correct operation." +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." msgstr "" -"Der Parameter ''Date Style'' wurde auf dem Server auf {0} verndert. Der " +"Die Nachrichtenlnge {0} ist zu gro. Das kann von sehr groen oder " +"inkorrekten Lngenangaben eines InputStream-Parameters herrhren." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Nicht gengend Speicher beim Abholen der Abfrageergebnisse." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Der Treiber untersttzt derzeit keine COPY-Operationen." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Der Updatecount aus der Kommandovervollstndigungsmarkierung(?) {0} konnte " +"nicht interpretiert werden." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, fuzzy, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." +msgstr "" +"Der Parameter ''client_encoding'' wurde auf dem Server auf {0} verndert. " +"Der JDBC-Treiber setzt fr korrektes Funktionieren die Einstellung UNICODE " +"voraus." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#, java-format +msgid "" +"The server''s DateStyle parameter was changed to {0}. The JDBC driver " +"requires DateStyle to begin with ISO for correct operation." +msgstr "" +"Der Parameter ''Date Style'' wurde auf dem Server auf {0} verndert. Der " "JDBC-Treiber setzt fr korrekte Funktion voraus, dass ''Date Style'' mit " "''ISO'' beginnt." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -449,66 +438,202 @@ msgstr "" "Der standard_conforming_strings Parameter des Servers steht auf {0}. Der " "JDBC-Treiber erwartete on oder off." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "" +"Der Spaltenindex {0} ist auerhalb des gltigen Bereichs. Anzahl Spalten: " +"{1}." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "Fr den Parameter {0} wurde kein Wert angegeben." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" +"Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " +"Parameter." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Der Verbindungsversuch schlug fehl." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Die Verbindung wurde geschlossen." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Die Nachrichtenlnge {0} ist zu gro. Das kann von sehr groen oder " -"inkorrekten Lngenangaben eines InputStream-Parameters herrhren." +"Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " +"Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Der Treiber untersttzt derzeit keine COPY-Operationen." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Fehler beim Laden der Voreinstellungen aus driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Der Server untersttzt SSL nicht." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein " +"Passwort angegeben." -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus " -"verhindert. Sie mssen wahrscheinlich der Verbindung zum Datenbankrechner " -"java.net.SocketPermission gewhren, um den Rechner auf dem gewhlten Port zu " -"erreichen." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -"Etwas Ungewhnliches ist passiert, das den Treiber fehlschlagen lie. Bitte " -"teilen Sie diesen Fehler mit." +"Der Authentifizierungstyp {0} wird nicht untersttzt. Stellen Sie sicher, " +"dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients " +"enthlt und dass der Client ein Authentifizierungsschema nutzt, das vom " +"Treiber untersttzt wird." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Keine Verbindung innerhalb des Zeitintervalls mglich." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "" +"Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt " +"werden." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Ungltige Zeichendaten. Das ist hchstwahrscheinlich von in der Datenbank " +"gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung " +"vorliegen, als die, in der die Datenbank erstellt wurde. Das hufigste " +"Beispiel dafr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Die Umwandlung eines Whrungsbetrags schlug fehl." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Die Umwandlung eines Intervalls schlug fehl." -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Die Methode {0} ist noch nicht implementiert." +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detail: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Hinweis: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Wobei: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Interne Abfrage: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Interne Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Ort: Datei: {0}, Routine: {1}, Zeile: {2}." + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Server SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Die Datenquelle wurde geschlossen." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Unbekannter Typ: {0}." @@ -517,7 +642,7 @@ msgstr "Unbekannter Typ: {0}." msgid "This PooledConnection has already been closed." msgstr "Diese PooledConnection ist bereits geschlossen worden." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -526,416 +651,526 @@ msgstr "" "Verbindung fr die gleiche PooledConnection geffnet wurde, oder die " "PooledConnection geschlossen worden ist.." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Die Verbindung wurde geschlossen." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Die Anweisung wurde geschlossen." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Die Datenquelle wurde geschlossen." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +msgid "Invalid server-first-message: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Unbekannter Typ: {0}." + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Fehler beim Laden der Voreinstellungen aus driverconfig.properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +"Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus " +"verhindert. Sie mssen wahrscheinlich der Verbindung zum Datenbankrechner " +"java.net.SocketPermission gewhren, um den Rechner auf dem gewhlten Port zu " +"erreichen." + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Etwas Ungewhnliches ist passiert, das den Treiber fehlschlagen lie. Bitte " +"teilen Sie diesen Fehler mit." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Keine Verbindung innerhalb des Zeitintervalls mglich." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Die Fastpath-Funktion {0} ist unbekannt." +msgid "Method {0} is not yet implemented." +msgstr "Die Methode {0} ist noch nicht implementiert." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Die Umwandlung in den Typ {0} schlug fehl: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "" "Es konnte nicht ermittelt werden, ob der Pfad offen oder geschlossen ist: " "{0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Das Abschneiden groer Objekte ist nur in Versionen nach 8.3 implementiert." - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "LOBs in PostgreSQL knnen nur auf {0} verweisen." - -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "Positionsoffsets fr LOBs beginnen bei 1." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Ungltige Flags" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "free() wurde bereits fr dieses LOB aufgerufen." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "Die xid darf nicht null sein." -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Die Anweisung lieferte ein Ergebnis obwohl keines erwartet wurde." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Die Verbindung ist derzeit mit einer anderen Transaktion beschftigt." -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Zu viele Updateergebnisse wurden zurckgegeben." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "Anhalten/Fortsetzen ist nicht implementiert." -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"Batch-Eintrag {0} {1} wurde abgebrochen. Rufen Sie ''getNextException'' " -"auf, um die Ursache zu erfahren." -#: org/postgresql/jdbc/EscapedFunctions.java:243 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "Die {0}-Funktion erwartet genau vier Argumente." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Fehler beim Abschalten von Autocommit." -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Die {0}-Funktion erwartet genau zwei Argumente." +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"Es wurde versucht, ohne dazugehrigen ''start''-Aufruf ''end'' aufzurufen." -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Die {0}-Funktion erwartet nur genau ein Argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Die {0}-Funktion erwartet zwei oder drei Argumente." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Die {0}-Funktion akzeptiert kein Argument." +#: org/postgresql/xa/PGXAConnection.java:307 +#, fuzzy, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Nicht implementiert: ''Prepare'' muss ber die selbe Verbindung abgesetzt " +"werden, die die Transaktion startete." -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Die {0}-Funktion erwartet genau drei Argumente." +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "''Prepare'' wurde vor ''end'' aufgerufen." -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "Intervall {0} ist noch nicht implementiert." +#: org/postgresql/xa/PGXAConnection.java:331 +#, fuzzy, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Beim Vorbereiten der Transaktion trat ein Fehler auf." -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Beim Wiederherstellen trat ein Fehler auf." + +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." + +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "The array index is out of range: {0}" -msgstr "Der Arrayindex ist auerhalb des gltigen Bereichs: {0}." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Nicht implementiert: Die einphasige Besttigung muss ber die selbe " +"Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen." -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"Der Arrayindex {0} ist auerhalb des gltigen Bereichs. Vorhandene Elemente: " -"{1}." -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "''Commit'' wurde vor ''end'' aufgerufen." + +#: org/postgresql/xa/PGXAConnection.java:498 +#, fuzzy, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Bei der einphasigen Besttigung trat ein Fehler auf." + +#: org/postgresql/xa/PGXAConnection.java:517 +#, fuzzy msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Ungltige Zeichendaten. Das ist hchstwahrscheinlich von in der Datenbank " -"gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung " -"vorliegen, als die, in der die Datenbank erstellt wurde. Das hufigste " -"Beispiel dafr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen." +"Nicht implementiert: Die zweite Besttigungsphase muss ber eine im Leerlauf " +"befindliche Verbindung abgewickelt werden." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Ein CallableStatement wurde ausgefhrt ohne etwas zurckzugeben." +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/xa/PGXAConnection.java:567 +#, fuzzy, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgefhrt." -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Erstellung des Objektes schlug fehl fr: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Diese PooledConnection ist bereits geschlossen worden." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -"Eine CallableStatement-Funktion wurde ausgefhrt und der Rckgabewert {0} " -"war vom Typ {1}. Jedoch wurde der Typ {2} dafr registriert." -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= " -"call ... '}' um das zu tun." -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -"wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde." +"Ein Rettungspunkt kann nicht angesprochen werden, nach dem er entfernt wurde." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Die ID eines benamten Rettungspunktes kann nicht ermittelt werden." -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Der Name eines namenlosen Rettungpunktes kann nicht ermittelt werden." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "The array index is out of range: {0}" +msgstr "Der Arrayindex ist auerhalb des gltigen Bereichs: {0}." + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -"Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf " -"get{1} (sqltype={2})." +"Der Arrayindex {0} ist auerhalb des gltigen Bereichs. Vorhandene Elemente: " +"{1}." -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" -"Ein CallableStatement wurde deklariert, aber kein Aufruf von " -"''registerOutParameter(1, )'' erfolgte." +"Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " +"Parameter." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -#, fuzzy -msgid "No function outputs were registered." -msgstr "Es wurden keine Funktionsausgaben registriert." +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Zu viele Updateergebnisse wurden zurckgegeben." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Ergebnisse knnen nicht von einem CallableStatement abgerufen werden, bevor " -"es ausgefhrt wurde." +"Batch-Eintrag {0} {1} wurde abgebrochen. Rufen Sie ''getNextException'' " +"auf, um die Ursache zu erfahren." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nichtuntersttzter Wert fr den Stringparameter: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Die Abfrage lieferte kein Ergebnis." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Die Anweisung lieferte ein Ergebnis obwohl keines erwartet wurde." + +#: org/postgresql/jdbc/PgConnection.java:545 #, fuzzy msgid "Custom type maps are not supported." msgstr "Selbstdefinierte Typabbildungen werden nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Erstellung des Objektes schlug fehl fr: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Die fr den Datentyp {1} verantwortliche Klasse {0} konnte nicht geladen " "werden." -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Die Nur-Lesen-Eigenschaft einer Transaktion kann nicht whrend der " "Transaktion verndert werden." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Die Verbindung wurde geschlossen." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Die Transaktions-Trennungsstufe kann nicht whrend einer Transaktion " "verndert werden." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Die Transaktions-Trennungsstufe {0} ist nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Eine Connection wurde finalisiert, die nie geschlossen wurde:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Die Daten konnten nicht in die gewnschte Kodierung gewandelt werden." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Die Fetch-Gre muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, fuzzy, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" "Fr den angegebenen Namen {0} konnte kein Serverarraytyp gefunden werden." -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Erstellung des Objektes schlug fehl fr: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "Die ClientInfo-Eigenschaft ist nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Der Server untersttzt keine Rettungspunkte vor Version 8.0." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Ein Rettungspunkt kann im Modus ''auto-commit'' nicht erstellt werden." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Die Abfrage ergab mehrere ResultSets." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Die maximale Zeilenzahl muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "Die maximale Feldgre muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Die Anweisung wurde geschlossen." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Unzulssige Richtungskonstante bei fetch: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -943,122 +1178,137 @@ msgstr "" "Es konnte kein Wert fr MaxIndexKeys gefunden werden, da die " "Systemkatalogdaten fehlen." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" "In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "" -"Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " -"Parameter." - -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 -#, fuzzy +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"Abfragemethoden, die einen Abfragestring annehmen, knnen nicht auf ein " -"PreparedStatement angewandt werden." +"Das Abschneiden groer Objekte ist nur in Versionen nach 8.3 implementiert." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Die Abfrage ergab mehrere ResultSets." +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:270 -msgid "Unknown Types value." +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "LOBs in PostgreSQL knnen nur auf {0} verweisen." + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Positionsoffsets fr LOBs beginnen bei 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() wurde bereits fr dieses LOB aufgerufen." + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#, fuzzy +msgid "" +"Can''t use query methods that take a query string on a PreparedStatement." +msgstr "" +"Abfragemethoden, die einen Abfragestring annehmen, knnen nicht auf ein " +"PreparedStatement angewandt werden." + +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." msgstr "Unbekannter Typ." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "Die JVM behauptet, die Zeichenkodierung {0} nicht zu untersttzen." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Der bereitgestellte InputStream scheiterte." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Unbekannter Typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Unbekannter Typ: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1068,25 +1318,24 @@ msgstr "" "abgeleitet werden. Benutzen Sie ''setObject()'' mit einem expliziten Typ, um " "ihn festzulegen." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "" "Beim Schreiben eines LargeObjects (LOB) in die Datenbank trat ein " "unerwarteter Fehler auf." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Der bereitgestellte Reader scheiterte." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1094,44 +1343,34 @@ msgstr "" "Die Operation erfordert ein scrollbares ResultSet, dieses jedoch ist " "FORWARD_ONLY." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" -"Ein unerwarteter Fehler trat beim Dekodieren von Zeichen aus einem " -"LargeObject (LOB) auf." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Relative Bewegungen knnen in der Einfgezeile nicht durchgefhrt werden." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Unzulssige Richtungskonstante bei fetch: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" "''cancelRowUpdates()'' kann in der Einfgezeile nicht aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "''deleteRow()'' kann in der Einfgezeile nicht aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1139,7 +1378,7 @@ msgstr "" "Die augenblickliche Position ist vor dem Beginn des ResultSets. Dort kann " "''deleteRow()'' nicht aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1147,37 +1386,37 @@ msgstr "" "Die augenblickliche Position ist hinter dem Ende des ResultSets. Dort kann " "''deleteRow()'' nicht aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "Es gibt keine Zeilen in diesem ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Nicht in der Einfgezeile." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" "Sie mssen mindestens einen Spaltenwert angeben, um eine Zeile einzufgen." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "Die JVM behauptet, die Zeichenkodierung {0} nicht zu untersttzen." -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Die Einfgezeile kann nicht aufgefrischt werden." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "''updateRow()'' kann in der Einfgezeile nicht aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1185,40 +1424,40 @@ msgstr "" "Das ResultSet kann nicht aktualisiert werden, da es entweder vor oder nach " "dem Ende der Ergebnisse ist." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" "ResultSets, deren Zugriffsart CONCUR_READ_ONLY ist, knnen nicht " "aktualisiert werden." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Fr die Tabelle {0} konnte kein Primrschlssel gefunden werden." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Unzulssiger Wert fr den Typ {0} : {1}." -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Der Spaltenname {0} wurde in diesem ResultSet nicht gefunden." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1228,440 +1467,332 @@ msgstr "" "darf nur eine Tabelle und muss darin alle Primrschlssel auswhlen. Siehe " "JDBC 2.1 API-Spezifikation, Abschnitt 5.6 fr mehr Details." -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "Dieses ResultSet ist geschlossen." -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Das ResultSet ist nicht richtig positioniert. Eventuell muss ''next'' " "aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 #, fuzzy msgid "Invalid UUID data." msgstr "Ungltiges Flag." -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Erstellung des Objektes schlug fehl fr: {0}." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Die Transaktions-Trennungsstufe {0} ist nicht untersttzt." -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Unzulssiger Wert fr den Typ {0} : {1}." -#: org/postgresql/jdbc/PgSQLXML.java:216 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." +msgid "Unsupported binary encoding of {0}." +msgstr "Unbekannter Typ: {0}." -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Diese PooledConnection ist bereits geschlossen worden." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Ein CallableStatement wurde ausgefhrt ohne etwas zurckzugeben." -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgefhrt." -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"Eine CallableStatement-Funktion wurde ausgefhrt und der Rckgabewert {0} " +"war vom Typ {1}. Jedoch wurde der Typ {2} dafr registriert." -#: org/postgresql/jdbc/PgSQLXML.java:290 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= " +"call ... '}' um das zu tun." -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" +"wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde." -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Die maximale Zeilenzahl muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "Die maximale Feldgre muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Die Anweisung wurde geschlossen." - -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"Ein Rettungspunkt kann nicht angesprochen werden, nach dem er entfernt wurde." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Die ID eines benamten Rettungspunktes kann nicht ermittelt werden." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Der Name eines namenlosen Rettungpunktes kann nicht ermittelt werden." - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Unzulssiger Wert fr den Typ {0} : {1}." +"Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf " +"get{1} (sqltype={2})." -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"Fr den Zeitstempel oder das Datum wurde der Wert ''unendlich'' gefunden. " -"Dies kann nicht als Zeit reprsentiert werden." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Unbekannter Typ: {0}." +"Ein CallableStatement wurde deklariert, aber kein Aufruf von " +"''registerOutParameter(1, )'' erfolgte." -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Die LargeObject-API konnte nicht initialisiert werden." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +#, fuzzy +msgid "No function outputs were registered." +msgstr "Es wurden keine Funktionsausgaben registriert." -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -"LargeObjects (LOB) drfen im Modus ''auto-commit'' nicht verwendet werden." +"Ergebnisse knnen nicht von einem CallableStatement abgerufen werden, bevor " +"es ausgefhrt wurde." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Unbekannter Typ: {0}." -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "Die {0}-Funktion erwartet genau vier Argumente." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "Die {0}-Funktion erwartet genau zwei Argumente." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "Die {0}-Funktion erwartet nur genau ein Argument." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "Die {0}-Funktion erwartet zwei oder drei Argumente." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." +msgstr "Die {0}-Funktion akzeptiert kein Argument." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "Die {0}-Funktion erwartet genau drei Argumente." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Intervall {0} ist noch nicht implementiert." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not read SSL key file {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Die LargeObject-API konnte nicht initialisiert werden." + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" +"LargeObjects (LOB) drfen im Modus ''auto-commit'' nicht verwendet werden." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." +msgid "Copying from database failed: {0}" +msgstr "Konnte {0} nicht in Typ box umwandeln" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Dieses ResultSet ist geschlossen." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "Requested CopyDual but got {0}" msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "SSL error: {0}" +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/fastpath/Fastpath.java:80 #, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." - -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Die Umwandlung eines Intervalls schlug fehl." - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Die Umwandlung eines Whrungsbetrags schlug fehl." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Detail: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "Hinweis: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" -msgstr "Wobei: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:184 -#, java-format -msgid "Internal Query: {0}" -msgstr "Interne Abfrage: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "Interne Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Ort: Datei: {0}, Routine: {1}, Zeile: {2}." - -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:302 #, java-format -msgid "Server SQLState: {0}" -msgstr "Server SQLState: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Ungltige Flags" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "Die xid darf nicht null sein." - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "Die Verbindung ist derzeit mit einer anderen Transaktion beschftigt." - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "Anhalten/Fortsetzen ist nicht implementiert." - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Transaktionsinterleaving ist nicht implementiert." - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "Fehler beim Abschalten von Autocommit." - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" -"Es wurde versucht, ohne dazugehrigen ''start''-Aufruf ''end'' aufzurufen." - -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" -"Nicht implementiert: ''Prepare'' muss ber die selbe Verbindung abgesetzt " -"werden, die die Transaktion startete." - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "''Prepare'' wurde vor ''end'' aufgerufen." +msgid "The fastpath function {0} is unknown." +msgstr "Die Fastpath-Funktion {0} ist unbekannt." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "Der Server untersttzt keine zweiphasige Besttigung vor Version 8.1." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und " +#~ "der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Beim Vorbereiten der Transaktion trat ein Fehler auf." +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Der Verbindungsversuch schlug fehl." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Ungltiges Flag." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Verbindung abgewiesen: {0}." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Beim Wiederherstellen trat ein Fehler auf." +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Das Backend konnte nicht gestartet werden: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Der Server untersttzt keine Rettungspunkte vor Version 8.0." -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Nicht implementiert: Die einphasige Besttigung muss ber die selbe " -"Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen." +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "Ein unerwarteter Fehler trat beim Dekodieren von Zeichen aus einem " +#~ "LargeObject (LOB) auf." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "''Commit'' wurde vor ''end'' aufgerufen." +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Bei der einphasigen Besttigung trat ein Fehler auf." +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Fr den Zeitstempel oder das Datum wurde der Wert ''unendlich'' gefunden. " +#~ "Dies kann nicht als Zeit reprsentiert werden." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Nicht implementiert: Die zweite Besttigungsphase muss ber eine im Leerlauf " -"befindliche Verbindung abgewickelt werden." +#~ msgid "Transaction interleaving not implemented" +#~ msgstr "Transaktionsinterleaving ist nicht implementiert." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Der Server untersttzt keine zweiphasige Besttigung vor Version 8.1." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." +#~ msgid "Invalid flag" +#~ msgstr "Ungltiges Flag." #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/es.po b/pgjdbc/src/main/java/org/postgresql/translation/es.po index f1c80fce28..99151a7f8f 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/es.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/es.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC PostgreSQL Driver\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2004-10-22 16:51-0300\n" "Last-Translator: Diego Gil \n" "Language-Team: \n" @@ -15,289 +15,444 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Spanish\n" -#: org/postgresql/copy/CopyManager.java:57 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Copying from database failed: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 -#, fuzzy, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "No se pudo hacer una conexión para el protocolo solicitado {0}." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Parser.java:616 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/PGStream.java:497 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se " -"leyeron {1}." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Una consulta retornó un resultado inesperado." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Error de protocolo. Falló el inicio de la sesión." + +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 msgid "Zero bytes may not occur in string parameters." msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -#: org/postgresql/core/Utils.java:206 +#: org/postgresql/core/Utils.java:159 msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "Invalid sslmode value: {0}" +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "Invalid targetServerType value: {0}" +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/UTF8Encoding.java:135 +#, java-format +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -"Conexión rechazada. Verifique que el nombre del Host y el puerto sean " -"correctos y que postmaster este aceptando conexiones TCP/IP." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "El intento de conexión falló." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "El intento de conexión falló." +#: org/postgresql/core/UTF8Encoding.java:151 +#, java-format +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Este servidor no soporta SSL." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Una consulta retornó un resultado inesperado." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgstr "" +"Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se " +"leyeron {1}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Connection rejected: {0}." -msgstr "Conexión rechazada: {0}." +msgid "Expected an EOF from server, got: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"El servidor requiere autenticación basada en contraseña, pero no se ha " -"provisto ninguna contraseña." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, fuzzy, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -"El tipo de autenticación {0} no es soportada. Verifique que ha configurado " -"el archivo pg_hba.conf para incluir las direcciones IP de los clientes o la " -"subred, y que está usando un esquema de autenticación soportado por el " -"driver." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Error de protocolo. Falló el inicio de la sesión." +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Falló el arranque del Backend: {0}. " - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" msgstr "" -"El índice de la columna está fuera de rango: {0}, número de columnas: {1}." -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 -#, java-format -msgid "No value specified for parameter {0}." -msgstr "No se ha especificado un valor para el parámetro {0}." +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 #, fuzzy -msgid "An I/O error occurred while sending to the backend." +msgid "An error occurred while trying to get the socket timeout." msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 #, java-format msgid "Unknown Response Type {0}." msgstr "Tipo de respuesta desconocida {0}." -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +msgid "Database connection failed when starting copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +msgid "Tried to cancel an inactive copy operation" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +msgid "Database connection failed when canceling copy operation" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +msgid "Missing expected error response to copy cancel request" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#, java-format +msgid "Got {0} error responses to single copy cancel request" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +msgid "Tried to end inactive copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +msgid "Database connection failed when ending copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +msgid "Tried to write to an inactive copy operation" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +msgid "Database connection failed when writing to copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +msgid "Tried to read from inactive copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +msgid "Database connection failed when reading from copy" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#, java-format +msgid "Received CommandComplete ''{0}'' without an active copy operation" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#, java-format +msgid "Got CopyInResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#, java-format +msgid "Got CopyOutResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +msgid "Got CopyData without an active copy operation" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#, java-format +msgid "Unexpected copydata from server for {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." +msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "" +"The server''s DateStyle parameter was changed to {0}. The JDBC driver " +"requires DateStyle to begin with ISO for correct operation." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#, java-format +msgid "" +"The server''s standard_conforming_strings parameter was reported as {0}. The " +"JDBC driver expected on or off." +msgstr "" + +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 +#, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "" +"El índice de la columna está fuera de rango: {0}, número de columnas: {1}." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "No se ha especificado un valor para el parámetro {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "" +"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "El intento de conexión falló." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "El intento de conexión falló." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, java-format +msgid "Invalid sslmode value: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, java-format +msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -306,153 +461,210 @@ msgstr "" "Conexión rechazada. Verifique que el nombre del Host y el puerto sean " "correctos y que postmaster este aceptando conexiones TCP/IP." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 -msgid "Tried to obtain lock while already holding it" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Este servidor no soporta SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"El servidor requiere autenticación basada en contraseña, pero no se ha " +"provisto ninguna contraseña." -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 -msgid "Interrupted while waiting to obtain lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, fuzzy, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"El tipo de autenticación {0} no es soportada. Verifique que ha configurado " +"el archivo pg_hba.conf para incluir las direcciones IP de los clientes o la " +"subred, y que está usando un esquema de autenticación soportado por el " +"driver." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 -msgid "Unable to bind parameter values for statement." +#: org/postgresql/core/ConnectionFactory.java:57 +#, fuzzy, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "No se pudo hacer una conexión para el protocolo solicitado {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 -msgid "Database connection failed when starting copy" +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 -msgid "Tried to cancel an inactive copy operation" +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 -msgid "Database connection failed when canceling copy operation" +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 -msgid "Missing expected error response to copy cancel request" +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "Got {0} error responses to single copy cancel request" +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 -msgid "Tried to end inactive copy" +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 -msgid "Database connection failed when ending copy" +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 -msgid "Tried to write to an inactive copy operation" +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 -msgid "Database connection failed when writing to copy" +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 -msgid "Tried to read from inactive copy" +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState del servidor: {0}." + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 -msgid "Database connection failed when reading from copy" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, java-format -msgid "Received CommandComplete ''{0}'' without an active copy operation" +msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 -#, java-format -msgid "Got CopyInResponse from server during an active {0}" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 -#, java-format -msgid "Got CopyOutResponse from server during an active {0}" +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 -msgid "Got CopyData without an active copy operation" +#: org/postgresql/ds/PGPooledConnection.java:315 +#, fuzzy +msgid "Connection has been closed." +msgstr "Conexión rechazada: {0}." + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 -#, java-format -msgid "Unexpected copydata from server for {0}" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 -#, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, java-format -msgid "" -"The server''s DateStyle parameter was changed to {0}. The JDBC driver " -"requires DateStyle to begin with ISO for correct operation." +msgid "Invalid server-first-message: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 #, java-format -msgid "" -"The server''s standard_conforming_strings parameter was reported as {0}. The " -"JDBC driver expected on or off." +msgid "Invalid server-final-message: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 -#, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, java-format +msgid "Unsupported properties: {0}" msgstr "" -#: org/postgresql/Driver.java:234 +#: org/postgresql/Driver.java:214 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:247 +#: org/postgresql/Driver.java:226 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/Driver.java:270 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -460,1081 +672,972 @@ msgstr "" "Algo inusual ha ocurrido que provocó un fallo en el controlador. Por favor " "reporte esta excepción." -#: org/postgresql/Driver.java:370 +#: org/postgresql/Driver.java:416 #, fuzzy msgid "Connection attempt timed out." msgstr "El intento de conexión falló." -#: org/postgresql/Driver.java:383 +#: org/postgresql/Driver.java:429 #, fuzzy msgid "Interrupted while attempting to connect." msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/Driver.java:645 +#: org/postgresql/Driver.java:682 #, fuzzy, java-format msgid "Method {0} is not yet implemented." msgstr "Este método aún no ha sido implementado." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format -msgid "Unsupported property name: {0}" +msgid "Conversion to type {0} failed: {1}." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." +#: org/postgresql/geometric/PGpath.java:70 +#, java-format +msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 -#, fuzzy -msgid "Connection has been closed." -msgstr "Conexión rechazada: {0}." - -#: org/postgresql/ds/PGPooledConnection.java:418 -msgid "Statement has been closed." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +#, fuzzy +msgid "suspend/resume not implemented" +msgstr "Este método aún no ha sido implementado." + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Se retornó un resultado cuando no se esperaba ninguno." - -#: org/postgresql/fastpath/Fastpath.java:200 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "Conversion to type {0} failed: {1}." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Cannot tell if path is open or closed: {0}." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Se retornó un resultado cuando no se esperaba ninguno." - -#: org/postgresql/jdbc/BatchResultHandler.java:59 -#, fuzzy -msgid "Too many update results were returned." -msgstr "La consulta no retornó ningún resultado." - -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "{0} function takes four and only four argument." +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 -#, java-format -msgid "{0} function takes two and only two arguments." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "{0} function takes one and only one argument." +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Este método aún no ha sido implementado." +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Fallo al crear objeto: {0}." -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 -#, java-format -msgid "The array index is out of range: {0}" +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." msgstr "" -"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "The array index is out of range: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" +"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, fuzzy, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" +"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +#, fuzzy +msgid "Too many update results were returned." +msgstr "La consulta no retornó ningún resultado." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "La consulta no retornó ningún resultado." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Se retornó un resultado cuando no se esperaba ninguno." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Fallo al crear objeto: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "El intento de conexión falló." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, java-format +msgid "Invalid elements {0}" +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Fallo al crear objeto: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 -#, java-format -msgid "Unknown ResultSet holdability setting: {0}." +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 -#, fuzzy, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +msgid "" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Fallo al crear objeto: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:216 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, java-format -msgid "Unknown XML Result class: {0}" +msgid "Unsupported binary encoding of {0}." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:359 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, java-format -msgid "Unsupported properties: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, java-format -msgid "{0} parameter value must be an integer but was: {1}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +msgid "Unsupported type conversion to {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Could not read SSL key file {0}." +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "The password callback class provided {0} could not be instantiated." +msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 -#, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Este método aún no ha sido implementado." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "SSL error: {0}" +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" -msgstr "" - -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Detail: {0}" +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Hint: {0}" +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:174 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Position: {0}" +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/fastpath/Fastpath.java:80 #, java-format -msgid "Where: {0}" +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Internal Query: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/fastpath/Fastpath.java:165 #, java-format -msgid "Internal Position: {0}" +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Se retornó un resultado cuando no se esperaba ninguno." -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:190 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState del servidor: {0}." - -#: org/postgresql/xa/PGXAConnection.java:148 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Conexión rechazada. Verifique que el nombre del Host y el puerto sean " +#~ "correctos y que postmaster este aceptando conexiones TCP/IP." -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 #, fuzzy -msgid "suspend/resume not implemented" -msgstr "Este método aún no ha sido implementado." - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "" +#~ msgid "The connection url is invalid." +#~ msgstr "El intento de conexión falló." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Conexión rechazada: {0}." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Falló el arranque del Backend: {0}. " #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "La clase {0} no implementa org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/fr.po b/pgjdbc/src/main/java/org/postgresql/translation/fr.po index 2ee9e4bd74..09e0c322ab 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/fr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2007-07-27 12:27+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,404 +19,392 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Ce ResultSet est ferm." +msgid "An error occurred reading the certificate" +msgstr "" +"Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." +msgid "Could not open SSL certificate file {0}." msgstr "" -"Aucune connexion n''a pu tre tablie en utilisant le protocole demand {0}. " -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Syntaxe de fonction ou d''chappement de procdure malforme l''indice {0}." -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Fin prmature du flux en entre, {0} octets attendus, mais seulement {1} " -"lus." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Attendait une fin de fichier du serveur, reu: {0}" - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Un rsultat inattendu a t retourn par une requte." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Squence UTF-8 illgale: l''octet {0} de la squence d''octet {1} n''est pas " -"10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Squence UTF-8 illgale: {0} octets utilis pour encoder une valeur {1} " -"octets: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Squence UTF-8 illgale: le premier octet est {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Squence UTF-8 illgale: la valeur finale est en dehors des limites: {0}" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Squence UTF-8 illgale: la valeur finale est une valeur de remplacement: {0}" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"Zro octets ne devrait pas se produire dans les paramtres de type chane de " -"caractres." -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Des octects 0 ne devraient pas apparatre dans les identifiants." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Longueur de flux invalide {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Longueur de flux invalide {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " -"et que postmaster accepte les connexions TCP/IP." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "La tentative de connexion a chou." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "La tentative de connexion a chou." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Le serveur ne supporte pas SSL." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Erreur de protocole. Ouverture de la session en chec." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -"Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Connection rejected: {0}." -msgstr "Connexion rejete: {0}." +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" +"Syntaxe de fonction ou d''chappement de procdure malforme l''indice {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." + +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." msgstr "" -"Le serveur a demand une authentification par mots de passe, mais aucun mot " -"de passe n''a t fourni." +"Zro octets ne devrait pas se produire dans les paramtres de type chane de " +"caractres." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Le type d''authentification {0} n''est pas support. Vrifiez que vous avez " -"configur le fichier pg_hba.conf pour inclure l''adresse IP du client ou le " -"sous-rseau et qu''il utilise un schma d''authentification support par le " -"pilote." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Erreur de protocole. Ouverture de la session en chec." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Des octects 0 ne devraient pas apparatre dans les identifiants." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Dmarrage du serveur en chec: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"L''indice de la colonne est hors limite: {0}, nombre de colonnes: {1}." +"Squence UTF-8 illgale: l''octet {0} de la squence d''octet {1} n''est pas " +"10xxxxxx: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Pas de valeur spcifie pour le paramtre {0}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Squence UTF-8 illgale: {0} octets utilis pour encoder une valeur {1} " +"octets: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Attendait le statut de commande BEGIN, obtenu {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Squence UTF-8 illgale: le premier octet est {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Statut de commande inattendu: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -msgid "An I/O error occurred while sending to the backend." -msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "" +"Squence UTF-8 illgale: la valeur finale est en dehors des limites: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Type de rponse inconnu {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" +"Squence UTF-8 illgale: la valeur finale est une valeur de remplacement: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Ai manqu de mmoire en rcuprant les rsultats de la requte." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Un rsultat inattendu a t retourn par une requte." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" -"Incapable d''interprter le nombre de mise jour dans la balise de " -"compltion de commande: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Fin prmature du flux en entre, {0} octets attendus, mais seulement {1} " +"lus." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Attendait une fin de fichier du serveur, reu: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " -"et que postmaster accepte les connexions TCP/IP." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Interrompu pendant l''tablissement de la connexion." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Incapable de lier les valeurs des paramtres pour la commande." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." +msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Attendait le statut de commande BEGIN, obtenu {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Statut de commande inattendu: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Type de rponse inconnu {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Attendait une fin de fichier du serveur, reu: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"La longueur du message de liaison {0} est trop grande. Cela peut tre caus " +"par des spcification de longueur trs grandes ou incorrectes pour les " +"paramtres de type InputStream." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Ai manqu de mmoire en rcuprant les rsultats de la requte." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Le pilote ne supporte pas actuellement les oprations COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Incapable d''interprter le nombre de mise jour dans la balise de " +"compltion de commande: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -426,8 +414,7 @@ msgstr "" "JDBC ncessite l''affectation de la valeur UNICODE client_encoding pour un " "fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -436,8 +423,7 @@ msgstr "" "Le paramtre DateStyle du serveur a t chang pour {0}. Le pilote JDBC " "ncessite que DateStyle commence par ISO pour un fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -446,64 +432,200 @@ msgstr "" "Le paramtre serveur standard_conforming_strings a pour valeur {0}. Le " "driver JDBC attend on ou off." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" +"L''indice de la colonne est hors limite: {0}, nombre de colonnes: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +msgid "No value specified for parameter {0}." +msgstr "Pas de valeur spcifie pour le paramtre {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" -"La longueur du message de liaison {0} est trop grande. Cela peut tre caus " -"par des spcification de longueur trs grandes ou incorrectes pour les " -"paramtres de type InputStream." +"L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Le pilote ne supporte pas actuellement les oprations COPY." +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "La tentative de connexion a chou." -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -"Erreur de chargement des valeurs par dfaut depuis driverconfig.properties" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "La connexion a t ferme." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." +msgstr "" +"Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " +"et que postmaster accepte les connexions TCP/IP." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Le serveur ne supporte pas SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." msgstr "" +"Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"Le serveur a demand une authentification par mots de passe, mais aucun mot " +"de passe n''a t fourni." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Quelque chose d''inhabituel a provoqu l''chec du pilote. Veuillez faire un " -"rapport sur cette erreur." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "La tentative de connexion a chou dans le dlai imparti." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Le type d''authentification {0} n''est pas support. Vrifiez que vous avez " +"configur le fichier pg_hba.conf pour inclure l''adresse IP du client ou le " +"sous-rseau et qu''il utilise un schma d''authentification support par le " +"pilote." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Interrompu pendant l''tablissement de la connexion." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "" +"Aucune connexion n''a pu tre tablie en utilisant le protocole demand {0}. " -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/Oid.java:116 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "La fonction {0} n''est pas encore implmente." +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Des donnes de caractres invalides ont t trouves. C''est probablement " +"caus par le stockage de caractres invalides pour le jeu de caractres de " +"cration de la base. L''exemple le plus courant est le stockage de donnes " +"8bit dans une base SQL_ASCII." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "La conversion de money a chou." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "La conversion de l''intervalle a chou" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Dtail: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Indice: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "O: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Requte interne: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Position interne: {0}" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Localisation: Fichier: {0}, Routine: {1}, Ligne: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState serveur: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource a t ferme." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Valeur de type non supporte: {0}" @@ -512,7 +634,7 @@ msgstr "Valeur de type non support msgid "This PooledConnection has already been closed." msgstr "Cette PooledConnection a dj t ferme." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -520,411 +642,516 @@ msgstr "" "La connexion a t ferme automatiquement car une nouvelle connexion a t " "ouverte pour la mme PooledConnection ou la PooledConnection a t ferme." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "La connexion a t ferme." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Statement a t ferm." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource a t ferme." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +msgid "Invalid server-first-message: {0}" +msgstr "Longueur de flux invalide {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Valeur de type non supporte: {0}" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +"Erreur de chargement des valeurs par dfaut depuis driverconfig.properties" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Quelque chose d''inhabituel a provoqu l''chec du pilote. Veuillez faire un " +"rapport sur cette erreur." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "La tentative de connexion a chou dans le dlai imparti." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Interrompu pendant l''tablissement de la connexion." + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "La fonction fastpath {0} est inconnue." +msgid "Method {0} is not yet implemented." +msgstr "La fonction {0} n''est pas encore implmente." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "La conversion vers le type {0} a chou: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Impossible de dire si path est ferm ou ouvert: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Le troncage des large objects n''est implment que dans les serveurs 8.3 et " -"suprieurs." - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "Les LOB PostgreSQL peuvent seulement s''indicer : {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "Les dcalages de position des LOB commencent 1." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Drapeaux invalides" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "free() a t appele auparavant sur ce LOB" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid ne doit pas tre nul" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Un rsultat a t retourn alors qu''aucun n''tait attendu." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "La connection est occupe avec une autre transaction" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Trop de rsultats de mise jour ont t retourns." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume pas implment" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"L''lment du batch {0} {1} a t annul. Appeler getNextException pour en " -"connatre la cause." -#: org/postgresql/jdbc/EscapedFunctions.java:243 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "La fonction {0} n''accepte que quatre et seulement quatre arguments." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Erreur en dsactivant autocommit" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "La fonction {0} n''accepte que deux et seulement deux arguments." +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "tentative d''appel de fin sans l''appel start correspondant" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "La fonction {0} n''accepte qu''un et un seul argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "La fonction {0} n''accepte que deux ou trois arguments." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "La fonction {0} n''accepte aucun argument." +#: org/postgresql/xa/PGXAConnection.java:307 +#, fuzzy, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Pas implment: Prepare doit tre envoy sur la mme connection qui a " +"dmarr la transaction" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, java-format -msgid "{0} function takes three and only three arguments." -msgstr "La fonction {0} n''accepte que trois et seulement trois arguments." +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prparation appele avant la fin" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "L''interval {0} n''est pas encore implment" +#: org/postgresql/xa/PGXAConnection.java:331 +#, fuzzy, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Erreur en prparant la transaction" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "L''indice du tableau est hors limites: {0}" +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Erreur durant la restauration" + +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Erreur en annulant une transaction prpare" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "L''indice du tableau est hors limites: {0}, nombre d''lments: {1}." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Des donnes de caractres invalides ont t trouves. C''est probablement " -"caus par le stockage de caractres invalides pour le jeu de caractres de " -"cration de la base. L''exemple le plus courant est le stockage de donnes " -"8bit dans une base SQL_ASCII." +"Pas implment: le commit une phase doit avoir lieu en utilisant la mme " +"connection que celle o il a commenc" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Un CallableStatement a t excut mais n''a rien retourn." +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "Commit appel avant la fin" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, fuzzy, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Erreur pendant le commit une phase" + +#: org/postgresql/xa/PGXAConnection.java:517 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Un CallableStatement a t excut avec un nombre de paramtres incorrect" +"Pas implment: le commit deux phase doit tre envoy sur une connection " +"inutilise" -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Erreur en annulant une transaction prpare" + +#: org/postgresql/xa/PGXAConnection.java:567 +#, fuzzy, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristic commit/rollback non support" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"Une fonction CallableStatement a t excute et le paramtre en sortie {0} " -"tait du type {1} alors que le type {2} tait prvu." -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" msgstr "" -"Cette requte ne dclare pas de paramtre OUT. Utilisez '{' ?= call ... '}' " -"pour en dclarer un." -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull ne peut pas tre appel avant la rcupration d''un rsultat." +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 -#, java-format +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Paramtre holdability du ResultSet inconnu: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Cette PooledConnection a dj t ferme." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -"Un paramtre de type {0} a t enregistr, mais un appel get{1} " -"(sqltype={2}) a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"Un CallableStatement a t dclar, mais aucun appel " -"registerOutParameter(1, ) n''a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "Aucune fonction outputs n''a t enregistre." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Impossible de rfrencer un savepoint aprs qu''il ait t libr." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Impossible de retrouver l''identifiant d''un savepoint nomm." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Impossible de retrouver le nom d''un savepoint sans nom." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "L''indice du tableau est hors limites: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "L''indice du tableau est hors limites: {0}, nombre d''lments: {1}." + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "" +"L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Trop de rsultats de mise jour ont t retourns." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Les rsultats ne peuvent tre rcuprs partir d''un CallableStatement " -"avant qu''il ne soit excut." +"L''lment du batch {0} {1} a t annul. Appeler getNextException pour en " +"connatre la cause." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" "Valeur non supporte pour les paramtre de type chane de caractres: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Aucun rsultat retourn par la requte." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Un rsultat a t retourn alors qu''aucun n''tait attendu." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Incapable de charger la classe {0} responsable du type de donnes {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Impossible de changer la proprit read-only d''une transaction au milieu " "d''une transaction." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "La connexion a t ferme." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Impossible de changer le niveau d''isolation des transactions au milieu " "d''une transaction." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Le niveau d''isolation de transaction {0} n''est pas support." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Destruction d''une connection qui n''a jamais t ferme:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Impossible de traduire les donnes dans l''encodage dsir." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Fetch size doit tre une valeur suprieur ou gal 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 #, fuzzy msgid "ClientInfo property not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Query timeout doit tre une valeur suprieure ou gale 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Paramtre holdability du ResultSet inconnu: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "" -"Les serveurs de version antrieure 8.0 ne supportent pas les savepoints." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Impossible d''tablir un savepoint en mode auto-commit." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Plusieurs ResultSets ont t retourns par la requte." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" +"Le nombre maximum de lignes doit tre une valeur suprieure ou gale 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Query timeout doit tre une valeur suprieure ou gale 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" +"La taille maximum des champs doit tre une valeur suprieure ou gale 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Ce statement a t ferm." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Constante de direction pour la rcupration invalide: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Le renvoi des cls automatiquement gnres n''est pas support." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -932,120 +1159,137 @@ msgstr "" "Incapable de dterminer la valeur de MaxIndexKeys en raison de donnes " "manquante dans lecatalogue systme." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" "Incapable de trouver le type de donne name dans les catalogues systmes." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." +"Le troncage des large objects n''est implment que dans les serveurs 8.3 et " +"suprieurs." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "Les LOB PostgreSQL peuvent seulement s''indicer : {0}" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Les dcalages de position des LOB commencent 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() a t appele auparavant sur ce LOB" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Impossible d''utiliser les fonctions de requte qui utilisent une chane de " "caractres sur un PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Plusieurs ResultSets ont t retourns par la requte." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Valeur de Types inconnue." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "La JVM prtend ne pas supporter l''encodage {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "L''InputStream fourni a chou." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Type inconnu: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Impossible de convertir une instance de {0} vers le type {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1055,23 +1299,22 @@ msgstr "" "Utilisez setObject() avec une valeur de type explicite pour spcifier le " "type utiliser." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Erreur inattendue pendant l''criture de large object dans la base." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Le Reader fourni a chou." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1079,45 +1322,35 @@ msgstr "" "L''opration ncessite un scrollable ResultSet, mais ce ResultSet est " "FORWARD_ONLY." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" -"Erreur inattendue pendant le dcodage des donnes caractres pour un large " -"object." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Impossible d''utiliser les fonctions de dplacement relatif pendant " "l''insertion d''une ligne." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Constante de direction pour la rcupration invalide: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" "Impossible d''appeler cancelRowUpdates() pendant l''insertion d''une ligne." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "Impossible d''appeler deleteRow() pendant l''insertion d''une ligne." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1125,7 +1358,7 @@ msgstr "" "Actuellement positionn avant le dbut du ResultSet. Vous ne pouvez pas " "appeler deleteRow() ici." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1133,38 +1366,38 @@ msgstr "" "Actuellement positionn aprs la fin du ResultSet. Vous ne pouvez pas " "appeler deleteRow() ici." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "Il n''y pas pas de lignes dans ce ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Pas sur la ligne en insertion." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" "Vous devez spcifier au moins une valeur de colonne pour insrer une ligne." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "La JVM prtend ne pas supporter l''encodage: {0}" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Impossible de rafrachir la ligne insre." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "" "Impossible d''appeler updateRow() tant que l''on est sur la ligne insre." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1172,40 +1405,40 @@ msgstr "" "Impossible de mettre jour le ResultSet car c''est soit avant le dbut ou " "aprs la fin des rsultats." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" "Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent tre mis " "jour." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Pas de cl primaire trouve pour la table {0}." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Le nom de colonne {0} n''a pas t trouv dans ce ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1216,436 +1449,331 @@ msgstr "" "primaires de cette table. Voir la spcification de l''API JDBC 2.1, section " "5.6 pour plus de dtails." -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "Ce ResultSet est ferm." -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Le ResultSet n''est pas positionn correctement, vous devez peut-tre " "appeler next()." -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 #, fuzzy msgid "Invalid UUID data." msgstr "Drapeau invalide" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "chec la cration de l''objet pour: {0}." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Le niveau d''isolation de transaction {0} n''est pas support." -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/PgSQLXML.java:216 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Paramtre holdability du ResultSet inconnu: {0}." +msgid "Unsupported binary encoding of {0}." +msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Cette PooledConnection a dj t ferme." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Un CallableStatement a t excut mais n''a rien retourn." -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"Un CallableStatement a t excut avec un nombre de paramtres incorrect" -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"Une fonction CallableStatement a t excute et le paramtre en sortie {0} " +"tait du type {1} alors que le type {2} tait prvu." -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -"Le nombre maximum de lignes doit tre une valeur suprieure ou gale 0." +"Cette requte ne dclare pas de paramtre OUT. Utilisez '{' ?= call ... '}' " +"pour en dclarer un." -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Query timeout doit tre une valeur suprieure ou gale 0." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull ne peut pas tre appel avant la rcupration d''un rsultat." -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"La taille maximum des champs doit tre une valeur suprieure ou gale 0." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Ce statement a t ferm." +"Un paramtre de type {0} a t enregistr, mais un appel get{1} " +"(sqltype={2}) a t fait." -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "Le renvoi des cls automatiquement gnres n''est pas support." - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Le renvoi des cls automatiquement gnres n''est pas support." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Impossible de rfrencer un savepoint aprs qu''il ait t libr." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Impossible de retrouver l''identifiant d''un savepoint nomm." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Impossible de retrouver le nom d''un savepoint sans nom." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"Un CallableStatement a t dclar, mais aucun appel " +"registerOutParameter(1, ) n''a t fait." -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Mauvaise valeur pour le type {0}: {1}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Aucune fonction outputs n''a t enregistre." -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -"Valeur infinie trouve pour une date/timestamp. Cette valeur ne peut tre " -"reprsent comme une valeur temporelle." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Valeur de type non supporte: {0}" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "chec l''initialisation de l''API LargeObject" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Les Large Objects ne devraient pas tre utiliss en mode auto-commit." +"Les rsultats ne peuvent tre rcuprs partir d''un CallableStatement " +"avant qu''il ne soit excut." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "La fonction {0} n''accepte que quatre et seulement quatre arguments." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "La fonction {0} n''accepte que deux et seulement deux arguments." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "La fonction {0} n''accepte qu''un et un seul argument." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "La fonction {0} n''accepte que deux ou trois arguments." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "La fonction {0} n''accepte aucun argument." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "La fonction {0} n''accepte que trois et seulement trois arguments." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "L''interval {0} n''est pas encore implment" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "chec l''initialisation de l''API LargeObject" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Les Large Objects ne devraient pas tre utiliss en mode auto-commit." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Ce ResultSet est ferm." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." - -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "SSL error: {0}" +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "" -"Une erreur s''est produite pendant l''tablissement de la connexion SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "La conversion de l''intervalle a chou" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "La conversion de money a chou." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Dtail: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "Indice: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" -msgstr "O: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:184 -#, java-format -msgid "Internal Query: {0}" -msgstr "Requte interne: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "Position interne: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Localisation: Fichier: {0}, Routine: {1}, Ligne: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:200 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState serveur: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Drapeaux invalides" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid ne doit pas tre nul" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "La connection est occupe avec une autre transaction" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "suspend/resume pas implment" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "L''entrelacement des transactions n''est pas implment" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "Erreur en dsactivant autocommit" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "tentative d''appel de fin sans l''appel start correspondant" - -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Pas implment: Prepare doit tre envoy sur la mme connection qui a " -"dmarr la transaction" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Prparation appele avant la fin" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "La fonction fastpath {0} est inconnue." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" -"Les serveurs de versions antrieures 8.1 ne supportent pas le commit " -"deux phases." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Connexion refuse. Vrifiez que le nom de machine et le port sont " +#~ "corrects et que postmaster accepte les connexions TCP/IP." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Erreur en prparant la transaction" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "La tentative de connexion a chou." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Drapeau invalide" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Connexion rejete: {0}." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Erreur durant la restauration" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Dmarrage du serveur en chec: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Erreur en annulant une transaction prpare" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "" +#~ "Les serveurs de version antrieure 8.0 ne supportent pas les savepoints." -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Pas implment: le commit une phase doit avoir lieu en utilisant la mme " -"connection que celle o il a commenc" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "Erreur inattendue pendant le dcodage des donnes caractres pour un " +#~ "large object." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "Commit appel avant la fin" +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Erreur pendant le commit une phase" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Valeur infinie trouve pour une date/timestamp. Cette valeur ne peut tre " +#~ "reprsent comme une valeur temporelle." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Pas implment: le commit deux phase doit tre envoy sur une connection " -"inutilise" +#~ msgid "Transaction interleaving not implemented" +#~ msgstr "L''entrelacement des transactions n''est pas implment" -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Erreur en annulant une transaction prpare" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Les serveurs de versions antrieures 8.1 ne supportent pas le commit " +#~ "deux phases." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Heuristic commit/rollback non support" +#~ msgid "Invalid flag" +#~ msgstr "Drapeau invalide" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "La classe {0} n''implmente pas org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/it.po b/pgjdbc/src/main/java/org/postgresql/translation/it.po index 6435572645..520dec8a2d 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/it.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2006-06-23 17:25+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: Italian \n" @@ -18,431 +18,417 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Fallita la conversione di un ``box'': {0}." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Questo ResultSet chiuso." +msgid "An error occurred reading the certificate" +msgstr "Si verificato un errore impostando la connessione SSL." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." +msgid "Could not open SSL certificate file {0}." msgstr "" -"Non stato possibile attivare la connessione utilizzando il protocollo " -"richiesto {0}." -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Sequenza di escape definita erroneamente nella funzione o procedura " -"all''offset {0}." -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Il flusso di input stato interrotto, sono arrivati {1} byte al posto dei " -"{0} attesi." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Ricevuto dal server {0} mentre era atteso un EOF" - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Un risultato inaspettato stato ricevuto dalla query." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Sequenza UTF-8 illegale: il byte {0} di una sequenza di {1} byte non " -"10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Sequenza UTF-8 illegale: {0} byte utilizzati per codificare un valore di {1} " -"byte: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Sequenza UTF-8 illegale: il byte iniziale {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Sequenza UTF-8 illegale: il valore finale fuori dall''intervallo permesso: " -"{0}" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "Sequenza UTF-8 illegale: il valore finale un surrogato: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"Byte con valore zero non possono essere contenuti nei parametri stringa." -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -#, fuzzy -msgid "Zero bytes may not occur in identifiers." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -"Byte con valore zero non possono essere contenuti nei parametri stringa." +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Connessione rifiutata. Controllare che il nome dell''host e la porta siano " -"corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " -"che abilita le connessioni attraverso la rete TCP/IP." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Il tentativo di connessione fallito." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Il tentativo di connessione fallito." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Il server non supporta SSL." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Errore di protocollo. Impostazione della sessione fallita." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Si verificato un errore impostando la connessione SSL." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Connection rejected: {0}." -msgstr "Connessione rifiutata: {0}." +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" +"Sequenza di escape definita erroneamente nella funzione o procedura " +"all''offset {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -"Il server ha richiesto l''autenticazione con password, ma tale password non " -" stata fornita." +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." msgstr "" -"L''autenticazione di tipo {0} non supportata. Verificare che nel file di " -"configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del " -"client, e che lo schema di autenticazione utilizzato sia supportato dal " -"driver." +"Byte con valore zero non possono essere contenuti nei parametri stringa." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Errore di protocollo. Impostazione della sessione fallita." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Attivazione del backend fallita: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indice di colonna, {0}, maggiore del numero di colonne {1}." +#: org/postgresql/core/Utils.java:159 +#, fuzzy +msgid "Zero bytes may not occur in identifiers." +msgstr "" +"Byte con valore zero non possono essere contenuti nei parametri stringa." -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Nessun valore specificato come parametro {0}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" +"Sequenza UTF-8 illegale: il byte {0} di una sequenza di {1} byte non " +"10xxxxxx: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece {0}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Sequenza UTF-8 illegale: {0} byte utilizzati per codificare un valore di {1} " +"byte: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Stato del comando non previsto: {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Sequenza UTF-8 illegale: il byte iniziale {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -msgid "An I/O error occurred while sending to the backend." -msgstr "Si verificato un errore di I/O nella spedizione di dati al server." +#: org/postgresql/core/UTF8Encoding.java:135 +#, java-format +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "" +"Sequenza UTF-8 illegale: il valore finale fuori dall''intervallo permesso: " +"{0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Risposta di tipo sconosciuto {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "Sequenza UTF-8 illegale: il valore finale un surrogato: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Fine memoria scaricando i risultati della query." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Un risultato inaspettato stato ricevuto dalla query." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" -"Impossibile interpretare il numero degli aggiornamenti nel tag di " -"completamento del comando: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Il flusso di input stato interrotto, sono arrivati {1} byte al posto dei " +"{0} attesi." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Ricevuto dal server {0} mentre era atteso un EOF" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Connessione rifiutata. Controllare che il nome dell''host e la porta siano " -"corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " -"che abilita le connessioni attraverso la rete TCP/IP." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Si verificata una interruzione durante il tentativo di connessione." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" "Impossibile fare il bind dei valori passati come parametri per lo " "statement." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." +msgstr "Si verificato un errore di I/O nella spedizione di dati al server." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Stato del comando non previsto: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Si verificato un errore di I/O nella spedizione di dati al server." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Risposta di tipo sconosciuto {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Si verificato un errore di I/O nella spedizione di dati al server." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Ricevuto dal server {0} mentre era atteso un EOF" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 -#, fuzzy, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" msgstr "" -"Il parametro client_encoding del server stato cambiato in {0}. Il driver " -"JDBC richiede che client_encoding sia UNICODE per un corretto " -"funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 #, java-format msgid "" -"The server''s DateStyle parameter was changed to {0}. The JDBC driver " -"requires DateStyle to begin with ISO for correct operation." +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"Il messaggio di bind troppo lungo ({0}). Questo pu essere causato da " +"una dimensione eccessiva o non corretta dei parametri dell''InputStream." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Fine memoria scaricando i risultati della query." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Il driver non supporta al momento l''operazione COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Impossibile interpretare il numero degli aggiornamenti nel tag di " +"completamento del comando: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, fuzzy, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." +msgstr "" +"Il parametro client_encoding del server stato cambiato in {0}. Il driver " +"JDBC richiede che client_encoding sia UNICODE per un corretto " +"funzionamento." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#, java-format +msgid "" +"The server''s DateStyle parameter was changed to {0}. The JDBC driver " +"requires DateStyle to begin with ISO for correct operation." msgstr "" "Il parametro del server DateStyle stato cambiato in {0}. Il driver JDBC " "richiede che DateStyle cominci con ISO per un corretto funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, fuzzy, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -452,64 +438,200 @@ msgstr "" "JDBC richiede che client_encoding sia UNICODE per un corretto " "funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indice di colonna, {0}, maggiore del numero di colonne {1}." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "Nessun valore specificato come parametro {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Il tentativo di connessione fallito." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Questo Connection stato chiuso." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Connessione rifiutata. Controllare che il nome dell''host e la porta siano " +"corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " +"che abilita le connessioni attraverso la rete TCP/IP." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Il server non supporta SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Si verificato un errore impostando la connessione SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -"Il messaggio di bind troppo lungo ({0}). Questo pu essere causato da " -"una dimensione eccessiva o non corretta dei parametri dell''InputStream." +"Il server ha richiesto l''autenticazione con password, ma tale password non " +" stata fornita." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Il driver non supporta al momento l''operazione COPY." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -"Si verificato un errore caricando le impostazioni predefinite da " -"driverconfig.properties." +"L''autenticazione di tipo {0} non supportata. Verificare che nel file di " +"configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del " +"client, e che lo schema di autenticazione utilizzato sia supportato dal " +"driver." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "" +"Non stato possibile attivare la connessione utilizzando il protocollo " +"richiesto {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" +"Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono " +"stati memorizzati dei caratteri che non sono validi per la codifica dei " +"caratteri impostata alla creazione del database. Il caso pi diffuso " +"quello nel quale si memorizzano caratteri a 8bit in un database con codifica " +"SQL_ASCII." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Fallita la conversione di un money." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Fallita la conversione di un interval." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Qualcosa di insolito si verificato causando il fallimento del driver. Per " -"favore riferire all''autore del driver questa eccezione." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Il tentativo di connessione scaduto." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Dettaglio: {0}" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Si verificata una interruzione durante il tentativo di connessione." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Suggerimento: {0}" -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Il metodo {0} non stato ancora implementato." +msgid "Position: {0}" +msgstr "Posizione: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Dove: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Query interna: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Posizione interna: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Individuazione: file: \"{0}\", routine: {1}, linea: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState del server: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Questo DataSource stato chiuso." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Valore di tipo {0} non supportato." @@ -518,7 +640,7 @@ msgstr "Valore di tipo msgid "This PooledConnection has already been closed." msgstr "Questo PooledConnection stato chiuso." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -527,529 +649,652 @@ msgstr "" "sostituita nello stesso PooledConnection, oppure il PooledConnection " "stato chiuso." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Questo Connection stato chiuso." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Questo Statement stato chiuso." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Questo DataSource stato chiuso." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +msgid "Invalid server-first-message: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Valore di tipo {0} non supportato." + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +"Si verificato un errore caricando le impostazioni predefinite da " +"driverconfig.properties." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Qualcosa di insolito si verificato causando il fallimento del driver. Per " +"favore riferire all''autore del driver questa eccezione." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Il tentativo di connessione scaduto." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Si verificata una interruzione durante il tentativo di connessione." + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "La funzione fastpath {0} sconosciuta." +msgid "Method {0} is not yet implemented." +msgstr "Il metodo {0} non stato ancora implementato." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Conversione al tipo {0} fallita: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Impossibile stabilire se il percorso aperto o chiuso: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Flag non validi" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "Il massimo valore per l''indice dei LOB di PostgreSQL {0}. " +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid non pu essere NULL" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "L''offset per la posizione dei LOB comincia da 1." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "La connessione utilizzata da un''altra transazione" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume non implementato" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 +#, java-format +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr " stato restituito un valore nonostante non ne fosse atteso nessuno." +#: org/postgresql/xa/PGXAConnection.java:224 +#, fuzzy +msgid "Error disabling autocommit" +msgstr "Errore durante il commit \"one-phase\"" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Sono stati restituiti troppi aggiornamenti." +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr " stata chiamata end senza la corrispondente chiamata a start" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -"L''operazione batch {0} {1} stata interrotta. Chiamare " -"getNextException per scoprirne il motivo." -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Il metodo {0} accetta quattro e solo quattro argomenti." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Il metodo {0} accetta due e solo due argomenti." +#: org/postgresql/xa/PGXAConnection.java:307 +#, fuzzy, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Non implementato: Prepare deve essere eseguito nella stessa connessione " +"che ha iniziato la transazione." -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 -#, java-format -msgid "{0} function takes one and only one argument." -msgstr "Il metodo {0} accetta un ed un solo argomento." +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare invocato prima della fine" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 -#, java-format -msgid "{0} function takes two or three arguments." -msgstr "Il metodo {0} accetta due o tre argomenti." +#: org/postgresql/xa/PGXAConnection.java:331 +#, fuzzy, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Errore nel preparare una transazione" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Il metodo {0} non accetta argomenti." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Errore durante il ripristino" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Il metodo {0} accetta tre e solo tre argomenti." +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Errore durante il rollback di una transazione preparata" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "L''intervallo {0} non stato ancora implementato." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Indice di colonna fuori dall''intervallo ammissibile: {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa " +"connessione che ha iniziato la transazione." -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"L''indice dell''array fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "Commit stato chiamato prima della fine" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, fuzzy, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Errore durante il commit \"one-phase\"" + +#: org/postgresql/xa/PGXAConnection.java:517 +#, fuzzy msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono " -"stati memorizzati dei caratteri che non sono validi per la codifica dei " -"caratteri impostata alla creazione del database. Il caso pi diffuso " -"quello nel quale si memorizzano caratteri a 8bit in un database con codifica " -"SQL_ASCII." +"Non implementato: la seconda fase del commit deve essere effettuata con " +"una connessione non in uso" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Errore durante il rollback di una transazione preparata" + +#: org/postgresql/xa/PGXAConnection.java:567 +#, fuzzy, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Commit e rollback euristici non sono supportati" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"Un CallableStatement stato eseguito senza produrre alcun risultato. " -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" +msgid "Unable to create SAXResult for SQLXML." +msgstr "Fallita la creazione dell''oggetto per: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -"Un CallableStatement stato eseguito con un numero errato di parametri." -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Questo PooledConnection stato chiuso." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -" stato eseguito un CallableStatement ma il parametro in uscita {0} era " -"di tipo {1} al posto di {2}, che era stato dichiarato." -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -"Questo statement non dichiara il parametro in uscita. Usare { ?= " -"call ... } per farlo." -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 -#, java-format +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -" stato definito il parametro di tipo {0}, ma poi stato invocato il " -"metodo get{1}() (sqltype={2})." -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -" stato definito un CallableStatement ma non stato invocato il metodo " -"registerOutParameter(1, )." +"Non possibile utilizzare un punto di ripristino successivamente al suo " +"rilascio." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Non possibile trovare l''id del punto di ripristino indicato." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Non possibile trovare il nome di un punto di ripristino anonimo." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Indice di colonna fuori dall''intervallo ammissibile: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" +"L''indice dell''array fuori intervallo: {0}, numero di elementi: {1}." + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Sono stati restituiti troppi aggiornamenti." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"L''operazione batch {0} {1} stata interrotta. Chiamare " +"getNextException per scoprirne il motivo." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Il valore per il parametro di tipo string {0} non supportato." -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Nessun risultato stato restituito dalla query." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr " stato restituito un valore nonostante non ne fosse atteso nessuno." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Fallita la creazione dell''oggetto per: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Non possibile caricare la class {0} per gestire il tipo {1}." -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Non possibile modificare la propriet read-only delle transazioni nel " "mezzo di una transazione." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Questo Connection stato chiuso." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Non possibile cambiare il livello di isolamento delle transazioni nel " "mezzo di una transazione." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Il livello di isolamento delle transazioni {0} non supportato." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Finalizzazione di una Connection che non stata chiusa." -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Impossibile tradurre i dati nella codifica richiesta." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "La dimensione dell''area di fetch deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Fallita la creazione dell''oggetto per: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 #, fuzzy msgid "ClientInfo property not supported." msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "" -"Le versioni del server precedenti alla 8.0 non permettono i punti di " -"ripristino." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" "Non possibile impostare i punti di ripristino in modalit auto-commit." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "La query ha restituito ResultSet multipli." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Il numero massimo di righe deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "La dimensione massima del campo deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Questo statement stato chiuso." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Costante per la direzione dell''estrazione non valida: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "La restituzione di chiavi autogenerate non supportata." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" "Non possibile trovare il valore di MaxIndexKeys nel catalogo si sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Non possibile trovare il datatype name nel catalogo di sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "Il massimo valore per l''indice dei LOB di PostgreSQL {0}. " + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "L''offset per la posizione dei LOB comincia da 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Non si possono utilizzare i metodi \"query\" che hanno come argomento una " "stringa nel caso di PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "La query ha restituito ResultSet multipli." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Valore di tipo sconosciuto." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "La JVM sostiene di non supportare la codifica {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "L''InputStream fornito fallito." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Tipo sconosciuto {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Non possibile fare il cast di una istanza di {0} al tipo {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Non possibile convertire una istanza di {0} nel tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1059,23 +1304,22 @@ msgstr "" "{0}. Usare setObject() specificando esplicitamente il tipo da usare per " "questo valore." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Errore inatteso inviando un large object al database." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Il Reader fornito fallito." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1083,47 +1327,37 @@ msgstr "" "L''operazione richiete un ResultSet scorribile mentre questo " "FORWARD_ONLY." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" -"Errore non previsto durante la decodifica di caratteri a partire da un " -"large object." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Non possibile convertire una istanza di {0} nel tipo {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Non possibile utilizzare gli spostamenti relativi durante l''inserimento " "di una riga." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Costante per la direzione dell''estrazione non valida: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" "Non possibile invocare cancelRowUpdates() durante l''inserimento di una " "riga." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "" "Non possibile invocare deleteRow() durante l''inserimento di una riga." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1131,7 +1365,7 @@ msgstr "" "La posizione attuale precedente all''inizio del ResultSet. Non possibile " "invocare deleteRow() qui." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1139,38 +1373,38 @@ msgstr "" "La posizione attuale successiva alla fine del ResultSet. Non possibile " "invocare deleteRow() qui." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "Non ci sono righe in questo ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Non si in una nuova riga." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" "Per inserire un record si deve specificare almeno il valore di una colonna." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "La JVM sostiene di non supportare la codifica: {0}." -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Non possibile aggiornare la riga in inserimento." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "" "Non possibile invocare updateRow() durante l''inserimento di una riga." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1178,39 +1412,39 @@ msgstr "" "Non possibile aggiornare il ResultSet perch la posizione attuale " "precedente all''inizio o successiva alla file dei risultati." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" "I ResultSet in modalit CONCUR_READ_ONLY non possono essere aggiornati." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Non stata trovata la chiave primaria della tabella {0}." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Il valore {1} non adeguato al tipo {0}." -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Colonna denominata {0} non presente in questo ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1221,439 +1455,332 @@ msgstr "" "chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, " "per ulteriori dettagli." -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "Questo ResultSet chiuso." -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Il ResultSet non correttamente posizionato; forse necessario invocare " "next()." -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 #, fuzzy msgid "Invalid UUID data." msgstr "Flag non valido" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Il livello di isolamento delle transazioni {0} non supportato." -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Il valore {1} non adeguato al tipo {0}." -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Fallita la creazione dell''oggetto per: {0}." +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" +"Un CallableStatement stato eseguito senza produrre alcun risultato. " -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:228 +#: org/postgresql/jdbc/PgCallableStatement.java:107 #, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Questo PooledConnection stato chiuso." - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"Un CallableStatement stato eseguito con un numero errato di parametri." -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +" stato eseguito un CallableStatement ma il parametro in uscita {0} era " +"di tipo {1} al posto di {2}, che era stato dichiarato." -#: org/postgresql/jdbc/PgSQLXML.java:290 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Questo statement non dichiara il parametro in uscita. Usare { ?= " +"call ... } per farlo." -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Il numero massimo di righe deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "La dimensione massima del campo deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Questo statement stato chiuso." - -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "La restituzione di chiavi autogenerate non supportata." - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." -msgstr "La restituzione di chiavi autogenerate non supportata." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"Non possibile utilizzare un punto di ripristino successivamente al suo " -"rilascio." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Non possibile trovare l''id del punto di ripristino indicato." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Non possibile trovare il nome di un punto di ripristino anonimo." - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Il valore {1} non adeguato al tipo {0}." +" stato definito il parametro di tipo {0}, ma poi stato invocato il " +"metodo get{1}() (sqltype={2})." -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"Il valore specificato per il tipo timestamp o date, infinito, non pu " -"essere rappresentato come time." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Valore di tipo {0} non supportato." +" stato definito un CallableStatement ma non stato invocato il metodo " +"registerOutParameter(1, )." -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Inizializzazione di LargeObject API fallita." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Non possibile impostare i Large Object in modalit auto-commit." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "Il metodo {0} accetta quattro e solo quattro argomenti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "Il metodo {0} accetta due e solo due argomenti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "Il metodo {0} accetta un ed un solo argomento." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "Il metodo {0} accetta due o tre argomenti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Il metodo {0} non accetta argomenti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "Il metodo {0} accetta tre e solo tre argomenti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "L''intervallo {0} non stato ancora implementato." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Inizializzazione di LargeObject API fallita." + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Non possibile impostare i Large Object in modalit auto-commit." + +#: org/postgresql/copy/PGCopyInputStream.java:51 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." +msgid "Copying from database failed: {0}" +msgstr "Fallita la conversione di un ``box'': {0}." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Questo ResultSet chiuso." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "Requested CopyDual but got {0}" msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "SSL error: {0}" +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/fastpath/Fastpath.java:80 #, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." - -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Si verificato un errore impostando la connessione SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Fallita la conversione di un interval." - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Fallita la conversione di un money." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Dettaglio: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "Suggerimento: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Posizione: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" -msgstr "Dove: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:184 -#, java-format -msgid "Internal Query: {0}" -msgstr "Query interna: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "Posizione interna: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Individuazione: file: \"{0}\", routine: {1}, linea: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:302 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState del server: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Flag non validi" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid non pu essere NULL" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "La connessione utilizzata da un''altra transazione" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "suspend/resume non implementato" +msgid "The fastpath function {0} is unknown." +msgstr "La funzione fastpath {0} sconosciuta." -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "L''\"interleaving\" delle transazioni {0} non supportato." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Connessione rifiutata. Controllare che il nome dell''host e la porta " +#~ "siano corretti, e che il server (postmaster) sia in esecuzione con " +#~ "l''opzione -i, che abilita le connessioni attraverso la rete TCP/IP." -#: org/postgresql/xa/PGXAConnection.java:239 #, fuzzy -msgid "Error disabling autocommit" -msgstr "Errore durante il commit \"one-phase\"" +#~ msgid "The connection url is invalid." +#~ msgstr "Il tentativo di connessione fallito." -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr " stata chiamata end senza la corrispondente chiamata a start" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Connessione rifiutata: {0}." -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" -"Non implementato: Prepare deve essere eseguito nella stessa connessione " -"che ha iniziato la transazione." - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Prepare invocato prima della fine" - -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" -"Le versioni del server precedenti alla 8.1 non permettono i commit \"two-" -"phase\"." - -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Errore nel preparare una transazione" - -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Flag non valido" - -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Errore durante il ripristino" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Attivazione del backend fallita: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Errore durante il rollback di una transazione preparata" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "" +#~ "Le versioni del server precedenti alla 8.0 non permettono i punti di " +#~ "ripristino." -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa " -"connessione che ha iniziato la transazione." +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "Errore non previsto durante la decodifica di caratteri a partire da un " +#~ "large object." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "Commit stato chiamato prima della fine" +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Errore durante il commit \"one-phase\"" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Il valore specificato per il tipo timestamp o date, infinito, non pu " +#~ "essere rappresentato come time." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Non implementato: la seconda fase del commit deve essere effettuata con " -"una connessione non in uso" +#~ msgid "Transaction interleaving not implemented" +#~ msgstr "L''\"interleaving\" delle transazioni {0} non supportato." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Errore durante il rollback di una transazione preparata" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Le versioni del server precedenti alla 8.1 non permettono i commit \"two-" +#~ "phase\"." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Commit e rollback euristici non sono supportati" +#~ msgid "Invalid flag" +#~ msgstr "Flag non valido" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "La class {0} non implementa org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index 98bd4aef5b..bc1cd02d8b 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-ja\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2010-04-11 22:58+0900\n" "Last-Translator: Hiroshi Saito \n" "Language-Team: PostgreSQL \n" @@ -20,401 +20,394 @@ msgstr "" "X-Poedit-Language: Japanese\n" "X-Poedit-Country: Japan\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" -msgstr "CopyInを要求しましたが {0} を得ました。" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" -msgstr "CopyOutを要求しましたが {0} を得ました。" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" -msgstr "データベースからコピーに失敗しました: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." -msgstr "コピー・ストリームは閉じられました。" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." -msgstr "copyからの読み取りに失敗しました。" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "SSL接続のセットアップ中に、エラーが起こりました。" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "値{0}のバイトコピーで書き込みができません。" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "要求されたプロトコル {0} を使用して接続することができません。" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" +"javaの暗号化アルゴリズムを見つけることができませんでした。X.509 " +"CertificateFactory は利用できません。" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "数値でない、未知のOID型 {0} です。" +msgid "Could not open SSL certificate file {0}." +msgstr "SSL証明書ファイル {0} を開けませんでした。" -#: org/postgresql/core/Parser.java:616 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "正しくない関数または手続きは、位置 {0} で文法を逸しました。" +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "SSLパスワード入力: " + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読" -"み込まれました。" +"SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "クエリによって想定しない結果が返されました。" +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "callbackhandler {0} で、SSL keyファイルを読めませんでした。" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" -msgstr "" -"UTF-8シーケンス違反: {1} バイトシーケンスの {0} バイト は、10xxxxxx でありま" -"せん: {2}" +msgid "Could not decrypt SSL key file {0}." +msgstr "SSL keyファイル {0} を復号できませんでした。" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" -msgstr "" -"UTF-8シーケンス違反: {0} バイトを、 {1} バイト値のエンコードに使いました: {2}" +msgid "Could not read SSL key file {0}." +msgstr "SSL keyファイル {0} を読めませんでした。" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "UTF-8シーケンス違反: 初期バイトは、{0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "javaの暗号化アルゴリズム {0} を見つけることができませんでした。" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "提供されたpassword callbackクラス {0} は、即応しないかもしれません。" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "UTF-8シーケンス違反: 最終値が範囲外です: {0}" +msgid "Could not open SSL root certificate file {0}." +msgstr "SSLルート証明書ファイル {0} を開けませんでした。" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "SSLルート証明書ファイル {0} を読めませんでした。" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "ゼロ・バイトを文字列パラメータ中に含めることはできません。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "SSL contextを初期化できませんでした。" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "ゼロ・バイトを識別子に含めることはできません。" +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "無効な sslmode 値です。{0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "SSL エラー: {0}" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "無効な sslmode 値です。{0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "提供されたHostnameVerifierクラス {0} は、即応しないかもしれません。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." -msgstr "" -"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" -"IP接続を受け入れていることを調べて下さい。" +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "ホスト名 {0} は確認できませんでした。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "接続試行は失敗しました。" +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "プロトコルエラー。セッション設定は失敗しました。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "接続URLが不正です。" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "GSS認証は失敗しました。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "サーバはSSLをサポートしていません。" +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "正しくない関数または手続きは、位置 {0} で文法を逸しました。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "SSL接続のセットアップ中に、エラーが起こりました。" +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 -#, java-format -msgid "Connection rejected: {0}." -msgstr "接続は拒絶されました: {0}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "ゼロ・バイトを文字列パラメータ中に含めることはできません。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" -"れませんでした。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "ゼロ・バイトを識別子に含めることはできません。" + +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIP" -"アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" -"使っているかを調べてください。" - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "プロトコルエラー。セッション設定は失敗しました。" +"UTF-8シーケンス違反: {1} バイトシーケンスの {0} バイト は、10xxxxxx でありま" +"せん: {2}" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "バックエンドの開始に失敗しました: {0}" - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"UTF-8シーケンス違反: {0} バイトを、 {1} バイト値のエンコードに使いました: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "No value specified for parameter {0}." -msgstr "パラメータ {0} に値が設定されてません。" +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "UTF-8シーケンス違反: 初期バイトは、{0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "BEGINコマンドステータスを想定しましたが、{0} を得ました。" +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "UTF-8シーケンス違反: 最終値が範囲外です: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unexpected command status: {0}." -msgstr "想定外のコマンドステータス: {0}" +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "バックエンドに送信中に、入出力エラーが起こりました。" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "クエリによって想定しない結果が返されました。" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unknown Response Type {0}." -msgstr "未知の応答型 {0} です。" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "クエリの結果取得にメモリを使い果たしました。" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgstr "" +"早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読" +"み込まれました。" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "コマンド完了タグの更新数を解釈することができません: {0}" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" -msgstr "プロトコルバージョン2でコピーは実装されていません。" - -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" -"IP接続を受け入れていることを調べて下さい。" +msgid "Expected an EOF from server, got: {0}" +msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 +#: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " msgstr "コマンド完了はCOPYを想定しましたが、次の結果を得ました:" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "すでに占有している最中のロック取得です。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "データベース接続のロック中断を試みます。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "データベース接続でロック待ちの最中に割り込みがありました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "ステートメントのパラメータ値をバインドできません。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "バックエンドに送信中に、入出力エラーが起こりました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "BEGINコマンドステータスを想定しましたが、{0} を得ました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "想定外のコマンドステータス: {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "バックエンドに送信中に、入出力エラーが起こりました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "未知の応答型 {0} です。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "バックエンドに送信中に、入出力エラーが起こりました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "コピー開始時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "動作していないコピー操作の取り消しを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "コピー操作取り消し時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "コピー取り消し要求のエラー応答を想定しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "単一copy取り消し要求に {0} エラー応答を得ました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "動作していないコピーの終了を試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "コピー終了時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "動作していないコピー操作で書き込みを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "コピーへの書き込み時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "動作していないコピーから読み取りを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "コピーからの読み取り時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "活動中のコピー操作なしでCommandComplete ''{0}'' を受け取りました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "活動中のサーバ {0} からCopyInResponseを得ました" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, fuzzy, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "動作中のコピー操作なしでCopyDataを得ました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "{0} のサーバからの思いがけない copydata です。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 -#, fuzzy, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." -msgstr "" +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "コピー中の想定外のパケット型です: {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長" +"さ、あるいは不正確な長さが設定されている可能性があります。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "クエリの結果取得にメモリを使い果たしました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "現在、ドライバはコピー操作をサポートしません。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "コマンド完了タグの更新数を解釈することができません: {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, fuzzy, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." +msgstr "" "サーバのclient_encodingパラメータが {0} に変わりました。JDBCドライバは、正し" "い操作のためclient_encodingをUNICODEにすることを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -423,8 +416,7 @@ msgstr "" "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作" "のためISOで開始するDateStyleを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -433,64 +425,194 @@ msgstr "" "サーバのstandard_conforming_stringsパラメータは、{0}として報告されました。" "JDBCドライバは、on または off を想定します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "コピー中の想定外のパケット型です: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format +msgid "No value specified for parameter {0}." +msgstr "パラメータ {0} に値が設定されてません。" + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "接続試行は失敗しました。" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, fuzzy, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "コピー中の想定外のパケット型です: {0}" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "この接続は既に閉じられています。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長" -"さ、あるいは不正確な長さが設定されている可能性があります。" +"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" +"IP接続を受け入れていることを調べて下さい。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "現在、ドライバはコピー操作をサポートしません。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "driverconfig.propertiesによる初期設定のロードエラー。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "サーバはSSLをサポートしていません。" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "SSL接続のセットアップ中に、エラーが起こりました。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" +"れませんでした。" -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベー" -"ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" -"す。" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -"ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" +"認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIP" +"アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" +"使っているかを調べてください。" -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "接続試行がタイムアウトしました。" +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "要求されたプロトコル {0} を使用して接続することができません。" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "接続試行中に割り込みがありました。" +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "数値でない、未知のOID型 {0} です。" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字" +"セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" +"ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "moneyの変換に失敗しました。" + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "intervalの変換に失敗しました。" -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "{0} メソッドはまだ実装されていません。" +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "詳細: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "ヒント: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "ポジション: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "場所: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "インターナル・クエリ: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "インターナル・ポジション: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "場所: ファイル: {0}, ルーチン: {1},行: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "サーバ SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "データソースのセットアップに失敗しました。" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "データソースは閉じられました。" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "サポートされない型の値: {0}." @@ -499,7 +621,7 @@ msgstr "サポートされない型の値: {0}." msgid "This PooledConnection has already been closed." msgstr "PooledConnectionは、すでに閉じられています。" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -507,397 +629,517 @@ msgstr "" "同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。また" "は、PooledConnectionは既に閉じられています。" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "接続は閉じられました。" -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "ステートメントは閉じられました。" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "データソースのセットアップに失敗しました。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "データソースは閉じられました。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +msgid "Invalid server-first-message: {0}" +msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "サポートされない型の値: {0}." + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "driverconfig.propertiesによる初期設定のロードエラー。" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベー" +"ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" +"す。" + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "接続試行がタイムアウトしました。" -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "接続試行中に割り込みがありました。" + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "{0} は未知の fastpath 関数です。" +msgid "Method {0} is not yet implemented." +msgstr "{0} メソッドはまだ実装されていません。" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "{0} への型変換は失敗しました: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "path が オープンしているか、クローズしているか判別できません: {0}" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "GSS認証は失敗しました。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -"ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." -msgstr "負の値でLOBを削除できません。" +"トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " +"setSavePoint は、XAトランザクションが有効では利用できません。" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB は、インデックス {0} までのみ可能です。 " - -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "LOB オフセット開始位置を 1 としてください。" +msgid "Invalid flags {0}" +msgstr "無効なフラグです。{0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "以前に、このLOBに対するfree() は呼ばれました。" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xidはnullではいけません。" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "結果がないことを想定しましたが、結果が返されました。" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "接続は、別のトランザクションに対応中です。" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "多すぎる更新結果が返されました。" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "停止/再開 は実装されていません。" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"バッチ投入 {0} {1} は停止しました。getNextExceptionを呼んで原因を見て下さい。" +"Transaction interleaving は実装されていません。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 関数は、四つの引数のみを用います。" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "自動コミットの無効化エラー" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 関数は、二つの引数のみを用います。" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 -#, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 関数は、単一の引数のみを用います。" +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 関数は、二つ、または三つの引数を用います。" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 関数は、どのような引数も用いません。" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" +"なくてはなりません。currentXid={0}, prepare xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 関数は、三つの引数のみを用います。" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "間隔 {0} はまだ実装されていません。" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "トランザクションの準備エラー。prepare xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "回復中にエラー" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "The array index is out of range: {0}" -msgstr "配列インデックスは、範囲外です: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字" -"セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" -"ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" +"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" +"ばなりません。" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatementは、戻りなしで実行されました。" +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatementは、不正な数のパラメータで実行されました。" +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "終了の前に COMMIT を呼びました commit xid={0}, state={1}" -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "単一フェーズのCOMMITの最中にエラー commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" -"し、型 {2} が登録されました。" +"実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりませ" +"ん。xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" -"て宣言して下さい。" +"準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNullは、結果フェッチ前に呼び出せません。" +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "xmlデータを復号化できません。" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "未知のXMLソースクラス: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "SQLXMLに対するSAXResultを生成できません。" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "SQLXMLに対するStAXResultを生成できません。" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知のXML結果クラス: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "このSQLXMLオブジェクトはすでに解放されています。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -"型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" -"た。" +"このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できま" +"せん。" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "バイナリxmlデータのエンコード: {0} への変換に失敗しました。" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "DOMResult SQLXMLデータを文字列に変えることができません。" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." -msgstr "" -"CallableStatementは宣言されましたが、registerOutParameter(1, ) は" -"呼び出されませんでした。" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "関数出力は登録されませんでした。" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "savepointは、解放された後で参照することはできません。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "名前の付いたsavepointのidを取得することができません。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "名前のないsavepointの名前を取得することができません。" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "配列インデックスは、範囲外です: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "多すぎる更新結果が返されました。" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "実行される前に、CallableStatement から結果を得ることはできません。" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "" +"バッチ投入 {0} {1} は停止しました。getNextExceptionを呼んで原因を見て下さい。" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "サポートされないstringtypeパラメータ値です: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "いかなる結果も、クエリによって返されませんでした。" -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "結果がないことを想定しましたが、結果が返されました。" + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "カスタム型マップはサポートされません。" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "{0} へのオブジェクト生成に失敗しました。" -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "データ型 {1} に対応するクラス{0} をロードできません。" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "トランザクションの最中に読み出し専用プロパティを変えることはできません。" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "autoCommit有効時に、明示的なコミットはできません。" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 msgid "This connection has been closed." msgstr "この接続は既に閉じられています。" -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "autoCommit有効時に、明示的なロールバックはできません。" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "トランザクションの最中に隔離レベルを変えることができません。" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "トランザクション隔離レベル{0} はサポートされていません。" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "接続終了で閉じられませんでした:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "望む符号化にデータを訳すことができません。" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "提供名 {0} で、サーバの配列型を見つけることができません。" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "無効なフラグです。{0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "無効なタイムアウト値です ({0}<0)。" -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "有効確認の接続" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "ClientInfo プロパティ:{0} の設定に失敗しました。" -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "ClientInfo プロパティはサポートされていません。" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知の ResultSet に対するholdability設定です: {0}" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "サーバのバージョン 8.0 以前は、savepointをサポートしません。" - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "自動コミットモードでsavepointを作成できません。" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "自動生成キーを返すことはサポートされていません。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "クエリの実行により、複数のResultSetが返されました。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "このステートメントは閉じられました。" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "無効なフェッチ方向の定数です: {0}" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "列インデックスで自動生成キーを返すことはサポートされていません。" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -905,116 +1147,133 @@ msgstr "" "間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができ" "ません。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "名前データ型をシステムカタログで見つけることができません。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" +"ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "負の値でLOBを削除できません。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB は、インデックス {0} までのみ可能です。 " + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB オフセット開始位置を 1 としてください。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "以前に、このLOBに対するfree() は呼ばれました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "クエリの実行により、複数のResultSetが返されました。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "未知の型の値です。" -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "無効なストリーム長 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVMは、エンコーディング {0} をサポートしません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供された InputStream は失敗しました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "未知の型 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "hstore 拡張がインストールされてません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "インスタンス {0} を型 {1} へキャストできません" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "サポートされない型の値: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "型 {1} に {0} のインスタンスを変換できません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1023,24 +1282,23 @@ msgstr "" "インスタンス {0} で使うべきSQL型を推測できません。明確な型値を記述した " "setObject() を使ってください。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "" "データベースへのラージオブジェクト書き込み中に想定外のエラーが起きました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供された Reader は失敗しました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." -msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1048,41 +1306,32 @@ msgstr "" "操作は、スクロール可能なResultSetを必要としますが、このResultSetは、 " "FORWARD_ONLYです。" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" -"ラージオブジェクトから文字データの複合化中に想定外のエラーが起きました。" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "型 {0} の列値を型 {1} に変換できません。" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "行挿入の最中に関連の動作方法を使うことはできません。" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "無効なフェッチ方向の定数です: {0}" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "行挿入時に cancelRowUpdates() を呼び出せません。" -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "行挿入時に deleteRow() を呼び出せません。" -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1090,7 +1339,7 @@ msgstr "" "ResultSetの開始の前に位置していました。ここでdeleteRow()を呼ぶことはできませ" "ん。" -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1098,73 +1347,73 @@ msgstr "" "ResultSetの終わりの後に位置していました。ここでdeleteRow()を呼ぶことはできま" "せん。" -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "このResultSetにいかなる行もありません。" -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "挿入行がありません。" -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "行挿入には、最低でも1つの列の値が必要です。" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVMでサポートされないエンコーディングです: {0}" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "挿入行を回復することはできません。" -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "行を挿入したときに、updateRow() を呼び出すことができません。" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "開始前もしくは終了後であるため、ResultSetを更新することができません。" -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "CONCUR_READ_ONLYを伴うResultSetsは更新できません。" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "テーブル {0} の主キーがありません。" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "型 {0} で不正な値 : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet に列名 {0} は見つかりませんでした。" -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1174,431 +1423,319 @@ msgstr "" "のテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より" "多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。" -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "ResultSetは閉じられました。" -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。" -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 msgid "Invalid UUID data." msgstr "無効なUUIDデータです。" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "xmlデータを復号化できません。" +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "トランザクション隔離レベル{0} はサポートされていません。" -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "未知のXMLソースクラス: {0}" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "型 {0} で不正な値 : {1}" -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "SQLXMLに対するSAXResultを生成できません。" +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "サポートされないバイナリエンコーディングです: {0}." -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "SQLXMLに対するStAXResultを生成できません。" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatementは、戻りなしで実行されました。" -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知のXML結果クラス: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "このSQLXMLオブジェクトはすでに解放されています。" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatementは、不正な数のパラメータで実行されました。" -#: org/postgresql/jdbc/PgSQLXML.java:237 +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -"このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できま" -"せん。" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "バイナリxmlデータのエンコード: {0} への変換に失敗しました。" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "DOMResult SQLXMLデータを文字列に変えることができません。" +"CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" +"し、型 {2} が登録されました。" -#: org/postgresql/jdbc/PgSQLXML.java:290 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" +"て宣言して下さい。" -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "このステートメントは閉じられました。" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNullは、結果フェッチ前に呼び出せません。" -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "自動生成キーを返すことは 8.2 以上でサポートされます。" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "列インデックスで自動生成キーを返すことはサポートされていません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "savepointは、解放された後で参照することはできません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "名前の付いたsavepointのidを取得することができません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "名前のないsavepointの名前を取得することができません。" - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "型 {0} で不正な値 : {1}" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" +"型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" +"た。" -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"timestamp/date で無限値が見つかりました。これは、時間として表すことができませ" -"ん。" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "サポートされないバイナリエンコーディングです: {0}." - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "ラージオブジェクトAPIの初期化に失敗しました。" +"CallableStatementは宣言されましたが、registerOutParameter(1, ) は" +"呼び出されませんでした。" -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "関数出力は登録されませんでした。" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "サポートされない型の値: {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "実行される前に、CallableStatement から結果を得ることはできません。" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "unknownLengthパラメータ値は整数でなければなりません" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" -"javaの暗号化アルゴリズムを見つけることができませんでした。X.509 " -"CertificateFactory は利用できません。" +msgid "Unsupported type conversion to {1}." +msgstr "サポートされないバイナリエンコーディングです: {0}." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "SSL証明書ファイル {0} を開けませんでした。" +msgid "{0} function takes four and only four argument." +msgstr "{0} 関数は、四つの引数のみを用います。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "SSLパスワード入力: " +msgid "{0} function takes two and only two arguments." +msgstr "{0} 関数は、二つの引数のみを用います。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" -"SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。" +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 +#, java-format +msgid "{0} function takes one and only one argument." +msgstr "{0} 関数は、単一の引数のみを用います。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "callbackhandler {0} で、SSL keyファイルを読めませんでした。" +msgid "{0} function takes two or three arguments." +msgstr "{0} 関数は、二つ、または三つの引数を用います。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "SSL keyファイル {0} を復号できませんでした。" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 関数は、どのような引数も用いません。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "SSL keyファイル {0} を読めませんでした。" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 関数は、三つの引数のみを用います。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "javaの暗号化アルゴリズム {0} を見つけることができませんでした。" +msgid "Interval {0} not yet implemented" +msgstr "間隔 {0} はまだ実装されていません。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "提供されたpassword callbackクラス {0} は、即応しないかもしれません。" +msgid "{0} parameter value must be an integer but was: {1}" +msgstr "unknownLengthパラメータ値は整数でなければなりません" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "SSLルート証明書ファイル {0} を開けませんでした。" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "ラージオブジェクトAPIの初期化に失敗しました。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 -#, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "SSLルート証明書ファイル {0} を読めませんでした。" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。" +msgid "Copying from database failed: {0}" +msgstr "データベースからコピーに失敗しました: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "SSL contextを初期化できませんでした。" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "コピー・ストリームは閉じられました。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." +msgstr "copyからの読み取りに失敗しました。" + +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" +msgid "Requested CopyIn but got {0}" +msgstr "CopyInを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "SSL error: {0}" -msgstr "SSL エラー: {0}" +msgid "Requested CopyOut but got {0}" +msgstr "CopyOutを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/copy/CopyManager.java:75 #, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "提供されたHostnameVerifierクラス {0} は、即応しないかもしれません。" - -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。" +msgid "Requested CopyDual but got {0}" +msgstr "CopyOutを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "ホスト名 {0} は確認できませんでした。" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +msgid "Cannot write to copy a byte of value {0}" +msgstr "値{0}のバイトコピーで書き込みができません。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "SSL接続のセットアップ中に、エラーが起こりました。" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "intervalの変換に失敗しました。" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "moneyの変換に失敗しました。" - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "詳細: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "ヒント: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "ポジション: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" -msgstr "場所: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:184 -#, java-format -msgid "Internal Query: {0}" -msgstr "インターナル・クエリ: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "インターナル・ポジション: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "場所: ファイル: {0}, ルーチン: {1},行: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:200 -#, java-format -msgid "Server SQLState: {0}" -msgstr "サーバ SQLState: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -"トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " -"setSavePoint は、XAトランザクションが有効では利用できません。" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "無効なフラグです。" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xidはnullではいけません。" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "接続は、別のトランザクションに対応中です。" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "停止/再開 は実装されていません。" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Transaction interleaving は実装されていません。" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "自動コミットの無効化エラー" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "対応する開始呼び出しなしで、終了呼び出しました。" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" -"なくてはなりません。" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "終了前に\"Prepare\"が呼ばれました" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "{0} は未知の fastpath 関数です。" -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "2相コミット は、サーバのバージョン 8.1以前はサポートされません。" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタが" +#~ "TCP/IP接続を受け入れていることを調べて下さい。" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "トランザクションの準備エラー" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "接続URLが不正です。" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "無効なフラグ" +#~ msgid "Connection rejected: {0}." +#~ msgstr "接続は拒絶されました: {0}." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "回復中にエラー" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "バックエンドの開始に失敗しました: {0}" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "準備トランザクションのロールバックエラー" +#~ msgid "Copy not implemented for protocol version 2" +#~ msgstr "プロトコルバージョン2でコピーは実装されていません。" -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" -"ばなりません。" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "サーバのバージョン 8.0 以前は、savepointをサポートしません。" -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "終了の前に COMMIT を呼びました" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "ラージオブジェクトから文字データの複合化中に想定外のエラーが起きました。" -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "単一フェーズのCOMMITの最中にエラー" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "自動生成キーを返すことは 8.2 以上でサポートされます。" -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりませ" -"ん。" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "timestamp/date で無限値が見つかりました。これは、時間として表すことができ" +#~ "ません。" -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "準備トランザクションのコミットエラー" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "2相コミット は、サーバのバージョン 8.1以前はサポートされません。" -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "サポートされない commit/rollback が見つかりました。" +#~ msgid "Invalid flag" +#~ msgstr "無効なフラグ" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "クラス {0} は、org.postgresql.util.PGobject を実装していません。" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot index e6ef865a5f..1d55495f37 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 15:09+0300\n" +"POT-Creation-Date: 2018-03-10 23:25+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,1496 +17,1581 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +msgid "An error occurred reading the certificate" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/core/Parser.java:616 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/core/PGStream.java:497 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Invalid sslmode value: {0}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Invalid targetServerType value: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -msgid "The connection url is invalid." +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 -#, java-format -msgid "Connection rejected: {0}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." +#: org/postgresql/core/UTF8Encoding.java:66 +#, java-format +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Backend start-up failed: {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "No value specified for parameter {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" + +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Expected command status BEGIN, got {0}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Unexpected command status: {0}." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -msgid "An I/O error occurred while sending to the backend." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 -#, java-format -msgid "Unknown Response Type {0}." +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 -#, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 -msgid "Tried to obtain lock while already holding it" +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +msgid "An error occurred while trying to get the socket timeout." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 -msgid "Interrupted while waiting to obtain lock on database connection" +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 -msgid "Unable to bind parameter values for statement." +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +msgid "An error occurred while trying to reset the socket timeout." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +msgid "No value specified for parameter {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." msgstr "" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/Driver.java:290 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +msgid "This replication stream has been closed." msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, java-format +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, java-format +msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Method {0} is not yet implemented." +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 -#, java-format -msgid "Unsupported property name: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 -msgid "Connection has been closed." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:418 -msgid "Statement has been closed." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:200 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Detail: {0}" msgstr "" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "Conversion to type {0} failed: {1}." +msgid "Hint: {0}" msgstr "" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Cannot tell if path is open or closed: {0}." +msgid "Position: {0}" msgstr "" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +msgid "Location: File: {0}, Routine: {1}, Line: {2}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 +#, java-format +msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "" + +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." +msgstr "" + +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "" + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, java-format +msgid "Invalid server-first-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, java-format +msgid "Invalid server-final-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, java-format +msgid "Unsupported properties: {0}" +msgstr "" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 +msgid "" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "" + +#: org/postgresql/Driver.java:682 #, java-format -msgid "{0} function takes four and only four argument." +msgid "Method {0} is not yet implemented." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Conversion to type {0} failed: {1}." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "{0} function takes one and only one argument." +msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "Interval {0} not yet implemented" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "The array index is out of range: {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:311 +#, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "" + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 msgid "This connection has been closed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, java-format +msgid "Invalid elements {0}" +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 -#, java-format -msgid "Unknown ResultSet holdability setting: {0}." +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "" - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:216 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, java-format -msgid "Unknown XML Result class: {0}" +msgid "Unsupported binary encoding of {0}." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:359 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, java-format -msgid "Unsupported properties: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, java-format -msgid "{0} parameter value must be an integer but was: {1}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +msgid "Unsupported type conversion to {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Could not read SSL key file {0}." +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "The password callback class provided {0} could not be instantiated." +msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Interval {0} not yet implemented" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "SSL error: {0}" +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -msgid "An error occurred reading the certificate" -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" -msgstr "" - -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Detail: {0}" +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Hint: {0}" +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:174 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Position: {0}" +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/fastpath/Fastpath.java:80 #, java-format -msgid "Where: {0}" +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Internal Query: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/fastpath/Fastpath.java:165 #, java-format -msgid "Internal Position: {0}" +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/fastpath/Fastpath.java:182 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:190 #, java-format -msgid "Server SQLState: {0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:305 msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/nl.po b/pgjdbc/src/main/java/org/postgresql/translation/nl.po index 7cd2ad4ccf..768aa2db14 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/nl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2004-10-11 23:55-0700\n" "Last-Translator: Arnout Kuiper \n" "Language-Team: Dutch \n" @@ -15,1539 +15,1635 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Conversie van lseg faalde - {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Een onverwacht resultaat werd teruggegeven door een query" - -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Invalid sslmode value: {0}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, en " -"dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " -"aanzet." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -#, fuzzy -msgid "The connection attempt failed." -msgstr "De poging om verbinding the maken faalde omdat {0}" +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "De poging om verbinding the maken faalde omdat {0}" +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -#, fuzzy -msgid "An error occurred while setting up the SSL connection." -msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "Connection rejected: {0}." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, fuzzy, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Het authenticatie type {0} wordt niet ondersteund. Controleer dat het IP " -"adres of subnet van de client is geconfigureerd in de pg_hba.conf file, en " -"dat het een authenticatie protocol gebruikt dat door de driver ondersteund " -"wordt." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "Backend start-up failed: {0}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 -#, fuzzy, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "De kolom index is buiten bereik." - -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 -#, fuzzy, java-format -msgid "No value specified for parameter {0}." -msgstr "Geen waarde opgegeven voor parameter {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "Expected command status BEGIN, got {0}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Unexpected command status: {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 -#, fuzzy, java-format -msgid "Unknown Response Type {0}." -msgstr "Onbekend antwoord type {0}" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +#: org/postgresql/core/UTF8Encoding.java:135 +#, java-format +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" -msgstr "" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Een onverwacht resultaat werd teruggegeven door een query" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" msgstr "" -"Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, en " -"dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " -"aanzet." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 +#: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, fuzzy, java-format +msgid "Unknown Response Type {0}." +msgstr "Onbekend antwoord type {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 +#, fuzzy, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "De kolom index is buiten bereik." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, fuzzy, java-format +msgid "No value specified for parameter {0}." +msgstr "Geen waarde opgegeven voor parameter {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "De kolom index is buiten bereik." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#, fuzzy +msgid "The connection attempt failed." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, en " +"dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " +"aanzet." -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +#, fuzzy +msgid "An error occurred while setting up the SSL connection." +msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze " -"fout AUB: {0}" - -#: org/postgresql/Driver.java:370 -#, fuzzy -msgid "Connection attempt timed out." -msgstr "De poging om verbinding the maken faalde omdat {0}" - -#: org/postgresql/Driver.java:383 -#, fuzzy -msgid "Interrupted while attempting to connect." -msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 #, fuzzy, java-format -msgid "Method {0} is not yet implemented." -msgstr "Deze methode is nog niet geimplementeerd" +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Het authenticatie type {0} wordt niet ondersteund. Controleer dat het IP " +"adres of subnet van de client is geconfigureerd in de pg_hba.conf file, en " +"dat het een authenticatie protocol gebruikt dat door de driver ondersteund " +"wordt." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 -msgid "Connection has been closed." +#: org/postgresql/util/PGmoney.java:62 +#, fuzzy +msgid "Conversion of money failed." +msgstr "Conversie van money faalde - {0}." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:418 -msgid "Statement has been closed." +#: org/postgresql/util/PGInterval.java:152 +#, fuzzy +msgid "Conversion of interval failed" +msgstr "Conversie van money faalde - {0}." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "Where: {0}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:191 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "De fastpath functie {0} is onbekend." +msgid "Server SQLState: {0}" +msgstr "" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 -#, fuzzy, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Conversie van line faalde - {0}" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Kan niet zeggen of path open of gesloten is." +msgid "Unsupported property name: {0}" +msgstr "Onbekende Types waarde." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -#, fuzzy -msgid "Too many update results were returned." -msgstr "Geen resultaten werden teruggegeven door de query." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 #, fuzzy, java-format -msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." -msgstr "Batch invoer {0} {1} werd afgebroken." +msgid "Invalid server-final-message: {0}" +msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "{0} function takes four and only four argument." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 -#, java-format -msgid "{0} function takes two and only two arguments." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 -#, java-format -msgid "{0} function takes one and only one argument." +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 -#, java-format -msgid "{0} function takes two or three arguments." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." +#: org/postgresql/Driver.java:270 +msgid "" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, java-format -msgid "{0} function takes three and only three arguments." +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze " +"fout AUB: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/Driver.java:416 +#, fuzzy +msgid "Connection attempt timed out." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/Driver.java:429 +#, fuzzy +msgid "Interrupted while attempting to connect." +msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." + +#: org/postgresql/Driver.java:682 #, fuzzy, java-format -msgid "Interval {0} not yet implemented" +msgid "Method {0} is not yet implemented." msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, fuzzy, java-format -msgid "The array index is out of range: {0}" -msgstr "De kolom index is buiten bereik." +msgid "Conversion to type {0} failed: {1}." +msgstr "Conversie van line faalde - {0}" + +#: org/postgresql/geometric/PGpath.java:70 +#, fuzzy, java-format +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Kan niet zeggen of path open of gesloten is." + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -#, fuzzy -msgid "A CallableStatement was executed with nothing returned." -msgstr "Callable Statements worden op dit moment niet ondersteund." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "Callable Statements worden op dit moment niet ondersteund." +msgid "suspend/resume not implemented" +msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "" - -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/xa/PGXAConnection.java:297 +#, java-format msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/xa/PGXAConnection.java:307 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 -msgid "No results were returned by the query." -msgstr "Geen resultaten werden teruggegeven door de query." - -#: org/postgresql/jdbc/PgConnection.java:578 -msgid "Custom type maps are not supported." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 -#, fuzzy, java-format -msgid "Failed to create object for: {0}." -msgstr "Kon geen object aanmaken voor {0} {1}" - -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 -msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 -msgid "Cannot commit when autoCommit is enabled." +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 -#, fuzzy -msgid "This connection has been closed." -msgstr "De poging om verbinding the maken faalde omdat {0}" - -#: org/postgresql/jdbc/PgConnection.java:796 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Cannot change transaction isolation level in the middle of a transaction." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Transaction isolation level {0} not supported." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:921 -msgid "Finalizing a Connection that was never closed:" +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1009 -msgid "Unable to translate data into the desired encoding." +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 -msgid "Fetch size must be a value greater to or equal to 0." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "Unable to find server array type for provided name {0}." +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "Invalid timeout ({0}<0)." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1340 -msgid "Validating connection." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1375 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "Kon geen object aanmaken voor {0} {1}" - -#: org/postgresql/jdbc/PgConnection.java:1383 -msgid "ClientInfo property not supported." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1408 -msgid "One ore more ClientInfo failed." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Kon geen object aanmaken voor {0} {1}" -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 -msgid "Cannot establish a savepoint in auto-commit mode." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1635 -msgid "Returning autogenerated keys is not supported." +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 -msgid "Unable to find name datatype in the system catalogs." +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 -msgid "proname" +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 -msgid "oid" +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 -msgid "typtype" +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 -msgid "proargtypes" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 -msgid "adsrc" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 -msgid "rolname" +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 -msgid "relacl" -msgstr "" +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, fuzzy, java-format +msgid "The array index is out of range: {0}" +msgstr "De kolom index is buiten bereik." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 -msgid "attacl" +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, fuzzy, java-format msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "De kolom index is buiten bereik." -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." -msgstr "" - -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 +#: org/postgresql/jdbc/BatchResultHandler.java:92 #, fuzzy -msgid "Multiple ResultSets were returned by the query." +msgid "Too many update results were returned." msgstr "Geen resultaten werden teruggegeven door de query." -#: org/postgresql/jdbc/PgPreparedStatement.java:270 -msgid "Unknown Types value." -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format +msgid "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "Batch invoer {0} {1} werd afgebroken." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format -msgid "Invalid stream length {0}." +msgid "Unsupported value for stringtype parameter: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:447 -#, java-format -msgid "The JVM claims not to support the {0} encoding." +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +msgid "No results were returned by the query." +msgstr "Geen resultaten werden teruggegeven door de query." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 -msgid "Provided InputStream failed." +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgConnection.java:587 #, fuzzy, java-format -msgid "Unknown type {0}." -msgstr "Onbekend antwoord type {0}" +msgid "Failed to create object for: {0}." +msgstr "Kon geen object aanmaken voor {0} {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:553 -msgid "No hstore extension installed." +#: org/postgresql/jdbc/PgConnection.java:641 +#, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" +#: org/postgresql/jdbc/PgConnection.java:693 +msgid "" +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 -#, fuzzy, java-format -msgid "Unsupported Types value: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 -#, java-format -msgid "Cannot convert an instance of {0} to type {1}" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 -#, java-format +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." +"Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 -msgid "Unexpected error writing large object to database." +#: org/postgresql/jdbc/PgConnection.java:833 +#, java-format +msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 -msgid "Provided Reader failed." +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 +msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 +#, java-format +msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 -#: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgConnection.java:1312 #, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." +msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/jdbc/PgConnection.java:1348 +#, java-format +msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:840 -msgid "Cannot call cancelRowUpdates() when on the insert row." +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "Kon geen object aanmaken voor {0} {1}" + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:856 -msgid "Cannot call deleteRow() when on the insert row." +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:863 -msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:869 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:873 -#, fuzzy -msgid "There are no rows in this ResultSet." -msgstr "De kolom naam {0} is niet gevonden." +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:914 -msgid "Not on the insert row." +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:916 -msgid "You must specify at least one column value to insert a row." +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 -#, java-format -msgid "The JVM claims not to support the encoding: {0}" +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1214 -msgid "Can''t refresh the insert row." +#: org/postgresql/jdbc/PgStatement.java:235 +#, fuzzy +msgid "Multiple ResultSets were returned by the query." +msgstr "Geen resultaten werden teruggegeven door de query." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1280 -msgid "Cannot call updateRow() when on the insert row." +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1486 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1555 -#, java-format -msgid "No primary key found for table {0}." +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 #, java-format -msgid "Bad value for type {0} : {1}" +msgid "Invalid fetch direction constant: {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2564 -#, fuzzy, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "De kolom naam {0} is niet gevonden." +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Kon geen object aanmaken voor {0} {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +msgid "adsrc" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +msgid "relacl" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:237 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:290 +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Onbekende Types waarde." + +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#, java-format +msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." +#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#, java-format +msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#, fuzzy, java-format +msgid "Unknown type {0}." +msgstr "Onbekend antwoord type {0}" -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1148 -msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#, java-format +msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#, fuzzy, java-format +msgid "Unsupported Types value: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." +#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#, java-format +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, java-format -msgid "Unsupported binary encoding of {0}." +msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:147 -#, fuzzy -msgid "Failed to initialize LargeObject API" -msgstr "Kon LargeObject API niet initialiseren" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, java-format -msgid "{0} parameter value must be an integer but was: {1}" +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:922 +#, fuzzy +msgid "There are no rows in this ResultSet." +msgstr "De kolom naam {0} is niet gevonden." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:2589 +#, fuzzy, java-format +msgid "The column name {0} was not found in this ResultSet." +msgstr "De kolom naam {0} is niet gevonden." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/jdbc/PgResultSet.java:2725 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 -#, java-format -msgid "SSL error: {0}" +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Unsupported binary encoding of {0}." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +#, fuzzy +msgid "A CallableStatement was executed with nothing returned." +msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -#, fuzzy -msgid "Conversion of interval failed" -msgstr "Conversie van money faalde - {0}." - -#: org/postgresql/util/PGmoney.java:65 -#, fuzzy -msgid "Conversion of money failed." -msgstr "Conversie van money faalde - {0}." - -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Detail: {0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Onbekende Types waarde." + +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Internal Query: {0}" +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Internal Position: {0}" +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Server SQLState: {0}" +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 +#, java-format +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, java-format +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 +#: org/postgresql/largeobject/LargeObjectManager.java:144 #, fuzzy -msgid "suspend/resume not implemented" -msgstr "Deze methode is nog niet geimplementeerd" +msgid "Failed to initialize LargeObject API" +msgstr "Kon LargeObject API niet initialiseren" -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, fuzzy, java-format +msgid "Copying from database failed: {0}" +msgstr "Conversie van lseg faalde - {0}" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" +#: org/postgresql/copy/CopyManager.java:53 +#, java-format +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/xa/PGXAConnection.java:464 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/xa/PGXAConnection.java:497 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "De fastpath functie {0} is onbekend." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, " +#~ "en dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " +#~ "aanzet." + +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "De poging om verbinding the maken faalde omdat {0}" #, fuzzy #~ msgid "Conversion of box failed: {0}." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pl.po b/pgjdbc/src/main/java/org/postgresql/translation/pl.po index a760b6884b..5bc61e3c5a 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: head-pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2005-05-22 03:01+0200\n" "Last-Translator: Jarosław Jan Pyszny \n" "Language-Team: \n" @@ -22,465 +22,588 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Ten ResultSet jest zamknięty." +msgid "An error occurred reading the certificate" +msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Nie można było nawiązać połączenia stosując żądany protokołu {0}." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Przedwczesny koniec strumienia wejściowego, oczekiwano {0} bajtów, odczytano " -"tylko {1}." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Zapytanie zwróciło nieoczekiwany wynik." - -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy." - -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:206 -#, fuzzy -msgid "Zero bytes may not occur in identifiers." -msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "Invalid sslmode value: {0}" +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" msgstr "" -"Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " -"port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Próba nawiązania połączenia nie powiodła się." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Próba nawiązania połączenia nie powiodła się." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Serwer nie obsługuje SSL." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Connection rejected: {0}." -msgstr "Połączenie odrzucone: {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie " -"zostało dostarczone." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +msgid "The hostname {0} could not be verified." msgstr "" -"Uwierzytelnienie typu {0} nie jest obsługiwane. Upewnij się, że " -"skonfigurowałeś plik pg_hba.conf tak, że zawiera on adres IP lub podsieć " -"klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten " -"sterownik." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 msgid "Protocol error. Session setup failed." msgstr "Błąd protokołu. Nie udało się utworzyć sesji." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Start serwera się nie powiódł: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Nie podano wartości dla parametru {0}." +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Spodziewano się statusu komendy BEGIN, otrzymano {0}." +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 -#, java-format -msgid "Unexpected command status: {0}." -msgstr "Nieoczekiwany status komendy: {0}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy." -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 #, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." +msgid "Zero bytes may not occur in identifiers." +msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy." -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Nieznany typ odpowiedzi {0}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +#: org/postgresql/core/UTF8Encoding.java:66 +#, java-format +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +#: org/postgresql/core/UTF8Encoding.java:135 +#, java-format +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Zapytanie zwróciło nieoczekiwany wynik." + +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgstr "" +"Przedwczesny koniec strumienia wejściowego, oczekiwano {0} bajtów, odczytano " +"tylko {1}." + +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" msgstr "" -"Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " -"port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 +#: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Spodziewano się statusu komendy BEGIN, otrzymano {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Nieoczekiwany status komendy: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Nieznany typ odpowiedzi {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Nieoczekiwany status komendy: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Sterownik nie obsługuje aktualnie operacji COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Sterownik nie obsługuje aktualnie operacji COPY." +msgid "No value specified for parameter {0}." +msgstr "Nie podano wartości dla parametru {0}." -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties" +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Próba nawiązania połączenia nie powiodła się." -#: org/postgresql/Driver.java:290 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Połączenie zostało zamknięte." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, java-format +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Nieznana wartość Types: {0}" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." +msgstr "" +"Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " +"port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metoda {0}nie jest jeszcze obsługiwana." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Serwer nie obsługuje SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie " +"zostało dostarczone." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Uwierzytelnienie typu {0} nie jest obsługiwane. Upewnij się, że " +"skonfigurowałeś plik pg_hba.conf tak, że zawiera on adres IP lub podsieć " +"klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten " +"sterownik." + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Nie można było nawiązać połączenia stosując żądany protokołu {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Znaleziono nieprawidłowy znak. Najprawdopodobniej jest to spowodowane " +"przechowywaniem w bazie znaków, które nie pasują do zestawu znaków wybranego " +"podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-" +"bitowych znaków w bazie o kodowaniu SQL_ASCII." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Konwersja typu money nie powiodła się." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Konwersja typu interval nie powiodła się" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Szczegóły: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Wskazówka: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Pozycja: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Gdzie: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Wewnętrzne Zapytanie: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Wewnętrzna Pozycja: {0}" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Serwer SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource zostało zamknięte." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Nieznana wartość Types: {0}" @@ -489,7 +612,7 @@ msgstr "Nieznana wartość Types: {0}" msgid "This PooledConnection has already been closed." msgstr "To PooledConnection zostało już zamknięte." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -498,1072 +621,1053 @@ msgstr "" "otwarte dla tego samego PooledConnection lub PooledConnection zostało " "zamknięte." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Połączenie zostało zamknięte." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource zostało zamknięte." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." +msgid "Invalid server-first-message: {0}" +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Nieznana wartość Types: {0}" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Nieznana wartość Types: {0}" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "" + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Funkcja fastpath {0} jest nieznana." +msgid "Method {0} is not yet implemented." +msgstr "Metoda {0}nie jest jeszcze obsługiwana." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Konwersja do typu {0} nie powiodła się: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Nie można stwierdzić, czy ścieżka jest otwarta czy zamknięta: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Zwrócono wynik zapytania, choć nie był on oczekiwany." +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 +#, fuzzy, java-format +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"Poziom izolacji transakcji {0} nie jest obsługiwany. xid={0}, " +"currentXid={1}, state={2}, flags={3}" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Zapytanie nie zwróciło żadnych wyników." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -"Zadanie wsadowe {0} {1} zostało przerwane. Wywołaj getNextException by " -"poznać przyczynę." -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes four and only four argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes one and only one argument." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 -#, java-format -msgid "{0} function takes three and only three arguments." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Metoda {0}nie jest jeszcze obsługiwana." - -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "The array index is out of range: {0}" -msgstr "Indeks tablicy jest poza zakresem: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Znaleziono nieprawidłowy znak. Najprawdopodobniej jest to spowodowane " -"przechowywaniem w bazie znaków, które nie pasują do zestawu znaków wybranego " -"podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-" -"bitowych znaków w bazie o kodowaniu SQL_ASCII." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Nie powiodło się utworzenie obiektu dla: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "To PooledConnection zostało już zamknięte." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"Funkcja CallableStatement została zadeklarowana, ale nie wywołano " -"registerOutParameter (1, )." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Indeks tablicy jest poza zakresem: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}." + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Zapytanie nie zwróciło żadnych wyników." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"Zadanie wsadowe {0} {1} zostało przerwane. Wywołaj getNextException by " +"poznać przyczynę." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, fuzzy, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Zapytanie nie zwróciło żadnych wyników." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Zwrócono wynik zapytania, choć nie był on oczekiwany." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Nie powiodło się utworzenie obiektu dla: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Nie jest możliwe załadowanie klasy {0} odpowiedzialnej za typ danych {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Połączenie zostało zamknięte." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 #, fuzzy msgid "Finalizing a Connection that was never closed:" msgstr "Połączenie zostało zamknięte." -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Rozmiar pobierania musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, java-format +msgid "Invalid elements {0}" +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Nie powiodło się utworzenie obiektu dla: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 -#, java-format -msgid "Unknown ResultSet holdability setting: {0}." +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Timeout zapytania musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Maksymalna liczba rekordów musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Timeout zapytania musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "Maksymalny rozmiar pola musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +msgid "" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Nieznana wartość Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Nieznany typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." -msgstr "" - -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 -msgid "Unexpected error writing large object to database." -msgstr "" - -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 -msgid "Provided Reader failed." -msgstr "" - -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:285 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 -msgid "Can''t use relative move methods while on the insert row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:840 -msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "Nie można wywołać cancelRowUpdates() na wstawianym rekordzie." - -#: org/postgresql/jdbc/PgResultSet.java:856 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "Nie można wywołać deleteRow() na wstawianym rekordzie." - -#: org/postgresql/jdbc/PgResultSet.java:863 -msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "" -"Aktualna pozycja przed początkiem ResultSet. Nie można wywołać deleteRow()." - -#: org/postgresql/jdbc/PgResultSet.java:869 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "Aktualna pozycja za końcem ResultSet. Nie można wywołać deleteRow()." - -#: org/postgresql/jdbc/PgResultSet.java:873 -msgid "There are no rows in this ResultSet." -msgstr "Nie ma żadnych wierszy w tym ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:914 -msgid "Not on the insert row." -msgstr "Nie na wstawianym rekordzie." - -#: org/postgresql/jdbc/PgResultSet.java:916 -msgid "You must specify at least one column value to insert a row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 -#, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1214 -msgid "Can''t refresh the insert row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1280 -msgid "Cannot call updateRow() when on the insert row." -msgstr "Nie można wywołać updateRow() na wstawianym rekordzie." - -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1486 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1555 -#, java-format -msgid "No primary key found for table {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 -#, java-format -msgid "Bad value for type {0} : {1}" -msgstr "Zła wartość dla typu {0}: {1}" - -#: org/postgresql/jdbc/PgResultSet.java:2564 -#, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" -"ResultSet nie jest modyfikowalny (not updateable). Zapytanie, które zwróciło " -"ten wynik musi dotyczyć tylko jednej tabeli oraz musi pobierać wszystkie " -"klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by " -"uzyskać więcej szczegółów." - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "Ten ResultSet jest zamknięty." - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "Zła pozycja w ResultSet, może musisz wywołać next." - -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Nie powiodło się utworzenie obiektu dla: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "To PooledConnection zostało już zamknięte." - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Maksymalna liczba rekordów musi być wartością dodatnią lub 0." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Timeout zapytania musi być wartością dodatnią lub 0." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "Maksymalny rozmiar pola musi być wartością dodatnią lub 0." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1148 -msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Zła wartość dla typu {0}: {1}" - -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Nieznana wartość Types: {0}" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Nie udało się zainicjować LargeObject API" +"with an explicit Types value to specify the type to use." +msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." +msgstr "" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "Nie można wywołać cancelRowUpdates() na wstawianym rekordzie." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "Nie można wywołać deleteRow() na wstawianym rekordzie." + +#: org/postgresql/jdbc/PgResultSet.java:912 +msgid "" +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" +"Aktualna pozycja przed początkiem ResultSet. Nie można wywołać deleteRow()." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." +msgstr "Aktualna pozycja za końcem ResultSet. Nie można wywołać deleteRow()." + +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Nie ma żadnych wierszy w tym ResultSet." + +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Nie na wstawianym rekordzie." + +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." +msgstr "Nie można wywołać updateRow() na wstawianym rekordzie." + +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "Bad value for type {0} : {1}" +msgstr "Zła wartość dla typu {0}: {1}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/jdbc/PgResultSet.java:2725 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"ResultSet nie jest modyfikowalny (not updateable). Zapytanie, które zwróciło " +"ten wynik musi dotyczyć tylko jednej tabeli oraz musi pobierać wszystkie " +"klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by " +"uzyskać więcej szczegółów." -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "Ten ResultSet jest zamknięty." -#: org/postgresql/ssl/MakeSSL.java:67 -#, java-format -msgid "SSL error: {0}" +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "Zła pozycja w ResultSet, może musisz wywołać next." + +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Zła wartość dla typu {0}: {1}" + +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Nieznana wartość Types: {0}" + +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "The hostname {0} could not be verified." +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"Funkcja CallableStatement została zadeklarowana, ale nie wywołano " +"registerOutParameter (1, )." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Konwersja typu interval nie powiodła się" +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Konwersja typu money nie powiodła się." +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Detail: {0}" -msgstr "Szczegóły: {0}" +msgid "{0} function takes four and only four argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Hint: {0}" -msgstr "Wskazówka: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:174 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Position: {0}" -msgstr "Pozycja: {0}" +msgid "{0} function takes one and only one argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Where: {0}" -msgstr "Gdzie: {0}" +msgid "{0} function takes two or three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Internal Query: {0}" -msgstr "Wewnętrzne Zapytanie: {0}" +msgid "{0} function doesn''t take any argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Internal Position: {0}" -msgstr "Wewnętrzna Pozycja: {0}" +msgid "{0} function takes three and only three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Metoda {0}nie jest jeszcze obsługiwana." -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Server SQLState: {0}" -msgstr "Serwer SQLState: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Nie udało się zainicjować LargeObject API" -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, java-format +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 #, fuzzy -msgid "Transaction interleaving not implemented" -msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." +msgid "This copy stream is closed." +msgstr "Ten ResultSet jest zamknięty." -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" +#: org/postgresql/copy/CopyManager.java:53 +#, java-format +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/xa/PGXAConnection.java:464 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "Funkcja fastpath {0} jest nieznana." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " +#~ "port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Próba nawiązania połączenia nie powiodła się." -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Połączenie odrzucone: {0}." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Start serwera się nie powiódł: {0}." #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Klasa {0} nie implementuje org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po index 534f8bb0fd..3e4c66a418 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2004-10-31 20:48-0300\n" "Last-Translator: Euler Taveira de Oliveira \n" "Language-Team: Brazilian Portuguese \n" @@ -17,399 +17,389 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "Este ResultSet está fechado." +msgid "An error occurred reading the certificate" +msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "A conexão não pode ser feita usando protocolo informado {0}." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Sintaxe de escape mal formada da função ou do procedimento no deslocamento " -"{0}." -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram " -"lidos." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Esperado um EOF do servidor, recebido: {0}" - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Um resultado inesperado foi retornado pela consulta." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Sequência UTF-8 ilegal: byte {0} da sequência de bytes {1} não é 10xxxxxx: " -"{2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Sequência UTF-8 ilegal: {0} bytes utilizados para codificar um valor de {1} " -"bytes: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Sequência UTF-8 ilegal: byte inicial é {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "Sequência UTF-8 ilegal: valor final está fora do intervalo: {0}" +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "Sequência UTF-8 ilegal: valor final é um valor suplementar: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Zero bytes não podem ocorrer em parâmetros de cadeia de caracteres." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Zero bytes não podem ocorrer em identificadores." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Tamanho de dado {0} é inválido." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Tamanho de dado {0} é inválido." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " -"o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "A tentativa de conexão falhou." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Erro de Protocolo. Configuração da sessão falhou." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "A tentativa de conexão falhou." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "Autenticação GSS falhou" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "O servidor não suporta SSL." +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "" +"Sintaxe de escape mal formada da função ou do procedimento no deslocamento " +"{0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 -#, java-format -msgid "Connection rejected: {0}." -msgstr "Conexão negada: {0}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Zero bytes não podem ocorrer em parâmetros de cadeia de caracteres." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"O servidor pediu autenticação baseada em senha, mas nenhuma senha foi " -"fornecida." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Zero bytes não podem ocorrer em identificadores." + +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"O tipo de autenticação {0} não é suportado. Verifique se você configurou o " -"arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está " -"utilizando o esquema de autenticação suportado pelo driver." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Erro de Protocolo. Configuração da sessão falhou." +"Sequência UTF-8 ilegal: byte {0} da sequência de bytes {1} não é 10xxxxxx: " +"{2}" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Inicialização do processo servidor falhou: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -"O índice da coluna está fora do intervalo: {0}, número de colunas: {1}." - -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 -#, java-format -msgid "No value specified for parameter {0}." -msgstr "Nenhum valor especificado para parâmetro {0}." +"Sequência UTF-8 ilegal: {0} bytes utilizados para codificar um valor de {1} " +"bytes: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Status do comando BEGIN esperado, recebeu {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Sequência UTF-8 ilegal: byte inicial é {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Status do comando inesperado: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "Sequência UTF-8 ilegal: valor final está fora do intervalo: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Tipo de Resposta Desconhecido {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "Sequência UTF-8 ilegal: valor final é um valor suplementar: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Memória insuficiente ao recuperar resultados da consulta." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Um resultado inesperado foi retornado pela consulta." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" -"Não foi possível interpretar o contador de atualização na marcação de " -"comando completo: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram " +"lidos." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Esperado um EOF do servidor, recebido: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " -"o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Interrompido ao tentar se conectar." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Não foi possível ligar valores de parâmetro ao comando." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Status do comando BEGIN esperado, recebeu {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Status do comando inesperado: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Tipo de Resposta Desconhecido {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Esperado um EOF do servidor, recebido: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"Tamanho de mensagem de ligação {0} é muito longo. Isso pode ser causado por " +"especificações de tamanho incorretas ou muito grandes nos parâmetros do " +"InputStream." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Memória insuficiente ao recuperar resultados da consulta." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "O driver atualmente não suporta operações COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Não foi possível interpretar o contador de atualização na marcação de " +"comando completo: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -418,8 +408,7 @@ msgstr "" "O parâmetro do servidor client_encoding foi alterado para {0}. O driver JDBC " "requer que o client_encoding seja UNICODE para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -428,8 +417,7 @@ msgstr "" "O parâmetro do servidor DateStyle foi alterado para {0}. O driver JDBC " "requer que o DateStyle começe com ISO para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -438,67 +426,197 @@ msgstr "" "O parâmetro do servidor standard_conforming_strings foi definido como {0}. O " "driver JDBC espera que seja on ou off." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" +"O índice da coluna está fora do intervalo: {0}, número de colunas: {1}." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "Nenhum valor especificado para parâmetro {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "" +"O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "A tentativa de conexão falhou." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Conexão foi fechada." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Tamanho de dado {0} é inválido." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Tamanho de dado {0} é inválido." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Tamanho de mensagem de ligação {0} é muito longo. Isso pode ser causado por " -"especificações de tamanho incorretas ou muito grandes nos parâmetros do " -"InputStream." +"Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " +"o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "O driver atualmente não suporta operações COPY." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Erro ao carregar configurações padrão do driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "O servidor não suporta SSL." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"O servidor pediu autenticação baseada em senha, mas nenhuma senha foi " +"fornecida." -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Sua política de segurança impediu que a conexão pudesse ser estabelecida. " -"Você provavelmente precisa conceder permissão em java.net.SocketPermission " -"para a máquina e a porta do servidor de banco de dados que você deseja se " -"conectar." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -"Alguma coisa não usual ocorreu para causar a falha do driver. Por favor " -"reporte esta exceção." +"O tipo de autenticação {0} não é suportado. Verifique se você configurou o " +"arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está " +"utilizando o esquema de autenticação suportado pelo driver." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Tentativa de conexão falhou." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "A conexão não pode ser feita usando protocolo informado {0}." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Interrompido ao tentar se conectar." +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Caracter inválido foi encontrado. Isso é mais comumente causado por dado " +"armazenado que contém caracteres que são inválidos para a codificação que " +"foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de " +"8 bits em um banco de dados SQL_ASCII." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Conversão de money falhou." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Conversão de interval falhou" + +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Método {0} ainda não foi implementado." +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detalhe: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Dica: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Posição: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Onde: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Consulta Interna: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Posição Interna: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource foi fechado." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Valor de Types não é suportado: {0}" @@ -507,7 +625,7 @@ msgstr "Valor de Types não é suportado: {0}" msgid "This PooledConnection has already been closed." msgstr "Este PooledConnection já foi fechado." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -515,407 +633,531 @@ msgstr "" "Conexão foi fechada automaticamente porque uma nova conexão foi aberta pelo " "mesmo PooledConnection ou o PooledConnection foi fechado." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Conexão foi fechada." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Comando foi fechado." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource foi fechado." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +msgid "Invalid server-first-message: {0}" +msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Tamanho de dado {0} é inválido." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Valor de Types não é suportado: {0}" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Erro ao carregar configurações padrão do driverconfig.properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +"Sua política de segurança impediu que a conexão pudesse ser estabelecida. " +"Você provavelmente precisa conceder permissão em java.net.SocketPermission " +"para a máquina e a porta do servidor de banco de dados que você deseja se " +"conectar." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Alguma coisa não usual ocorreu para causar a falha do driver. Por favor " +"reporte esta exceção." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Tentativa de conexão falhou." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Interrompido ao tentar se conectar." + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "A função do fastpath {0} é desconhecida." +msgid "Method {0} is not yet implemented." +msgstr "Método {0} ainda não foi implementado." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Conversão para tipo {0} falhou: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Não pode dizer se caminho está aberto ou fechado: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "Autenticação GSS falhou" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Truncar objetos grandes só é implementado por servidores 8.3 ou superiores." - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "LOBs do PostgreSQL só podem indexar até: {0}" +msgid "Invalid flags {0}" +msgstr "Marcadores={0} inválidos" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "Deslocamentos da posição de LOB começam em 1." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid não deve ser nulo" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "free() já foi chamado neste LOB" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Conexão está ocupada com outra transação" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Um resultado foi retornado quando nenhum era esperado." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspender/recomeçar não está implementado" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Muitos resultados de atualização foram retornados." +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 +#, java-format +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"Intercalação de transação não está implementado. xid={0}, currentXid={1}, " +"state={2}, flags={3}" + +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Erro ao desabilitar autocommit" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -"Entrada em lote {0} {1} foi abortada. Chame getNextException para ver a " -"causa." +"tentou executar end sem a chamada ao start correspondente. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" + +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "função {0} recebe somente quatro argumentos." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "função {0} recebe somente dois argumentos." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Não está implementado: Prepare deve ser executado utilizando a mesma conexão " +"que iniciou a transação. currentXid={0}, prepare xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "função {0} recebe somente um argumento." +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare executado antes do end. prepare xid={0}, state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "função {0} recebe dois ou três argumentos." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Erro ao preparar transação. prepare xid={0}" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Erro durante recuperação" + +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" + +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "função {0} não recebe nenhum argumento." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Não está implementado: efetivada da primeira fase deve ser executada " +"utilizando a mesma conexão que foi utilizada para iniciá-la" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "função {0} recebe três e somente três argumentos." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Intervalo {0} ainda não foi implementado" +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit executado antes do end. commit xid={0}, state={1}" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "The array index is out of range: {0}" -msgstr "O índice da matriz está fora do intervalo: {0}" +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Erro durante efetivação de uma fase. commit xid={0}" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 -#, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"O índice da matriz está fora do intervalo: {0}, número de elementos: {1}." +"Não está implementado: efetivação da segunda fase deve ser executada " +"utilizado uma conexão ociosa. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Caracter inválido foi encontrado. Isso é mais comumente causado por dado " -"armazenado que contém caracteres que são inválidos para a codificação que " -"foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de " -"8 bits em um banco de dados SQL_ASCII." +"Erro ao cancelar transação preparada. commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Uma função foi executada e nada foi retornado." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "Uma função foi executada com um número inválido de parâmetros" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Não foi possível decodificar dado xml." -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Classe XML Source desconhecida: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Não foi possível criar SAXResult para SQLXML." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Não foi possível criar StAXResult para SQLXML" + +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Classe XML Result desconhecida: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Este objeto SQLXML já foi liberado." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -"Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} " -"contudo tipo {2} foi registrado." +"Este objeto SQLXML não foi inicializado, então você não pode recuperar dados " +"dele." + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "Falhou ao converter dados xml binários para codificação: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" +"Não foi possível converter dado SQLXML do DOMResult para uma cadeia de " +"caracteres." -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... " -"'}' para declarar um)" +"Este objeto SQLXML já foi inicializado, então você não pode manipulá-lo " +"depois." -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull não pode ser chamado antes de obter um resultado." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Não pode referenciar um savepoint após ele ser descartado." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Não pode recuperar o id de um savepoint com nome." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Não pode recuperar o nome de um savepoint sem nome." -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "The array index is out of range: {0}" +msgstr "O índice da matriz está fora do intervalo: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -"Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) " -"foi feita." +"O índice da matriz está fora do intervalo: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" -"Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, " -") foi feita." +"O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "Nenhum saída de função foi registrada." +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Muitos resultados de atualização foram retornados." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Resultados não podem ser recuperados de uma função antes dela ser executada." +"Entrada em lote {0} {1} foi abortada. Chame getNextException para ver a " +"causa." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Valor do parâmetro stringtype não é suportado: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Nenhum resultado foi retornado pela consulta." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Um resultado foi retornado quando nenhum era esperado." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "Mapeamento de tipos personalizados não são suportados." -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Falhou ao criar objeto para: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Não foi possível carregar a classe {0} responsável pelo tipo de dado {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Não pode mudar propriedade somente-leitura da transação no meio de uma " "transação." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Conexão foi fechada." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Não pode mudar nível de isolamento da transação no meio de uma transação." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Nível de isolamento da transação {0} não é suportado." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Fechando uma Conexão que não foi fechada:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Não foi possível traduzir dado para codificação desejada." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Tamanho da busca deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Não foi possível encontrar tipo matriz para nome fornecido {0}." -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Marcadores={0} inválidos" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Falhou ao criar objeto para: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "propriedade ClientInfo não é suportada." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Definição de durabilidade do ResultSet desconhecida: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Versões do servidor anteriores a 8.0 não suportam savepoints." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" "Não pode estabelecer um savepoint no modo de efetivação automática (auto-" "commit)." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Retorno de chaves geradas automaticamente não é suportado." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "ResultSets múltiplos foram retornados pela consulta." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Número máximo de registros deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "O tamanho máximo de um campo deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Este comando foi fechado." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Constante de direção da busca é inválida: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" +"Retorno de chaves geradas automaticamente por índice de coluna não é " +"suportado." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -923,119 +1165,135 @@ msgstr "" "Não foi possível determinar um valor para MaxIndexKeys por causa de falta de " "dados no catálogo do sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." +"Truncar objetos grandes só é implementado por servidores 8.3 ou superiores." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "LOBs do PostgreSQL só podem indexar até: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Deslocamentos da posição de LOB começam em 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() já foi chamado neste LOB" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Não pode utilizar métodos de consulta que pegam uma consulta de um comando " "preparado." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "ResultSets múltiplos foram retornados pela consulta." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Valor de Types desconhecido." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "A JVM reclamou que não suporta a codificação {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "InputStream fornecido falhou." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Tipo desconhecido {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1045,23 +1303,22 @@ msgstr "" "setObject() com um valor de Types explícito para especificar o tipo a ser " "usado." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Erro inesperado ao escrever objeto grande no banco de dados." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Reader fornecido falhou." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1069,42 +1326,34 @@ msgstr "" "Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY " "(somente para frente)." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "Erro inesperado ao decodificar caracter de um objeto grande." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Não pode utilizar métodos de movimentação relativos enquanto estiver " "inserindo registro." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Constante de direção da busca é inválida: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Não pode chamar cancelRowUpdates() quando estiver inserindo registro." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "Não pode chamar deleteRow() quando estiver inserindo registro." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1112,7 +1361,7 @@ msgstr "" "Posicionado antes do início do ResultSet. Você não pode chamar deleteRow() " "aqui." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1120,36 +1369,36 @@ msgstr "" "Posicionado depois do fim do ResultSet. Você não pode chamar deleteRow() " "aqui." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "Não há nenhum registro neste ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Não está inserindo um registro." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "Você deve especificar pelo menos uma coluna para inserir um registro." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "A JVM reclamou que não suporta a codificação: {0}" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Não pode renovar um registro inserido." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "Não pode chamar updateRow() quando estiver inserindo registro." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1157,39 +1406,39 @@ msgstr "" "Não pode atualizar o ResultSet porque ele está antes do início ou depois do " "fim dos resultados." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" "ResultSets com CONCUR_READ_ONLY concorrentes não podem ser atualizados." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Nenhuma chave primária foi encontrada para tabela {0}." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "A nome da coluna {0} não foi encontrado neste ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1200,438 +1449,323 @@ msgstr "" "chaves primárias daquela tabela. Veja a especificação na API do JDBC 2.1, " "seção 5.6 para obter mais detalhes." -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "Este ResultSet está fechado." - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "" -"ResultSet não está posicionado corretamente, talvez você precise chamar next." - -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." -msgstr "dado UUID é inválido." - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "Não foi possível decodificar dado xml." - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Classe XML Source desconhecida: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Não foi possível criar SAXResult para SQLXML." - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Não foi possível criar StAXResult para SQLXML" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Classe XML Result desconhecida: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "Este objeto SQLXML já foi liberado." - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" -"Este objeto SQLXML não foi inicializado, então você não pode recuperar dados " -"dele." - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "Falhou ao converter dados xml binários para codificação: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" -"Não foi possível converter dado SQLXML do DOMResult para uma cadeia de " -"caracteres." - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" -"Este objeto SQLXML já foi inicializado, então você não pode manipulá-lo " -"depois." - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Número máximo de registros deve ser um valor maior ou igual a 0." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "O tamanho máximo de um campo deve ser um valor maior ou igual a 0." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Este comando foi fechado." - -#: org/postgresql/jdbc/PgStatement.java:1148 -msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "" -"Retorno de chaves geradas automaticamente só é suportado por servidores 8.2 " -"ou mais recentes." +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "Este ResultSet está fechado." -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -"Retorno de chaves geradas automaticamente por índice de coluna não é " -"suportado." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Não pode referenciar um savepoint após ele ser descartado." +"ResultSet não está posicionado corretamente, talvez você precise chamar next." -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Não pode recuperar o id de um savepoint com nome." +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." +msgstr "dado UUID é inválido." -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Não pode recuperar o nome de um savepoint sem nome." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Nível de isolamento da transação {0} não é suportado." -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" -"Valor infinito encontrado em timestamp/date. Isto não pode ser representado " -"como tempo." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Falhou ao inicializar API de Objetos Grandes" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "" -"Objetos Grandes não podem ser usados no modo de efetivação automática (auto-" -"commit)." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Uma função foi executada e nada foi retornado." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Valor de Types não é suportado: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "Uma função foi executada com um número inválido de parâmetros" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} " +"contudo tipo {2} foi registrado." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... " +"'}' para declarar um)" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull não pode ser chamado antes de obter um resultado." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" +"Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) " +"foi feita." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, " +") foi feita." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Nenhum saída de função foi registrada." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" +"Resultados não podem ser recuperados de uma função antes dela ser executada." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." +msgid "Unsupported type conversion to {1}." +msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "função {0} recebe somente quatro argumentos." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "função {0} recebe somente dois argumentos." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "função {0} recebe somente um argumento." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." +msgid "{0} function takes two or three arguments." +msgstr "função {0} recebe dois ou três argumentos." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "SSL error: {0}" -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." +msgid "{0} function doesn''t take any argument." +msgstr "função {0} não recebe nenhum argumento." -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "função {0} recebe três e somente três argumentos." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Intervalo {0} ainda não foi implementado" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, java-format +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Falhou ao inicializar API de Objetos Grandes" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" +"Objetos Grandes não podem ser usados no modo de efetivação automática (auto-" +"commit)." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, java-format +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." +msgid "This copy stream is closed." +msgstr "Este ResultSet está fechado." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Conversão de interval falhou" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Conversão de money falhou." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Detalhe: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Hint: {0}" -msgstr "Dica: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Posição: {0}" +msgid "Requested CopyIn but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Where: {0}" -msgstr "Onde: {0}" +msgid "Requested CopyOut but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Internal Query: {0}" -msgstr "Consulta Interna: {0}" +msgid "Requested CopyDual but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Internal Position: {0}" -msgstr "Posição Interna: {0}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/xa/PGXAConnection.java:148 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Marcadores inválidos" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid não deve ser nulo" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "Conexão está ocupada com outra transação" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "suspender/recomeçar não está implementado" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Intercalação de transação não está implementado" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "Erro ao desabilitar autocommit" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "tentou executar end sem a chamada ao start correspondente" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Não está implementado: Prepare deve ser executado utilizando a mesma conexão " -"que iniciou a transação" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Prepare executado antes do end" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" -"Versões do servidor anteriores a 8.1 não suportam efetivação em duas fases." +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "A função do fastpath {0} é desconhecida." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Erro ao preparar transação" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Conexão negada. Verifique se o nome da máquina e a porta estão corretos e " +#~ "se o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Marcador inválido" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "A tentativa de conexão falhou." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Erro durante recuperação" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Conexão negada: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Erro ao cancelar transação preparada" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Inicialização do processo servidor falhou: {0}." -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Não está implementado: efetivada da primeira fase deve ser executada " -"utilizando a mesma conexão que foi utilizada para iniciá-la" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Versões do servidor anteriores a 8.0 não suportam savepoints." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "commit executado antes do end" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Erro inesperado ao decodificar caracter de um objeto grande." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Erro durante efetivação de uma fase" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Retorno de chaves geradas automaticamente só é suportado por servidores " +#~ "8.2 ou mais recentes." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Não está implementado: efetivação da segunda fase deve ser executada " -"utilizado uma conexão ociosa" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Valor infinito encontrado em timestamp/date. Isto não pode ser " +#~ "representado como tempo." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Erro ao cancelar transação preparada" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Versões do servidor anteriores a 8.1 não suportam efetivação em duas " +#~ "fases." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Efetivação/Cancelamento heurístico não é suportado" +#~ msgid "Invalid flag" +#~ msgstr "Marcador inválido" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "A classe {0} não implementa org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index 244193498e..7d575b16cb 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2016-01-07 15:09+0300\n" "Last-Translator: Vladimir Sitnikov \n" "Language-Team: pgsql-rus \n" @@ -23,496 +23,621 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.7\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" -msgstr "Ожидался ответ CopyIn, а получен {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" -msgstr "Ожидался ответ CopyOut, а получен {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" -# key: postgresql.geo.box -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" -msgstr "Ошибка при обработке ответа команды COPY: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 -msgid "This copy stream is closed." -msgstr "Поток уже был закрыт" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +# key: postgresql.con.sslfail +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +msgid "An error occurred reading the certificate" +msgstr "Ошибка при чтении сертификата" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Невозможно установить соединение с помощью протокола {0}" +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "Oid {0} не известен или не является числом" +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "Невозможно разобрать SQL команду. Ошибка на позиции {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Раннее завершение входного потока, ожидалось байт: {0}, но считано только {1}" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -"Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}" -# key: postgresql.unexpected -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Запрос вернул неожиданный результат." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Неверная последовательность UTF-8: байт {0} из {1} не подходит к маске " -"10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -"Неверная последовательность UTF-8: {0} bytes used to encode a {1} byte " -"value: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Неверная последовательность UTF-8: начальное значеие {0}: {1}" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Невозможно создать password callback с помощью указанного класса {0}" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Неверная последовательность UTF-8: финальное значение вне области " -"допустимых: {0}" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Неверная последовательность UTF-8: финальное значение является surrogate " -"значением: {0}" - -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Байт с кодом 0 не может втречаться в строковых параметрах" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Символ с кодом 0 в идентификаторах не допустим" - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Неверное значение sslmode: {0}" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Неверное значение targetServerType: {0}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "Не удалось найти сервер с указанным значением targetServerType: {0}" - -# key: postgresql.con.refused -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +msgid "SSL error: {0}" msgstr "" -"Подсоединение отклонено. Проверьте что хост и порт указаны правильно и что " -"postmaster принимает TCP/IP-подсоединения." -# key: postgresql.con.failed -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Ошибка при попытке подсоединения." - -# key: postgresql.con.failed -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -msgid "The connection url is invalid." -msgstr "Неверное значение connection url" - -# key: postgresql.con.sslnotsupported -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Сервер не поддерживает SSL." - -# key: postgresql.con.sslfail -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Ошибка при установке SSL-подсоединения." - -# key: postgresql.con.misc -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Connection rejected: {0}." -msgstr "Подсоединение отвергнуто: {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Невозможно создать HostnameVerifier с помощью указанного класса {0}" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Сервер запросил парольную аутентификацию, но пароль не был указан." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" -# key: postgresql.con.auth -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +msgid "The hostname {0} could not be verified." msgstr "" -"Тип аутентификации {0} не поддерживается. Проверьте если вы сконфигурировали " -"файл pg_hba.conf чтобы включить IP-адреса клиентов или подсеть. Также " -"удостовертесь что он использует схему аутентификации поддерживаемую " -"драйвером." # key: postgresql.con.setup -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 msgid "Protocol error. Session setup failed." msgstr "Ошибка протокола. Установление сессии не удалось." -# key: postgresql.con.backend -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Запуск бэкенда не удался: {0}." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -# key: postgresql.res.colrange -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}" +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "Невозможно разобрать SQL команду. Ошибка на позиции {0}" -# key: postgresql.prep.param -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Не указано значение для параметра {0}." +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 -#, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Ожидался статус команды BEGIN, но получен {0}" +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Байт с кодом 0 не может втречаться в строковых параметрах" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Символ с кодом 0 в идентификаторах не допустим" + +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Неожиданный статус команды: {0}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" +"Неверная последовательность UTF-8: байт {0} из {1} не подходит к маске " +"10xxxxxx: {2}" -# key: postgresql.con.ioerror -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -msgid "An I/O error occurred while sending to the backend." -msgstr "Ошибка ввода/ввывода при отправке бэкенду" +#: org/postgresql/core/UTF8Encoding.java:66 +#, java-format +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Неверная последовательность UTF-8: {0} bytes used to encode a {1} byte " +"value: {2}" -# key: postgresql.con.type -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Неизвестный тип ответа {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Неверная последовательность UTF-8: начальное значеие {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +#: org/postgresql/core/UTF8Encoding.java:135 +#, java-format +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -"Недостаточно памяти для обработки результатов запроса. Попробуйте увеличить -" -"Xmx или проверьте размеры обрабатываемых данных" +"Неверная последовательность UTF-8: финальное значение вне области " +"допустимых: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "Не удалось узнать количество обновлённых строк по ответу {0}" +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "" +"Неверная последовательность UTF-8: финальное значение является surrogate " +"значением: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" -msgstr "Команда COPY не реализована для протокола версии 2" +# key: postgresql.unexpected +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Запрос вернул неожиданный результат." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgstr "" +"Раннее завершение входного потока, ожидалось байт: {0}, но считано только {1}" -# key: postgresql.con.refused -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +msgid "Expected an EOF from server, got: {0}" msgstr "" -"Подсоединение по адресу {0} отклонено. Проверьте что хост и порт указаны " -"правильно и что postmaster принимает TCP/IP-подсоединения." +"Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 +#: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" # key: postgresql.con.sslfail -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Ожидание COPY блокировки прервано получением interrupt" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" "Не в состоянии ассоциировать значения параметров для команды " "(PGBindException)" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +# key: postgresql.con.ioerror +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." +msgstr "Ошибка ввода/ввывода при отправке бэкенду" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Ожидался статус команды BEGIN, но получен {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Неожиданный статус команды: {0}." + +# key: postgresql.con.ioerror +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Ошибка ввода/ввывода при отправке бэкенду" + +# key: postgresql.con.type +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Неизвестный тип ответа {0}." + +# key: postgresql.con.ioerror +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Ошибка ввода/ввывода при отправке бэкенду" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "Неожиданный статус команды COPY: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 #, java-format -msgid "" -"The server''s client_encoding parameter was changed to {0}. The JDBC driver " -"requires client_encoding to be UTF8 for correct operation." +msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 #, java-format msgid "" -"The server''s DateStyle parameter was changed to {0}. The JDBC driver " -"requires DateStyle to begin with ISO for correct operation." +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" +"Недостаточно памяти для обработки результатов запроса. Попробуйте увеличить -" +"Xmx или проверьте размеры обрабатываемых данных" + +# key: postgresql.con.sslnotsupported +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Драйвер в данный момент не поддерживате операции COPY." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "Не удалось узнать количество обновлённых строк по ответу {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#, java-format +msgid "" +"The server''s client_encoding parameter was changed to {0}. The JDBC driver " +"requires client_encoding to be UTF8 for correct operation." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#, java-format +msgid "" +"The server''s DateStyle parameter was changed to {0}. The JDBC driver " +"requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +# key: postgresql.res.colrange +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}" + +# key: postgresql.prep.param +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "Не указано значение для параметра {0}." + +# key: postgresql.arr.range +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" + +# key: postgresql.con.failed +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Ошибка при попытке подсоединения." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Соединение уже было закрыто" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Неверное значение sslmode: {0}" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Неверное значение targetServerType: {0}" + +# key: postgresql.con.refused +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 #, java-format msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Подсоединение по адресу {0} отклонено. Проверьте что хост и порт указаны " +"правильно и что postmaster принимает TCP/IP-подсоединения." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "Не удалось найти сервер с указанным значением targetServerType: {0}" # key: postgresql.con.sslnotsupported -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Драйвер в данный момент не поддерживате операции COPY." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Сервер не поддерживает SSL." -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" +# key: postgresql.con.sslfail +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Ошибка при установке SSL-подсоединения." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Сервер запросил парольную аутентификацию, но пароль не был указан." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +# key: postgresql.con.auth +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"Тип аутентификации {0} не поддерживается. Проверьте если вы сконфигурировали " +"файл pg_hba.conf чтобы включить IP-адреса клиентов или подсеть. Также " +"удостовертесь что он использует схему аутентификации поддерживаемую " +"драйвером." + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Невозможно установить соединение с помощью протокола {0}" -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "Oid {0} не известен или не является числом" + +# key: postgresql.con.invalidchar +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" +"Найдены неверные символьные данные. Причиной этого скорее всего являются " +"хранимые данные содержащие символы не соответствующие набору символов базы. " +"Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII." -# key: postgresql.unusual -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +# key: postgresql.money +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Ошибка при преобразовании типа money." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +# key: postgresql.money +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Невозможно обработать PGInterval: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Случилось что-то необычное, что заставило драйвер произвести ошибку. " -"Пожалуйста сообщите это исключение." -# key: postgresql.con.failed -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Закончилось время ожидания" +# key: postgresql.error.detail +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Подробности: {0}" -# key: postgresql.con.sslfail -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Подключение прервано получаением interrupt" +# key: postgresql.error.hint +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Подсказка: {0}" -# key: postgresql.unimplemented -#: org/postgresql/Driver.java:645 +# key: postgresql.error.position +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Метод {0} ещё не реализован" +msgid "Position: {0}" +msgstr "Позиция: {0}" + +# key: postgresql.error.where +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Где: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "" + +# key: postgresql.error.position +#: org/postgresql/util/ServerErrorMessage.java:199 +#, fuzzy, java-format +msgid "Internal Position: {0}" +msgstr "Позиция: {0}" + +# key: postgresql.error.location +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Местонахождение: Файл {0}, Процедура: {1}, Строка: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState сервера: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource закрыт." # key: postgresql.prep.type -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, java-format msgid "Unsupported property name: {0}" msgstr "Свойство {0} не поддерживается" @@ -521,1107 +646,1110 @@ msgstr "Свойство {0} не поддерживается" msgid "This PooledConnection has already been closed." msgstr "Это соединение уже было закрыто" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Это соединение уже было закрыто" -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Statement закрыт." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource закрыт." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Неверное значение sslmode: {0}" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -# key: postgresql.fp.expint -#: org/postgresql/fastpath/Fastpath.java:165 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 +# key: postgresql.prep.type +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +msgid "Unsupported properties: {0}" +msgstr "Указанные свойства не поддерживаются: {0}" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -# key: postgresql.stat.result -#: org/postgresql/fastpath/Fastpath.java:191 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Вызов fastpath {0} ничего не вернул, а ожидалось long" +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:200 -#, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -# key: postgresql.fp.unknown -#: org/postgresql/fastpath/Fastpath.java:312 -#, java-format -msgid "The fastpath function {0} is unknown." +# key: postgresql.unusual +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Случилось что-то необычное, что заставило драйвер произвести ошибку. " +"Пожалуйста сообщите это исключение." + +# key: postgresql.con.failed +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Закончилось время ожидания" + +# key: postgresql.con.sslfail +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Подключение прервано получаением interrupt" + +# key: postgresql.unimplemented +#: org/postgresql/Driver.java:682 +#, java-format +msgid "Method {0} is not yet implemented." +msgstr "Метод {0} ещё не реализован" # key: postgresql.geo.lseg -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Ошибка при преобразовании к типу {0}: {1}" # key: postgresql.geo.path -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "Неверные флаги {0}" + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +# key: postgresql.unimplemented +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "Операции XA suspend/resume не реализованы" + +# key: postgresql.con.isolevel +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Чередование транзакций в одном соединении не поддерживается. Предыдущую " +"транзакцию нужно завершить xid={0}, currentXid={1}, state={2}, flags={3}" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"Невозможно завершить транзакцию, т.к. транзакция не была начата. state={0}, " +"start xid={1}, currentXid={2}, preparedXid={3}" -# key: postgresql.stat.result -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Результат возвращён когда его не ожидалось." +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Ошибка при откате подготовленной транзакции. rollback xid={0}, " +"preparedXid={1}, currentXid={2}" -# key: postgresql.stat.noresult -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Возвращено слишком много результатов обновления." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -# key: postgresql.stat.batch.error -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"В каком соединении транзакцию начинали, в таком и вызывайте prepare. По-" +"другому не работает. currentXid={0}, prepare xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes four and only four argument." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" +"Вызов prepare должен происходить только после вызова end. prepare xid={0}, " +"state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Ошибка при выполнении prepare для транзакции {0}" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "{0} function takes one and only one argument." +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" +"Ошибка при откате подготовленной транзакции. rollback xid={0}, " +"preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function takes two or three arguments." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" +"Операция commit должна вызываться только после операции end. commit xid={0}, " +"state={1}" -# key: postgresql.unimplemented -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Интеврвал {0} ещё не реализован" +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Ошибка при однофазной фиксации транзакции. commit xid={0}" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Духфазная фиксация работает только, если соединение неактивно (state=idle и " +"транзакцция отсутствует). commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" + +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "The array index is out of range: {0}" -msgstr "Индекс массива вне диапазона: {0}" +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Ошибка при фиксации подготовленной транзакции. commit xid={0}, " +"preparedXid={1}, currentXid={2}" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}" +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" -# key: postgresql.con.invalidchar -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"Найдены неверные символьные данные. Причиной этого скорее всего являются " -"хранимые данные содержащие символы не соответствующие набору символов базы. " -"Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII." -# key: postgresql.call.noreturnval -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +# key: postgresql.con.creobj +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Невозможно создать SAXResult для SQLXML" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Этот объект SQLXML уже был закрыт" + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -# key: postgresql.call.wrongget -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 -#, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -# key: postgresql.call.noreturntype -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "" + +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Индекс массива вне диапазона: {0}" + +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}" + +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" + +# key: postgresql.stat.noresult +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Возвращено слишком много результатов обновления." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Неподдерживаемое значение для параметра stringtype: {0}" # key: postgresql.stat.noresult -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Запрос не вернул результатов." -#: org/postgresql/jdbc/PgConnection.java:578 +# key: postgresql.stat.result +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Результат возвращён когда его не ожидалось." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" # key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Ошибка при создании объект для: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 msgid "This connection has been closed." msgstr "Соединение уже было закрыто" -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Уровень изоляции транзакций {0} не поддерживается." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "" "Соединение «утекло». Проверьте, что в коде приложения вызывается connection." "close(). Далее следует стектрейс того места, где создавалось проблемное " "соединение" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "" # key: postgresql.input.fetch.gt0 -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Неверные флаги {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "Значение таймаута должно быть неотрицательным: {0}" -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" # key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Невозможно установить свойство ClientInfo: {0}" -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 -#, java-format -msgid "Unknown ResultSet holdability setting: {0}." +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +# key: postgresql.stat.noresult +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +# key: postgresql.input.rows.gt0 +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" + +# key: postgresql.input.query.gt0 +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" + +# key: postgresql.input.field.gt0 +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Этот Sstatement был закрыт." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -# key: postgresql.stat.noresult -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +msgid "" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Неизвестное значение Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Неверная длина потока {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" # key: postgresql.con.type -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Неизвестный тип {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Неподдерживаемый java.sql.Types тип: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "" - -# key: postgresql.updateable.oninsertrow -#: org/postgresql/jdbc/PgResultSet.java:856 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "" - -# key: postgresql.updateable.beforestartdelete -#: org/postgresql/jdbc/PgResultSet.java:863 -msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "" - -# key: postgresql.updateable.afterlastdelete -#: org/postgresql/jdbc/PgResultSet.java:869 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:873 -msgid "There are no rows in this ResultSet." -msgstr "Невозможно удалить строку, т.к. в текущем ResultSet’е строк вообще нет" - -# key: postgresql.updateable.notoninsertrow -#: org/postgresql/jdbc/PgResultSet.java:914 -msgid "Not on the insert row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:916 -msgid "You must specify at least one column value to insert a row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 -#, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1214 -msgid "Can''t refresh the insert row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1280 -msgid "Cannot call updateRow() when on the insert row." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1486 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1555 -#, java-format -msgid "No primary key found for table {0}." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 -#, java-format -msgid "Bad value for type {0} : {1}" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:2564 -#, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Колонки {0} не найдено в этом ResultSet’’е." - -# key: postgresql.updateable.notupdateable -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "ResultSet закрыт." - -# key: postgresql.res.nextrequired -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -# key: postgresql.con.creobj -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Невозможно создать SAXResult для SQLXML" - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "Этот объект SQLXML уже был закрыт" - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -# key: postgresql.input.rows.gt0 -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" - -# key: postgresql.input.query.gt0 -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "" - -# key: postgresql.input.field.gt0 -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Этот Sstatement был закрыт." - -#: org/postgresql/jdbc/PgStatement.java:1148 -msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -# key: postgresql.prep.type -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Бинарная передача не поддерживается для типа {0}" - -# key: postgresql.lo.init -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Ошибка при инициализации LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "" -"Большие объекты не могут использоваться в режиме авто-подтверждения (auto-" -"commit)." - -# key: postgresql.prep.type -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, java-format -msgid "Unsupported properties: {0}" -msgstr "Указанные свойства не поддерживаются: {0}" +msgstr "" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 -#, java-format -msgid "{0} parameter value must be an integer but was: {1}" +# key: postgresql.updateable.oninsertrow +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +# key: postgresql.updateable.beforestartdelete +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +# key: postgresql.updateable.afterlastdelete +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Невозможно удалить строку, т.к. в текущем ResultSet’е строк вообще нет" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +# key: postgresql.updateable.notoninsertrow +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Невозможно создать password callback с помощью указанного класса {0}" +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +msgid "The column name {0} was not found in this ResultSet." +msgstr "Колонки {0} не найдено в этом ResultSet’’е." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +# key: postgresql.updateable.notupdateable +#: org/postgresql/jdbc/PgResultSet.java:2725 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "ResultSet закрыт." -#: org/postgresql/ssl/MakeSSL.java:67 -#, java-format -msgid "SSL error: {0}" +# key: postgresql.res.nextrequired +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Невозможно создать HostnameVerifier с помощью указанного класса {0}" +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." +msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +# key: postgresql.con.isolevel +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Уровень изоляции транзакций {0} не поддерживается." + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +# key: postgresql.prep.type +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Unsupported binary encoding of {0}." +msgstr "Бинарная передача не поддерживается для типа {0}" + +# key: postgresql.call.noreturnval +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +# key: postgresql.call.wrongget +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -# key: postgresql.con.sslfail -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -msgid "An error occurred reading the certificate" -msgstr "Ошибка при чтении сертификата" +# key: postgresql.call.noreturntype +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -# key: postgresql.money -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Невозможно обработать PGInterval: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" -# key: postgresql.money -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Ошибка при преобразовании типа money." +# key: postgresql.prep.type +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Бинарная передача не поддерживается для типа {0}" -# key: postgresql.error.detail -#: org/postgresql/util/ServerErrorMessage.java:165 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Detail: {0}" -msgstr "Подробности: {0}" +msgid "{0} function takes four and only four argument." +msgstr "" -# key: postgresql.error.hint -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Hint: {0}" -msgstr "Подсказка: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "" -# key: postgresql.error.position -#: org/postgresql/util/ServerErrorMessage.java:174 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Position: {0}" -msgstr "Позиция: {0}" +msgid "{0} function takes one and only one argument." +msgstr "" -# key: postgresql.error.where -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Where: {0}" -msgstr "Где: {0}" +msgid "{0} function takes two or three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Internal Query: {0}" +msgid "{0} function doesn''t take any argument." msgstr "" -# key: postgresql.error.position -#: org/postgresql/util/ServerErrorMessage.java:188 -#, fuzzy, java-format -msgid "Internal Position: {0}" -msgstr "Позиция: {0}" - -# key: postgresql.error.location -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Местонахождение: Файл {0}, Процедура: {1}, Строка: {2}" +msgid "{0} function takes three and only three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:200 +# key: postgresql.unimplemented +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState сервера: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Интеврвал {0} ещё не реализован" -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, java-format +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" +# key: postgresql.lo.init +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Ошибка при инициализации LargeObject API" -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" +"Большие объекты не могут использоваться в режиме авто-подтверждения (auto-" +"commit)." -# key: postgresql.unimplemented -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "Операции XA suspend/resume не реализованы" +# key: postgresql.geo.box +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, java-format +msgid "Copying from database failed: {0}" +msgstr "Ошибка при обработке ответа команды COPY: {0}" -# key: postgresql.con.isolevel -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "Поток уже был закрыт" -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" +#: org/postgresql/copy/CopyManager.java:53 +#, java-format +msgid "Requested CopyIn but got {0}" +msgstr "Ожидался ответ CopyIn, а получен {0}" -#: org/postgresql/xa/PGXAConnection.java:305 -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" +msgstr "Ожидался ответ CopyOut, а получен {0}" -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "" +#: org/postgresql/copy/CopyManager.java:75 +#, fuzzy, java-format +msgid "Requested CopyDual but got {0}" +msgstr "Ожидался ответ CopyOut, а получен {0}" -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" +msgstr "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" +#: org/postgresql/fastpath/Fastpath.java:80 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" +# key: postgresql.fp.expint +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" +#: org/postgresql/fastpath/Fastpath.java:165 +#, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" +# key: postgresql.stat.result +#: org/postgresql/fastpath/Fastpath.java:182 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Вызов fastpath {0} ничего не вернул, а ожидалось long" -#: org/postgresql/xa/PGXAConnection.java:464 +#: org/postgresql/fastpath/Fastpath.java:190 +#, java-format msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" +# key: postgresql.fp.unknown +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" +# key: postgresql.con.refused +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Подсоединение отклонено. Проверьте что хост и порт указаны правильно и " +#~ "что postmaster принимает TCP/IP-подсоединения." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" +# key: postgresql.con.failed +#~ msgid "The connection url is invalid." +#~ msgstr "Неверное значение connection url" -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +# key: postgresql.con.misc +#~ msgid "Connection rejected: {0}." +#~ msgstr "Подсоединение отвергнуто: {0}." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +# key: postgresql.con.backend +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Запуск бэкенда не удался: {0}." + +#~ msgid "Copy not implemented for protocol version 2" +#~ msgstr "Команда COPY не реализована для протокола версии 2" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Класс {0} не реализует org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/sr.po b/pgjdbc/src/main/java/org/postgresql/translation/sr.po index 23fdc97381..7b45c1e36c 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/sr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/sr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2009-05-26 11:13+0100\n" "Last-Translator: Bojan Škaljac \n" "Language-Team: Srpski \n" @@ -19,395 +19,390 @@ msgstr "" "X-Poedit-Language: Serbian\n" "X-Poedit-Country: YUGOSLAVIA\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "ResultSet je zatvoren." +msgid "An error occurred reading the certificate" +msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Konekciju nije moguće kreirati uz pomoć protokola {0}." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "Pogrešna sintaksa u funkciji ili proceduri na poziciji {0}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Prevremen završetak ulaznog toka podataka,očekivano {0} bajtova, a pročitano " -"samo {1}." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Očekivan EOF od servera, a dobijeno: {0}" - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Nepredviđen rezultat je vraćen od strane upita." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Ilegalna UTF-8 sekvenca: bajt {0} od {1} bajtova sekvence nije 10xxxxxx: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Ilegalna UTF-8 sekvenca: {0} bytes used to encode a {1} byte value: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Ilegalna UTF-8 sekvenca: inicijalni bajt je {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je van opsega: {0}" +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je zamena vrednosti: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "Nula bajtovji se ne smeju pojavljivati u string parametrima." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Nula bajtovji se ne smeju pojavljivati u identifikatorima." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Nevažeća dužina toka {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Nevažeća dužina toka {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " -"postmaster podržava TCP/IP konekcije." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Pokušaj konektovanja propao." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Greška protokola. Zakazivanje sesije propalo." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Pokušaj konektovanja propao." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Server ne podržava SSL." +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "Pogrešna sintaksa u funkciji ili proceduri na poziciji {0}." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 -#, java-format -msgid "Connection rejected: {0}." -msgstr "Konekcija odbačena: {0}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Nula bajtovji se ne smeju pojavljivati u string parametrima." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Nula bajtovji se ne smeju pojavljivati u identifikatorima." + +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"Tip autentifikacije {0} nije podržan. Proverite dali imate podešen pg_hba." -"conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža " -"koristi šemu autentifikacije koja je podržana od strane ovog drajvera." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Greška protokola. Zakazivanje sesije propalo." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Pozadinsko startovanje propalo: {0}." - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indeks kolone van osega: {0}, broj kolona: {1}." +"Ilegalna UTF-8 sekvenca: bajt {0} od {1} bajtova sekvence nije 10xxxxxx: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "Nije zadata vrednost za parametar {0}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Ilegalna UTF-8 sekvenca: {0} bytes used to encode a {1} byte value: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Očekivan status komande je BEGIN, a dobijeno je {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Ilegalna UTF-8 sekvenca: inicijalni bajt je {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Neočekivan komandni status: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "" -"Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " -"procesu." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je van opsega: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Nepoznat tip odziva {0}." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je zamena vrednosti: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Nestalo je memorije prilikom preuzimanja rezultata upita." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Nepredviđen rezultat je vraćen od strane upita." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "" -"Neuspešno prekidanje prebrojavanja ažurivanja u tagu zakompletiranje " -"komandi: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Prevremen završetak ulaznog toka podataka,očekivano {0} bajtova, a pročitano " +"samo {1}." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Očekivan EOF od servera, a dobijeno: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " -"postmaster podržava TCP/IP konekcije." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Prekinut pokušaj konektovanja." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Nije moguće naći vrednost vezivnog parametra za izjavu (statement)." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "" +"Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " +"procesu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Očekivan status komande je BEGIN, a dobijeno je {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Neočekivan komandni status: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "" +"Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " +"procesu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Nepoznat tip odziva {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "" +"Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " +"procesu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Očekivan EOF od servera, a dobijeno: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"Dužina vezivne poruke {0} prevelika. Ovo je možda rezultat veoma velike ili " +"pogrešne dužine specifikacije za InputStream parametre." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Nestalo je memorije prilikom preuzimanja rezultata upita." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Drajver trenutno ne podržava COPY operacije." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Neuspešno prekidanje prebrojavanja ažurivanja u tagu zakompletiranje " +"komandi: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -416,8 +411,7 @@ msgstr "" "Serverov client_encoding parametar je promenjen u {0}.JDBC darajver zahteva " "UNICODE client_encoding za uspešno izvršavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -426,8 +420,7 @@ msgstr "" "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle " "počinje sa ISO za uspešno završavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -436,64 +429,194 @@ msgstr "" "Serverov standard_conforming_strings parametar javlja {0}. JDBC drajver " "ocekuje on ili off." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indeks kolone van osega: {0}, broj kolona: {1}." + +#: org/postgresql/core/v3/SimpleParameterList.java:257 +#, java-format +msgid "No value specified for parameter {0}." +msgstr "Nije zadata vrednost za parametar {0}." + +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." + +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Pokušaj konektovanja propao." + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" +msgstr "" + +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Konekcija je već zatvorena." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " +"postmaster podržava TCP/IP konekcije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Server ne podržava SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -"Dužina vezivne poruke {0} prevelika. Ovo je možda rezultat veoma velike ili " -"pogrešne dužine specifikacije za InputStream parametre." +"Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Drajver trenutno ne podržava COPY operacije." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Greška u čitanju standardnih podešavanja iz driverconfig.properties" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Tip autentifikacije {0} nije podržan. Proverite dali imate podešen pg_hba." +"conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža " +"koristi šemu autentifikacije koja je podržana od strane ovog drajvera." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Konekciju nije moguće kreirati uz pomoć protokola {0}." + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da " -"dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru." +"Pronađeni su nevažeći karakter podaci. Uzrok je najverovatnije to što " +"pohranjeni podaci sadrže karaktere koji su nevažeći u setu karaktera sa " +"kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi " +"podataka." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Konverzija novca (money) propala." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Konverzija intervala propala." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj " -"izuzetak." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Isteklo je vreme za pokušaj konektovanja." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detalji: {0}" -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Prekinut pokušaj konektovanja." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Nagovest: {0}" -#: org/postgresql/Driver.java:645 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metod {0} nije još impelemtiran." +msgid "Position: {0}" +msgstr "Pozicija: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Gde: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Interni upit: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Interna pozicija: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState servera: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource je zatvoren." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Za tip nije podržana vrednost: {0}" @@ -502,7 +625,7 @@ msgstr "Za tip nije podržana vrednost: {0}" msgid "This PooledConnection has already been closed." msgstr "PooledConnection je već zatvoren." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -510,401 +633,525 @@ msgstr "" "Konekcija je zatvorena automatski zato što je nova konekcija otvorena za " "isti PooledConnection ili je PooledConnection zatvoren." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Konekcija je već zatvorena." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Statemen je već zatvoren." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource je zatvoren." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." +msgid "Invalid server-first-message: {0}" +msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Unsupported properties: {0}" +msgstr "Za tip nije podržana vrednost: {0}" + +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Greška u čitanju standardnih podešavanja iz driverconfig.properties" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." +"Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da " +"dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru." + +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj " +"izuzetak." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Isteklo je vreme za pokušaj konektovanja." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Prekinut pokušaj konektovanja." + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Fastpath funkcija {0} je nepoznata." +msgid "Method {0} is not yet implemented." +msgstr "Metod {0} nije još impelemtiran." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Konverzija u tip {0} propala: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Nije moguće utvrditi dali je putanja otvorena ili zatvorena: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Skraćivanje velikih objekata je implementirano samo u 8.3 i novijim " -"serverima." - -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB mogu jedino da označavaju: {0}" +msgid "Invalid flags {0}" +msgstr "Nevažeće zastavice {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "LOB pozicija ofset počinje kod 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "free() je pozvan na ovom LOB-u prethodno" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid ne sme biti null" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Rezultat vraćen ali nikakav rezultat nije očekivan." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Konekcija je zauzeta sa drugom transakciom." -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Previše rezultata za ažuriranje je vraćeno." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "obustavljanje/nastavljanje nije implementirano." -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"Smeša prijava {0} {1} je odbačena. Pozovite getNextException da proverite " -"rezlog." +"Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "Funkcija {0} prima četiri i samo četiri parametra." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Greška u isključivanju autokomita" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Funkcija {0} prima dva i samo dva parametra." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"Pokušaj pozivanja kraja pre odgovarajućeg početka. state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " +"xid={0}, preparedXid={1}, currentXid={2}" + +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Funkcija {0} prima jedan i samo jedan parametar." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Funkcija {0} prima dva ili tri parametra." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Nije implementirano: Spremanje mora biti pozvano uz korišćenje iste " +"konekcije koja se koristi za startovanje transakcije. currentXid={0}, " +"prepare xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Funkcija {0} nema parametara." +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Pripremanje poziva pre kraja. prepare xid={0}, state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Funkcija {0} prima tri i samo tri parametra." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Greška u pripremanju transakcije. prepare xid={0}" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "Interval {0} još nije implementiran." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Greška prilikom oporavljanja." -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "The array index is out of range: {0}" -msgstr "Indeks niza je van opsega: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Indeks niza je van opsega: {0}, broj elemenata: {1}." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Pronađeni su nevažeći karakter podaci. Uzrok je najverovatnije to što " -"pohranjeni podaci sadrže karaktere koji su nevažeći u setu karaktera sa " -"kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi " -"podataka." +"Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste " +"konekcije koja je korištena za startovanje." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat." +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement je izvršen sa nevažećim brojem parametara" +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit pozvan pre kraja." -#: org/postgresql/jdbc/PgCallableStatement.java:139 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Kreška prilikom commit-a iz jedne faze. commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} " -"a tip {2} je registrovan kao izlazni parametar." +"Nije implementirano: Dvofazni commit mora biti izdat uz korištenje " +"besposlene konekcije. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#: org/postgresql/jdbc/PgCallableStatement.java:195 +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za " -"deklarisanje." +"Greška prilikom povratka na prethodo pripremljenu transakciju. commit " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull nemože biti pozvan pre zahvatanja rezultata." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristički commit/rollback nije podržan. forget xid={0}" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Neuspešno dekodiranje XML podataka." + +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Nepoznata XML ulazna klasa: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Nije moguće kreirati SAXResult za SQLXML." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Nije moguće kreirati StAXResult za SQLXML" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "nepoznata XML klasa rezultata: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Ovaj SQLXML je već obrisan." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -"Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je " -"izvršen." +"SQLXML objekat nije inicijalizovan tako da nije moguće preuzimati podatke iz " +"njega." + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "Neuspešno konvertovanje binarnih XML podataka u kodnu stranu: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "Nije moguće konvertovati DOMResult SQLXML podatke u string." -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, " -")." +"SQLXML objekat je već inicijalizovan, tako da ga nije moguće dodatno menjati." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "Nije registrovan nikakv izlaz iz funkcije." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Nije moguće referenciranje tačke snimanja nakon njenog oslobađanja." + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Nije moguće primiti id imena tačke snimanja." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Nije moguće izvaditi ime tačke snimanja koja nema ime." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Indeks niza je van opsega: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Indeks niza je van opsega: {0}, broj elemenata: {1}." + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Previše rezultata za ažuriranje je vraćeno." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši." +"Smeša prijava {0} {1} je odbačena. Pozovite getNextException da proverite " +"rezlog." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Vrednost za parametar tipa string nije podržana: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Nikakav rezultat nije vraćen od strane upita." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Rezultat vraćen ali nikakav rezultat nije očekivan." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "Mape sa korisnički definisanim tipovima nisu podržane." -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "Propao pokušaj kreiranja objekta za: {0}." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Nije moguće učitati kalsu {0} odgovornu za tip podataka {1}" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Nije moguće izmeniti read-only osobinu transakcije u sred izvršavanja " "transakcije." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Konekcija je već zatvorena." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Nije moguće izmeniti nivo izolacije transakcije u sred izvršavanja " "transakcije." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Nivo izolacije transakcije {0} nije podržan." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Dovršavanje konekcije koja nikada nije zatvorena:" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Nije moguće prevesti podatke u odabrani encoding format." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Doneta veličina mora biti vrednost veća ili jednaka 0." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Neuspešno nalaženje liste servera za zadato ime {0}." -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Nevažeće zastavice {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Propao pokušaj kreiranja objekta za: {0}." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "ClientInfo property nije podržan." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" "Nepoznata ResultSet podešavanja za mogućnost držanja (holdability): {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Verzije servera manje od 8.0 ne podržavaju tačke snimanja." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "U auto-commit modu nije moguće podešavanje tački snimanja." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Vraćanje autogenerisanih ključeva nije podržano." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Višestruki ResultSet-vi su vraćeni od strane upita." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Maksimalni broj redova mora biti vrednosti veće ili jednake 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" +"Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Statement je zatvoren." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Pogrešna konstanta za direkciju donošenja: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Vraćanje autogenerisanih ključeva po kloloni nije podržano." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -912,118 +1159,136 @@ msgstr "" "Nije moguće odrediti vrednost za MaxIndexKezs zbog nedostatka podataka u " "sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Nije moguće pronaći ime tipa podatka u sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" +"Skraćivanje velikih objekata je implementirano samo u 8.3 i novijim " +"serverima." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB mogu jedino da označavaju: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB pozicija ofset počinje kod 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() je pozvan na ovom LOB-u prethodno" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Ne možete da koristite metode za upit koji uzimaju string iz upita u " "PreparedStatement-u." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Višestruki ResultSet-vi su vraćeni od strane upita." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Nepoznata vrednost za Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM tvrdi da ne podržava {0} encoding." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Pribaljeni InputStream zakazao." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Nepoznat tip {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Nije moguće kastovati instancu {0} u tip {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Nije moguće konvertovati instancu {0} u tip {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1032,64 +1297,55 @@ msgstr "" "Nije moguće zaključiti SQL tip koji bi se koristio sa instancom {0}. " "Koristite setObject() sa zadatim eksplicitnim tipom vrednosti." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Neočekivana greška prilikom upisa velikog objekta u bazu podataka." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Pribavljeni čitač (Reader) zakazao." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "" "Operacija zahteva skrolabilan ResultSet,ali ovaj ResultSet je FORWARD_ONLY." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "Neočekivana greška prilikom dekodiranja karaktera iz velikog objekta." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nije moguće konvertovati instancu {0} u tip {1}" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "" "Ne može se koristiti metod relativnog pomeranja prilikom ubacivanja redova." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Pogrešna konstanta za direkciju donošenja: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Nije moguće pozvati cancelRowUpdates() prilikom ubacivanja redova." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "Nije moguće pozvati deleteRow() prilikom ubacivanja redova." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1097,7 +1353,7 @@ msgstr "" "Trenutna pozicija pre početka ResultSet-a. Ne možete pozvati deleteRow() na " "toj poziciji." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1105,75 +1361,75 @@ msgstr "" "Trenutna pozicija posle kraja ResultSet-a. Ne možete pozvati deleteRow() na " "toj poziciji." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "U ResultSet-u nema redova." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Nije mod ubacivanja redova." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" "Morate specificirati barem jednu vrednost za kolonu da bi ste ubacili red." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM tvrdi da ne podržava encoding: {0}" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Nije moguće osvežiti ubačeni red." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "Nije moguće pozvati updateRow() prilikom ubacivanja redova." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "" "Nije moguće ažurirati ResultSet zato što je ili početak ili kraj rezultata." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "ResultSets sa osobinom CONCUR_READ_ONLY ne moeže biti ažuriran." -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "Nije pronađen ključ za tabelu {0}." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Pogrešna vrednost za tip {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Ime kolone {0} nije pronadjeno u ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2689 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1184,431 +1440,315 @@ msgstr "" "tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za više " "detalja." -#: org/postgresql/jdbc/PgResultSet.java:2701 +#: org/postgresql/jdbc/PgResultSet.java:2737 msgid "This ResultSet is closed." msgstr "ResultSet je zatvoren." -#: org/postgresql/jdbc/PgResultSet.java:2732 +#: org/postgresql/jdbc/PgResultSet.java:2768 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet nije pravilno pozicioniran, možda je potrebno da pozovete next." -#: org/postgresql/jdbc/PgResultSet.java:3045 +#: org/postgresql/jdbc/PgResultSet.java:3089 msgid "Invalid UUID data." msgstr "Nevažeća UUID podatak." -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "Neuspešno dekodiranje XML podataka." - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Nepoznata XML ulazna klasa: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Nije moguće kreirati SAXResult za SQLXML." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Nivo izolacije transakcije {0} nije podržan." -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Nije moguće kreirati StAXResult za SQLXML" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Pogrešna vrednost za tip {0} : {1}" -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "nepoznata XML klasa rezultata: {0}" +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "Ovaj SQLXML je već obrisan." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat." -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" -"SQLXML objekat nije inicijalizovan tako da nije moguće preuzimati podatke iz " -"njega." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement je izvršen sa nevažećim brojem parametara" -#: org/postgresql/jdbc/PgSQLXML.java:250 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "Neuspešno konvertovanje binarnih XML podataka u kodnu stranu: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "Nije moguće konvertovati DOMResult SQLXML podatke u string." - -#: org/postgresql/jdbc/PgSQLXML.java:290 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -"SQLXML objekat je već inicijalizovan, tako da ga nije moguće dodatno menjati." +"CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} " +"a tip {2} je registrovan kao izlazni parametar." -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za " +"deklarisanje." -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Maksimalni broj redova mora biti vrednosti veće ili jednake 0." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull nemože biti pozvan pre zahvatanja rezultata." -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Statement je zatvoren." +"Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je " +"izvršen." -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"Vraćanje autogenerisanih ključeva je podržano samo za verzije servera od 8.2 " -"pa na dalje." - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Vraćanje autogenerisanih ključeva po kloloni nije podržano." - -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Nije moguće referenciranje tačke snimanja nakon njenog oslobađanja." - -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Nije moguće primiti id imena tačke snimanja." - -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Nije moguće izvaditi ime tačke snimanja koja nema ime." +"CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, " +")." -#: org/postgresql/jdbc/TimestampUtils.java:298 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Pogrešna vrednost za tip {0} : {1}" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Nije registrovan nikakv izlaz iz funkcije." -#: org/postgresql/jdbc/TimestampUtils.java:359 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -"Beskonačna vrednost je pronađena za tipestamp/date. To se nemože predstaviti " -"kao vreme." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Za tip nije podržana vrednost: {0}" - -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "Propao pokušaj inicijalizacije LargeObject API-ja." - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu." +"Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "Funkcija {0} prima četiri i samo četiri parametra." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "Funkcija {0} prima dva i samo dva parametra." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "Funkcija {0} prima jedan i samo jedan parametar." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "Funkcija {0} prima dva ili tri parametra." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Funkcija {0} nema parametara." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "Funkcija {0} prima tri i samo tri parametra." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Interval {0} još nije implementiran." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Propao pokušaj inicijalizacije LargeObject API-ja." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "ResultSet je zatvoren." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." - -#: org/postgresql/ssl/MakeSSL.java:67 -#, java-format -msgid "SSL error: {0}" +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/copy/PGCopyOutputStream.java:71 +#, java-format +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/fastpath/Fastpath.java:157 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Konverzija intervala propala." - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Konverzija novca (money) propala." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Detalji: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 -#, java-format -msgid "Hint: {0}" -msgstr "Nagovest: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Pozicija: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:178 -#, java-format -msgid "Where: {0}" -msgstr "Gde: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:184 -#, java-format -msgid "Internal Query: {0}" -msgstr "Interni upit: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:188 -#, java-format -msgid "Internal Position: {0}" -msgstr "Interna pozicija: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:200 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState servera: {0}" - -#: org/postgresql/xa/PGXAConnection.java:148 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Nevažeće zastavice" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid ne sme biti null" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "Konekcija je zauzeta sa drugom transakciom." - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "obustavljanje/nastavljanje nije implementirano." - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Preplitanje transakcija nije implementirano." - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "Greška u isključivanju autokomita" - -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "Pokušaj pozivanja kraja pre odgovarajućeg početka." - -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Nije implementirano: Spremanje mora biti pozvano uz korišćenje iste " -"konekcije koja se koristi za startovanje transakcije." - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Pripremanje poziva pre kraja." +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "Verzije servera pre 8.1 verzije ne podržavaju commit iz dve faze." +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "Fastpath funkcija {0} je nepoznata." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Greška u pripremanju transakcije." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " +#~ "postmaster podržava TCP/IP konekcije." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Nevažeća zastavica (flag)" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Pokušaj konektovanja propao." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Greška prilikom oporavljanja." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Konekcija odbačena: {0}." -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Greška prilikom povratka na prethodo pripremljenu transakciju." +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Pozadinsko startovanje propalo: {0}." -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste " -"konekcije koja je korištena za startovanje." +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Verzije servera manje od 8.0 ne podržavaju tačke snimanja." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "commit pozvan pre kraja." +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "Neočekivana greška prilikom dekodiranja karaktera iz velikog objekta." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "Kreška prilikom commit-a iz jedne faze." +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Vraćanje autogenerisanih ključeva je podržano samo za verzije servera od " +#~ "8.2 pa na dalje." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" -"Nije implementirano: Dvofazni commit mora biti izdat uz korištenje " -"besposlene konekcije." +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Beskonačna vrednost je pronađena za tipestamp/date. To se nemože " +#~ "predstaviti kao vreme." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Greška prilikom povratka na prethodo pripremljenu transakciju." +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "Verzije servera pre 8.1 verzije ne podržavaju commit iz dve faze." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Heuristički commit/rollback nije podržan." +#~ msgid "Invalid flag" +#~ msgstr "Nevažeća zastavica (flag)" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Klasa {0} ne implementira org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/tr.po b/pgjdbc/src/main/java/org/postgresql/translation/tr.po index 5eb55798af..b07cba47ce 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/tr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: jdbc-tr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2009-05-31 21:47+0200\n" "Last-Translator: Devrim GÜNDÜZ \n" "Language-Team: Turkish \n" @@ -19,392 +19,383 @@ msgstr "" "X-Poedit-Language: Turkish\n" "X-Poedit-Country: TURKEY\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "ResultSet kapalıdır." +msgid "An error occurred reading the certificate" +msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "İstenilen protokol ile bağlantı kurulamadı {0}" +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "{0} adresinde fonksiyon veya yordamda kaçış söz dizimi geçersiz." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Giriş akımında beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt " -"alındı." -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Sunucudan EOF beklendi; ama {0} alındı." - -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "Sorgu beklenmeyen bir sonuç döndürdü." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Geçersiz UTF-8 çoklu bayt karakteri: {0}/{1} baytı 10xxxxxx değildir: {2}" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -"Geçersiz UTF-8 çoklu bayt karakteri: {0} bayt, {1} bayt değeri kodlamak için " -"kullanılmış: {2}" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "Geçersiz UTF-8 çoklu bayt karakteri: ilk bayt {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer sıra dışıdır: {0}" +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer yapay bir değerdir: {0}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "String parametrelerinde sıfır bayt olamaz." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "Belirteçlerde sıfır bayt olamaz." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Geçersiz akım uzunluğu {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Geçersiz akım uzunluğu {0}." +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " -"postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "Bağlantı denemesi başarısız oldu." - -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "Bağlantı denemesi başarısız oldu." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "Sunucu SSL desteklemiyor." +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "Protokol hatası. Oturum kurulumu başarısız oldu." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/Parser.java:933 #, java-format -msgid "Connection rejected: {0}." -msgstr "Bağlantı reddedildi {0}" +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "{0} adresinde fonksiyon veya yordamda kaçış söz dizimi geçersiz." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı." +#: org/postgresql/core/SocketFactoryFactory.java:41 +#, fuzzy, java-format +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "String parametrelerinde sıfır bayt olamaz." + +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyanızı " -"istemcinin IP adresini ya da subnetini içerecek şekilde ayarlayıp " -"ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme " -"yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "Protokol hatası. Oturum kurulumu başarısız oldu." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Belirteçlerde sıfır bayt olamaz." -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "Backend başlaması başarısız oldu: {0}" - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" +"Geçersiz UTF-8 çoklu bayt karakteri: {0}/{1} baytı 10xxxxxx değildir: {2}" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "{0} parametresi için hiç bir değer belirtilmedi." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" +"Geçersiz UTF-8 çoklu bayt karakteri: {0} bayt, {1} bayt değeri kodlamak için " +"kullanılmış: {2}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "BEGIN komut durumunu beklenirken {0} alındı." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgstr "Geçersiz UTF-8 çoklu bayt karakteri: ilk bayt {0}: {1}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." -msgstr "Beklenmeyen komut durumu: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Backend''e gönderirken bir I/O hatası oluştu." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer sıra dışıdır: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "Bilinmeyen yanıt tipi {0}" +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer yapay bir değerdir: {0}" -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." -msgstr "Sorgu sonuçları alınırken bellek yetersiz." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Sorgu beklenmeyen bir sonuç döndürdü." -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "Komut tamamlama etiketinde update sayısı yorumlanamıyor: {0}." - -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Giriş akımında beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt " +"alındı." -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 -#, fuzzy, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Sunucudan EOF beklendi; ama {0} alındı." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " -"postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Bağlanırken kesildi." -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "Komut için parametre değerlei bağlanamadı." -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Backend''e gönderirken bir I/O hatası oluştu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "BEGIN komut durumunu beklenirken {0} alındı." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Beklenmeyen komut durumu: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "Backend''e gönderirken bir I/O hatası oluştu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "Bilinmeyen yanıt tipi {0}" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "Backend''e gönderirken bir I/O hatası oluştu." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Sunucudan EOF beklendi; ama {0} alındı." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" +"Bind mesaj uzunluğu ({0}) fazla uzun. Bu durum InputStream yalnış uzunluk " +"belirtimlerden kaynaklanabilir." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "Sorgu sonuçları alınırken bellek yetersiz." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "Bu sunucu şu aşamada COPY işlemleri desteklememktedir." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "Komut tamamlama etiketinde update sayısı yorumlanamıyor: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -414,8 +405,7 @@ msgstr "" "sürücüsünün doğru çalışması için client_encoding parameteresinin UNICODE " "olması gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -424,8 +414,7 @@ msgstr "" "Sunucunun DateStyle parametresi {0} olarak değiştirildi. JDBC sürücüsü doğru " "işlemesi için DateStyle tanımının ISO işle başlamasını gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -434,65 +423,194 @@ msgstr "" "İstemcinin client_standard_conforming_strings parametresi {0} olarak " "raporlandı. JDBC sürücüsü on ya da off olarak bekliyordu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." -msgstr "" -"Bind mesaj uzunluğu ({0}) fazla uzun. Bu durum InputStream yalnış uzunluk " -"belirtimlerden kaynaklanabilir." +msgid "No value specified for parameter {0}." +msgstr "{0} parametresi için hiç bir değer belirtilmedi." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "Bu sunucu şu aşamada COPY işlemleri desteklememktedir." +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "Bağlantı denemesi başarısız oldu." -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/Driver.java:290 +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Bağlantı kapatıldı." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Güvenlik politikanız bağlantının kurulmasını engelledi. java.net." -"SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni " -"vermelisiniz." +"Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " +"postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "Sunucu SSL desteklemiyor." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" msgstr "" -"Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu " -"geliştiricilere bildirin." -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Bağlantı denemesi zaman aşımına uğradı." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyanızı " +"istemcinin IP adresini ya da subnetini içerecek şekilde ayarlayıp " +"ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme " +"yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "Bağlanırken kesildi." +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "İstenilen protokol ile bağlantı kurulamadı {0}" -#: org/postgresql/Driver.java:645 +#: org/postgresql/core/Oid.java:116 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "{0} yöntemi henüz kodlanmadı." +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Geçersiz karakterler bulunmuştur. Bunun sebebi, verilerde veritabanın " +"desteklediği dil kodlamadaki karakterlerin dışında bir karaktere " +"rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII " +"veritabanında saklamasıdır." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Money dönüştürmesi başarısız." + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Interval dönüştürmesi başarısız." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Ayrıntı: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "İpucu: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Where: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Internal Query: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Internal Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Yer: Dosya: {0}, Yordam: {1}, Satır: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Sunucu SQLState: {0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource kapatıldı." -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "Geçersiz Types değeri: {0}" @@ -501,7 +619,7 @@ msgstr "Geçersiz Types değeri: {0}" msgid "This PooledConnection has already been closed." msgstr "Geçerli PooledConnection zaten önceden kapatıldı." -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -509,507 +627,654 @@ msgstr "" "PooledConnection kapatıldığı için veya aynı PooledConnection için yeni bir " "bağlantı açıldığı için geçerli bağlantı otomatik kapatıldı." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Bağlantı kapatıldı." -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Komut kapatıldı." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource kapatıldı." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +msgid "Invalid server-first-message: {0}" +msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +msgid "Unsupported properties: {0}" +msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" +"Güvenlik politikanız bağlantının kurulmasını engelledi. java.net." +"SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni " +"vermelisiniz." -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "" +"Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu " +"geliştiricilere bildirin." + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Bağlantı denemesi zaman aşımına uğradı." + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Bağlanırken kesildi." + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "{0} fastpath fonksiyonu bilinmemektedir." +msgid "Method {0} is not yet implemented." +msgstr "{0} yöntemi henüz kodlanmadı." -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "{0} veri tipine dönüştürme hatası: {1}." -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "Pathın açık mı kapalı olduğunu tespit edilemiyor: {0}." -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "Geçersiz seçenekler {0}" + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid null olamaz" + +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Bağlantı, başka bir transaction tarafından meşgul ediliyor" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume desteklenmiyor" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 +#, java-format +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, " +"flags={3}" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "autocommit'i devre dışı bırakma sırasında hata" + +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "Large objectlerin temizlenmesi 8.3 ve sonraki sürümlerde kodlanmıştır." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"start çağırımı olmadan end çağırılmıştır. state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" +"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB göstergeleri sadece {0} referans edebilir" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." -msgstr "LOB bağlangıç adresi 1Den başlıyor" +#: org/postgresql/xa/PGXAConnection.java:307 +#, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından " +"çağırmalıdır. currentXid={0}, prepare xid={1}" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" -msgstr "Bu LOB'da free() daha önce çağırıldı" +#: org/postgresql/xa/PGXAConnection.java:311 +#, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Sondan önce prepare çağırılmış. prepare xid={0}, state={1}" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "Hiçbir sonuç kebklenimezken sonuç getirildi." +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Transaction hazırlama hatası. prepare xid={0}" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." -msgstr "Çok fazla güncelleme sonucu döndürüldü." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Kurtarma sırasında hata" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Tpilı iş girişi {0} {1} durduruldu. Nedenini görmek için getNextException " -"fonksiyonu çağırın." +"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} fonksiyonunu yalnız dört parametre alabilir." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı " +"aynı olmalıdır" + +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} fonksiyonunu sadece iki parametre alabilir." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} fonksiyonunu yalnız tek bir parametre alabilir." +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit, sondan önce çağırıldı. commit xid={0}, state={1}" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "One-phase commit sırasında hata. commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" + +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Hazırlanmış transaction rollback hatası. commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} fonksiyonu yalnız iki veya üç argüman alabilir." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristic commit/rollback desteklenmiyor. forget xid={0}" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} fonksiyonu parametre almaz." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "XML verisinin kodu çözülemedi." -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} fonksiyonunu sadece üç parametre alabilir." +msgid "Unknown XML Source class: {0}" +msgstr "Bilinmeyen XML Kaynak Sınıfı: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "{0} aralığı henüz kodlanmadı." +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "SQLXML için SAXResult yaratılamadı." -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Dizi göstergesi kapsam dışıdır: {0}" +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "SQLXML için StAXResult yaratılamadı" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/jdbc/PgSQLXML.java:213 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." +msgid "Unknown XML Result class: {0}" +msgstr "Bilinmeyen XML Sonuç sınıfı: {0}." -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Bu SQLXML nesnesi zaten boşaltılmış." + +#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"Geçersiz karakterler bulunmuştur. Bunun sebebi, verilerde veritabanın " -"desteklediği dil kodlamadaki karakterlerin dışında bir karaktere " -"rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII " -"veritabanında saklamasıdır." +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "Bu SQLXML nesnesi ilklendirilmemiş; o yüzden ondan veri alamazsınız." -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement çalıştırma sonucunda veri getirilmedi." +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "xml verisinin şu dil kodlamasına çevirilmesi başarısız oldu: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement geçersiz sayıda parametre ile çalıştırıldı." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "DOMResult SQLXML verisini diziye dönüştürülemedi." -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen " -"döndürme parametresi {0} ve tipi {1} idi." +"Bu SQLXML nesnesi daha önceden ilklendirilmiştir; o yüzden daha fazla " +"müdahale edilemez." -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "" -"Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... " -"'}' kullanın." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Bırakıldıktan sonra savepoint referans edilemez." -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull sonuç çekmeden önce çağırılamaz." +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Adlandırılmış savepointin id değerine erişilemiyor." + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Adı verilmemiş savepointin id değerine erişilemiyor." -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "" -"{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri " -"getirmek için çağrı yapıldı." +msgid "The array index is out of range: {0}" +msgstr "Dizi göstergesi kapsam dışıdır: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:417 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." -msgstr "" -"CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) " -"tanıtımı yapılmadı." +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." -msgstr "Hiçbir fonksiyon çıktısı kaydedilmedi." +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Çok fazla güncelleme sonucu döndürüldü." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "" +"Tpilı iş girişi {0} {1} durduruldu. Nedenini görmek için getNextException " +"fonksiyonu çağırın." -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "strinftype parametresi için destekleneyen değer: {0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Sorgudan hiç bir sonuç dönmedi." -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Hiçbir sonuç kebklenimezken sonuç getirildi." + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "Özel tip eşleştirmeleri desteklenmiyor." -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "{0} için nesne oluşturma hatası." -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "{1} veri tipinden sorumlu {0} sınıfı yüklenemedi" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Transaction ortasında geçerli transactionun read-only özellği değiştirilemez." -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Bağlantı kapatıldı." -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Transaction ortasında geçerli transactionun transaction isolation level " "özellği değiştirilemez." -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Transaction isolation level {0} desteklenmiyor." -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "Kapatılmamış bağlantı sonlandırılıyor." -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "Veri, istenilen dil kodlamasına çevrilemiyor." -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Fetch boyutu sıfır veya daha büyük bir değer olmalıdır." -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Belirtilen {0} adı için sunucu array tipi bulunamadı." -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Geçersiz seçenekler {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "{0} için nesne oluşturma hatası." -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "Clientinfo property'si desteklenememktedir." -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "ResultSet tutabilme ayarı geçersiz: {0}." -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "Sunucunun 8.0''dan önceki sürümler savepoint desteklememektedir." - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Auto-commit biçimde savepoint oluşturulamıyor." -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "Otomatik üretilen değerlerin getirilmesi desteklenememktedir." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Sorgu tarafından birden fazla ResultSet getirildi." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Bu komut kapatıldı." + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Getirme yönü değişmezi geçersiz: {0}." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" +"Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların " +"döndürülmesi desteklenmiyor." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" "Sistem kataloğu olmadığından MaxIndexKeys değerini tespit edilememektedir." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "Sistem kataloglarında name veri tipi bulunamıyor." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "Large objectlerin temizlenmesi 8.3 ve sonraki sürümlerde kodlanmıştır." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB göstergeleri sadece {0} referans edebilir" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB bağlangıç adresi 1Den başlıyor" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "Bu LOB'da free() daha önce çağırıldı" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "PreparedStatement ile sorgu satırı alan sorgu yöntemleri kullanılamaz." -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "Sorgu tarafından birden fazla ResultSet getirildi." - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "Geçersiz Types değeri." -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM, {0} dil kodlamasını desteklememektedir." -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Sağlanmış InputStream başarısız." -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "Bilinmeyen tip {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "{0} tipi {1} tipine dönüştürülemiyor" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "{0} instance, {1} tipine dönüştürülemiyor" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1018,23 +1283,22 @@ msgstr "" "{0}''nin örneği ile kullanılacak SQL tip bulunamadı. Kullanılacak tip " "belirtmek için kesin Types değerleri ile setObject() kullanın." -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "Large object veritabanına yazılırken beklenmeyan hata." -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Sağlanmış InputStream başarısız." -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." @@ -1042,40 +1306,32 @@ msgstr "" "İşlem, kaydırılabilen ResultSet gerektirir, ancak bu ResultSet " "FORWARD_ONLYdir." -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "Large-object nesnesinden karakter veriyi çözerken beklenmeyen hata." - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "{0} instance, {1} tipine dönüştürülemiyor" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "Insert kaydı üzerinde relative move method kullanılamaz." -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Getirme yönü değişmezi geçersiz: {0}." - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Insert edilmiş kaydın üzerindeyken cancelRowUpdates() çağırılamaz." -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "Insert kaydı üzerinde deleteRow() çağırılamaz." -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." @@ -1083,7 +1339,7 @@ msgstr "" "Şu an ResultSet başlangcıından önce konumlandı. deleteRow() burada " "çağırabilirsiniz." -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." @@ -1091,36 +1347,36 @@ msgstr "" "Şu an ResultSet sonucundan sonra konumlandı. deleteRow() burada " "çağırabilirsiniz." -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "Bu ResultSet içinde kayıt bulunamadı." -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "Insert kaydı değil." -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "Bir satır eklemek için en az bir sütun değerini belirtmelisiniz." -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM, {0} dil kodlamasını desteklememektedir." -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "Inser satırı yenilenemiyor." -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "Insert kaydı üzerinde updateRow() çağırılamaz." -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1128,470 +1384,349 @@ msgstr "" "ResultSet, sonuçların ilk kaydından önce veya son kaydından sonra olduğu " "için güncelleme yapılamamaktadır." -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "Eş zamanlama CONCUR_READ_ONLY olan ResultSet''ler değiştirilemez" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "{0} tablosunda primary key yok." -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "{0} veri tipi için geçersiz değer : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 -#, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Bu ResultSet içinde {0} sütun adı bulunamadı." - -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" -"ResultSet değiştirilemez. Bu sonucu üreten sorgu tek bir tablodan " -"sorgulamalı ve tablonun tüm primary key alanları belirtmelidir. Daha fazla " -"bilgi için bk. JDBC 2.1 API Specification, section 5.6." - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "ResultSet kapalıdır." - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "ResultSet doğru konumlanmamıştır, next işlemi çağırmanız gerekir." - -#: org/postgresql/jdbc/PgResultSet.java:3045 -msgid "Invalid UUID data." -msgstr "Geçersiz UUID verisi." - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "XML verisinin kodu çözülemedi." - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Bilinmeyen XML Kaynak Sınıfı: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -msgid "Unable to create SAXResult for SQLXML." -msgstr "SQLXML için SAXResult yaratılamadı." - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "SQLXML için StAXResult yaratılamadı" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Bilinmeyen XML Sonuç sınıfı: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:228 -msgid "This SQLXML object has already been freed." -msgstr "Bu SQLXML nesnesi zaten boşaltılmış." - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "Bu SQLXML nesnesi ilklendirilmemiş; o yüzden ondan veri alamazsınız." - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "xml verisinin şu dil kodlamasına çevirilmesi başarısız oldu: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "DOMResult SQLXML verisini diziye dönüştürülemedi." - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" -"Bu SQLXML nesnesi daha önceden ilklendirilmiştir; o yüzden daha fazla " -"müdahale edilemez." - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır." - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı." - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "Bu komut kapatıldı." +#: org/postgresql/jdbc/PgResultSet.java:2589 +#, java-format +msgid "The column name {0} was not found in this ResultSet." +msgstr "Bu ResultSet içinde {0} sütun adı bulunamadı." -#: org/postgresql/jdbc/PgStatement.java:1148 +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -"Otomatik üretilen anahtarların döndürülmesi sadece 8.2 ve üzerindeki " -"sürümlerdeki sunucularda desteklenmektedir." +"ResultSet değiştirilemez. Bu sonucu üreten sorgu tek bir tablodan " +"sorgulamalı ve tablonun tüm primary key alanları belirtmelidir. Daha fazla " +"bilgi için bk. JDBC 2.1 API Specification, section 5.6." -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" -"Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların " -"döndürülmesi desteklenmiyor." +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "ResultSet kapalıdır." -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Bırakıldıktan sonra savepoint referans edilemez." +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "ResultSet doğru konumlanmamıştır, next işlemi çağırmanız gerekir." -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Adlandırılmış savepointin id değerine erişilemiyor." +#: org/postgresql/jdbc/PgResultSet.java:3089 +msgid "Invalid UUID data." +msgstr "Geçersiz UUID verisi." -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Adı verilmemiş savepointin id değerine erişilemiyor." +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Transaction isolation level {0} desteklenmiyor." -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "{0} veri tipi için geçersiz değer : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" -"Timestamp veri tipinde sonsuz değer bulunmuştur. Buna uygun bir gösterim " -"yoktur." - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "LArgeObject API ilklendirme hatası" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Auto-commit biçimde large object kullanılamaz." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement çalıştırma sonucunda veri getirilmedi." -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Geçersiz Types değeri: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement geçersiz sayıda parametre ile çalıştırıldı." -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen " +"döndürme parametresi {0} ve tipi {1} idi." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... " +"'}' kullanın." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull sonuç çekmeden önce çağırılamaz." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" +"{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri " +"getirmek için çağrı yapıldı." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) " +"tanıtımı yapılmadı." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 -#, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Hiçbir fonksiyon çıktısı kaydedilmedi." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." +msgid "Unsupported type conversion to {1}." +msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} fonksiyonunu yalnız dört parametre alabilir." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "{0} fonksiyonunu sadece iki parametre alabilir." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "{0} fonksiyonunu yalnız tek bir parametre alabilir." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." +msgid "{0} function takes two or three arguments." +msgstr "{0} fonksiyonu yalnız iki veya üç argüman alabilir." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "SSL error: {0}" -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." +msgid "{0} function doesn''t take any argument." +msgstr "{0} fonksiyonu parametre almaz." -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "{0} fonksiyonunu sadece üç parametre alabilir." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "{0} aralığı henüz kodlanmadı." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, java-format +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "LArgeObject API ilklendirme hatası" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Auto-commit biçimde large object kullanılamaz." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, java-format +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." +msgid "This copy stream is closed." +msgstr "ResultSet kapalıdır." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "Interval dönüştürmesi başarısız." - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "Money dönüştürmesi başarısız." - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "Ayrıntı: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Hint: {0}" -msgstr "İpucu: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "Position: {0}" +msgid "Requested CopyIn but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Where: {0}" -msgstr "Where: {0}" +msgid "Requested CopyOut but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Internal Query: {0}" -msgstr "Internal Query: {0}" +msgid "Requested CopyDual but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Internal Position: {0}" -msgstr "Internal Position: {0}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Yer: Dosya: {0}, Yordam: {1}, Satır: {2}" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Server SQLState: {0}" -msgstr "Sunucu SQLState: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/xa/PGXAConnection.java:148 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "Geçersiz seçenekler" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "xid null olamaz" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "Bağlantı, başka bir transaction tarafından meşgul ediliyor" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "suspend/resume desteklenmiyor" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "Transaction interleaving desteklenmiyor." - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "autocommit'i devre dışı bırakma sırasında hata" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "start çağırımı olmadan end çağırılmıştır" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" -"Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından " -"çağırmalıdır" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "Sondan önce prepare çağırılmış" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "" -"Sunucunun 8.1''den önceki sürümler two-phase commit desteklememektedir." +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "{0} fastpath fonksiyonu bilinmemektedir." -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "Transaction hazırlama hatası" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " +#~ "postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "Geçersiz seçenek" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Bağlantı denemesi başarısız oldu." -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "Kurtarma sırasında hata" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Bağlantı reddedildi {0}" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "Hazırlanmış transaction rollback hatası" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Backend başlaması başarısız oldu: {0}" -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı " -"aynı olmalıdır" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Sunucunun 8.0''dan önceki sürümler savepoint desteklememektedir." -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "commit, sondan önce çağırıldı" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Large-object nesnesinden karakter veriyi çözerken beklenmeyen hata." -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "One-phase commit sırasında hata" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Otomatik üretilen anahtarların döndürülmesi sadece 8.2 ve üzerindeki " +#~ "sürümlerdeki sunucularda desteklenmektedir." -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Timestamp veri tipinde sonsuz değer bulunmuştur. Buna uygun bir gösterim " +#~ "yoktur." -#: org/postgresql/xa/PGXAConnection.java:513 -#, fuzzy -msgid "Error committing prepared transaction" -msgstr "Hazırlanmış transaction rollback hatası" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Sunucunun 8.1''den önceki sürümler two-phase commit desteklememektedir." -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "Heuristic commit/rollback desteklenmiyor" +#~ msgid "Invalid flag" +#~ msgstr "Geçersiz seçenek" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "{0} sınıfı org.postgresql.util.PGobject implemente etmiyor." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po index 0153fff8c9..09ecda85a3 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2008-01-31 14:34+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,382 +18,375 @@ msgstr "" "X-Poedit-Country: CHINA\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "这个 ResultSet 已经被关闭。" +msgid "An error occurred reading the certificate" +msgstr "进行 SSL 连线时发生错误。" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "无法以要求的通讯协定 {0} 建立连线。" +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "不正确的函式或程序 escape 语法于 {0}。" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "传回非预期的查询结果。" - -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "字符参数不能有 0 个位元组。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "在标识识别符中不存在零位元组。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "无效的串流长度 {0}." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "无效的串流长度 {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "尝试连线已失败。" +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "尝试连线已失败。" +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "通讯协定错误,Session 初始化失败。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "服务器不支援 SSL 连线。" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "进行 SSL 连线时发生错误。" +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "不正确的函式或程序 escape 语法于 {0}。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "Connection rejected: {0}." -msgstr "连线已被拒绝:{0}。" +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "服务器要求使用密码验证,但是密码并未提供。" +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "字符参数不能有 0 个位元组。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网" -"路区段,以及驱动程序所支援的验证架构模式已被支援。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "通讯协定错误,Session 初始化失败。" +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "在标识识别符中不存在零位元组。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "后端启动失败:{0}。" - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "栏位索引超过许可范围:{0},栏位数:{1}。" +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "未设定参数值 {0} 的内容。" +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "传送数据至后端时发生 I/O 错误。" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "不明的回应类型 {0}。" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 -#, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "无法解读命令完成标签中的更新计数:{0}。" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "传回非预期的查询结果。" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "传送数据至后端时发生 I/O 错误。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "传送数据至后端时发生 I/O 错误。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "不明的回应类型 {0}。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "传送数据至后端时发生 I/O 错误。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "驱动程序目前不支援 COPY 操作。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "无法解读命令完成标签中的更新计数:{0}。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -402,8 +395,7 @@ msgstr "" "这服务器的 client_encoding 参数被改成 {0},JDBC 驱动程序请求需要 " "client_encoding 为 UNICODE 以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -412,8 +404,7 @@ msgstr "" "这服务器的 DateStyle 参数被更改成 {0},JDBC 驱动程序请求需要 DateStyle 以 " "ISO 开头以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -422,58 +413,189 @@ msgstr "" "这服务器的 standard_conforming_strings 参数已回报为 {0},JDBC 驱动程序已预期" "开启或是关闭。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "栏位索引超过许可范围:{0},栏位数:{1}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "驱动程序目前不支援 COPY 操作。" +msgid "No value specified for parameter {0}." +msgstr "未设定参数值 {0} 的内容。" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "参数索引超出许可范围:{0},参数总数:{1}。" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "尝试连线已失败。" -#: org/postgresql/Driver.java:290 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "不明的原因导致驱动程序造成失败,请回报这个例外。" +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Connection 已经被关闭。" -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Connection 尝试逾时。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "无效的串流长度 {0}." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "无效的串流长度 {0}." -#: org/postgresql/Driver.java:645 -#, java-format -msgid "Method {0} is not yet implemented." -msgstr "这个 {0} 方法尚未被实作。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." +msgstr "" +"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "服务器不支援 SSL 连线。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "进行 SSL 连线时发生错误。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "服务器要求使用密码验证,但是密码并未提供。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网" +"路区段,以及驱动程序所支援的验证架构模式已被支援。" + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "无法以要求的通讯协定 {0} 建立连线。" + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码," +"其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。" + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "money 转换失败。" + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "隔绝(Interval)转换失败。" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "详细:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "建议:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "在位置:{0}" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "内部查询:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "内部位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "位置:文件:{0},常式:{1},行:{2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "服务器 SQLState:{0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource 已经被关闭。" + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "未被支持的类型值:{0}" @@ -482,7 +604,7 @@ msgstr "未被支持的类型值:{0}" msgid "This PooledConnection has already been closed." msgstr "这个 PooledConnection 已经被关闭。" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -490,1057 +612,1056 @@ msgstr "" "Connection 已自动结束,因为一个新的 PooledConnection 连线被开启或者或 " "PooledConnection 已被关闭。" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Connection 已经被关闭。" -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Sstatement 已经被关闭。" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource 已经被关闭。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +msgid "Invalid server-first-message: {0}" +msgstr "无效的串流长度 {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "无效的串流长度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +msgid "Unsupported properties: {0}" +msgstr "未被支持的类型值:{0}" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "不明的原因导致驱动程序造成失败,请回报这个例外。" + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Connection 尝试逾时。" + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "" + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "不明的 fastpath 函式 {0}。" +msgid "Method {0} is not yet implemented." +msgstr "这个 {0} 方法尚未被实作。" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "转换类型 {0} 失败:{1}。" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "无法得知 path 是开启或关闭:{0}。" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "无效的旗标 flags {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "暂停(suspend)/再继续(resume)尚未被实作。" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOBs 仅能索引到:{0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"事物交易隔绝(Transaction interleaving)未被实作。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "传回预期之外的结果。" +#: org/postgresql/xa/PGXAConnection.java:297 +#, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." -msgstr "批次处理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 函式取得四个且仅有四个引数。" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 函式取得二个且仅有二个引数。" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 函式取得一个且仅有一个引数。" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 函式取得二个或三个引数。" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 函式无法取得任何的引数。" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 函式取得三个且仅有三个引数。" +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "隔绝 {0} 尚未被实作。" +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "The array index is out of range: {0}" -msgstr "阵列索引超过许可范围:{0}" +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "阵列索引超过许可范围:{0},元素数量:{1}。" +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码," -"其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "一个 CallableStatement 执行函式后没有传回值。" +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgSQLXML.java:193 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "一个 CallableStatement 已执行包括一个无效的参数数值" +msgid "Unable to create SAXResult for SQLXML." +msgstr "为 {0} 建立对象失败。" -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -"一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的" -"类型是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。" +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知的 ResultSet 可适用的设置:{0}。" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "这个 PooledConnection 已经被关闭。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。" +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " -") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "无法参照已经被释放的储存点。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "无法取得已命名储存点的 id。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "无法取得未命名储存点(Savepoint)的名称。" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "阵列索引超过许可范围:{0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "阵列索引超过许可范围:{0},元素数量:{1}。" + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "参数索引超出许可范围:{0},参数总数:{1}。" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "批次处理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "字符类型参数值未被支持:{0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "查询没有传回任何结果。" -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "传回预期之外的结果。" + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "为 {0} 建立对象失败。" -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "不能在事物交易过程中改变事物交易唯读属性。" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Connection 已经被关闭。" -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "不能在事务交易过程中改变事物交易隔绝等级。" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "不支援交易隔绝等级 {0} 。" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "无法将数据转成目标编码。" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "数据读取笔数(fetch size)必须大于或等于 0。" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "无效的旗标 flags {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "无效的串流长度 {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "为 {0} 建立对象失败。" -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "查询逾时等候时间必须大于或等于 0。" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知的 ResultSet 可适用的设置:{0}。" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "8.0 版之前的服务器不支援储存点(SavePints)。" - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "在自动确认事物交易模式无法建立储存点(Savepoint)。" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "查询传回多个 ResultSet。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "最大数据读取笔数必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "查询逾时等候时间必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大栏位容量必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "这个 statement 已经被关闭。" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "无效的 fetch 方向常数:{0}。" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "在系统 catalog 中找不到名称数据类型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "参数索引超出许可范围:{0},参数总数:{1}。" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOBs 仅能索引到:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "在 PreparedStatement 上不能使用获取查询字符的查询方法。" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "查询传回多个 ResultSet。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "不明的类型值。" -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "无效的串流长度 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM 声明并不支援 {0} 编码。" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供的 InputStream 已失败。" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "不明的类型 {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "不能转换一个 {0} 实例到类型 {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "未被支持的类型值:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "无法转换 {0} 到类型 {1} 的实例" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "将大型对象(large object)写入数据库时发生不明错误。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供的 Reader 已失败。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "操作要求可卷动的 ResultSet,但此 ResultSet 是 FORWARD_ONLY。" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "从大型对象(large object)解码字元数据时发生错误。" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "无法转换 {0} 到类型 {1} 的实例" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的数据列上使用相对位置 move 方法。" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "无效的 fetch 方向常数:{0}。" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "不能在新增的数据列上呼叫 cancelRowUpdates()。" -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "不能在新增的数据上呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." msgstr "不能在 ResultSet 的第一笔数据之前呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." msgstr "不能在 ResultSet 的最后一笔数据之后呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "ResultSet 中找不到数据列。" -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "不在新增的数据列上。" -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 声明并不支援编码:{0} 。" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "无法重读新增的数据列。" -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的数据列上呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "无法更新 ResultSet,可能在第一笔数据之前或最未笔数据之后。" -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "ResultSets 与并发同作(Concurrency) CONCUR_READ_ONLY 不能被更新。" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "{0} 数据表中未找到主键(Primary key)。" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的类型值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." -msgstr "ResultSet 中找不到栏位名称 {0}。" - -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" -"不可更新的 ResultSet。用来产生这个 ResultSet 的 SQL 命令只能操作一个数据表," -"并且必需选择所有主键栏位,详细请参阅 JDBC 2.1 API 规格书 5.6 节。" - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "这个 ResultSet 已经被关闭。" - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。" - -#: org/postgresql/jdbc/PgResultSet.java:3045 -#, fuzzy -msgid "Invalid UUID data." -msgstr "无效的旗标" - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "为 {0} 建立对象失败。" - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知的 ResultSet 可适用的设置:{0}。" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "这个 PooledConnection 已经被关闭。" - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "最大数据读取笔数必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "查询逾时等候时间必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大栏位容量必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "这个 statement 已经被关闭。" +msgstr "ResultSet 中找不到栏位名称 {0}。" -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"不可更新的 ResultSet。用来产生这个 ResultSet 的 SQL 命令只能操作一个数据表," +"并且必需选择所有主键栏位,详细请参阅 JDBC 2.1 API 规格书 5.6 节。" -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "无法参照已经被释放的储存点。" +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "这个 ResultSet 已经被关闭。" -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "无法取得已命名储存点的 id。" +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "无法取得未命名储存点(Savepoint)的名称。" +#: org/postgresql/jdbc/PgResultSet.java:3089 +#, fuzzy +msgid "Invalid UUID data." +msgstr "无效的旗标" + +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "不支援交易隔绝等级 {0} 。" -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "不良的类型值 {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "未被支持的类型值:{0}" -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "初始化 LargeObject API 失败" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "大型对象无法被使用在自动确认事物交易模式。" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "一个 CallableStatement 执行函式后没有传回值。" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "未被支持的类型值:{0}" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "一个 CallableStatement 已执行包括一个无效的参数数值" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的" +"类型是 {2}。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " +") 。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "未被支持的类型值:{0}" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} 函式取得四个且仅有四个引数。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "{0} 函式取得二个且仅有二个引数。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "{0} 函式取得一个且仅有一个引数。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "{0} 函式取得二个或三个引数。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 函式无法取得任何的引数。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 函式取得三个且仅有三个引数。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "隔绝 {0} 尚未被实作。" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "SSL error: {0}" +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "初始化 LargeObject API 失败" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "大型对象无法被使用在自动确认事物交易模式。" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "进行 SSL 连线时发生错误。" +msgid "This copy stream is closed." +msgstr "这个 ResultSet 已经被关闭。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "隔绝(Interval)转换失败。" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "money 转换失败。" - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "详细:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Hint: {0}" -msgstr "建议:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "位置:{0}" +msgid "Requested CopyIn but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Where: {0}" -msgstr "在位置:{0}" +msgid "Requested CopyOut but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Internal Query: {0}" -msgstr "内部查询:{0}" +msgid "Requested CopyDual but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Internal Position: {0}" -msgstr "内部位置:{0}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "位置:文件:{0},常式:{1},行:{2}" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Server SQLState: {0}" -msgstr "服务器 SQLState:{0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/xa/PGXAConnection.java:148 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "无效的旗标" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "暂停(suspend)/再继续(resume)尚未被实作。" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "事物交易隔绝(Transaction interleaving)未被实作。" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "8.1 版之前的服务器不支援二段式提交(Two-Phase Commit)。" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "不明的 fastpath 函式 {0}。" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "无效的旗标" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "尝试连线已失败。" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" +#~ msgid "Connection rejected: {0}." +#~ msgstr "连线已被拒绝:{0}。" -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "后端启动失败:{0}。" -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "8.0 版之前的服务器不支援储存点(SavePints)。" -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "从大型对象(large object)解码字元数据时发生错误。" -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "8.1 版之前的服务器不支援二段式提交(Two-Phase Commit)。" -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "Invalid flag" +#~ msgstr "无效的旗标" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "类别 {0} 未实做 org.postgresql.util.PGobject。" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po index 2091ac9dc9..764d3cddb6 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-07 13:37+0300\n" +"POT-Creation-Date: 2018-03-10 23:24+0300\n" "PO-Revision-Date: 2008-01-21 16:50+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,382 +18,375 @@ msgstr "" "X-Poedit-Country: TAIWAN\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/copy/CopyManager.java:57 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/copy/CopyManager.java:69 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:54 -#, java-format -msgid "Copying from database failed: {0}" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:70 -#: org/postgresql/copy/PGCopyOutputStream.java:97 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "This copy stream is closed." -msgstr "這個 ResultSet 已經被關閉。" +msgid "An error occurred reading the certificate" +msgstr "進行 SSL 連線時發生錯誤。" -#: org/postgresql/copy/PGCopyInputStream.java:113 -msgid "Read from copy failed." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:74 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/core/ConnectionFactory.java:74 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "無法以要求的通訊協定 {0} 建立連線。" +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/core/Oid.java:114 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/core/Parser.java:616 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "不正確的函式或程序 escape 語法於 {0}。" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/core/PGStream.java:497 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/core/PGStream.java:538 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:90 -msgid "An unexpected result was returned by a query." -msgstr "傳回非預期的查詢結果。" - -#: org/postgresql/core/UTF8Encoding.java:31 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:69 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:104 -#: org/postgresql/core/UTF8Encoding.java:131 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:137 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:153 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/core/Utils.java:119 org/postgresql/core/Utils.java:136 -msgid "Zero bytes may not occur in string parameters." -msgstr "字串參數不能有 0 個位元組。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/core/Utils.java:146 org/postgresql/core/Utils.java:217 -msgid "No IOException expected from StringBuffer or StringBuilder" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/core/Utils.java:206 -msgid "Zero bytes may not occur in identifiers." -msgstr "在標識識別符中不存在零位元組。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:72 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:87 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "無效的串流長度 {0}." +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:87 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:111 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "無效的串流長度 {0}." +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:152 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:228 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:172 -msgid "" -"Connection refused. Check that the hostname and port are correct and that " -"the postmaster is accepting TCP/IP connections." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:181 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:262 -msgid "The connection attempt failed." -msgstr "嘗試連線已失敗。" +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:192 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:273 -#, fuzzy -msgid "The connection url is invalid." -msgstr "嘗試連線已失敗。" +#: org/postgresql/gss/GssAction.java:126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 +msgid "Protocol error. Session setup failed." +msgstr "通訊協定錯誤,Session 初始化失敗。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:218 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:233 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:324 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:339 -msgid "The server does not support SSL." -msgstr "伺服器不支援 SSL 連線。" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:249 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:355 -msgid "An error occurred while setting up the SSL connection." -msgstr "進行 SSL 連線時發生錯誤。" +#: org/postgresql/core/Parser.java:933 +#, java-format +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "不正確的函式或程序 escape 語法於 {0}。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:300 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "Connection rejected: {0}." -msgstr "連線已被拒絕:{0}。" +msgid "The SocketFactory class provided {0} could not be instantiated." +msgstr "" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:321 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:349 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:375 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:456 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:486 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:515 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "伺服器要求使用密碼驗證,但是密碼並未提供。" +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "字串參數不能有 0 個位元組。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:405 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:625 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網" -"路區段,以及驅動程式所支援的驗證架構模式已被支援。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:412 -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:455 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:632 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:688 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:744 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:754 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:763 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:774 -#: org/postgresql/gss/GssAction.java:130 -msgid "Protocol error. Session setup failed." -msgstr "通訊協定錯誤,Session 初始化失敗。" +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "在標識識別符中不存在零位元組。" -#: org/postgresql/core/v2/ConnectionFactoryImpl.java:443 -#, java-format -msgid "Backend start-up failed: {0}." -msgstr "後端啟動失敗:{0}。" - -#: org/postgresql/core/v2/FastpathParameterList.java:63 -#: org/postgresql/core/v2/FastpathParameterList.java:89 -#: org/postgresql/core/v2/FastpathParameterList.java:100 -#: org/postgresql/core/v2/FastpathParameterList.java:111 -#: org/postgresql/core/v2/SimpleParameterList.java:70 -#: org/postgresql/core/v2/SimpleParameterList.java:94 -#: org/postgresql/core/v2/SimpleParameterList.java:105 -#: org/postgresql/core/v2/SimpleParameterList.java:116 -#: org/postgresql/core/v2/SimpleParameterList.java:127 -#: org/postgresql/core/v3/CompositeParameterList.java:36 -#: org/postgresql/core/v3/SimpleParameterList.java:53 -#: org/postgresql/core/v3/SimpleParameterList.java:64 -#: org/postgresql/jdbc/PgResultSet.java:2715 -#: org/postgresql/jdbc/PgResultSetMetaData.java:472 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "欄位索引超過許可範圍:{0},欄位數:{1}。" +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgstr "" -#: org/postgresql/core/v2/FastpathParameterList.java:164 -#: org/postgresql/core/v2/SimpleParameterList.java:191 -#: org/postgresql/core/v3/SimpleParameterList.java:225 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "No value specified for parameter {0}." -msgstr "未設定參數值 {0} 的內容。" +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:87 -#: org/postgresql/core/v2/QueryExecutorImpl.java:347 -#: org/postgresql/core/v3/QueryExecutorImpl.java:404 -#: org/postgresql/core/v3/QueryExecutorImpl.java:465 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "Expected command status BEGIN, got {0}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:92 -#: org/postgresql/core/v3/QueryExecutorImpl.java:470 -#: org/postgresql/jdbc/PgResultSet.java:1731 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Unexpected command status: {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:127 -#: org/postgresql/core/v2/QueryExecutorImpl.java:136 -#: org/postgresql/core/v2/QueryExecutorImpl.java:185 -#: org/postgresql/core/v2/QueryExecutorImpl.java:376 -#: org/postgresql/core/v3/QueryExecutorImpl.java:226 -#: org/postgresql/core/v3/QueryExecutorImpl.java:364 -#: org/postgresql/core/v3/QueryExecutorImpl.java:441 -#: org/postgresql/core/v3/QueryExecutorImpl.java:505 -#: org/postgresql/core/v3/QueryExecutorImpl.java:587 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2211 -#: org/postgresql/util/StreamWrapper.java:133 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "傳送資料至後端時發生 I/O 錯誤。" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:180 -#: org/postgresql/core/v2/QueryExecutorImpl.java:235 -#: org/postgresql/core/v2/QueryExecutorImpl.java:249 -#: org/postgresql/core/v3/QueryExecutorImpl.java:582 -#: org/postgresql/core/v3/QueryExecutorImpl.java:642 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "Unknown Response Type {0}." -msgstr "不明的回應類型 {0}。" - -#: org/postgresql/core/v2/QueryExecutorImpl.java:453 -#: org/postgresql/core/v2/QueryExecutorImpl.java:503 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1962 -msgid "Ran out of memory retrieving query results." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" -#: org/postgresql/core/v2/QueryExecutorImpl.java:640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2328 -#, java-format -msgid "Unable to interpret the update count in command completion tag: {0}." -msgstr "無法解讀命令完成標籤中的更新計數:{0}。" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "傳回非預期的查詢結果。" -#: org/postgresql/core/v2/QueryExecutorImpl.java:654 -msgid "Copy not implemented for protocol version 2" +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/core/v2/SocketFactoryFactory.java:36 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:253 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " msgstr "" -"連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#: org/postgresql/core/v3/CopyOperationImpl.java:57 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:83 +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:98 +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:115 +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:220 +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:689 +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "傳送資料至後端時發生 I/O 錯誤。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy +msgid "An error occurred while trying to get the socket timeout." +msgstr "傳送資料至後端時發生 I/O 錯誤。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:722 +#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#, java-format +msgid "Unknown Response Type {0}." +msgstr "不明的回應類型 {0}。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#, fuzzy +msgid "An error occurred while trying to reset the socket timeout." +msgstr "傳送資料至後端時發生 I/O 錯誤。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:843 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:878 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:765 +#: org/postgresql/core/v3/QueryExecutorImpl.java:917 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:781 +#: org/postgresql/core/v3/QueryExecutorImpl.java:933 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:785 +#: org/postgresql/core/v3/QueryExecutorImpl.java:937 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:800 +#: org/postgresql/core/v3/QueryExecutorImpl.java:952 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:815 +#: org/postgresql/core/v3/QueryExecutorImpl.java:967 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:833 -#: org/postgresql/core/v3/QueryExecutorImpl.java:855 +#: org/postgresql/core/v3/QueryExecutorImpl.java:985 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:848 -#: org/postgresql/core/v3/QueryExecutorImpl.java:863 +#: org/postgresql/core/v3/QueryExecutorImpl.java:998 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:877 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:884 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:956 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:983 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:999 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1017 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#, java-format +msgid "Got CopyBothResponse from server during an active {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1021 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1061 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2037 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#, java-format +msgid "Unexpected packet type during copy: {0}" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#, java-format +msgid "" +"Bind message length {0} too long. This can be caused by very large or " +"incorrect length specifications on InputStream parameters." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +msgid "Ran out of memory retrieving query results." +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +msgid "The driver currently does not support COPY operations." +msgstr "驅動程式目前不支援 COPY 操作。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "無法解讀命令完成標籤中的更新計數:{0}。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -402,8 +395,7 @@ msgstr "" "這伺服器的 client_encoding 參數被改成 {0},JDBC 驅動程式請求需要 " "client_encoding 為 UNICODE 以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1069 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2045 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -412,8 +404,7 @@ msgstr "" "這伺服器的 DateStyle 參數被更改成 {0},JDBC 驅動程式請求需要 DateStyle 以 " "ISO 開頭以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1083 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2059 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -422,58 +413,189 @@ msgstr "" "這伺服器的 standard_conforming_strings 參數已回報為 {0},JDBC 驅動程式已預期" "開啟或是關閉。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1122 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/jdbc/PgResultSetMetaData.java:493 +#: org/postgresql/jdbc/PgResultSet.java:2751 #, java-format -msgid "Unexpected packet type during copy: {0}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "欄位索引超過許可範圍:{0},欄位數:{1}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1393 +#: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format -msgid "" -"Bind message length {0} too long. This can be caused by very large or " -"incorrect length specifications on InputStream parameters." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2131 -msgid "The driver currently does not support COPY operations." -msgstr "驅動程式目前不支援 COPY 操作。" +msgid "No value specified for parameter {0}." +msgstr "未設定參數值 {0} 的內容。" -#: org/postgresql/Driver.java:234 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" +#: org/postgresql/core/v3/SimpleParameterList.java:431 +#, fuzzy, java-format +msgid "Added parameters index out of range: {0}, number of columns: {1}." +msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" -#: org/postgresql/Driver.java:247 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +msgid "The connection attempt failed." +msgstr "嘗試連線已失敗。" -#: org/postgresql/Driver.java:290 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 +#, java-format +msgid "Unexpected packet type during replication: {0}" msgstr "" -#: org/postgresql/Driver.java:296 org/postgresql/Driver.java:362 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "不明的原因導致驅動程式造成失敗,請回報這個例外。" +#: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 +#, fuzzy +msgid "This replication stream has been closed." +msgstr "Connection 已經被關閉。" -#: org/postgresql/Driver.java:370 -msgid "Connection attempt timed out." -msgstr "Connection 嘗試逾時。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "無效的串流長度 {0}." -#: org/postgresql/Driver.java:383 -msgid "Interrupted while attempting to connect." -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "無效的串流長度 {0}." -#: org/postgresql/Driver.java:645 -#, java-format -msgid "Method {0} is not yet implemented." -msgstr "這個 {0} 方法尚未被實作。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." +msgstr "" +"連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 +msgid "The server does not support SSL." +msgstr "伺服器不支援 SSL 連線。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 +msgid "An error occurred while setting up the SSL connection." +msgstr "進行 SSL 連線時發生錯誤。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "伺服器要求使用密碼驗證,但是密碼並未提供。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網" +"路區段,以及驅動程式所支援的驗證架構模式已被支援。" + +#: org/postgresql/core/ConnectionFactory.java:57 +#, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "無法以要求的通訊協定 {0} 建立連線。" + +#: org/postgresql/core/Oid.java:116 +#, java-format +msgid "oid type {0} not known and not a number" +msgstr "" + +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1924 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼," +"其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。" + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "money 轉換失敗。" + +#: org/postgresql/util/StreamWrapper.java:56 +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "隔絕(Interval)轉換失敗。" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "詳細:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "建議:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "在位置:{0}" -#: org/postgresql/ds/common/BaseDataSource.java:1037 -#: org/postgresql/ds/common/BaseDataSource.java:1047 +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "內部查詢:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "內部位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "位置:檔案:{0},常式:{1},行:{2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "伺服器 SQLState:{0}" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource 已經被關閉。" + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format msgid "Unsupported property name: {0}" msgstr "未被支持的型別值:{0}" @@ -482,7 +604,7 @@ msgstr "未被支持的型別值:{0}" msgid "This PooledConnection has already been closed." msgstr "這個 PooledConnection 已經被關閉。" -#: org/postgresql/ds/PGPooledConnection.java:313 +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." @@ -490,1057 +612,1056 @@ msgstr "" "Connection 已自動結束,因為一個新的 PooledConnection 連線被開啟或者或 " "PooledConnection 已被關閉。" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." msgstr "Connection 已經被關閉。" -#: org/postgresql/ds/PGPooledConnection.java:418 +#: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." msgstr "Sstatement 已經被關閉。" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource 已經被關閉。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:82 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +msgid "Invalid server-first-message: {0}" +msgstr "無效的串流長度 {0}." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "無效的串流長度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:174 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:191 +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +msgid "Unsupported properties: {0}" +msgstr "未被支持的型別值:{0}" -#: org/postgresql/fastpath/Fastpath.java:200 -#, fuzzy, java-format +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "" + +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " +msgstr "" + +#: org/postgresql/Driver.java:270 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:312 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +msgid "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "不明的原因導致驅動程式造成失敗,請回報這個例外。" + +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Connection 嘗試逾時。" + +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "" + +#: org/postgresql/Driver.java:682 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "不明的 fastpath 函式 {0}。" +msgid "Method {0} is not yet implemented." +msgstr "這個 {0} 方法尚未被實作。" -#: org/postgresql/geometric/PGbox.java:79 -#: org/postgresql/geometric/PGcircle.java:76 -#: org/postgresql/geometric/PGcircle.java:84 -#: org/postgresql/geometric/PGline.java:109 -#: org/postgresql/geometric/PGline.java:118 -#: org/postgresql/geometric/PGlseg.java:72 -#: org/postgresql/geometric/PGpoint.java:78 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGpoint.java:76 +#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "轉換型別 {0} 失敗:{1}。" -#: org/postgresql/geometric/PGpath.java:73 +#: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." msgstr "無法得知 path 是開啟或關閉:{0}。" -#: org/postgresql/gss/GssAction.java:141 org/postgresql/gss/MakeGSS.java:69 -#: org/postgresql/gss/MakeGSS.java:77 -msgid "GSS Authentication failed" +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:89 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "無效的旗標 {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:94 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:101 -#: org/postgresql/jdbc/AbstractBlobClob.java:245 +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "暫停(suspend)/再繼續(resume)尚未被實作。" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOBs 僅能索引到:{0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"事物交易隔絕(Transaction interleaving)未被實作。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/AbstractBlobClob.java:241 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:257 -msgid "free() was called on this LOB previously" +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:41 -#: org/postgresql/jdbc/PgConnection.java:474 -#: org/postgresql/jdbc/PgPreparedStatement.java:138 -#: org/postgresql/jdbc/PgStatement.java:299 -msgid "A result was returned when none was expected." -msgstr "傳回預期之外的結果。" +#: org/postgresql/xa/PGXAConnection.java:297 +#, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:59 -msgid "Too many update results were returned." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:88 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format msgid "" -"Batch entry {0} {1} was aborted. Call getNextException to see the cause." -msgstr "批次處理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:243 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 函式取得四個且僅有四個引數。" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:273 -#: org/postgresql/jdbc/EscapedFunctions.java:347 -#: org/postgresql/jdbc/EscapedFunctions.java:752 -#: org/postgresql/jdbc/EscapedFunctions.java:790 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 函式取得二個且僅有二個引數。" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:291 -#: org/postgresql/jdbc/EscapedFunctions.java:329 -#: org/postgresql/jdbc/EscapedFunctions.java:449 -#: org/postgresql/jdbc/EscapedFunctions.java:464 -#: org/postgresql/jdbc/EscapedFunctions.java:479 -#: org/postgresql/jdbc/EscapedFunctions.java:494 -#: org/postgresql/jdbc/EscapedFunctions.java:509 -#: org/postgresql/jdbc/EscapedFunctions.java:524 -#: org/postgresql/jdbc/EscapedFunctions.java:539 -#: org/postgresql/jdbc/EscapedFunctions.java:554 -#: org/postgresql/jdbc/EscapedFunctions.java:569 -#: org/postgresql/jdbc/EscapedFunctions.java:584 -#: org/postgresql/jdbc/EscapedFunctions.java:599 -#: org/postgresql/jdbc/EscapedFunctions.java:614 -#: org/postgresql/jdbc/EscapedFunctions.java:778 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 函式取得一個且僅有一個引數。" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:313 -#: org/postgresql/jdbc/EscapedFunctions.java:394 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 函式取得二個或三個引數。" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:419 -#: org/postgresql/jdbc/EscapedFunctions.java:434 -#: org/postgresql/jdbc/EscapedFunctions.java:737 -#: org/postgresql/jdbc/EscapedFunctions.java:767 +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 函式無法取得任何的引數。" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:630 -#: org/postgresql/jdbc/EscapedFunctions.java:683 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 函式取得三個且僅有三個引數。" +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:643 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:667 -#: org/postgresql/jdbc/EscapedFunctions.java:700 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#: org/postgresql/jdbc/EscapedFunctions.java:716 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "隔絕 {0} 尚未被實作。" +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:166 org/postgresql/jdbc/PgArray.java:822 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "The array index is out of range: {0}" -msgstr "陣列索引超過許可範圍:{0}" +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:183 org/postgresql/jdbc/PgArray.java:839 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "陣列索引超過許可範圍:{0},元素數量:{1}。" +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:215 -#: org/postgresql/jdbc/PgResultSet.java:1885 -#: org/postgresql/util/HStoreConverter.java:38 -#: org/postgresql/util/HStoreConverter.java:69 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -"發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼," -"其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。" -#: org/postgresql/jdbc/PgCallableStatement.java:90 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "一個 CallableStatement 執行函式後沒有傳回值。" +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgSQLXML.java:193 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "一個 CallableStatement 已執行包括一個無效的參數數值" +msgid "Unable to create SAXResult for SQLXML." +msgstr "為 {0} 建立物件失敗。" -#: org/postgresql/jdbc/PgCallableStatement.java:139 -#, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -"一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的" -"型別是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:195 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。" +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知的 ResultSet 可適用的設置:{0}。" -#: org/postgresql/jdbc/PgCallableStatement.java:239 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "這個 PooledConnection 已經被關閉。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:377 -#: org/postgresql/jdbc/PgCallableStatement.java:396 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。" +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:417 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -"已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " -") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:423 -msgid "No function outputs were registered." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "無法參照已經被釋放的儲存點。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "無法取得已命名儲存點的 id。" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "無法取得未命名儲存點(Savepoint)的名稱。" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "陣列索引超過許可範圍:{0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "陣列索引超過許可範圍:{0},元素數量:{1}。" + +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:429 +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "批次處理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" -#: org/postgresql/jdbc/PgConnection.java:312 +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "字串型別參數值未被支持:{0}" -#: org/postgresql/jdbc/PgConnection.java:457 -#: org/postgresql/jdbc/PgPreparedStatement.java:115 -#: org/postgresql/jdbc/PgStatement.java:282 -#: org/postgresql/jdbc/TypeInfoCache.java:230 -#: org/postgresql/jdbc/TypeInfoCache.java:370 -#: org/postgresql/jdbc/TypeInfoCache.java:412 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:494 -#: org/postgresql/jdbc/TypeInfoCache.java:535 -#: org/postgresql/jdbc/TypeInfoCache.java:540 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "查詢沒有傳回任何結果。" -#: org/postgresql/jdbc/PgConnection.java:578 +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "傳回預期之外的結果。" + +#: org/postgresql/jdbc/PgConnection.java:545 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:620 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format msgid "Failed to create object for: {0}." msgstr "為 {0} 建立物件失敗。" -#: org/postgresql/jdbc/PgConnection.java:672 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:724 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "不能在事物交易過程中改變事物交易唯讀屬性。" -#: org/postgresql/jdbc/PgConnection.java:775 +#: org/postgresql/jdbc/PgConnection.java:756 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:786 -#: org/postgresql/jdbc/PgConnection.java:1358 -#: org/postgresql/jdbc/PgConnection.java:1395 +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 #, fuzzy msgid "This connection has been closed." msgstr "Connection 已經被關閉。" -#: org/postgresql/jdbc/PgConnection.java:796 +#: org/postgresql/jdbc/PgConnection.java:777 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:870 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "不能在事務交易過程中改變事物交易隔絕等級。" -#: org/postgresql/jdbc/PgConnection.java:876 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "不支援交易隔絕等級 {0} 。" -#: org/postgresql/jdbc/PgConnection.java:921 +#: org/postgresql/jdbc/PgConnection.java:878 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1009 +#: org/postgresql/jdbc/PgConnection.java:945 msgid "Unable to translate data into the desired encoding." msgstr "無法將資料轉成目標編碼。" -#: org/postgresql/jdbc/PgConnection.java:1081 -#: org/postgresql/jdbc/PgResultSet.java:1782 -#: org/postgresql/jdbc/PgStatement.java:1053 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgResultSet.java:1817 msgid "Fetch size must be a value greater to or equal to 0." msgstr "資料讀取筆數(fetch size)必須大於或等於 0。" -#: org/postgresql/jdbc/PgConnection.java:1311 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1327 +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "無效的旗標 {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "無效的串流長度 {0}." -#: org/postgresql/jdbc/PgConnection.java:1340 +#: org/postgresql/jdbc/PgConnection.java:1372 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1375 +#: org/postgresql/jdbc/PgConnection.java:1405 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "為 {0} 建立物件失敗。" -#: org/postgresql/jdbc/PgConnection.java:1383 +#: org/postgresql/jdbc/PgConnection.java:1415 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1408 +#: org/postgresql/jdbc/PgConnection.java:1441 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1517 +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "查詢逾時等候時間必須大於或等於 0。" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知的 ResultSet 可適用的設置:{0}。" -#: org/postgresql/jdbc/PgConnection.java:1531 -#: org/postgresql/jdbc/PgConnection.java:1554 -#: org/postgresql/jdbc/PgConnection.java:1576 -#: org/postgresql/jdbc/PgConnection.java:1587 -msgid "Server versions prior to 8.0 do not support savepoints." -msgstr "8.0 版之前的伺服器不支援儲存點(SavePints)。" - -#: org/postgresql/jdbc/PgConnection.java:1535 -#: org/postgresql/jdbc/PgConnection.java:1558 +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "在自動確認事物交易模式無法建立儲存點(Savepoint)。" -#: org/postgresql/jdbc/PgConnection.java:1635 +#: org/postgresql/jdbc/PgConnection.java:1685 msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:78 +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "查詢傳回多個 ResultSet。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "最大資料讀取筆數必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "查詢逾時等候時間必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大欄位容量必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "這個 statement 已經被關閉。" + +#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgResultSet.java:878 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "無效的 fetch 方向常數:{0}。" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:100 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 msgid "Unable to find name datatype in the system catalogs." msgstr "在系統 catalog 中找不到名稱資料類型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1117 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1119 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1714 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1122 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1732 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1872 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1963 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +msgid "attidentity" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1873 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1964 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1878 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:86 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOBs 僅能索引到:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:102 -#: org/postgresql/jdbc/PgPreparedStatement.java:128 -#: org/postgresql/jdbc/PgPreparedStatement.java:150 -#: org/postgresql/jdbc/PgPreparedStatement.java:1108 +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "在 PreparedStatement 上不能使用獲取查詢字串的查詢方法。" -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -#: org/postgresql/jdbc/PgStatement.java:286 -msgid "Multiple ResultSets were returned by the query." -msgstr "查詢傳回多個 ResultSet。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:270 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 msgid "Unknown Types value." msgstr "不明的型別值。" -#: org/postgresql/jdbc/PgPreparedStatement.java:417 -#: org/postgresql/jdbc/PgPreparedStatement.java:486 -#: org/postgresql/jdbc/PgPreparedStatement.java:1251 -#: org/postgresql/jdbc/PgPreparedStatement.java:1583 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format msgid "Invalid stream length {0}." msgstr "無效的串流長度 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:447 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM 聲明並不支援 {0} 編碼。" -#: org/postgresql/jdbc/PgPreparedStatement.java:450 -#: org/postgresql/jdbc/PgPreparedStatement.java:519 -#: org/postgresql/jdbc/PgResultSet.java:1075 -#: org/postgresql/jdbc/PgResultSet.java:1109 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供的 InputStream 已失敗。" -#: org/postgresql/jdbc/PgPreparedStatement.java:536 -#: org/postgresql/jdbc/PgPreparedStatement.java:1170 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format msgid "Unknown type {0}." msgstr "不明的型別 {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:553 +#: org/postgresql/jdbc/PgPreparedStatement.java:477 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:683 -#: org/postgresql/jdbc/PgPreparedStatement.java:705 -#: org/postgresql/jdbc/PgPreparedStatement.java:715 -#: org/postgresql/jdbc/PgPreparedStatement.java:725 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "不能轉換一個 {0} 實例到型別 {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:741 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format msgid "Unsupported Types value: {0}" msgstr "未被支持的型別值:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:970 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "無法轉換 {0} 到類型 {1} 的實例" -#: org/postgresql/jdbc/PgPreparedStatement.java:1040 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1207 -#: org/postgresql/jdbc/PgPreparedStatement.java:1303 -#: org/postgresql/jdbc/PgPreparedStatement.java:1340 +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 msgid "Unexpected error writing large object to database." msgstr "將大型物件(large object)寫入資料庫時發生不明錯誤。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1278 -#: org/postgresql/jdbc/PgResultSet.java:1163 +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供的 Reader 已失敗。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1542 -#: org/postgresql/util/StreamWrapper.java:59 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:285 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" "Operation requires a scrollable ResultSet, but this ResultSet is " "FORWARD_ONLY." msgstr "操作要求可捲動的 ResultSet,但此 ResultSet 是 FORWARD_ONLY。" -#: org/postgresql/jdbc/PgResultSet.java:456 -msgid "Unexpected error while decoding character data from a large object." -msgstr "從大型物件(large object)解碼字元資料時發生錯誤。" - -#: org/postgresql/jdbc/PgResultSet.java:507 -#: org/postgresql/jdbc/PgResultSet.java:537 -#: org/postgresql/jdbc/PgResultSet.java:570 -#: org/postgresql/jdbc/PgResultSet.java:2964 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3008 +#: org/postgresql/jdbc/PgResultSet.java:3052 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "無法轉換 {0} 到類型 {1} 的實例" -#: org/postgresql/jdbc/PgResultSet.java:789 -#: org/postgresql/jdbc/PgResultSet.java:810 -#: org/postgresql/jdbc/PgResultSet.java:1797 +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的資料列上使用相對位置 move 方法。" -#: org/postgresql/jdbc/PgResultSet.java:829 -#: org/postgresql/jdbc/PgStatement.java:1045 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "無效的 fetch 方向常數:{0}。" - -#: org/postgresql/jdbc/PgResultSet.java:840 +#: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "不能在新增的資料列上呼叫 cancelRowUpdates()。" -#: org/postgresql/jdbc/PgResultSet.java:856 +#: org/postgresql/jdbc/PgResultSet.java:905 msgid "Cannot call deleteRow() when on the insert row." msgstr "不能在新增的資料上呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:863 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." msgstr "不能在 ResultSet 的第一筆資料之前呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:869 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." msgstr "不能在 ResultSet 的最後一筆資料之後呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:873 +#: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." msgstr "ResultSet 中找不到資料列。" -#: org/postgresql/jdbc/PgResultSet.java:914 +#: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." msgstr "不在新增的資料列上。" -#: org/postgresql/jdbc/PgResultSet.java:916 +#: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1072 -#: org/postgresql/jdbc/PgResultSet.java:1706 -#: org/postgresql/jdbc/PgResultSet.java:2377 -#: org/postgresql/jdbc/PgResultSet.java:2402 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2416 +#: org/postgresql/jdbc/PgResultSet.java:2437 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 聲明並不支援編碼:{0} 。" -#: org/postgresql/jdbc/PgResultSet.java:1214 +#: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." msgstr "無法重讀新增的資料列。" -#: org/postgresql/jdbc/PgResultSet.java:1280 +#: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的資料列上呼叫 deleteRow()。" -#: org/postgresql/jdbc/PgResultSet.java:1287 -#: org/postgresql/jdbc/PgResultSet.java:3025 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3069 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." msgstr "無法更新 ResultSet,可能在第一筆資料之前或最未筆資料之後。" -#: org/postgresql/jdbc/PgResultSet.java:1486 +#: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "ResultSets 與並發同作(Concurrency) CONCUR_READ_ONLY 不能被更新。" -#: org/postgresql/jdbc/PgResultSet.java:1555 +#: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." msgstr "{0} 資料表中未找到主鍵(Primary key)。" -#: org/postgresql/jdbc/PgResultSet.java:1941 -#: org/postgresql/jdbc/PgResultSet.java:1946 -#: org/postgresql/jdbc/PgResultSet.java:1986 -#: org/postgresql/jdbc/PgResultSet.java:1992 -#: org/postgresql/jdbc/PgResultSet.java:2790 -#: org/postgresql/jdbc/PgResultSet.java:2796 -#: org/postgresql/jdbc/PgResultSet.java:2820 -#: org/postgresql/jdbc/PgResultSet.java:2825 -#: org/postgresql/jdbc/PgResultSet.java:2841 -#: org/postgresql/jdbc/PgResultSet.java:2862 -#: org/postgresql/jdbc/PgResultSet.java:2873 -#: org/postgresql/jdbc/PgResultSet.java:2886 -#: org/postgresql/jdbc/PgResultSet.java:3013 +#: org/postgresql/jdbc/PgResultSet.java:2011 +#: org/postgresql/jdbc/PgResultSet.java:2016 +#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2864 +#: org/postgresql/jdbc/PgResultSet.java:2869 +#: org/postgresql/jdbc/PgResultSet.java:2885 +#: org/postgresql/jdbc/PgResultSet.java:2906 +#: org/postgresql/jdbc/PgResultSet.java:2917 +#: org/postgresql/jdbc/PgResultSet.java:2930 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的型別值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2564 +#: org/postgresql/jdbc/PgResultSet.java:2589 #, java-format msgid "The column name {0} was not found in this ResultSet." -msgstr "ResultSet 中找不到欄位名稱 {0}。" - -#: org/postgresql/jdbc/PgResultSet.java:2689 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." -msgstr "" -"不可更新的 ResultSet。用來產生這個 ResultSet 的 SQL 命令只能操作一個資料表," -"並且必需選擇所有主鍵欄位,詳細請參閱 JDBC 2.1 API 規格書 5.6 節。" - -#: org/postgresql/jdbc/PgResultSet.java:2701 -msgid "This ResultSet is closed." -msgstr "這個 ResultSet 已經被關閉。" - -#: org/postgresql/jdbc/PgResultSet.java:2732 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "查詢結果指標位置不正確,您也許需要呼叫 ResultSet 的 next() 方法。" - -#: org/postgresql/jdbc/PgResultSet.java:3045 -#, fuzzy -msgid "Invalid UUID data." -msgstr "無效的旗標" - -#: org/postgresql/jdbc/PgSQLXML.java:150 -msgid "Unable to decode xml data." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:153 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:196 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "為 {0} 建立物件失敗。" - -#: org/postgresql/jdbc/PgSQLXML.java:211 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:216 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知的 ResultSet 可適用的設置:{0}。" - -#: org/postgresql/jdbc/PgSQLXML.java:228 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "這個 PooledConnection 已經被關閉。" - -#: org/postgresql/jdbc/PgSQLXML.java:237 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:250 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:276 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:290 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:325 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:484 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "最大資料讀取筆數必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:525 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "查詢逾時等候時間必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:561 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大欄位容量必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:871 -msgid "This statement has been closed." -msgstr "這個 statement 已經被關閉。" +msgstr "ResultSet 中找不到欄位名稱 {0}。" -#: org/postgresql/jdbc/PgStatement.java:1148 -#, fuzzy +#: org/postgresql/jdbc/PgResultSet.java:2725 msgid "" -"Returning autogenerated keys is only supported for 8.2 and later servers." -msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" - -#: org/postgresql/jdbc/PgStatement.java:1326 -#: org/postgresql/jdbc/PgStatement.java:1357 -msgid "Returning autogenerated keys by column index is not supported." +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"不可更新的 ResultSet。用來產生這個 ResultSet 的 SQL 命令只能操作一個資料表," +"並且必需選擇所有主鍵欄位,詳細請參閱 JDBC 2.1 API 規格書 5.6 節。" -#: org/postgresql/jdbc/PSQLSavepoint.java:40 -#: org/postgresql/jdbc/PSQLSavepoint.java:54 -#: org/postgresql/jdbc/PSQLSavepoint.java:72 -msgid "Cannot reference a savepoint after it has been released." -msgstr "無法參照已經被釋放的儲存點。" +#: org/postgresql/jdbc/PgResultSet.java:2737 +msgid "This ResultSet is closed." +msgstr "這個 ResultSet 已經被關閉。" -#: org/postgresql/jdbc/PSQLSavepoint.java:45 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "無法取得已命名儲存點的 id。" +#: org/postgresql/jdbc/PgResultSet.java:2768 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "查詢結果指標位置不正確,您也許需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PSQLSavepoint.java:59 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "無法取得未命名儲存點(Savepoint)的名稱。" +#: org/postgresql/jdbc/PgResultSet.java:3089 +#, fuzzy +msgid "Invalid UUID data." +msgstr "無效的旗標" + +#: org/postgresql/jdbc/PgResultSet.java:3178 +#: org/postgresql/jdbc/PgResultSet.java:3185 +#: org/postgresql/jdbc/PgResultSet.java:3196 +#: org/postgresql/jdbc/PgResultSet.java:3207 +#: org/postgresql/jdbc/PgResultSet.java:3218 +#: org/postgresql/jdbc/PgResultSet.java:3229 +#: org/postgresql/jdbc/PgResultSet.java:3240 +#: org/postgresql/jdbc/PgResultSet.java:3251 +#: org/postgresql/jdbc/PgResultSet.java:3262 +#: org/postgresql/jdbc/PgResultSet.java:3269 +#: org/postgresql/jdbc/PgResultSet.java:3276 +#: org/postgresql/jdbc/PgResultSet.java:3287 +#: org/postgresql/jdbc/PgResultSet.java:3304 +#: org/postgresql/jdbc/PgResultSet.java:3311 +#: org/postgresql/jdbc/PgResultSet.java:3318 +#: org/postgresql/jdbc/PgResultSet.java:3329 +#: org/postgresql/jdbc/PgResultSet.java:3336 +#: org/postgresql/jdbc/PgResultSet.java:3343 +#: org/postgresql/jdbc/PgResultSet.java:3381 +#: org/postgresql/jdbc/PgResultSet.java:3388 +#: org/postgresql/jdbc/PgResultSet.java:3395 +#: org/postgresql/jdbc/PgResultSet.java:3415 +#: org/postgresql/jdbc/PgResultSet.java:3428 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "不支援交易隔絕等級 {0} 。" -#: org/postgresql/jdbc/TimestampUtils.java:298 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "不良的型別值 {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:359 -msgid "" -"Infinite value found for timestamp/date. This cannot be represented as time." -msgstr "" - -#: org/postgresql/jdbc/TimestampUtils.java:674 -#: org/postgresql/jdbc/TimestampUtils.java:710 -#: org/postgresql/jdbc/TimestampUtils.java:757 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "未被支持的型別值:{0}" -#: org/postgresql/largeobject/LargeObjectManager.java:147 -msgid "Failed to initialize LargeObject API" -msgstr "初始化 LargeObject API 失敗" - -#: org/postgresql/largeobject/LargeObjectManager.java:265 -#: org/postgresql/largeobject/LargeObjectManager.java:308 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "大型物件無法被使用在自動確認事物交易模式。" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "一個 CallableStatement 執行函式後沒有傳回值。" -#: org/postgresql/osgi/PGDataSourceFactory.java:85 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "未被支持的型別值:{0}" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "一個 CallableStatement 已執行包括一個無效的參數數值" -#: org/postgresql/PGProperty.java:450 org/postgresql/PGProperty.java:470 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的" +"型別是 {2}。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:125 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:135 -#, java-format -msgid "Could not open SSL certificate file {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:140 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:195 -msgid "Enter SSL password: " +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " +") 。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:202 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:207 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:226 -#, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "未被支持的型別值:{0}" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:240 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} 函式取得四個且僅有四個引數。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:243 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:162 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "{0} 函式取得二個且僅有二個引數。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:90 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "{0} 函式取得一個且僅有一個引數。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:123 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "{0} 函式取得二個或三個引數。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:139 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 函式無法取得任何的引數。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:143 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:156 -msgid "Could not initialize SSL context." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 函式取得三個且僅有三個引數。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "隔絕 {0} 尚未被實作。" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "SSL error: {0}" +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "初始化 LargeObject API 失敗" -#: org/postgresql/ssl/MakeSSL.java:84 -#, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "大型物件無法被使用在自動確認事物交易模式。" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:167 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:183 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:191 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:198 -msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:210 +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "進行 SSL 連線時發生錯誤。" +msgid "This copy stream is closed." +msgstr "這個 ResultSet 已經被關閉。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:243 -msgid "No X509TrustManager found" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/util/PGInterval.java:155 -msgid "Conversion of interval failed" -msgstr "隔絕(Interval)轉換失敗。" - -#: org/postgresql/util/PGmoney.java:65 -msgid "Conversion of money failed." -msgstr "money 轉換失敗。" - -#: org/postgresql/util/ServerErrorMessage.java:165 -#, java-format -msgid "Detail: {0}" -msgstr "詳細:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:170 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Hint: {0}" -msgstr "建議:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:174 -#, java-format -msgid "Position: {0}" -msgstr "位置:{0}" +msgid "Requested CopyIn but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:178 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Where: {0}" -msgstr "在位置:{0}" +msgid "Requested CopyOut but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:184 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Internal Query: {0}" -msgstr "內部查詢:{0}" +msgid "Requested CopyDual but got {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:188 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Internal Position: {0}" -msgstr "內部位置:{0}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "位置:檔案:{0},常式:{1},行:{2}" +#: org/postgresql/fastpath/Fastpath.java:80 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/util/ServerErrorMessage.java:200 +#: org/postgresql/fastpath/Fastpath.java:157 #, java-format -msgid "Server SQLState: {0}" -msgstr "伺服器 SQLState:{0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/xa/PGXAConnection.java:148 +#: org/postgresql/fastpath/Fastpath.java:165 +#, fuzzy, java-format msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:196 -#: org/postgresql/xa/PGXAConnection.java:265 -msgid "Invalid flags" -msgstr "無效的旗標" - -#: org/postgresql/xa/PGXAConnection.java:200 -#: org/postgresql/xa/PGXAConnection.java:269 -#: org/postgresql/xa/PGXAConnection.java:437 -msgid "xid must not be null" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:204 -msgid "Connection is busy with another transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:213 -#: org/postgresql/xa/PGXAConnection.java:279 -msgid "suspend/resume not implemented" -msgstr "暫停(suspend)/再繼續(resume)尚未被實作。" - -#: org/postgresql/xa/PGXAConnection.java:219 -#: org/postgresql/xa/PGXAConnection.java:224 -#: org/postgresql/xa/PGXAConnection.java:228 -msgid "Transaction interleaving not implemented" -msgstr "事物交易隔絕(Transaction interleaving)未被實作。" - -#: org/postgresql/xa/PGXAConnection.java:239 -msgid "Error disabling autocommit" -msgstr "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/xa/PGXAConnection.java:273 -msgid "tried to call end without corresponding start call" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:182 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/xa/PGXAConnection.java:305 +#: org/postgresql/fastpath/Fastpath.java:190 +#, fuzzy, java-format msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:309 -msgid "Prepare called before end" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:317 -msgid "Server versions prior to 8.1 do not support two-phase commit." -msgstr "8.1 版之前的伺服器不支援二段式提交(Two-Phase Commit)。" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/xa/PGXAConnection.java:334 -msgid "Error preparing transaction" -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:302 +#, java-format +msgid "The fastpath function {0} is unknown." +msgstr "不明的 fastpath 函式 {0}。" -#: org/postgresql/xa/PGXAConnection.java:349 -msgid "Invalid flag" -msgstr "無效的旗標" +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#: org/postgresql/xa/PGXAConnection.java:384 -msgid "Error during recover" -msgstr "" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "嘗試連線已失敗。" -#: org/postgresql/xa/PGXAConnection.java:423 -#: org/postgresql/xa/PGXAConnection.java:426 -msgid "Error rolling back prepared transaction" -msgstr "" +#~ msgid "Connection rejected: {0}." +#~ msgstr "連線已被拒絕:{0}。" -#: org/postgresql/xa/PGXAConnection.java:464 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "後端啟動失敗:{0}。" -#: org/postgresql/xa/PGXAConnection.java:468 -msgid "commit called before end" -msgstr "" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "8.0 版之前的伺服器不支援儲存點(SavePints)。" -#: org/postgresql/xa/PGXAConnection.java:478 -msgid "Error during one-phase commit" -msgstr "" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "從大型物件(large object)解碼字元資料時發生錯誤。" -#: org/postgresql/xa/PGXAConnection.java:497 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection" -msgstr "" +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" -#: org/postgresql/xa/PGXAConnection.java:513 -msgid "Error committing prepared transaction" -msgstr "" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "8.1 版之前的伺服器不支援二段式提交(Two-Phase Commit)。" -#: org/postgresql/xa/PGXAConnection.java:529 -msgid "Heuristic commit/rollback not supported" -msgstr "" +#~ msgid "Invalid flag" +#~ msgstr "無效的旗標" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "類別 {0} 未實做 org.postgresql.util.PGobject。" diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index c097f46067..e72dd63f8a 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -105,4 +105,12 @@ public String getState() { return this.state; } + public static boolean isConnectionError(String psqlState) { + return PSQLState.CONNECTION_UNABLE_TO_CONNECT.getState().equals(psqlState) + || PSQLState.CONNECTION_DOES_NOT_EXIST.getState().equals(psqlState) + || PSQLState.CONNECTION_REJECTED.getState().equals(psqlState) + || PSQLState.CONNECTION_FAILURE.getState().equals(psqlState) + || PSQLState.CONNECTION_FAILURE_DURING_TRANSACTION.getState().equals(psqlState); + } + } diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index b5426cd2b0..fdf123e258 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -53,6 +53,8 @@ public class PGXAConnection extends PGPooledConnection implements XAConnection, private Xid currentXid; private State state; + private Xid preparedXid; + private boolean committedOrRolledBack; /* * When an XA transaction is started, we put the underlying connection into non-autocommit mode. @@ -172,7 +174,7 @@ public void start(Xid xid, int flags) throws XAException { // Check preconditions if (flags != XAResource.TMNOFLAGS && flags != XAResource.TMRESUME && flags != XAResource.TMJOIN) { - throw new PGXAException(GT.tr("Invalid flags"), XAException.XAER_INVAL); + throw new PGXAException(GT.tr("Invalid flags {0}", flags), XAException.XAER_INVAL); } if (xid == null) { @@ -195,16 +197,20 @@ public void start(Xid xid, int flags) throws XAException { // It's ok to join an ended transaction. WebLogic does that. if (flags == TMJOIN) { if (state != State.ENDED) { - throw new PGXAException(GT.tr("Transaction interleaving not implemented"), - XAException.XAER_RMERR); + throw new PGXAException( + GT.tr( + "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}", + xid, currentXid, state, flags), XAException.XAER_RMERR); } if (!xid.equals(currentXid)) { - throw new PGXAException(GT.tr("Transaction interleaving not implemented"), - XAException.XAER_RMERR); + throw new PGXAException( + GT.tr( + "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}", + xid, currentXid, state, flags), XAException.XAER_RMERR); } } else if (state == State.ENDED) { - throw new PGXAException(GT.tr("Transaction interleaving not implemented"), + throw new PGXAException(GT.tr("Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}", xid, currentXid, state, flags), XAException.XAER_RMERR); } @@ -222,6 +228,8 @@ public void start(Xid xid, int flags) throws XAException { // Preconditions are met, Associate connection with the transaction state = State.ACTIVE; currentXid = xid; + preparedXid = null; + committedOrRolledBack = false; } /** @@ -242,7 +250,7 @@ public void end(Xid xid, int flags) throws XAException { if (flags != XAResource.TMSUSPEND && flags != XAResource.TMFAIL && flags != XAResource.TMSUCCESS) { - throw new PGXAException(GT.tr("Invalid flags"), XAException.XAER_INVAL); + throw new PGXAException(GT.tr("Invalid flags {0}", flags), XAException.XAER_INVAL); } if (xid == null) { @@ -250,7 +258,7 @@ public void end(Xid xid, int flags) throws XAException { } if (state != State.ACTIVE || !currentXid.equals(xid)) { - throw new PGXAException(GT.tr("tried to call end without corresponding start call"), + throw new PGXAException(GT.tr("tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}", state, xid, currentXid, preparedXid), XAException.XAER_PROTO); } @@ -280,17 +288,31 @@ public int prepare(Xid xid) throws XAException { } // Check preconditions + if (currentXid == null && preparedXid != null) { + if (LOGGER.isLoggable(Level.FINEST)) { + debug("Prepare xid " + xid + " but current connection is not attached to a transaction" + + " while it was prepared in past with prepared xid " + preparedXid); + } + throw new PGXAException(GT.tr( + "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}", preparedXid, xid), XAException.XAER_PROTO); + } else if (currentXid == null) { + throw new PGXAException(GT.tr( + "Current connection does not have an associated xid. prepare xid={0}", xid), XAException.XAER_NOTA); + } if (!currentXid.equals(xid)) { - throw new PGXAException( - GT.tr( - "Not implemented: Prepare must be issued using the same connection that started the transaction"), + if (LOGGER.isLoggable(Level.FINEST)) { + debug("Error to prepare xid " + xid + ", the current connection already bound with xid " + currentXid); + } + throw new PGXAException(GT.tr( + "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}", currentXid, xid), XAException.XAER_RMERR); } if (state != State.ENDED) { - throw new PGXAException(GT.tr("Prepare called before end"), XAException.XAER_INVAL); + throw new PGXAException(GT.tr("Prepare called before end. prepare xid={0}, state={1}", xid), XAException.XAER_INVAL); } state = State.IDLE; + preparedXid = currentXid; currentXid = null; try { @@ -306,7 +328,7 @@ public int prepare(Xid xid) throws XAException { return XA_OK; } catch (SQLException ex) { - throw new PGXAException(GT.tr("Error preparing transaction"), ex, XAException.XAER_RMERR); + throw new PGXAException(GT.tr("Error preparing transaction. prepare xid={0}", xid), ex, XAException.XAER_RMERR); } } @@ -322,7 +344,7 @@ public Xid[] recover(int flag) throws XAException { // Check preconditions if (flag != TMSTARTRSCAN && flag != TMENDRSCAN && flag != TMNOFLAGS && flag != (TMSTARTRSCAN | TMENDRSCAN)) { - throw new PGXAException(GT.tr("Invalid flag"), XAException.XAER_INVAL); + throw new PGXAException(GT.tr("Invalid flags {0}", flag), XAException.XAER_INVAL); } // We don't check for precondition 2, because we would have to add some additional state in @@ -379,7 +401,7 @@ public void rollback(Xid xid) throws XAException { // We don't explicitly check precondition 1. try { - if (currentXid != null && xid.equals(currentXid)) { + if (currentXid != null && currentXid.equals(xid)) { state = State.IDLE; currentXid = null; conn.rollback(); @@ -395,13 +417,25 @@ public void rollback(Xid xid) throws XAException { stmt.close(); } } + committedOrRolledBack = true; } catch (SQLException ex) { + int errorCode = XAException.XAER_RMERR; if (PSQLState.UNDEFINED_OBJECT.getState().equals(ex.getSQLState())) { - throw new PGXAException(GT.tr("Error rolling back prepared transaction"), ex, - XAException.XAER_NOTA); + if (committedOrRolledBack || !xid.equals(preparedXid)) { + if (LOGGER.isLoggable(Level.FINEST)) { + debug("rolling back xid " + xid + " while the connection prepared xid is " + preparedXid + + (committedOrRolledBack ? ", but the connection was already committed/rolled-back" : "")); + } + errorCode = XAException.XAER_NOTA; + } } - throw new PGXAException(GT.tr("Error rolling back prepared transaction"), ex, - XAException.XAER_RMERR); + if (PSQLState.isConnectionError(ex.getSQLState())) { + if (LOGGER.isLoggable(Level.FINEST)) { + debug("rollback connection failure (sql error code " + ex.getSQLState() + "), reconnection could be expected"); + } + errorCode = XAException.XAER_RMFAIL; + } + throw new PGXAException(GT.tr("Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}", xid, preparedXid), ex, errorCode); } } @@ -433,27 +467,35 @@ public void commit(Xid xid, boolean onePhase) throws XAException { private void commitOnePhase(Xid xid) throws XAException { try { // Check preconditions - if (currentXid == null || !currentXid.equals(xid)) { - // In fact, we don't know if xid is bogus, or if it just wasn't associated with this - // connection. + if (xid.equals(preparedXid)) { // TODO: check if the condition should be negated + throw new PGXAException(GT.tr("One-phase commit called for xid {0} but connection was prepared with xid {1}", + xid, preparedXid), XAException.XAER_PROTO); + } + if (currentXid == null && !committedOrRolledBack) { + // In fact, we don't know if xid is bogus, or if it just wasn't associated with this connection. // Assume it's our fault. - throw new PGXAException( - GT.tr( - "Not implemented: one-phase commit must be issued using the same connection that was used to start it"), + // TODO: pick proper error message. Current one does not clarify what went wrong + throw new PGXAException(GT.tr( + "Not implemented: one-phase commit must be issued using the same connection that was used to start it", xid), XAException.XAER_RMERR); } + if (!xid.equals(currentXid) || committedOrRolledBack) { + throw new PGXAException(GT.tr("One-phase commit with unknown xid. commit xid={0}, currentXid={1}", + xid, currentXid), XAException.XAER_NOTA); + } if (state != State.ENDED) { - throw new PGXAException(GT.tr("commit called before end"), XAException.XAER_PROTO); + throw new PGXAException(GT.tr("commit called before end. commit xid={0}, state={1}", xid, state), XAException.XAER_PROTO); } // Preconditions are met. Commit state = State.IDLE; currentXid = null; + committedOrRolledBack = true; conn.commit(); conn.setAutoCommit(localAutoCommitMode); } catch (SQLException ex) { - throw new PGXAException(GT.tr("Error during one-phase commit"), ex, XAException.XAER_RMERR); + throw new PGXAException(GT.tr("Error during one-phase commit. commit xid={0}", xid), ex, XAException.XAER_RMFAIL); } } @@ -472,7 +514,7 @@ private void commitPrepared(Xid xid) throws XAException { if (state != State.IDLE || conn.getTransactionState() != TransactionState.IDLE) { throw new PGXAException( - GT.tr("Not implemented: 2nd phase commit must be issued using an idle connection"), + GT.tr("Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}", xid, currentXid, state, conn.getTransactionState()), XAException.XAER_RMERR); } @@ -487,9 +529,25 @@ private void commitPrepared(Xid xid) throws XAException { stmt.close(); conn.setAutoCommit(localAutoCommitMode); } + committedOrRolledBack = true; } catch (SQLException ex) { - throw new PGXAException(GT.tr("Error committing prepared transaction"), ex, - XAException.XAER_RMERR); + int errorCode = XAException.XAER_RMERR; + if (PSQLState.UNDEFINED_OBJECT.getState().equals(ex.getSQLState())) { + if (committedOrRolledBack || !xid.equals(preparedXid)) { + if (LOGGER.isLoggable(Level.FINEST)) { + debug("committing xid " + xid + " while the connection prepared xid is " + preparedXid + + (committedOrRolledBack ? ", but the connection was already committed/rolled-back" : "")); + } + errorCode = XAException.XAER_NOTA; + } + } + if (PSQLState.isConnectionError(ex.getSQLState())) { + if (LOGGER.isLoggable(Level.FINEST)) { + debug("commit connection failure (sql error code " + ex.getSQLState() + "), reconnection could be expected"); + } + errorCode = XAException.XAER_RMFAIL; + } + throw new PGXAException(GT.tr("Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}", xid, preparedXid, currentXid), ex, errorCode); } } @@ -506,7 +564,7 @@ public boolean isSameRM(XAResource xares) throws XAException { */ @Override public void forget(Xid xid) throws XAException { - throw new PGXAException(GT.tr("Heuristic commit/rollback not supported"), + throw new PGXAException(GT.tr("Heuristic commit/rollback not supported. forget xid={0}", xid), XAException.XAER_NOTA); } diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_bg.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_bg.class index 716ec83b3beeac14812964c71cc5dfdfd5b73236..fe5fcc860db5250093ea3295c6052fb6d73b0e1d 100644 GIT binary patch delta 6694 zcmb{02Ur!?wg>RFW=@%Nz{1)ph$3hZ6sc;gv5Q?SsGuT>fQTR<)qd<1Th@(6jWzZp zHtY?fMx%)(O=Ds-Ra4c(+-RD>%!zy4;K02uy>6cq_gi?t!h;qbvhc8l zM=U&Q;V}!#Ej(`F%NCxn@T7&OEPTbn(-xkw@Kp=XT6oUF*DQS9!t)khu<)XVm#ke) zQ)~{W+1Y7!;Yj-$?8+DHJLoxF<&CRxjknp&?Cx#$FnjVMM})Q7jPo{onZ5axV_b!1 z5z&nzVxof@HfqtZaalK~8@Wc)EY7Ppr|eL67lRY3r1MAJr}IVsLELCcSMJ<#IF9Ce zjT^R(3@Rv0DNJuQA$n4{6!Qy%#%89qnh>L_sYUtu={bdoQg5j1dHLyiDf#JXj~6tW zgs_r_G#=LS|Ih@_^zL7FDI&<=d&4u?Z(1gE)p?vUXDtrmjeSC!LJZDk#d!%gukh)8kPm_xI1EPHyk-U6lbiB0I&EQP66FjJ%ZwvY}6K z+!JXWJ@s?0F`fDNj5M~A2J`7zgW0QM4!7|Q;g2U5v5}io)+3=6a=PzIKGt_T?-;O( zOVSfD;_>Y)4lm_}gU55J&qi)IV-BC7Szj9n&KR!`6 zgcnzsz`Y};lzkQGjeM?4F^{X5ik&!Ssvqwibd@ire;N}Jo1dSXACy* zWJ*DLP-^bz(V2yjzx&5UMbLxGU6n_MRj>T7>&oIrCLkBO61jYC0Z$L>&2_p>@_kLqaW{hvT!CJsd5Dq_>GXN{9M!bSoL0o^Y~Qft{wli zYybTi8WR5JAsPSMlTSv|k6gLSfyDoZhJ5~*9(t^16a?wVDneaemR;K>WyVpNWrva` zBaa%@ny*zXF)A%dL`wbt`}R82Hlz__skKPmqWD;x*u& zt#{Y{A2(*N{AB*Nc}p%E@gi?k+c_z@(EugAxSnB{Evv?i2 zPR#)Gmw8-$LFiD~y%YH8mR5j;E1|MJsxPjFn);Zv^f5#A0itxHEpQ{W!A;N!H$xBH z0`a&N5^)<0!WSSFUxX}t2{-7rY`PO0_5UWlo$fQQS>RvwA6>+qdf67er>wcKpql5O zYs&S}x9PTY=XEPJAD@tJZ8zwB{^d0F(d5t4NBsS|_>{@X19-*j^E(Qz?qMdmqceh@&>2m^I%BA= zPERum(KM$}oh_)I&X!bPXIl!>*^V0MY)|1jJ5YqqjufdgmZEfap=h05DMn{EYN)e2 zHPRVJjdk{-Cv_%L6P*L8sm^3-rgJDY*Exb(=*;j?OU+1nN@pgu(wR@Kbrw(?orTm^ zXA!m2SxoJ9mQV+sW2vLgaTKd_GIi4Fq0aGPJ}`~C2-B&nu#mb5i>SM>n0g3HsHd=$ z;snn!>LqTV-oi%eBW$6*!d8kG_E0}zFZCA=&;a2eB?w0-Q8-Eig<~{GD5t@~2}%-9 z(h%V^B@1V0sBnpf32%5PMSPov3-3^>aGBDCE0iu=qY=Uflp$QFk-`ni6h5R;!bg-P z+@x&b7L67@rySu6$`!t(JmD)EBRrsd;YW%s5PzaV;b$rmexYLFS1J)6(pcdUjnklm z#tTlGAb8V6p#nEpQm2|9O_NG>nl99&8A1T3E~(Qngyu;ll;#WJR4PQ!0wIzX3Q@F3 zh^ECt4DVkO?deF*N+p(-3!P|%(3w^WUFbQXE3Fc`(Q2VPtr2?DTA>fE69&+FA%UJ3 z5@~}lkTwcQv`H93n}t!dMaZJ9LXL;FiMjNGkVh{HW9TKJkhTj&v_qIkJB3NKOPE5t zg{f2~Ort%*blNM-qJ6?_+Aqwb1HybdC@iEy!Xi2>EGEwpaS0t2R?snFC6x=$(Q#oF zy)3Mz6T%ugDQu!s!e)9!*h!~_U35m+O|J@NbXM3$=Y;+Ans9(#7Y@>S;SgQ$h==K- zaEvYq<@APdiry4np|^xr>22XGy(7F%mxc3mMYv4w3Rmc=@GiY4T&4Gg_vo7NK7Alu zr|ZHEx*>c>AI5vMAJIory-6Pnx9Ah$OZrs!iary*rklbybW6BRp9^>B3*jz(DSS&` z3E$Dz!ae#%ctE#>AL)+p6WtYlrf)R{(0BUT>|-F^ld6rr7wq(Rp(6btRHFMrWqKg^ z(2qhj`bqGmp9MeqMW{}{3jXv^s6mf}no7SGX#*6ZSWBTH1}ZegVC6xZ6zVFpiy;af zVyHr=7_QI~BNV#CNQG`ON}-n+tU zM`0By3{hBB9Hy|En4-{E9Int$OjTH2OjGDDrYo!=j#OAv%v2a4j#5}l%u*OA<|qsj za~0MW^Ay$*$0&S4^b{%#mO_!jx?-`y5V1sIs5nt!J#mu4`r>4TVWRGM196JNaB-@_ z2yuqONO7jZC~=O$XmPH>7;&+}hT;;1jkF$PwZg`-V2#2j#q|oCh|eo*DsE8NOx&oj zxwuVX3-JYoEyWiVJ|(`Su$8z|VQX=h!ZzYQg>A+C3fqYX6t))+D(vuh{2f!+Q5KXd zj1`Y7>?FRdu(NnVVHfeF!mi>eh26wg6m}O+E9@bjQP@*_U16MfUSTisg2LY7MTLFD zYYO{{A1I8M`Da{L*iRPRP}pDmTHyfk8-)qtZH0;A9fbqM?-ULa?7qZO8jF$%|u4Hb?P8z~$wHd8o3Y_4#k*jnKvv5msXVq1lekJC=!6sfmYI92SR zmrs*IM}^bHScNmhZVG3L-4)Ifdn=qR_E9)T?5l9D7_V@iI6&ciF+pLesAus4QP1Lq zVw%E5V!Fb`qMoIXuVj|$h)>IcY=tb2R`@qDN8vMKuEM2ap2B6~7=_Qqhm`^T<6D6v z4w;iyeB|i~tubD|ybpx7I277pI<&_u=zwFOBbGocPS!8=GodqQgbgX zGmpTt=1Ev?o`V(U8?e%R7oIb3cwm)z6IPqwz#8*=SZn?a>ud(Bx4GbXTV>c_^M#GJ zTCmAh7dG3%VT-L1Y_+w3ZMJssf~^a@XzK+p*#^LN+Ys1cOM{)ZEZAkshuyYuP-dF~ zdu+2|uWcdhvpoa*ZO_30+w*YHwha#1cEMrW0XSmwl*3WmX*gy(59PME;kfO6c-i(b zoUnZXCvA7(lx zG4QivEO>r#c;HvZY_F48A8n3uv^&nA!*LOvjw@(6ZlKF? z3*C-8=;gSN-i}9D!Rf?`&PrIx>5G+}f#~B5MRG==ayG>(&Nf)p*%_-jd!es00sWjq zvAQz@{hhg3!&&0NnobV}IA>!m=OPSrF2f+_8m#TyjCGtl@CoOB40e`dUFR7LabCnw z=M}8yyn*$dw=m3k2OBu=W4QAXMp#aav?^hg<%`i)AjVjs*wBi?Mpjd7Y_-8BtV-|M1Z-vv#pYH9wy<)srR6EXrz{V)vSwpzYZ11wmSJ0K4Ysp3V|!}{cChwiN2?rT ztuxrkx`>^vE7--lfnBXz*v-0w-L3oB!+L~0T~3U1Rl;5_U+nD)#6GT2?CXlccvn;G z=W2ufU7c}&s~0A?5-`y<6bHI8aF8n(2YXy4nB?-{5Z7!>b}ho8u4OpPwFXmMn{l{n z2d29AW16cR(_Lq9gzExkxGv*J*LBQv-NaF@+nDA00kd5XakSfkIqr&>>#l}*?pip; z9fJApNGxzS!9sUyEOK|kVs{*txCh`^cQTH1kHGQn9P~_Z7vn_tWSr!lg_GS2(c@l< zQ{1a@s(TYob8pA#?tM7JeGF&1Pvb221)S}^jC0)AajyF&&U4?!`R*UE)cp__csX#P zS4CXpRSg$=)xsrSA^5acB(hf%{F_&6e8#I2F7=ATWnO*pS^Y!CcKsuTfjcVeUsV9y L`u7QkR{#A6mT)7k delta 7965 zcma*r2V4|aw*c^acDBs!qLFhIE4Y?`K}E2~f(1pfAPQnZ(FGP*fn8jdCdy*N8Z}-u zmRMs+q9TG4Y*-SFn#3$7nyN9)v@fQr`C_8)o>h}C@4esqJ$`!rGsEniJNKS@W|rfJ zH9O8|A}-!PTE`UDS($5ugK*viRdB(?jBru$Jb3Vcw%#znnbXCbvl}uH!tI7;j$x@YURmo8mhpISL zC0A{#%v2SZs^qDPTUGK^rNE#R8k8b&Q@a(4MY--klS6RW4{G2QKV_Cu;-}13<^by; zV#|X?u3oFwD5ZXiM=2At^~DW(b`Fo|9NxJZCQcNAQ+svvi*XcKv+Ze?^lWPeu$JD<-oxH1 zZ>9H`x7K?|ZlAE!FOWNx-fB_TElJ!c7$G(<_zGHzu`^mKzy^!58H2^uuxv57VZ7+k zvyJ$!=~@vLS0bkNafnmnQpHHSyZUy!B_PJehH5$_2x~+$bU57>droe)Eyw0?+tPp~ ziDMB-!aZ=0h-m(n$Pd^nuDL42FtbfONO=!J#mUi4#a4fp7#Un6mPciaH~It%|NfiA z*)9V`Ooyeyll_)xl=ct{NBc*@>C-sUQ>xh(R3p55ul zv*fz$P8SVP@306ZuilRjh z(Bb;B`nht5YAxQA^7vsnR<+cYI1n4qvVNXL?pM{%?<~iz())_H&Rg}UEpcr0I#JlJ zv^sLEABfVqONDFjQgLNQmGGbB5QBOx@)Soo9S)nEGN;4hvZd$e+0w!+QJJ>XEQ>qS zDtnh{vt&B++zxAw&0>`k?CZ1DMZI;oGhH6DL3O_+okTHV=DO2g(~;D!Y8tTUkHPTWRsuN#u?^ROvk-TAM5$dE3Y30L=5& zS-dCYDfJ8GNpl~bP2(Z=%6xlrgk%H0!ICG+U&()mWHU0iWUv3~mv01Xv8DB~l!VWbw-Dl8{nsu1Z{zE&e0Zk#b!LC@ zbEnG?;k%#K?y~Bfr?epY4=)tId3HmxXqKBSdvi_vWa}u-=2ndWHe|fRnv!j!q_)dd z<;r#09%f5^Zkp9i>5=b{%g*7;L`oc)-Es-~63uPRc-+PL!r$3gbk5=;VOrDX4`HUuJSxVKZg<$_rDRFTw^`EV1!ZBOb!N}8 z<+-gnxm~CyVU~nUnTx4b2d%mkn@n@r*F0Y-uvqhaXUnnL?tNC~gv>;Fxk~R5F)*oR zE6NC8q8ygVH0oDcx;`3L8cJGVb+U7HRA$A~);ggJ&lXk12?9d4i{{-si_3l~LO&}@%r4pp z&BQimGdc6^#Z_l}5!B;MVDmURe!lf@&CZr}KgA}8+(xw@SSL}^rIR?*`69%KG+T`P zT&>KQS}}ZFkyubNN=$6BPJB3Fp7t9h_K4QB@cuRJO$&s6@-|gEUprbFZ`!!xJev3*J_ga;U@~owzUHs4Dj{&p9o~M(< zq2Uv%S7ww#b=&zRAli7AdtwG#<)!6~xn0Gyo-8F1b1a22VXP^#Y*U%EM9CqrWZ2xX zwj%e?B44eOWmK++Jeyn?vT~+cWkHoQEWBG~-cXsM$6V!K&3O;X*;_1U?NJi>l24u` zQ)oIRnRmU+$dj@{9+T-pHSn-}KGx5dJ4frwWd^MLpI4{K>8pE`0(7-n-^U&D9$%tB@Q>Ti)DFv&|j1#g@|_wUlMD&FBkhgBgNgwiK0ou7b3#7 zPuyyr$-=^9RNFZJ`~W9Q_J^VL1dNO(yeQgtdtPYzB#E;;QCv%2D{k}{FZ^-au&D74TT!m>0b{YbT(Zy> zX3Fufq}fuPY4ng!&9u7Y+n;>)%erf|q`RCs7ON%O>dLTLoGJ8Zl2e>7JZ(e6>0OU% z5Tz&8TbbRDp6>LTb6ln_)u%_PD@&F**|vo&7fmMQ%hIy8yCuNs$S!{T3MH!$mHpmf zUB!(-O_Xx)Dp5Z_Km>&ai~O+0-5$=x-vyE03w$pUbN_zH@=cb!qI|RRwR5*@kr-Y6 zWAZ_$VvGT60rEvzZs{4&+p>(caxYN+2Bf;sSD5A?od`!Bo+P6p_m09brtzJ6PVVdF zQAfubrl7X8e=C1DEjBF*ZgDbKJ6&7UQybVsJ3TVcUzxX^8DCq#ls`(vM~gzHQG?OU zU$$MvRH$Z+WIvih4QnNP5hR-qk(cZuFVhE3umMoVqTwVP1*cd%oMsc@44VwEvQ&7D zWx-iEF5A+|Zk>?->*RUzE`)V)iza_{8qUjOr{pK;H>(y0c>ey)d-CdMWLpn!r`-Q*0_@D{LlXAU2mV2wTY5 z8e7U3j;&;jz(5(hV~~tJu(gam(IR6nY$IboY%61bY$szRwwG}LJ}IMT2nI`rVu*~< z*g?i&_>_#JFjU6T*ipt<>?GqD>@4Fr43jY)yU3V`;WAFZ2pK10R~aW^HyI~mcNvqg zhm2|1Q$`#1k}(r|%V@`^Wt@S1WX$qlUx^F*$(V=zWt@ePGM3+ZVi67{7GpHA1cwnTa5%9NV~904f>?_qiFG)Ncn(KPJZwG2((VQvLp+ah z#AX~zY{PNHc8n)>Vgj)X#}hAOBC!`I5EVF)IDnIgTAWNA!6f1oP9aX?RN^&ECeGqC z!gCp?lkcFFxQZ#ndzeamjA_I*v=KKjo%j?ph|e&S_#ExTO`Jh|g;~V6m`!|#Im9h= z5I>-k_!)DFUvMVz>u7Y5w=s{ngKpw3<`chT0dWrtC7{J3LWjkKAI>5gUxSdGG9mF(zfk?rfL@Mqg(r`Cn z!#zYgzDQ)?OGKszUncFim&nF_L=NsJ99Tg(@c@yFmBdUuNEBcdQHa$<5gsCn@h~wP zYlu1c3Q>x+ga?lhWq6dBi^qrs=s8X<#1q6~tRt4-Nn$mgA_Sf$*5DapExt;u$JdAr zc$V0P=ZNk2I=EG`>%q!w-np@k8P~enecrkBN(Tjd%mE6K~=t@gC`0 zc!PE?H75<0w3=k?lE{$tOAZkzpJfkX<-5B)f8;8Pas)(1`5G!Jq8K0m5?*I1Vkzcn+<|1P+1Zcn(42WDc##Bn}pG3Wql2R1R&) zWDkdSv@wlCdoqo~lcbG9FqzIFgv{X3fz0Ia6lv!WO3vWWk<8-IiOlBEnatr3M$YEY zg`C47oGj%KLCWiP^;yQD8*R+x(4Ab$p$EB)Lr-!AhhF4L4!y}$9G)hh<AB5BZoocCJuw89?kO{qUgY84nxQ-9EOrxIYg7&I1D4V za~MwU;1EN;z+nWrlfy`I7l%>gZVsc#Jse`meH_M+`#HpsRUF2W)f~oA{%a0#h^GUG zIV6xrIgBTdaY!W3aF{^8%3&gTj>9DKbqp4s( zuX3=G?{P?>^{@GmLnV^xKXAw< zf8>xu{=~sS{>;Hi{=y-b{FTE@@-_#Thc@nT$RqD^aFf4t$S3b{C?M~1C?p?nD3U4~ z4#lLxVHT<7P(tcB%qI05=8y&srDQ|7&dDb@l#$3`F3IKbd9=}(!+f#{hXrIa4hzZV z9LmXH4vWYT4vWc94ok?69F~$@IV>Z)aac|c=I{&|#bE_Ggu_a5D2G*KEQe>wF>?K{ zrj0lbf*i|X4VlPcEjfY1I&vb1=g3JM){~PtY#@_3Y$WBn-bBiE{XCh%VKbS^VGEhg zVJn%zVH+uz?RGLtuEQO);o$HB>Ey7JbaB{4=5g3f7I4@@7IJuzEaLDISECGICaWNVZIY^_qm)+s00bINOMz48Xz zpj>7fl@Hh^;-Kzwo}`h?a~Ib-P+D< zkG4B|QQMcjq#ev&*2b{C+BmjPJAv)jCbJ5yjUCWtvr26qJE)z-s+1BkY*=6g#fFUe`5d=XEXF1zlTqQTG&kLl@58)b(O-=_1)B-B9+nZWQzC z;#s|JGP|s^vUhZu>|LFcUC|Y=tGYStJ>3HKzHS-&K)0HGsN29k(rsfOdvtr)HC+X} zt~<;=(H&d>?eI6_OpHv`$a#T{i+|sZtD}-9sN{xSD(gy(`T`N z>s{=3eKEVIFJqoR^o!V^`W5WHejR(D-vUg(8$hlOjlKpHeI01^=Rl{w1bY2dFzBy? zs=o?+3^(B^!z~Ck+<}gU`_M_%Lua)igsB10MGb;*H5ek)FzBlGgl=jibXTLH zhZ+k#)kNr}CPQyE9iCPl&_^wRzN)7b`l;p6UtIx_>N*&pZh?X7ZWyFiz+kloqSQJV zqMn1H>LrL)ufj0(It*8DLX3I~MyPjSqFC6#zLYo5hfUuVWKe|CK(+t*;oKc9%Cs?F_yzr;|fSNu7hdDEim1<8?43( zNHNwxs<95zjOV~+yaegStB_&54w=TAU^m`^8OA%1WxNmBCOzbs8iKziUhYQ8uCrCP+&@gLQ^snnbM)yR^HC94s_lf^ySUSY)~mi%mCSiRl(BHQj+_ru(qmtcPdJ4Pk{j z09KlVV3j!-o;8QTYI9Ez=15p$j)t}7SXgIHgy+o3u-=>w8_W*aXfDWwP3BT~-dqlw z%`0Gwc^zyuZ-H&*-LTzU0Xxh!@PfGxcAC$@F7qYWZN3V7%-7*X^G$fkd<$MS-+{g6 r`>@YX5BvQZLWN%d9Pn!)i?asK$-n1l;C1=;C&o?+DbDt}D-|YEkBb$V5-XtYLwhE11qfvRqzC-#c*IfiE5S z%7L#P_{M>69k}DbT?g(tS~C8uyu8&)Z?%f6ttPda{q<3L7iax&4!`kJYt&jlwN9<) zk9E4^oZ8^08r4SDcAbAtdZ*0vj81W#GxIuk;idNHJR)@&r@0pJ;x;3XFHG96cyz1w zTh<2Q}3#^kdKKFk{e^0~k-m;GZG@t18Y z_)z;<{7z6d-}If#N4@9s)efWi+t?mF$iIxYQwNp6ErAJqJ2H+NqKdiMF@@U&4&z&) z#XPQc#qoP#4;8ogXK~xMq(}bwUG&Ig9yNU@d>|-y9a|u9!ZvVtSl=@IZI%_}X8tG{>uq zA4T-nNkvn6oPRj?4$I*?5wV=+n9rMHx^chOt@&>ub$leahVvuqk2l8eRUA$I_+_u* zDv3YUN$iz&dF*NVqyP$$kiWTXdC9i?;ibQoy%{5GnmK_sjmv)Z{R(U(&ytoAV;U%t4PxhDt z_C>Jt9XMnbL2~{GnL)H1HWufREGOxR_mGG8(F4Dev6nFrAHaNQ~~E1c#V)N@jfQQlpNYzuE$*8HQBu^$NcqGpMc~4$C{yc zWRf4sX`ftmwET+svfqIE^++ufGhYsw+%GrOd(M-o*c;_GybEWcOMA%2?Xt<&?P^7S zZkHGNyItNC;C4AE(CrFxP>|F~!BRgWsXv8C11MA)NMX_-3YP{`gp{bYG=$nnLn%@k zMp4pmik3!Dj5LyBrBT#Y8t0)nA)ex;?Wmo!J++r6QGzs?5~XRBBu%Ge=~I*b zjei^G(h?SJ?jxFsZctR21={wIq4)Sl1`>U(kb-3w3-G>Yp7T{mE6)=8X~Qu z66s7DDxF2cq_b(bw4O#t7tlzlheo+w!Dyh-hQ&0-u!P1MJWFYuaT%2wmeY8{Mk+Hf zl^eFw1j9C}FuY1H7@DZk@ET1t?4&BgE}CT6O_L3KXo_JkRU7tEjbT4cH5{O6hGq}F zXndWf8xGS9!x5@A9HlzLF`8*;p;?C0G}~~7>J4XUj^P~5HJqn;h6^;`aFG@m-Xpok z!T5+48m`bH!^hNM_=G%*jn`<2;W{lfd_l_$w`jTHOIl(0idGu#(kjC}T5b4_))?;7 zTEib`o#6*sZ}=x|Fg$p|zo^md{hKx#ej+yfOq(9h?ICS8yN_s#pg=Df6m2zFw9TOD zWrI!I4Xx-EgBR^Ec+;x}A8IoAJ|Tc!Gkbxw(-1_v48gS9K(xmYLVMjFF_iY1-7wm3 z2&V&v2x>O8rh|qybjT1*uNz|Mupy3)7~<)uA%Tt=5~;`BV1_(u>g5O?S>Tt-1IDvjR{2J> z#Y=L?9f-$nv_mu6<0um3^ojC(N|Gl*vaIJRvY>Xrb+~X#PWuhga3AUTBc8%vj_iA)uUE-DONRTQ#RJhD|Xa#T8URVMOOE}m9B&`tG0zDE_JyBdrhY8akT zV^E;V(Nk5Smzs*+st$eBT=Z3o&`&K#f3+3^6ysU74TY)+1JzzUrw*Y=?%5!963?r5 zF<4zdvAPVm`UFGNXDCs(F;v~bF!eo#s~<5!{R1P_&lqJ{7;QP>8Dj-utQCQARxC=b zM2xr6P-bPK+{(iQs{j>Nf4pD~LZvkn6Rk0*vL;}XH5rqw>6l{GquN@C8f!VGTI(>) z+Kd;iS1{e$jTzQK)XGD<&N_ve);Y|wE@8HH1@+bq%&~4`u5}mltRFm>Z~X-etOxK| z53x|U!XoX51|5RMIuc8CJeKMdEYlsaTxVg0&c{mK8>@67R_kJ{(Ic={mtvi+#ClzW z4Z04EdLB0F#bCV(n{*>K>#f+LoA8p}hpqZBw&@diS)ajneIBo9&t>e;SMjR;98LOb zyr%DCr~VUm>Az#Q{t0_*g}t@|`|LpMx5IJ3jzP1XfP;1_4%waYx}A%|_A@wQ_rp=U z2*>OawAiEZhFy;1_9UFJU&NdCY`kTAaME6eQ}$ZCZ8ypbv?cEgfJL|}FCLIjwR-&i HBAfpOHS@G< delta 3876 zcmZYC2Y3}#76|K7~pnK^T3?%c;ctD>;u zm4~mFg9`1$!BDsaUxdM%a4QT#;Y&66=+Pto_Ek-|9R@Yv>rmQur{>Yoe-#%-*<+@m*i*&OJJ(NK?BhQ}t%@J0n$UVRK~rW|?ww;<#Xn!}1ncUW5L8xwhM9c)Yo` z*YMj$x8x3n%QoD$-|z)I9@|TrMV80Tb^CqE0=kW{yfZDsSG|A0aOYN)SCv#8GTc^G zdG*e2YU`r?0(rFdH@h|-?Y5?SET`X+$LjQ!-_|dd>CKB})3^dz+GM1hj@@JpW1Q?& zYrYJ`r^_RlOSNap>j@dMxPHDo65U5Q zHMy!=(G|uyJa(Strs{21VZ|Z8JK(n;A7OHATlr(1F)|RkN)8C^7#TJ;$MRa$+XU!C zU6zb!FKWhPbmm)bm*Ml9UVpoQ$H=Cle=Vq?!z#!z3m$JavK}`MJTB=}{6g8Q#snD~kty%D zm?4+N4wTz9q`}?e$V;Rj>S|sfU^tnm#{0Pq{wBbUH1MKi56Q7?n1> z{gC0b&(B@W&yUaH3I3sblZ^@aw%hNu3j%q5%b4jhjXcZ9E37DW+trnrhWWS%pT}EK zQsk~Er4`)l|IY2H+MG+zTwz7Y&u8{Mxsi0*2BY2iZhM;B7-{+B_2wPqlBiU9H+r7z zl`v9Xi0LEWZR8ZmGBYtoepI)=%&TX~`{7w~WkNqWsdjf6-`HQ~Yq?j*g^>Yyz1}qW zypbzgHJKkAHpHEs>&~U3i_C(6Wn|j{>aT1bOSy#>-Oxf$dl&V8vN0-$I>%|cd1Pf- z^wfF0md|q2gJ+n&>ef`|kPM4D!m3>1rmM)YUDTMa(QE(lXf};iw-r}db-1eh$83iqUdn-J!v>Uk0Pgu)JO>cv=oU zbcV}v+Ah9(&K%Qg(zx&%RKICtd+kE%^8(X5#WL(H9x_yKT83p;uCVgyo|s&+GiOGY zX=GJy%`pqX3{ICAittCEXS@sO1?iJvtlO8@{l>QyjG#? z9N%Ad3t1#u%0p^Pc`Na9`Xzd?0?-`WvPY%z4cMs&Uecn4b1A=|@y&;xEjANYXUeh9WU?N+s||r!t;&l%81K8xRsf7aTkbp+l2Y409xDSj&+Vff!C1g|#UgU>(Ya zSeLR9Mo`9MBxM33Wn+w@G%%X73D%=*j`b;9U<_qjjHPUcag@o}fU-R{r0j}~C{r+= zvKJ-p6J;@Wb_A0m=HOGb5X3Hyq)3>HU72~9!YssY z%nR6^S%f{9#n_WsjlGyPn98ih-i*XP%pUB^?8Sb}G3?KjVH$HB2QVjaAQOBI)7g_a zh$+Xx%sCvwoX4k`3y-;oLwTtJhcT7-3{!;}%q4u5c@u{-Z{Y~$GLB@fpo6)JqnNjG zG;0!{?dLaWeA-W-?!)$=t>)=4*5^ zchJTB2`%Ou%x1pDDa>8WVZOs)F8deEWB!Ku%uiUr+{Z%Z0lJz0pw0XjJa0XKgXENb9i=MwoQ5$D7h{a44&S9dldRsl5%S-if z9uxDJ1f0)Hjd1~E;6kPezQDA^MNBJP%p~E9OdDLnbi$=fXI#eg$K~|=MT#_B!Hem* zk{N`nn8CQ38G>t=r*SPa6eTkT*D+&pJu?nBFynC}GXXa-6LB+>iCY*Gw=!9{jd9|3 z#)U6Al7f-K!X3PrjXRksSijWv6894Do0Woh+n1;wFX?E z*Jll=N&mv>H5y63^kX25W}8~jjMlV<+B65$fi6%NdeRKhk6H`@gl8a%=7DG!5A|R& z)CY_9%7<8(3UM%vX0T#t2n(Q55SGxPR?&2_9vZ_|FrWmQzT)f3pfWY zp^B!PtB^<&No#udC&3rc2JS#xxC`yz2S|p0P#F)PgAmYB)Pzo=Hgp!z@RVo>T|`sp zDq2H|=m6bB3Un8}p@$d#eNtfUWKQ{2^cEQz%Wq(&xk9KA>M;$#m6vQdhKhY9_p>PJtz=8~@hp)Q4$>Ka(3Zi3b74p^h^ zgSF}*km_+*r@jH})r+t}y$l=GcVUxy6E>^2V2k<Ue~H%&>Py@a7McUXSGkE zT)PeDv~S_O_5)nd{s|Yg|3XEG29+VTpem#;{l8bCUot@XIsGC68U=zzM)l`^Ulbma diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_de.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_de.class index 5e792e4b57c70f968e3d49c3c6218f8fadc645b8..24b7f7952a7e2bdb918261cace5a69c448350227 100644 GIT binary patch delta 4409 zcmYk<34Bf0_6P8_&YVFc>xdzfL?%LHFoXy~A~9#Ui6LT$2#Fv>P~(lcifC;$RBLQa zZ4JFjAF8UYscNQFjYTI@X=$~1d-2}?|B_FB-@WeHIobQ1d-GXm&snV6gU%z*cI^cf zqLorNjKJ3J7>RA%!42E0&gajc^C;QGcJ5$cdpCJ3#l%z#J6M=zVY-DKE$n1rXA8Sn z*ww;r7IwEV!@^7pvnrgSzFW2=rUPW=AlEtF1lS1o$M)VKvs77=z6UjYmiu^Ed zk>VF2&U(!k)dJped8VC1v9+s1#Ke|~=2n`B?U^sW%IPO+dsGOYpnP#SDobyiQ(Q7y z{FYQx+^>}()<MRwp_H+^BwN8}Ob&9sN zkBj1tbFqb(+BQ<$^d06^EwgNNNkvK7h{WKDv6BTRZWKk~3&r*H4B_6`DL2tXtO|Wg z+{j(xn%~KV!mCaN`isgWKd~k%QXH|;#kOt^krj1pDtri$@2PJEv+Ph9HZ z5Fy!tVnI--tFnDV^z=wAswgNK_Huy}Qm2T63DdY!pwLj2Fe3^Tp`E6=I~LREbFuC&Fq84DKg# zd{7lsM#5DNbdt5DR-1ity+Zp(Rfi!-MLH zyqr?;W%3d6Ja({H-m+Lc@b?#6GNMJF$bG`6ZZC1Zd#o$EnZF`jwnN-c$rV<{deM>M z#H_64!Y_2D7~Qm&%c!vvMQ3+E(J{g4Tf`7 z%*=E-le(cOirbDcFJ4;JGgGu{nI|&63&o1q0x_}2KoOcdOw@_LEIPM%EGpa1z<4>c zhH%fy7I7UD#AoI>;p3Jn%6s4M7lDxgfZ&Jn-7iN5Ab$j8M$0Nt9zm%dwG)(WJP{ke zoFr3~RSd?0@?z=%SsU`z5e;{MO4^jx0Y2yy`|=|ECXdtxXsO z%Nd|PRTlP%bn^Mqz(=0C5m@p}-WUV51ZaybAPrkWS4;#4 zwt`-m1bNsR3b758Vq5te0GeD?y!>f`O=a>XLU^T8x7}d$mK!m*%HqEpNt8#hy)2ty z^Z(5M|4nZP>wo9+)GWEk1i1{kX>qlWZ`A)>4!JP?vM}+#*UxkL%Rg;Cl)Dyn^J_Y* zIikGX$xEgORhLQREz>3+nKg)H`jRa(jB3aXCtsP3siw>rswJ}p)t1?k>c~tYKbft` zUuJs>keNb(GE*r?W(TS(GmU~}rc;Q_OseOUWKpQhYzmX z<{=d@k7ywCmG||iX^DeU`C}Oj77za8SIu}nCPVuDCWmG*xip)}r&pQ2G=~{RuQ9`EE>lkP zn9($!sh}!m3@va(Iel;}z0T!0dV`rn3z^9zm?^Y~anhSiB`s#A(h_C{EoElXGG-RN z#ms)mtF)Y}IrKJDMei^RXa%#7Rx*NCNu0QtR&%+8)-X$HEwhZ?W!|Run0II$vx?R; zt7!wXhBh*5X%lmR-e(Td2h0)rkolT6GskEPbDXv^r)V2Gu(0L}2E- z7Tbw#JlJKUJG`5DIv1e?o&7O7ISceDaZS-R=*yzt*wlRRcVq+kC!^R-?rj2#kTQ&x> zKiU|=-nOwGd&kC5_P&i_>~A)PJEB~G|JN&Ni!od_1qPV%+f$4zTJJO<9;-nUtN~5Y zADUr3XpRjaLH0Z?WRKHQ_A-gs0a{^KNJ0m+#yn_)1+w=khGZ;*b~qN=<77y|8IX!| zp#v_IJ<&2q$5qe~*Fz`V44v^~=z@D>pY#QE!z0igPeKNshfKTzSx&qK*?31bP`^VC z{tdZ`0zDKr=&5)^FQpdrR)Qc;35PyPBgj{pKwl*h`YG+8ztRx~C>cqDg)15?%J zFimX@)74a%p>~0pYBtPLd&6vX0KBRWfjR03cugGxbJa;OPn{0))z_d(eFGM#OW}2O zr4!yz*TF*dLlEkASfuWTH`V>HSUn6&)Dy5&{T7y~m*Fk-CM;KP!`tdZct?E#D>Q_a zngy%0>abd?32U@KSgVD>yIMndPm70jT1!~3CBp_S9X4v+VUv~%?`!$+fmR3~YC~bO zHVU?AufSH#>4a_CEci&94=!yHY}b~<$J!d$p>2en+E(~P+X?^D_QEdhE7+|ag+1D7 z_*DB2_G;JQGwmnXr`?0kwMVdDdkSCZ8hojHz*joK0lf|!)Pv!W9tnr_#&AS$24Cw* za8yr$Z}iS^OwWSjdM`NP)ceCpeK4HThr?;T0?z0Y;jBIl&gpaDTm5x7uP=cM`U?0? ze-AF|AHesz3ohxq;IjTXT+t7~RsA?z)6c`ZcjFm)m9URceniC$(9RyQM@=xsJeAG0}<*#>Ph4QrU)(bw#OHO+ol z%N&fg%@J6~9E*PD6!bS|VSrhMf#zZiGFM<-a~%eon=!=Pf%VM27-}BCF!LCOo98gX kyo{0NEv#?e#RldB`8=h_hZK;Rg!QHF@-f5!U5)_$4bRU&U;qFB delta 7351 zcmaLa2YeLO)&THx?zS6ha)uV_074*;gwP2!6+$S15W2u7nIub+-LShM6lFndSWvkr zASxi(u%HCRf)yM3eD+?RSf9N;^%H&aowJF8?|r{7{J8&}*_pXz&OP_;<|BCIRm^>`Jc(FEtzpL}zb>IyZ)5@<^nO5am zRcPgCRjE~#R@GVsv|6rJjaIc<)oB&fDx_7tRx7j$YZcKds#SwlE46CWYL!;2wOXUq zTCL8~>TIpnX?gg1tu|N>4c*&w7OlZJG45W)ty@1rPV>LnzTCPQ|`Nc>K=2cYZo3iY3>75 zf^*tnDb8)9?p61-QTM9{%-8NTU8;_>Q4gwzOkYn~+mUHQGSh~PvNMNe4I9<8#WNf` zb|`VeE1j@iGHY5%)E{-S?6pJAHZuw;&2Q5i&GGgH<^ta!yG>zmrN1^%VOQ4rs}Pb( zgH=b5)J6kUPQ)(YQ|5TDsU|Wb&%D!b*Mx5Q;czHy*N2^Ye>f1VvZG;tFyb$d20}rE z5jjqv&Yl|zmpNf45Osof1y?^Oen|~qVs_2wVzTqQn(&}Q=6GV%^dCIgB#vIu^l@4e z&TgIOME!xCnzp^W znfwuT=BrLOnqF-#HFblRnT^(F6Dce=Kc(+6$A?$6Yg-(O1f>1V!xI~Qjyay4Y4)Ww zn!O2=%<@hf&6Y_eO&8@JMjUODx^^+=C9lPNvqyI@Yete8)UiH$e9K7lXh---5gwob z4^uQ`k513DD?;%$M;hwuL*b|$Z49N=SNkK5T^_2d3q;cqCY#$@cS)~t0zt=K)93`` zYkmQCjuVL<-N)~uf&0CZpE$R<0(q?IVO1JM%MEpT-lX@6nwL6mH!rlFX$I(3vDLYu zV9;qEys%T*5OFHf?c8doyvB}J`?(F(j$Iv!M1%f1$My#+?0C!kVQEu1%s0kQ{&{IV zUs~sn@Jp}*5!+v0?$k%+Rm{mP&L}MAd;X{_!kyVN*NKJ80>O%Sqn$AKr^*RO)9s_z za9q@fj~=Py$S4Uob_M@0lKN`6J%K3qFlbL{X;si};ATnu6!V}38|v!#WBimq5{aMB z z-J?0UD;naF9SS;sc}>mX9j}?+Q_C9){^b>!-7`8H|FG*!Y0_fzSXLj?d0=1jUH($@ z&G`AobdITvT(ka+&SvBACFa7`Q%v?5FPkU5QFAc!me|l}IN(%B$dvnQYi)-+-x!Ei zhZ>^IuOw0*3RcLNN1}cXBDn~mC_iF1HiRo2TOzNaygEAA4pnmyRruF5R5{g0?+NqR z2kn%U_+2R}Y1s{x;f6{+!4;&W*#3sfH4S{iF}LJwGKJlDnsxR<^I^h^=5W_7=Aduo zsN}yy(sB+Bry@RVJfz)ZtXp2RzpTn>3^);|WgZ3Su*n$zh#Am(u^BV!;^ZYW{yJ^5 z?BaM5ag1kLMpnFe(tVE0zoeA<83FFqsreq@NXp{ox7?hPV%ARU7mGO2HBr0K;gJXq zj)#?m)@f;>dDNV!!>!IM4f@M!xt>sSUg2ccJRutDD>$ThxEq38V~{`8)ydpoIon8z zu%rH}KRREP#{pRyzh!arE&hh)z$|LMFU0R;WvI4RrZB%cnZuDff4GLbz#j)p94P77 zuHm`El?I!;DS1xXBi(H2kJ;5L-`tfnD>kh#SQ!X%TD3V}H#l}Bx0AEBe1 zCzb!%C6k=F!#p>5q1oAYmQh)`Cd)V7eA&0uZ0{C}b!pCt@%ZNEmO0!%M`i=B2q`JK z@r21Ww*)=+{j^BtEW?o;EgD`O5AwB{ zXWNY&RQ@u~<+2pnxsv3noahW^RWyH9d_9rr6|y4^&rHq&N~&u&h3gKZ9K$ql7p-nDQwYZ`1PTN6~Vw0bBwmG+Vu9-RZ8PhjqgPG80MN`(mL1>aX~zUjblgsKihyI|G5o__*XjhA?}u}nd4;xFr|3|Fx!bnC0Eop1Z!ln|7F=9!WXwa zea99-NG$zx%NF0UMVcnJeFIHlx0&uv9KYtpoQ~$b={?QyE*DQpnd0#B7KsMRsz&~CWrW8mVmD8{j6XuhWVcH;J35YOTHB)u&5C|CgL~v~^vSXn z&*f!ui=1wgZ8F?H4E!UVQ$My6yFTMvx++%vRFEMjF++hZB%pYp?ikUoNh{?*n z$*A#ZrrUr^%qv4L#i6FR)xkuj&o(J(sfKcPniB(hm|1CC4UW0aoE%nzqgu9P%gskw zHD+Vt60>7!t@&tVsrjh;HZy8!nYn2|iAhOZj2Zka%N(0h9Lp^YI;-mAiyFs)Y;7B> zxzU^!%R}+iw!GRO=It%d5>BmtyD}WAv;B6hKg_$cP?;=;{6ZFRbn@PWw>rEu^CA{z!Ykw3#^rWpPe7*N$;a z&%S44fAgKYzj<%Qv4Ucp1po+Lk$)HPCoiDcC|u>d0kh>cnMt>da*i>cVADO6IZ`b>(sh zb>lLVx^p?4dX%Kb5=T%^KA1qgxSU8fmwD8i%Y5p?WdZf&ax$I4UYI~DgozXuCQ(Glrl^oZ4MHxh6bh(Om`tmLskB;%710`T zHmwy(=qzCloh_8oI$;ULgr&4zD5DKRIh`X^&_=e&)X{}PkTwY+ zx=5&}i-i?2x^kv!+9m9z-NHWFBiumO3;SuWa4YQ-?w}il19YQs z58WgjrkjQP=@#Ju+Almpw+fHaZNiguyYLjYV%^p-G(-WE#f9bqxOE1XI12}|f7!cux) zsG#G56Q6{tl42joVHJHSRMSU7fIb%1(I-NTJ{8u}KZOnSnQ#$(E?i7s2%G6k;WGM4 z*g{_mhQ1ND(zn8u^qp`OeJ^aIAB1b@Uov6Twe+KK9sMNiqMwD`^gqHL`bD^&P6&JH zS79IhCfq>(7H*{9g`4Q4aGQl7-fkg^2Q5@$lZ7tvkcDpXZVNq<*3@Gbdga7X3w`2~ z7HaV+3lqerEo>zov#_=JcMIEy&s*45e8IwY;)@ox7hkh5QGDIPB=Ic^NqpNvOMKtL z4&reOJ4#wtA6eK*PJC=(XYp$byNKUdm@Iy4VOQ}x3%iNmTi9Lv!NMNmPZstRf3~of zc)~(k{575=)bAGdmcx@4_F-Mh!oH%*!ZW0Pm)pXAa>8R_f6;4Uis-X&fY{E$fns|L zQ^gJz4iYuhs%jv z3rC1~7LFA2EgU5lTR2*rW#Jfcu7z3RJPXH)^DP`FF0gRCxX{80;vx$tii<6rB%Wzu zwpeCij#zGCuEd{fxrKRRjfMGQ(82;SWZ`6SrG-<(MhgqYRTfSaS6f&luCZ{MxYoky z;(7~bh#M@NS(4fW_~$0mGXZDvCd&&x{?`UHn7Re~VjdWZtzj4@!Eo#hBd{lo#C|Xe z2g7I_24gUbH;&mb7N@{CzI{CJ&nEDOaw2aaCt(d_V;FL9HRR%Y$ioXDA2;&`^GcYE z*T59q3x&8Jrg9UC@Lt|@J`B_GNtl7p!AyJwit%lj6~hl;Hhu;r_$|!ApP>|ghq=lF z^Hdv{uPj)gy23)$8y2YnuvlflnQ9~~QR88$%7bO92>fa`l&J+!u9iWCsscv^p;9$K zl{yQm)kX-Yi(t9B0&3KDs8ze5PTdGWbvuOAA*fdmKx~D248rOdMAQoqRj)&XdJk5r zkD*b039Hl(uv(pfH7zWMb zxn{umu2Q(bwHPjRmBS|2a=6H~0xou~f=gU6xYTt%Y<67=m$|mW<*uDExWaWkY;oNJ z#&subbsdH)T@S%kt|wrd>u<2#^)l>my#-ghj>AsZKj9kJH*l@%C%De_Z`kE_!)|wL z*yAR+-kl74-8SrVr@#&Fbhyzy0&a4TgPYyCaEp5??03(CTix^FHuqAv-CYTHxa;76 zI|_HYV{73q_c?ITy$PD!m%}0VHn`h;9o*x-0S>!wgL~agaG(2rxZnLKJm7vBj<}zP z2i>p1L+*FsVfRPyi2Dn8)crj?=KckadH^2x_}~doJ9yI55uWmNho?P#;g}~Cp7CVD zv!2oLH_t?P&Qkz?_e_W9J#*lNm}e2Z=qZDjJOOywQxC6r8sSyXI(W@<9=z_k1m5r% zc++z=yye*gZ+mWrcRUB+UC%x6p65aMhv#v4-}5XS_q+rjc;18$J@3Ouo=@Rp&)4vY z=STR|^Berr>w?d`t>AMn?+m?N;7e~W_{!TKzV@cUH{Rh8`_?-azVqh5_ufMI!CMUf z^3H=Fy-VOHuLD1OYvF&q5%|Ts22OZ4z^~p5;WzJP@Ne%`@Voa~IO*Mo;Jp>m+l0#d z0J^+K(d~T}J>Hkm>wO!2-VafGzrY0V57^54E4KEzu#K-Zw&m>B&esjw`})Q((KiT_ ze8Z4@W6|>EVh3LlcJ!5CC*LCM>?_AEz8XySMX;-HEq3#5#O}U}v4_uKPv1`L<=cz4 z?^f*XYr;Oh`?0U@F+9Wf4EFQAg#CSQVT$hq9N_yL2l~FpRNo04q!kX$PS(e9ivA1>^>;W`|AIvch|>}haC$-# u&PYhcndu3=u{dEM&PvF{*$HE?Bw;-NYF7N)6u7L!*=#HRA?RiK?|%Wqa|E{l diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_es.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_es.class index 08923030950439ef879a82c21ee683cea16cb68b..eb2ce41f0f316fc8df0cc1b71a752fb1ef6b0b2b 100644 GIT binary patch delta 921 zcmYL{-%Aux6vw}_JI&7S&gyz}{ju)qs=KR>KXP3)f0nwYrJ31=FC|J4NRVk+MnP6Y zPeIs)h#rh02qI7u3?d_GrMan~~&jUC1I~TULwlY?~3j-b)IN+x5pbLX0hD;nXF>KU0*w}CFl*r)&TFVrD^}c!CNhpW3m0%v4LD|ft#u8_x6tZoN3{R;xiprIKpaBPRZ<=mies%9Nd z(XV!e{4q7*i{)3$=#%=T7Cju$C-;W^gO6a`bgruhzRHQrUj4`+YhhAIHbvx9MlmIX zDI(6D>v={i_MnSQp^fqF7)A$eNtu66LQ zjAtY(e`?1w%G0~J&)-Z!jL1Ct3ur4GHS9z>c~a&v(fz+j+Li4}0N?zB8*mTVPVuB| zUA$@AC05!t)n- zmlCp4N=aKHWQ~-O4N^`fq=IaeD4CQP*(7nYc|j^UbV?Q3CDmlN*kq5?r0q3mJH5S! z81pmuy5MD=e%|Q-JiH)YL}0NeK6WdM*=MuXepW39eGm*H7e|nXF-D(Y7f+%9Qz*nV ziZF-cL0o2AuOWn6Z0&87;4VsWpIa`W3{OywXQ;pmqFASZ*F5GOD)A9j_>5|Nh0W&l RP?!U~yb_=wZTq^>`~zx6i-`aL delta 1399 zcmZXUOHdqD6o&tvX=ZwcLCNJ2UXxs20fx*lfIJhP6C)T%C`h537}}XehQRbN(-R>N z#w0FWSX$Vw+$36-D=X1p`Kn6PimSMBVY$(j3(J+daG_icFMaEn+<7L){xR* zYDjBX(U8%Q)nIAJX*jRpc@3*xta))^%ovO8?Zt3x#%l83relgP z=oj>az8l}3^B%MREae>9-e`3t%vPL2zV+%(7oU|5ni!kJZnYB{-vLSV9PMaBv zvJ4qFGmOkWC;xFx({)+TT1G}Dvr>=8jkJ|aJtt4crrO4*xaNW2EYEo@X6FAVG9qV< zOmaTy9NPJK?v%OwEH`vgFvj?D&6!N+jErTExnu^#r+_v59pWRe_4T>H0ylVgG{m$-GN9~P*Mf)?)TlU-DQTrS9j{Suev)BE< zp6Ou801B$W>u1lyK5KyN<0!~hVOtRT2(I_H9s75kz?xKW1V`c8cKw`V4{ZyrAHprv z^?{n=7W=Eh#`31LI;XC7tHCmLZZKFp{U$swx^LQ^K+{<#)^Y43JD^d>qZCn28P${! zq=-X|9N`|l7~ngI7>4LSj7f}O8lyPPnKL*B1CP@Vs8lq_Z-_oTfc&xAIi?A63gv@#7IzFrhE9mV`HmBWu3j_MFVGm3bZ zkKi%hazCxZ$nRs$1SU|z%PhsyD8n;clE8i}q5^4D;yml}63gK#!@R_jcm)UWIu7Cu zNZddz-eKr>QIFebz{hCBU6#z3Xu^GN_cdDZEkgL7!hXPE{KQ}A&y?^R+VDG~a8=+5 QDt2Lvnn0z>cKx#ZH}<|NO8@`> diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_fr.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_fr.class index 5f0a261da43ee333c885dd01475b64df363ddfc2..11dff7f8b9dd5c82cc589ce678757b5a36b860e2 100644 GIT binary patch delta 4325 zcmY+{33N`^7Qpen@0`zJt9T?BifxCk6`~?B`&A2M0Jf z(7{0t4t8*egF_u0=HPG#3mqKc;7A8YIauUuh`pg%wl>VxhI5#)5({~!@hR2A7+;LV zIA3jqHquucr4{icGunyOihZ@w+88b|`;ybotbGo7lwp#NyEOpy3I*m)L}7a zw8`Uqis#4K-LVbdZX3cKycct3h5o!JE{ENec-~&C8K11wqGUi~6k^7U$*hhGIltLd zj%=02L!Bs24IItE6$^QE{a1N=LSOzmDu+|u*=%R*=7;q?{C3A){9fc>jN^R20DjuO zKkHr%IJo?A?o)3I*Uc&9tKK6xAaX7*ZF+zkRU68kJ9Xne9pbr*Pg71yDdfvxW4X9) zPp*`h&gZM`=4%mad2?VNz8_o6y@D3=oz7jjI60l4wQR&8F{k)U<#GJH(_H>Ix&`-% zn8v$mOy}J8b9s8^K6P13x{TvFo%?clzziNBcU&cU8_Fd6_5LQuV$)guc~Uec=ZY80mSpwf)o4B7@c5MTP| zAXQzB>SF`YUL0Dg#+KSTJn9S3$(WQB>W_2yw{A5;W{oiNjd2Z(us|cfX_&trvI@NR zPXYb!s~nYEvzJVm2L5X9I^d|Y@xyu$q|PN2W1*5dlbUM!dRQMCVMAz!36O?~&;}bp zHa3PFYy!EM1bwk748dmV2mnK!R)YFXRL7{R;0?JUf&V>eOi|k!tG|*x7jnyc{Zs!pIrsxNz}v0@T6QT0$#cBDVdrl!IiY9=h9=E71+7M4+p zu$)qb71TmlNiBudlqP&ct%SAIT3AQv!snDBY@$qI8?_O(Q`>Bhaxb-$;XZ0Flu`%b z0A&eZQ%B(-WebO>lkg377LHOE;TUxl&QOkUmbwY&C|5X7-Gxh(CtRi;!Y|ZQxI(?u z^Y0JWC|`!xskd;4`UrQauW*kFg!|M_ctHJyhcrNVOap}{G)RF44HirqB3Lw3uxXg! z&~U+v3I%T(A^6Zpg$Mm;lnni;NFXW}TpBF|&=?_*#tP+WoDf9gg$gu52&R{XTJ(xg znppS%a$@4Gq zJ6aBlBAlX6g){V-aF#X*KhZ|vXDSgc(C5NM+9X_}FNDjq zS-3}Ag!{BrctG1;JV6g>yA1!J9m1cqQ}~;92~TOaLIe6zK-wc%v{$fcpHP4*?XM};UlCN!YqLPI(s zB+yAAk-it2(+@&2of1;$M_F{Vo*JO<@$>5{l@yFpcgg zJlb@+E5jLdPnb#fg}L-Vm`4wV1@wo&^rx_b{t{NwBjE#jEPO~$gpcWOVLd$+cF;3n zCp{N-xd`HJ7f~#AQG0R!54fnyhQlrz;t>~3@wkhYc)~?n{Lw{6Jnf>Fc+N#{@w|&Z z;sqCd#fvVM5wE#eR=n!vt<6?D@T&y9wF4hzST&yJqx>#GR;9{g0>|#`QWC`GZmq^B9tj=#0?D2#_1FQ-S zu{I>Abxq=nbxdPutkxk-FddSx12o01YF*P4nqxmm#-WgcMUaXUpao8bmN-MLcjiGW zTnw#oIi%wUkb&zU6E~_g&{k-RUqU-P0PXQGbinT+3x9%+cv-EDZa^oz3!Odq7j(hr z&{eY_M=Jx}v;fG}DnfUy3gl_Ep@$X&J++3=OKS@GT1)7ywShibHuTkUp+M^m{j`D5 zUn_(G+87w9O@u+(6d0_{f+5-h7^*FWVcNSeT>A(LwNGG#wh2aRJ7AQy4~n!yP^=vT z&uHyO7^9tsvD#G_r`?3{+5?!NJ%N{X4PMc`V505^lk_0)=#}7Ay*f%ePzJiM+q zf+>13Ox0V%G`&4c*So+By$8(H3*ZfX2+Yz)!EAjz%+X(kx%zaNr_Y5q^+hmWUj_^G z_ks1buu$LNfkpZjSgh}cxAan2qJIZV^^@?neiq)*FTpbXIxN@kzzY3OSgAjQcMTI( z8NTqI;lley2z+2fz=uXHSZ&mUkBkQJFCz)o7%gC}kqPUJj_|S34b~g^@QE=1J~f8J zXU1sQV7vkwjn|>XcmqB+Jo90bu>`&_R>EduHEc1~!&c*S*k){p?Z#f%VH|{=#!=X1 zoPyoPIr!4J0(*?#VXtu?_8E_1zlrdb=|HJj4i1>*;cGJt4w}{AkQoKvm~rr}nF!yR z&Ec@w3XYiV;HcRdj+uFI-0TY{%)xNdV~&LH&2jL9>48(`H2Be+1EkSIld0)w~VAnt#AG^C?`n47g$W zz;718?^ZC}w8G(*RTFMob>WUxAMRRB;GUHV_pJ=@Jg~Chp_K!FSiRs+t3Ui@4TDEk zF+8?jh9}l*@V7M+o?7$anY9$2TdNSPHHg**)U2(jTYJ#34x(utL(4jiwsjF5>pFT_ zchTE=gg!Q+ukD3pY=10k2V*%q0{!gT=x@g&*@@`d$;B98r(>XYuKl;rhO4> f+1IhQeG?)#_HQZqw>^t*W%zr_~)=-Ko`nt?tt5fL3>F zb&po}YE`Y(eOleG)dN}`)apU49@6Sztqy7Rh*pnk^_W(NwR+sA+(&%s3A59+6KhO? z`vA?t*$r?G&TXKcR8KWfPphMwJl*vi^-Kfxta{G$@su>|+r3B6?mhDCp1lY3&a1w~ zlZIx>xSr;x5h0T{q0~GxeyC|?b+sE5g_ruvLqWT=+`kZ^$?%vz>i8?|Q0;BUO!191 zi(BTIt$lY4YcnDii^S|`%!&GAq3}XG5%Y)R{y-uW2_tmir%q+ecEUWOrizF7!wI|G zfA%QT&zEk-HM+;#*g9%vX5^c+vBByKyXNDj@tMgkQ~yxM3rIMza>u_^<_SjE@JBZMKTvitUj5+20KrV63!6o1%`R3_|5 zsa@ezL}DxKn3ITwOpl^@CUbn1NgHfT;fOh=d+t`uHbbly=Ebau=Bl(k*wM7>*wG}q z_cR&9+M6o}CCy_EdvB`0!uUt#nR(5xHlKMXV?T3K)0Sp^|HkILj!n(?!zU&O7dx?~ zPR!>2IGZZY_6e~a6A`;#PER`+N$oFQ8I49_2|KYY(mh({k2`iCQc)2~=e^clw7Sws1{VEX4PDM9r?0zOZB0>EaE`{#)7QXOzj9pi{ZrPR$TEgRJFdz3n$Q zw|v!{dv3y%wAz!lr)0&uj3vCkxhmp6=I$Wf1oVH zW^g$CoZ4l?BW#Phb;RX?ym8hNYUdXv@!F|ns(9UEcmYL)X0CqRtf-%Et{J-CR9n%J z8MWCEtW2dsB<%djZ3vy}@*(PkgQ-k7+Xe6#OvgO&%s~HtL3sUbtqK9mC|1k&6REB*r`Aa)cUx@ z;e6wb#yMcv&TLc}%|5K0?k|^WA4+Kz>qjb=vLiXE_^yPvD9im__Xw^PPNH^pc~9cs z;UKMbgv?P>C6ln-#e7am1+P@bCY%bcB~E#{V|1Hq&Ds`=jCa6bv)?<&RP-n`-sUsS z{$XXwmhvL|R^pP^TH^5L#K+t(+7#A4N`*R4;a^(Uo7f}>t?EMR|9Z3iq`F>~vUA=0 zT;Kkrph$wW=~*3WfZdCYYw`xRZ_dpo6igN1GX)J{j#)P_bI>1!_`k$t$_9TFLbi2f zBE;@zGn+d*j#NX#X7}ip=AQ+N%!O^|VUGD=Y`S@%OWY({J!oEOf2`U!Mxpu2PM94d zW}86cnKQF$YgQ~$UM@AE#LvZ>z018?lIV~2i_ra#ZqAWVSuXYxubwsNOq=KBRBs*W zR;EL<)u!s4q-i(seG}|8-)yNLz>%qL=pK5t+0!gw-fCM^y`)K3te)Q|56z^k(qz#v zej9n;&ZK0Ex;4Dv!Sf1(=l2H+EiM$@p{D7aE z5yxbZPX#qq<+ZKe4p#F1ME4o3ew(vJoG<&Ssmig3Mx#BQa&AEXOL;1Y`5+_4_t)Gd zwSsdmHIG>|cBx79-()rvtuWgM_czzKIckdNG84*)SC8(Qj%GspA`{A=ZVol>ZMJ4a z%!7Grl6n8n5unFkj{tH1QYRYW${?+8+<$5Qyp7*`e{JjUAxZV;)}QKUtgibX`Wl{n z;)^3t-H~rOhga$-=)|i}_IeqO)n}a9)_#B)KV-+0tkIl@p?D$`NM&azkt-pT3LohN zXC~!L`+rArd#OF;)Kr-lXms^W=N?D1sa|+=#xRaV>0POU-n}wvm-<7T#Aj+|*6`Y@ z>|e-rrSi;Kh@*yG8sHAyh5|SbB!r!IM@7C|8>*6FkxzP_nDer zIp*(!H=EO)HkfZ(tTdf7dYKm*Y&8#e>u+$-Iyj;L{e=xP{!wA zZhlh16Mnli#zz!C2UCo95-E|s$UdG{mu#W1pG#yoC}$H!sz$Lc-eV+~+B%<3f*g{Z zaePc+#p!`W&FymbtE;+yQfy`xL`}EW5fhp4^}Ojg0|2=9B7Z#aFE5~cL9jfZuQK=v zGCkP`LER$*abE2pmM*@Uj|)JhhCa>LUcMXd`T)4dy=riJQ#@iGo!Ghc;i!9odwE}X zMsxRq{EViqi+4lXlb3?)Kda2I6SI<{a3nNk-P1wyYMS6IXu)eq$2riJSCYl*b8$Wl zKtB{<35>)5jKd%lqXRRs6lUW>2w)j3#t@GHaPzWC_&>m7YIo62mda1k4uN+T@5FaE zU!2)VlAmBXUplPoue-hv^x0!&=t^GXLY}U6*Xb$6Jn6lFe;Elb4Dmd`;}@MVXrs-w zOGz8fW_T3R#%8;cRIfPOP4$bjJ=CB$+e;0LvzusY#4?QdtaD z<*=MXxh#X!gQY_~S(Z^RmLclRGDhdIOvb4X;{xi-awX*zXE%k_)K9R6`U@_l0fNhD zpx|;EBv?y>1y@kMU>y|*Hqa2kMj9&EOv40Qs8Fz#h6}dQ2*GtUQgA(uN(y(;Xu)nO z65K*#1bb<$U>}VW+(F|757Gp|Lo`wFDoql+Mw10^&=kQjDi*v$Qw8tRG{O5cUGM?T z5PU*21t(}$agzBt&6dl5(Hy~7G*@tv&KG=3^90|~e8Km$K=1?k1wT@W;1mS}KT}Zf z3porVDiv6?P|%FZ1kEWVuxXK?9W7@6H^uf;E|(psLXb^iL05_h22oTnn3f3gDJCeO zxL^n+1VgD(FpQQ83Tc^OBrO+=q7{NMbb(+jtrSe53kAh=5hICHX_Z_~BXI@Jqt$}> zv_?=u7YhP(i6BUq3LLsjP)3&vLbO&;PFDyjXq_NTR|+C@l^{x23zpD&!BW~FSVkKK z$>ns7a0Oi}SVfyscgYAYrOkrNXp7(q+A3H_+XS2FI)S0<1)J#x!4|qva2;(ITu(O% zcF_*OZrUlhnRW^G&~CvkNxE6Mm-Yzu(Jg{IXs_Tdx>az1ZWBB}w+jwZmEd98CpbiR z2p*?91xIMV;Ay%`aFh-Ro}s%1&(b}D=jdL+^HeQ(m6G=fU!(g4|DXp1Z_+`*TlApd zZF)%X9z85LPKN}a&?ABq^r+x_dQ9*G9TxmZj|)!G5y8*&gy0vd5&T9^3Qp5g4CSV$ z#p%jJM+IJbM&P4o1x@HVK~s8OK=gvZqQ41jdQs4hUJ`Vqmj#{Z6+sTYD#)eR1ik2W zL2vrIAfMh46woojaQcVjpBh1L%H>FUOE8Mw7EGac1jY2OU@E;Qm`2A1bLoA-`SgKc z9(^d7PyZAI=_7$d9}7z96Tw0{At<9y1tI!Ou$n%X{8MY_UvhaReIdAtz7%YruLK+E zq+k<$Eim+rU^9Iy*h1e4w$k^4ZS;d+JN+oQiB1W2&`*M$^l!l~`dP4>ei7VE|6wH6 z9{N=-Z=v4=d+D^`RtrIRn}sO6(?TWOZ=p+guZ3=5wS^wxeHMC!_gm-_K4GC2)>xP( zeA>c#!lM?}7d~TQ1L3nt3meLh7cFcge96Mb!j~;&gz`_>7k1T8{{Mf=)!Y?drE&S5LHo~tgOcy3kT9_d}zP7Nf@EZ#=h2L6e z3%|3lo$yBs+Y3)w*g^QSg&l>zSlCJUn}wZ)r!CB4x|D@ogf0uu6}m0V7J4k~D)d^| zjhS@$EbJ~f8d;blY;0k!u$hHDgv~ANDQszBFJUVSdkZ^Tc%CrJ!al-m3;PPYT9_y7 zWnn*IZwvbihgmp4SZLuu;cyEFN&LA+SU6a2OtLUvIN8Di;dBd!2xnM0R5;VZVZvD! z77AxuI9xc#!V$u`7LF92Z{a9miG`zu0Sk+Si!2-?Tx{W3Vc5cP#k2TF#KQ4%W2uD` zgv%_PC|qvgB;g7RCkrpIaEfrHg~h_v7ETqev2a>(b~WJdM^sNfPBhl6BgwYV7dt^7 zc7uM{8~Wn_K1U9PfjAll;Y1kBXU=>+Ul#CLaR@Gkp%{Z=BdFjUk!%^YApEG6ev-%AfOgNP%Q*Ug`rec z!a{W+l&MP~q^^WT>RMQ=u7h&56DriL5LWvkqV9vJIs{A96A)9+LR`HJ33UvTmFhiM zsy>Eg>I+z|zJnF&XSl$Hu+pXBLRVwB$aM~^a%Di$)e%;^y22V)FSyv%A1-kXflFPZ z;4;?)xZE`j*1G1x6|MlRb1i}^T}$99*K)Ypm4x-K%VC3SJ#2JshHG3m!nLlOVUw#0 zjO%XL>^hi)Ew0C4tLrJ)=6V6HbG-)FyWWBuTpz%Vu1{gR>m=Od`Vn@xeubTGH|%oP zhuv<1o87HokK2Y@+*z>KoddVJ`@n7PL2$df5USi`V4r(3+~J-Hce>}pes?L{<*tAO z?gZTJUJ3WOFNS;F>!8|w4czBWZiD;XJKzELUO4E!6CQL|!$asa`?#`hktu7fS}&e)H~x)85+ zkbDJb`9>wNnQtOC_szg_eDkq|Zy~nyMX;4`8MgK%v5jvnru#NxhHo3T_3gw=-)(67 z4q!XqL2U0kj2(POv7_%L?BqL!oqfkK%Xb31_)g-vzEha(JB?kn54-8c*j=~49G!`| zItzQ~T#c!V&ryj?~9-lsCtaVE1Ke>2LLGXMP#sd7Ke diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_it.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_it.class index 35f6a04b7bd07d712be7897110cca7d58ee99e88..913783277fcff78e2d4e13e5fdb59cacc7837f90 100644 GIT binary patch delta 3555 zcmZA32XIwI7YFcj_Lg@^LLmQ}P(pwpJuw0ay@!OB&_hWebO<0FqzKBRC?L`=DheSg zMG%nkP$3i*6cmsuy*H%@2mzEP-yWU$zM1dMy#H_a?zwx*%+B5Q`}yWZ_V4{WcLy01 zr#j{1C{76C;#@U|@^Ll8|Ki09X;t@ejUckQW zayZ@L42L^A+{NKchr2r5&Ef72_i(tU!@V5t?QE!$t8AZY=~Jz|+eQwz_GX#uP?DoV zxD>w>qS~moA*!89^IBPPPASzsM0HRdy(!kH{59h$C&X2$937ufJHBebvKz2>HL+75 z+1FZmn}e4J#s$@9uWER7AT#6u2OfngNGCPS_BrUhSM2SWvry@{rifyH#(pH?#g^FD7(9 z*OTi9avF?e?`Zi8UgyLao?ClTpiZMKGcdC0AoeD<>&lh9#Ft$!uUTfGL`nt+qFaDD&?z zorXSEmdlaSBWFAMyUR!u3ezV?k)vlR$R(*TM^hA+q7r(B@?4rKaapR(<*5Nzpe9_A zT5t@daV(|t%hZ|Us5iet1G$o}ATss*74*NNu92(fc8c`>_v#$4kHzY<^oXu4uJ4$& zR?H@H*6RlI|4I|}?ZoMc^^NM0sDBFe^c#u)uaXR|q$^0*SN`{riGokcgA)0Mg&C1v zT6$#bAcUsH6bwcIoj^gIF2Zz10y>Mq)ft6woy8HMGa7|-mO^2jWl%(CSrpY-8Id}x zc-zu5{GAb_+g%W=GZQcC?20&@eejCTzNn-#3zc>DLlvEa5U+DE5_AqjRh`38P3H(y z*Ete3bdEz!o#RnU=LFQ&=|`Qkm@t}&y232f6BeR=nqT`N8c26B8VcD+6qcZokb@*) z1(Jo&&{+5!O@!5GD&(S>uocaPok$UOAywFo7Q!C16!xN(un(<;Luiv0;}4_5Xe-^* zXeXROns6TNg$w8)Tt-LX3OWf_kuF?AhHxF7g&XK1{DDm29=Zzm(M`xhci{ng2oKRy zc!FLUKRrcnEt}{gSm-O*$P#?$CphRY*V})=Ap9yENQaFcI!bN;8T*B&qUfX4?k?s|& z74G8;ArI?>2UssW#0KFJHVS_tAUwk+;W@t4D8g3)<7>gjX2FLoLMU>D0@x~qW1A3x z?Xvz<3G9$=Nqi$j<6EH=z7xt}r%)cdgbMgxsE8kg80;2eu}7$mAB7tDNvMgvLM`kQ z8e+eYh@XWpTYtB zB^< zi+L{l#0M@r;zO77iBDV(5}&#ptTo8x5RqNZFPbigik8a-M91ZVVm_C{#2}X;2D|Kv zAuflD`Q2oWkOo{XB)Tpa7QiY9ukLqwT)#X&G$L**-XXwv;4{FH$D3OOyBOXOb{01fS6l%;f^fq7~HRXlWjB}_t zub>oOOR2m`Zw`pW!-zBX6VX4AipwwPa0uDPAIn%~nlb02LtkI)YD6n$e}q;JjN=sWWc z?KB_KF7p|EZyEH16-2u&y*sdq(2rJ0`pGIsd#yOyXH}*BRvr4;YD5RD=5)|%Lx-$R zblB=fN36bd)EY#;SR?6}HI9y3ljwvsolg3#IdsZ;pH5rZbjDgnXRXzA&e}-ltu1uH z`j#$Qd+3sNfG%6d=!$igu3A^6RT%zuU#=w*3;_ zu`AMDyE6S@*PwfLeY$TqraZd^J+Ra0q1~At**)n`yFdB=vWL=Rdo(?<-=wGZTlCC+ zm!8`m{cSIz7xq#ndo{BiU}bM*!`{WFy^k&XDBJcK_Ssk1v2SrcJCB3xryT4vIK&ss z`F(m}`-*V^UuiDri{&t10>f8_U0)K1`%*c=m&S#BUAVBXcNs3?8^}d{Lpf4!cdO{- RsW_fXXoK`7*4FCZe*loMKYaiI delta 6656 zcma)<2Y6J~^1x@#y}Ns8LgoSz5V;^o4ZU{~TBH+t5pI&3~2Dnw*o4~iq`^4 z5j$Xm=u^NNp7=mOu{=do#P$Gt7aMP86HxT~{@`ztd7I*(&|tRXBo-Ur%%hT*&%eQLlAST@wdFtwnuiVq*kM}8m-kB zt;T9KPOI@+`C7SJ z6=+qcRgqSnR+nitN2_A3O0)`V711iH)m*J&TE(?WXjQ6JnNF&CTFuvLfmRE(TBOzG zS}oSI702AOgkJ2+o{(c!pQ7!ffx1?uDmIA?Se>Yn1@GVcET%h z;|ZrE+9BUbxb5u;MPA&_bHd?B!p?Q=m>Z3`aW|ZB^KB=d8r>ctmR&50A~DyFN8S89 zufWT55)nJ<#%!;cM@1uc#n!W`D|XrPECwoewX?lSUn1>NE=EgtZ@1le++}4kCt77r zwBRwT*K@i-f2=Q#?c2`AyO{YW?wixd~9%&-F-ldvo%-z_d~ z*;3rGUAx#x`Qq4d&k4(F*_}kfYsa7RD(7%a%Gi-se>l}z26F&8U~XRNLN9U&8)m0$ zRvU@(Ge2gq3Q^$Xdc|JCv5Qk9s@(K!Cy|IbtTrAI57?wzwK%_T?WdFdaw=`g0M-__ zqcKmiBx3h$-^tF8@H!H9yfm7MVq#t-BUv-y-b+e@qR#{6JcF<@ZdFWu}kioJ<9l z6>(PPx}3(Y?S}IaT2ySU`pPNih07w9SsC+6oK)-`o2$Sr$GXcfKNjP4$tKD6<~p1& z?4u~ow>d!JxRc5$gg!%LB=21*zvW=@URG?Cc`}F15$*r}RRxdWAoI1|dRsQ0Ad z$D7?)z9qc?li8V0BCm*DO~e-1i#jg07j;@}&*QRkaycm_aqTQ#lwIg1M!WM9L*}Ql zkE6ulkGpOvm-8G>aSrsHk+S1%%&9b4u{Bq8vp;9_?tZ}Ly5{}&*lS)wB9WBLEb^QZ ziC)FlzgpqBQor%M2=94}6Ny(^5=nSv5jNLq!XGiI)L85~WfD3`2(Khs?3Sdu1VVrI ztXaxv)sSYX*t@phVR)+^>F3nzWn6%6es6J_jWkMq`)fI+zLtO1Xs?mopfb<6KmBd% zGb*-brIL`BQMGigsnlwvG5sY4{PHFnlbsVWPj;KfNz^%m?0H_IC{miJEXH^=63&+; zavZs5$RLEFyH`}jwMx0eq2#G-mfPe)E;lDN+e^)skeu8?0Gafcw*Se<&tKvQ!(aTt88+mQR%O2yEM!j66PNz zCDQMhyg8}s%(FdO zS`NpiG#)|dFu}j_yr%x~=6C0|9PXCJym-RP6ZctbhcgBK=YHpMhw1UBG?OAaGmhOj zqr&4kVLL7@t*TKv39o!*i|GM>L)#<%ibjRLk+Ch=IMr9Atw@S-<36XAa(?{1?^OC` zH#v_`dUDJy<6!W1R<%5if2BG(=2N@QDif@dv%}_=nee1PIvj0|2p@W974xyZ zE#rOD-_vVJ`RdNCRQaje9ni;aOZ~L$CjK&JoksJ^4|Ts5{T*G0`+a+@^7jNMmk;Y* zU?v+?#;3BEN{G(s%4eb@=~&fn*@wS0V&1O*<2dX1*W)bC$6_?X#UN+<*s&x3zb9G8 z)P|pPl0~@)`TXh_RI?kDu(>VN9w)NL%6~{G27v z`Fmmf`M5i$3gT{IsmD7Qc73x~&+<n z%Kxa%&ho?ApJSt;I1B&~8X{kC`BxB7Zn-Q+`Nu}ouQ$5#9ZQ4Xjlr>?_)E=^$yxGc zD5UY^p`cky9n6OFS;qx90xo0?EpZfdz%kGp$H4#`4?{5rM&bm>!HF;hC&4tF40$*O z=HOHw0bsKJ@%%rB$B6ZlBO4~qTE`juZX(a(FFdv}dyLFLo5w&u%0CeQ7&?dDnaqmW zQT}p4Y9OoM4)~XmVBl090X%+M<&ptv9h8Ogt7p=ThW@fq4aX3jm(!+>MYUNrq&h4c zQ5wq&h*&lzi=|Cu9K8 zJq;6Vpy7gzlr6ZAE)m>MBLrJ$q+lzJ66~bWf?YI5@C=O=B%h^m!slqb;CadsRL}&$ zZkj0ALz4tA(qzFtnj(0KrV94cG{FIyE_j7z2oBLq!P|7H;0VnUyhpPIN68UtpZs?&Ty4O$?mLkk6Iv`9d7xxk{ug1Yn%K|M+e>eCg1 z^J$5o0WB4z(=tIDx>C@Vt`c;ns|8(Xd1_);S|N|!Xr-VhtrGO2YXrUNT0tMWPLN60 z3$o}2!C<;kFoaeMM$=7#G2{!T(9MFWbc>*fZWVZRo1mE12uf&ePLdg;+vPD%cL>U8 zonRiV7c8U=f#6SWKG)H_}~#)pWPuCb~!9)4hV5={~_Nbid$sdO&aoZ5FJf zErRv5HK$E74L8t(^0<*65h6c2T+DDSAxsG(9e;pnnQ> z(-VR{^rYZL+9B9aI|T=5m*5~hC3u;hW+d@-dPW}Kpl1bd({q9&^t|95st~+Oy9Mvl zzXZqV1;GcjNAMxNDEN&2E%==F3cjFyf-mVM!8f#D@GTt>d`AZb-_y&2Z6@4UVO&<%|&?kbn^j|?|Ixgr!Cj{N;q@V|VD(Fd{33}1z zf`RmfU=V#N$fU0XS@gAFD19RsM&AmCQ}R1uHhnL+gnkf=pdSTO=qJHcIwhDvKMQ8k zFM`?htH7b(1o`y4z@^iI0t-P{Xz>ZgEV57uJqrzC*g{hnu`nR{uVNMkW#IrJSvXK=SvW{o*TPI; zJqxph4J;fiOy?Iva@v#wZsW^G>grk_`cPj?@0sj zQW%IX48mf_#5iQ(LKuuoUT3ZH|~_#%wK zgD@7~fN}T^jK>f84t5eI;MXt_e}YMP8YZhCOi{I9YEspOX{r%SSIuCCY7H}0N4Qk= zfLW?P%vM9dQ6nK&Lw^wYoSEl31M|V zMAX9&Rgc45^%TU^ZiuUWkWh!9RJ{dd>L|=ppTK_V1(q4T;Ywo=TxAT0tBoTi|A68{A?%3AY;0!fnPLSYsSW!dl~XxZOAc zcNibQI^zVaH@<=m#*eVk_#N&v1F*@g33r(m+-)|5d(5VAuh|OjGdsZjW_NhN><638 z!LY>~0b9-S@Sr&r9x`Xc!)75oVus;SvlOl?&EQ@P1P@^_co;*$W2l2Cuv+kItR6gtHA09rL)EZW zC=JgGrDN?-Q>+tejcK7yNTFV6g$7~WP&U>Jjl=q(sd#?KNn(SLhv}iY*f6vJ8-2cUyPsJX3l!HCBhrRS% z?5!7IAH4+o>Xq0}ug3m*Ee_C|aG>6dgY-7c)H^UsKaGR=51r}UM-Gz diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_ja.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_ja.class index d213ca722dba390ef624364dfd25c9ebe323f1b4..e4dd390a94a96028b55f8c035427127ccf2490b0 100644 GIT binary patch delta 7542 zcmb8z30zgx_6P92&bh<6gCJ|GD2SjYC?YuHgy1}+qN1XrBC{xPnFJiK;6Q3-xiqJg z912a743)H;%ETrut<2QWEUnZu%dD*U?`6GS{@;85|L6Jn`1_u7?z!jgy;+OHxx4pi zYj$exw|_ryNa&)Ce%J=@!!gVR(@g~2`eV$)81C&XnVo{suSo(HB%DEHE$bT zk13#4v2&=zHH>OQM$zqrVtU>_6FRMMHS!M)$j(j4PRLCOC`wO`nALVpNI+hGLVilb ztafui^rObEVBi1a6dKW{Cq3DCIyG@GqHdnCv@dQZUBc-USunVA{#Xy7Yyf;Mh88+wfV2!Lt%#>H4H%X!BrE zz7C3|E;$ouQoSfTlAlPuI_HsT{CXM@wwEr<&ZHaJL&!TT6C$WgHl)LLPl}41OoQg+ zQM&Citt?(c!GV1!FLNt(pA|+|r;nrAjSA>S#CW>Xs6YK!m`(wX-V_yAKsjTM(xsFF zaMSTeCp{AS&_eSvK2+gc);r1F-jDhY$@c&I&*a~nN=Mt}(6mnB(19*`H*BIV?aItd z|7+16>Xkn9lXokh|9l2*b|=&Ou6R0^6i4Tq^nfMQq5Yt~|9Z{8kLm9fJTW97KQ|#O zFCi&E-IW#dN0)Nl>`>Fm>+=5=^M80heck3LB|7rxsd0HUS`H$Q`cKlKK|yq+Pb>w@ zPM`%@vuNt9eROfuOu9Gtq^ZF$S3be$`jp^mO3A*(R5dt?ayn*ENXZbgw5_I+CgbR0 z$0z7c@Z8Fc6D&Z*v*T1zeA~cJmEFTD2qKa^yxTheewcc+nnBBlX3)MNW5_ZuoxTp7 zLn*<_s73R4DsK;a5j39|x|HNgv0Xbs>zEZTSy*x`!Aw(lVfSJ-*y_4 zx{xLeN~DeTr%-Y7Q?zyB1QG?D#qloSg z-K;*#9@3b!!C95weFv%ql1IoRI2MLbf}aoFi{C;+Bg*JY-yKw&vz~q$KM+Fbwuf)M zf4Lig=s_cfG@>9+FHbe~zjqQXX_G+dc?Gn&Qx@ImT0)sg84&iM_2cqW=-9}mG!k3V zt*EiIC%urCHCsa`rn>3F0n=!>M;UDx7DEx?6Ue)G4kctXrq)wSsBHW=)oJragi&Fy zBpTJuMVN9D#*?jMQ0LHqTvtX$VnWiif8MDc`VIQ;er8$fXV#2Hcl2rh-@lvuu>;Kx znXi7uG^dazW9V4X&H7&dxK};6mjtN$C5R?e*1}g;o7B?Qi_Cs;6xDJD#TTW}_YD_Q zYEUAbPmQ9r;nS$5UmC@ZUP~W2o}wjP6KQe5GD?hER=L4{kVc>O+FAKS`+7ioIxnUV z5}%<|=atHzJ--AB%RWeT=HH(5K71gA0O14b?*z4F5x{>es64Co{M0L;GzV7+Z8x6? zpZsx>N?q-pgHMI_;MC)4-=dCYwcaOmG|i1@?4=E*xCMbek7k=Dn~FM{{OX$~_w@5J zt=lAQ#})|vek!eB5ERcB>@U33wci(p8ckg|BfQmE8pB7Ti5f|ex_lU%6W!pvh=dEG zKU@?;;4={eHDWAW664{rNP^GBG`OP95W=K}bwT~VsLoNdpr#9b>i;!pxT=oTsCV%z z!xuJi|MQi*>eDZ)>-;gD#t-JLuJ*Ekm(*1snmAlhM}#{6i+`+Cy}rC0Lez1p`5hFt zM}u{=#{`?u5ffb3f=-oItfSHcJyd$4r^*Ic*RAkIFO>}uRW?GYvN6_E>4)`I24Dk~ zP0?FrGi<1`IW|%mh(0QV&{t(BHdYyiekwa-6P4lUud)jUsO*YORrbJUDkHGD$|!t9 zWiMm}hV>vjHDvp2Z=|CLGFa#$n7B zjAow4;Y>M>V7B2%W;@0(yKod!fuor{IELAavCKXk%T(bw<`p-NXZK?q^Eyso-oS~> zyEut?5968BIGH(v3Ct&$$ehC@=2J{&&SMI50aKZan8tjDQ~+j!ZeSL36J5+5%x1pF9OehiW$t1g^DE{vzu|NRXjs7LSjd>Lh%w^~#=x134QDY< zoXyn1IZR!gs|wc(yzl|_a31f~$6}@dmN4EppJ{>%7=K*Igy15k4VE%(@iC?yE@s-} z5~c$#Wjf>IOgJuMdf*dG1TJTy@JUs;UeF7l;@!Tug6W6E^v9LV09?fk!Kay_xSAP; zYnW(U%M8bL%m`f1jKpV{7~H^&!i~&mEMq3%v&=-?#7x4?F~M#xh{r9wn~GbRG<=T9 z$LE>pSk4sSHl`4_GbQ)}Gaq*_3veg15MN{#;Vz~WE11XdC1x@1W>(_M%qpy8HsT(I z8_IAm?{3C@%oeO-w&5$xcHGbG!~@KW_$sptUt=opAhQP#F?;baa{!Mpui{bW2)@o7 z#W$Gac#NsWH<=T7oN>Q})$IFtg82a7Vou}R%o%)#`5512&fF``CFAc*3f3}HBnUQL0GB_8=p%EWv@sG zW51Emmc1^a9eZ0sd-gjC9oRb(IHkQzz^^-7wZ6;wL z+g!pRHc-M~Hb}ywY^a1GY?vyVp}f&e!Z5bGglM*hgyC$2gb{3%gpq772{G&t38UDd z5=OJbB#dFBCB(9$B#dQ8OBlzFl`x(iCn1i_k}!dFyCh8Hja&(n*gOgGtg8CStg8A1 zR#kN(tExJQEs>DS&XU1ZS;ACyi-c*cD$)$4TUS+@$p=)G zX0fVDUF^#eve`-rIjpMMTvk~SJC9Gn9mGCtCn}pTu?-JIqwG!4UO(qHJShIxntX;x0JX4cH!UonUVIx~d zLK*8J;aS#G!X~z^gw3p%ge|PE25r4mlX1Xl|9>uJy$2yYS5Id>n? z0|to*h!#Czw0cyVAfg~i^n$6PH{^&uP$c?-Tl9lP>Je_47yv89Kv*vZ!DcZSwu?vA zW7ZI;5<}sT7zS^OXn0o)SC4`t)Dz}N^@tY(Ux`t0ON@pe#TfWa#A+rnR&$7P8jA5+ zBN6A;0>lI@NKDj1#U!nhh}U|E$yy(gpbZv@+6a-PjTOmSyhzbfMXHu5(zJXrMVlqk zwGuH^TP&t&Pl^m}waC;qiY)Cp;nH@BY^_q{Xa_{Dc2wkPCq%w>N=(;276sZxQK)?( zinQxuhIU8H)P5H3S-KFjb*q@8dx*Juec{#{i+Or;QLG1x61|<6uXhm(^hmK#?=KeV zLq(}RN<5~=iN$)NSfZzkrFyn_TrU*M^ts{*eW6&cKQ5lsNj#;m6D#yhg7j@-rCuRc z>HEaf`a!W;KPJ}b?})YfX|YZ}=N9YrOX3;*n%JO!D>mwPMVbDqc-EwgO(wh8Y*J4^ zriNmx$zMEY3KY+q+K6&fN3qS+U2He?7B83vi5;flVy7uqyl9#vc9~K{g(*Y4WXcn} zO*6&IreaZPdQ9vwEf;%DPm6t~4Wi1lRlH)_A@-|>D;v0)iT({H}H!R-brlpDa*3v@UvV@4+mJZ@OOE+=H(o1}A87O|RM2owY zG2%zdL~+lOEPk>~6F*yWh5HxF3~}EwPyA{r6~9@Qi{CA)MXjX_gryw7QURK!3Ute1 zFj=a>Y&iuM%UQ5mYQV5u1DoX**e&T-jRwGe!*ZfI;R1wZR@XkuLr{?;-Gu$DtpYXvm3 zRzY*?VR*z^4K1vvAkcaif~+;r(s~VAS#LqG^&Ygg)a~ zVYn>_M%cn&q%9m`Y>_a^HULK3qG60J7GiDjFxHj^kEjJFj+oXrgrY^5;Kwj3te zRztk43?|#kA;DGwiMA?8vK@wGTQ#KEPC=^eETq|LV2bS;q}y)6RNFn6W~+q^yA?9+ zo{(kt2AAC*vh6{TV-JH|dpP9TBO%{D0H)icp}-ysh4y$TvZsN2hTR1-?S(MQ?uOa+ zQkY|34s-3R!EG;tdG>NBwpT!jy$a^r55od`H7vBBf<^YTP-?G%$L!Z&vHcb-vEPHG z_F8z{VTEN5Pk6%N4a*(=@T4OMo^pi23P(7QBNA3R2EZyuG(7Eyh1HIDSmQ`@!&-+6 z);S7cy~7R9I7(rIV>xVetcEg289eJKhfR(O*zBl+Esn#m)lm)4IZnazjNwz}`a@p5LpNiOb8@|-X*jUdLWd9ve|5kDI2mI2n1M?rH6i` zh9c6Gj!TaM0t$+Pf`T*!mjp0k!}?J8?uq4l`p2W3-}JdNbI(09yLy*q{~=BEdryuX zX9|l{zA?gmcxr+N8fIcf4Jh8HPoL71#-LG5Os~-z*RyIiV^iRpl*JIi)J6RppGTysawlsLEMYIj1V`s>*w+a$Z&5 zSCtP`<$|hQRFw}^}{Xm%%9}Ux5@wROjoYkmY1LD%C~u3whk?$Y^g3=uFGR{7v$x+ z@}>4k&OBFUuE*UHSVExWV8HiAz_&C|yoaKkE;$nLZ4dbT)jQuU-&!$$QJ{ElU}o{( zdj?9DSMRsJde?ba#}$NS85%Bv3Wm_vtm)|>hC{Vm2P_i&kd^}LRDp0)fkInGc zoEU7J)*SZ?PQx}e3oyB39J?Y;FocExV7U_Trn^MZ;vX3C@hYsi#0T?R_3UZ}U9zAtS~_#JcjP z{QH7za!YxSTppLhmHpQU5oMFgq@gCqX6gUC82J>YuF?@ z6ffl_qM^rV?9r|Z{yxx*G4Vxy=cG6dMl{`y_0m`4{od!jQ~q(Y(+b?q)Rwl`45uT@ z=E<;oWN_LtTy9UUJ;!OY=cd}K`V)oYR4zw*$ zJS$LA`sYzfmfznY_c(-; zd#nc&jiWJU{76jdy$HYVF{82Nzt04W-LG01}EQSu7i{ECsP}9Z*aX7tQoa{?( z45}N9P1}$1kDBrpWT3!p@k5M(HR0aHAsX+9GBG!SB4x!;1i%5t_^E~ z54&3MoO6u4YZ*gqEnKP*PCQ{Q)2kJZ%22ja4pO`27&mc#7b zBMYh%T#m+{VNoab$47FLKF*2o}91JGmv1g`YpmDB0 z`vpDV;z7yyh3dfzjV9yE&5E(PEe{urKaP9iN8*xNiMZ#v6x?gXF7vnB)OXtE5)XJ5di){}70fZ4b^zX#qPIje8%h+Jo3UiE-&b5@s$$r+j1 zPFt$e;Yy`pz>#6km!(49p;WuaZcEE|<=E`DY8L-EzR3TV1qdO76M8Wp2gNc@+y+;+FcYQCq7Ng~^UQ$%C(?O~#TJOK{GZVBDYX z_4XQ(Yfq79mnE{g_Q;a;$9PtdC(lj;SV69=Lb-AxCx?bMsjNs;$ZQ^a`d=kyNcDKU zp*or8SL|7M_t+d7P)hd6##ELas9d?Pa>YJbE$?sN{9x|9K=GPChY>tGs+R7LoYQtZCe3&g z&xQ}cHDSs4ecdcvZZE^7i5IcEV-k+(pM*iqIoP&&3MM7C#VhrfpsCepe641GjF$=e zbHZ($5|xQ#CpxjY>!CNUr`_YokQLCAKZPo?ttfiBZL(dC^eOVSgGz@jR@O>ey3;er zS?K9qSUvvJ{dCEkkdH!E6Ng|{_PcuH&&FrOpjrk9IyX5YL9Ht&fE2Wygo($`}N5)*%g_W zVRus>p%(zz+Oe(gl^v<>2^#}GpB&b0f4ndK?{}-{zh14-KD{AcYZ;A8Iv+xRCp+f% zOu{kYIjFX9XAOwUP0P&9lwDF5mI9|7PYPt;pi#w>nd6jwBqy&G_1KoS;Tf{3I_$ah z`jq07Z%49EyQ|-zZ1N${*0QPj|J+M9bi1q^57sQLn7IXiZ%C_(Qh=I5czxG{bN7 z&9J-o-9Go>0b>kUeUNX$a!SvDUWaA;M$U!EH6Yc6A7+~Uv>|-^$3`+La_&3$o@wA4 z95k~II52Hyv-|;;je=j;82FVr;6E%29?LBl z)5=EtApid;w~=ke7RB|we>V}H$Ynpvz5abQ2bj7~?)+a@qp`~7{3;JDuSTwEP<`3* z@UJuY*Op9y$8rlMxBu<08&x}l?gnGl59I}W-(<%4aD|%^!nNF-5MEQ|78#A)Dx-#UNeuk zkuwu{TN(3tI~m=)y^J2-LB;~!QN}{vNyaI>vy9Vt7a6DXt_k5mtb}(Xe7rj`i}xUA z^B0IYyeBc2#}Z3h^>4ev5OBP zcJsl+9zKNF%ZCz&_%PxyPaux);lxosf;h$#iE=)YIK@X1r}=2&Jue?ap65x#$2^(% zgpVbz@NvXdKA!lLPav*wJ8_+-5I4AkxXDwATii+9%5w=LcM%PE9udMP5;mSsG~#Ze8TSxjyntxIClQf+GSQ9~67BgEq642w zbmT=uA3lxf%cm3l_zc+xgCLGq)1S|zxp-bo4B#ciK<*<3@ma)RKARZE=MV{eE|JLR z5hMA0ViaFMjOL}p7`~85;){r6zL*%xmk=p@sqBM6;NZ(>HkB_YoE(WX{t}VSR}i^; zCE?<$h(f-an8Mc(Gx%D<%gcxozK-zm^~5Z`ftbxV5?lDo#8$qE*u`H-2=@lTZoZjj z_wX&mUcQys$F~vt`F7%U{wm?;uMvm%4&pH1NgU(5h;qK0IL`MFC-`3C4Btn*&G!=* z`0K<)?kBGE0}?OX;0I~;CO<^n;)jXb{0MP}A0@uv$A|zgC%)uw5LNt5;wyffc*su> z-}95iBmNfg6F)`#%uf@)@iWBl{B4Ow&)*@u27Z=Q`8mSK-z7}^J;Kb-6BhnHVdWnX zwfF_1Hor(b%ReOQ@Q;YP{1Q=*UnUyxkBJce31Q<`h(`P>(Tsmegn9WjvIW0RMDiO% zOMa7R#cvT&{4*k&e@?XKw}}{jhiJpUAlmW((ShG3I`Rsl3$G-)@_R%#exK;h9}t81 zm&9Q1ts;l;uZW@iAu)!3O(gMehza~#!p^@VQu+6UlRqNT_zy%n|B=Y$KM^keGck$( zLQLkr5{3Lf#1#IRn8AM|y!>}cJk3J>gjmF%5=({rNlCg)0FbK%Xvj4J6mqQqEmj8Uam6ML<(hFQ6G|5D-Rk0nJGv;Cb>{0pVmF z0TE5eWCsE5$c_Tq zlbr-~AUg}_NcIrWiF`poXR?=oE@W@vg|0L)KtMNgpn&e=AOStd!2(_&lLho7#|nrg z#|h{~ju+6IoFJeNX&2C!OcBtJbO?we^91xKCklus^92kb-Ch9$X~H955LqB#Fj**I z2suT-P;!=lVdQK93FKk{!^tHAMv$`8CX%w#jwDwK7)7oUFq)K|cnm2!aS|yzZ8GVV zy>={3yewcGxkQ8a+`n@a=QQrDSLG)DSNe(+$A85+$|uT+#?`^+$$iH zJRsmj@}Ph$Qg-@msaKJ`K8F^Z6p%~4CBQ|V6Oc!~D_|n|sepX)ngBO>U4VzYA)tV~ zDPR(LOTc9EwtzzNj({oTT>(?c3IRpreF4*`{wNOwOs5533YbAw$zDmyG@41uG%6;) z7EnTdBfv+>G@3=qG@4DyESf{gESgLHCSV@7 z%Er zmw*FgZvh9%J^~JreFYpQ`w2Kg#tAq|CJH!4jucQ%Cd>SPgC@obc$1tU;5ca)aDq$| zaFR?H@D`aN;1roD;4~@o_zdY5@HQ#a_#INF@mX?)fODiw^LNP-0q>DM0q4nCa>e^J zF`Paf!`EhGxShe_^w-@UI@vJKhW8Gl1{F zdO$jR0diSSC}6QLjr9T_>kSL!SMD;_7gn==u#v^VHr5|@vv@clzkJKtKsdz)!MkiQ ze8`5tRW=kpW5b|=CCIPl;qn`Jg#2ht)Bqc)QQ0WXGi-2S%${TGBtD9i<(6&OY;)T z)|9av%_}Td^BQw$_OU$8VKz~7oaJlYW^T><%%i!?3N+W*B+VT*S#zHiYQAApG(WMa zn%|kXNYS!sikVGUIGdr=V_wC^W-4Khl(x*LbYZiUSTwp3ZgmMI(9a%C$+Wfyx%@v{}mF}6~9i>*@5 zvDL~&wnn+a)+)EWtW3Gf)+tqNz4ATVp!~`8LG4<0NV|z0*1pP)X!o+C+C%J^R{jo9u06xv(4J>+YA>N-qkf@@984hd0iX!zOFO-K-ZI9(8aNf zx*_aC-AMM4ZXCO$bF$02Z1%Cv%|6jhWmj~??5b`a`&74tUDK^(*S)&+?1pX&yQ$mB zZs}fUpXrXW&vhr+ZQWURM|XjJq5FgdbT`>uU4T{SzGRiU@7O)vFYLbVDSM#TvoG~l zR;91SzS0M?hx*3sYyI==8+{b}R^Og|r|-tT*Y{?R^aI!r`ULi)ehm9bZ)ZR2GuSVB z7yDH|iFyB{pUxiZXR+V(rR;Y-vM2g7_Ef(an0_aK-VYjmIVk$mpw*uTo&GZD^*6wv z4}hw#0;B#BnDmdqY*4^rFoV?~-zE*g@Qfi8Y8oOS$PfeE&>4gw7HS#dp|&9bo;4&v z9fJev8nU3C!R>|mh9U?y_@IHI6haIL&l$>~p--W!y^bcJcbBWfflM6B4ycXsRlzUH58)M2#8i=ptaf=V$@h@qsBv9 zH38bGNzh((KnFDoI;vhbbW)3;v+9E`YAJM85xS{m&|TdOJ=C4>g6fB!YB|KJr=gd6 z9(t>np^th4`lCX2EE$(G6paMUZ6lL9($F#u^dE8Ovb2aWhOX?gYEh4=KiS za2QWRs_{HHjh7+KcmvXn0mv{`L8kE$yl8w3StbRtO=ifEg*w+13@%eB-^1(DyDNHvZ%rKRK*R&aCns!35 z$qyx_a`2f>!z|Nzm~FZYb4)j2t|ERt^si_O8X#2gAs z%@MH790SYEodM0U@RB(mR+tlDr8x;!nH{j&oaKczW;d)g7eSfX2kXqGu-=TY!CVF# z&70w6^G?`g_QNaYa@cG>4O`6TVXOHvY%|}0?dAZyYOaFU%#UD)`7!LYD6q?7hTRrf z$SuLJ*Afc*ED^BZ5(BSWI)mR53kNLmaL|$fhb&2O*y4aA7H<|DwYcG!r3lI`K6t}Y z3U68vj$6v$gk>|FwCsepEPgm;DTmXR({RRe9^STGhIcGC;H)J8=PXt5uH_NDXL$_g ztqQzvHNyv1Sx2qGaM2nHA6g^eBWny?vUY~c)>!!18V{dX6X1$939ecl@aZsX7F@Hs z;kva5ZdiSA(^?9*tO%c3%iweCX1HzL33sf1_`+Ha0qbeFYdsGY){9Une*^tpRx}Mf PfiI;d`OBtWD*yZ+VLC%# diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_nl.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_nl.class index c90780b9d788392fca981ceb786e49d1be1741de..e2bd98714964a10f276fe2066575dbd8d95aaad8 100644 GIT binary patch delta 471 zcmZ8eOH#s65bPH;zrs?V5RibPB5DNr1jTYgxe))lV5cY0J!?vDKxO61Blw9ctMmYP z1-D+q*bj7Ls?zB<)6+AP_mQ}h&B6EUJ7Or~+(H@^8?&g|uuzNjq9{_VZos#pqhT?( zX<*Al)9lxZx`90d?f%uh*bgl6AYEkR$YCyy102S2gyUc!%4QBHah&2Th(vc{yIl3l zwQ9cZ@6;RNjdrVru5M{=n%;mw26Q3Q$!SHL4_c;^%>Tx~Sp^ob2#uL*v*oKyhI(*( zlP;4yIdmz|r$mn>X2w`k;Jb|C(DBpE^i-Yd0_2G+SXCLGa{Q|3xc36{kwj4NC#|r> z8a&mUvFuPt`)7#%${5zE0QIHO8sy<{c;IrX@D_BfnxBxe<4q;y4AGGZVoD~78R-yR knd*2U#1l(LL$om+d|A7>3vQ_K&OqGYzJN`I`UiY|0P?RkZ~y=R delta 777 zcmZ8fO>YuW6g>mAGZ2h*%14FPzSg!X0tL~MxM>XWqgpH4MmKJz@CqX^Lx!oux*+i% zG_1PvC-{LYja`|T=r7WR^$ZjneaW16bMJZQo_F6I=s&`_@4r7C!jCjI1BfFRL;_cX z2q5q89vvNd(KQvx@62FVMG*CQL~*FT1sgPly0<8=qk{a0tG5%>(v&JqEJ=~6pHNN1!a@6 zNROb1EW^Nv;)WN;L1!Ed$rz2}7BOa=44ENujK)MGCKwaz`xgJOO~0Re_H%CUeZN_7 zb#B9Zzr6k?JQPY@ERNtp9J=vr9AfdD7w+llu~!#k@O&Ji@j|R_doczt1@LkJmjZYt zfJgwB19&xnKL;)qhb1~j#>B{2|4TV7Bt(A}AG78I&ri77X``^K$() zUZ21*sR>H0jQ6*Bi{i%?7L^tj7Y!{bttcsreB*s4k(*H)y+~!;X(u&)LQ=MWJt621 z$Z7JAX3dCn#vgH!nuM>!znnTa(#Fxw&t-L_J84){ zN$?a-!0DEE^TJ`XL61+-W7GBM!FUpRIF8Y}e+5pW7N>OI(`dvQgzyK< z!CB11AJK+$XvcXxt!L?@=Rc``r*uEPx~|FWy(SR*2BPN{yoQ*Ub*1QO?KUe!xuA<@ z^nADX&roe`RKaBge!s7+d`)litX|S?U-Fale*a+SbUSqW`P&b!XL$eirM&}wb$)s{ zA)0+d1qm_irwuSc8_Ps(kkrPrzqT)vwEdW@9m)aPOr~gaIZ&I&RPAsM(&jTwTflVf z2xe%DI9OZEA=)wy)s{0;Tg748a5b}(8fI&2nWLS+T24YwYKEqlPBWilqj8bbjpsSTc!4vGzi^gug|m&<*<`%Ikntw(HvZ0gjDN7%c!w><`&j(U|i#U#=m&K@dXze|KTFzI@^r@aj|iOON{Th)cBsu zjGJ6;{Kyr?Ek0oU#CGEst~7eMN)gA^hR1M+8O=3D4A&Zc*=h9aeL_j%I$KKSgT_Fv zH&VI57{rZ68aEl)+-&4bc)&WS23W2aF~jG(tRNH1n|0!pA}d5y&O|O7?!)U3e6_ zbRils`Ww{mX`)W%0f<8y?$99-)KL?ULi9x``eB?7qFUXf9>g^C$802_1<7dDBieL8 zt-wHZAQkI%0|;!X;#fb$I09Z^*?}z0|uH zjt`NKYbd}M7=iy{B>u0L{}!Y0gHF7kP=p>7OB71v4wOnF$|MEll7TxV3u7c7V`VhP zNx6=&N>s`OR7nG>Wfp3r1+}sO<7ElzWF;oZI!u%;2v3rosF!`1EQc{gj$x{tM1!2e zU2+lAq=yX@H&b@~R-N#t(KF0=k9UI-3*yO&&W_J@? z+|StRIc)P{vE56+LtYBP-eBzTa+c$;z1+kr#gUL5wi@R-i|Kj~-2;Tip}LO&~_pP$~JUjd9~q4fX& delta 2694 zcmZvdd2kfR6^DP_1JVi$gdPZkxJDcTR_H>2Kp-R}1PFl;EH~m9b_Z#7>@K@2ue2PC z0f7zXTrihy96Kg}AqKDU0k)~c$gZSa0*v?AqB4+vHSP$ODmC#H+mrnS5tWG z&EzZ9F*VttiXCc-Lrrz45{H`RP}3c%)S+fLRGCASJJd{vs&J@EhnnS3RSq>fS;`;7qETr)pBwe6=8+Z{#{&P_?OQp{k2}j19df=N1&^78IL> zMI}YWiBF8*sra8p6eZ60j2Q7HS+^5r${8I`&#Z{w8MZ8ODD|+OGN{t;^V#mO*Y7if zb`!U3Pl>s?U~8VjkUD?Yj+>qCsO|IGrr#5cwz>U2yL&h>EbXp}FY8yD7?Yl_6Y+i{ zdd5@Ihb68KtXHv)9|Yal7P38gW@V%8ZZ^Y>R+wR%js8&BXSLd<<@1;Ue=uxXLECiu zgF()r`{Ki?0iN1wg~E2w^oC5!?Y0A9udl&eQdyT@UB~x)zk(1aeWcDG`+r&InXW+4 zig>!NjW^xV4pTZ_PuC8A#Ba8R!rbZFVRxN2eO5Gb^JI5=mgx^#(eIM;nr#6);`26{ zA@9wT4?;Z3D-eu!G_|%h**v?e@AsQ#JxDQ8mwB*9th&MqyBkg07Y=sF4x5_`x0(@) zSG0kbFI!|*S}iSRgB`B5+rw4u-RtCY3H!~EZFldQ+v3gSRo1VvJeHhFBxHH~5&L1h zDCcDHs(5`-I~cKicAmMsBfzraRVh646{V^rAfIs5>Ai-Pw-TM@O z@3GEA-;sm$?34Vf02DI8?=-iPxXmv%^F{6rWh-`1=UdQMxS{YPrc46=>=a(Y%g}f+ zzG-x9os7&zI`b49IE}s>@No_{gu@NvaAWx1e4bx|S5SttJohJ#e)_IcZ4ux?sGUu2#K=lp3c&yCB8_5BqS4Ih6w79n(ir9p8p|xBam;dZGG|f_ zvx3GmD=C*bm-3j^l+RpD1xyzeGV5sqa}51%Na|@d0Hsl3sfh1l@^IE(qhpia*5uiC8Bp|spuLl z6J4j}qW5Wq=mxD6eMqZBAJJ;juc%&hi`IxfrnRD9(>l>@TF;8%H)KioQ`#W}g z6vggSh^;h*MFzErlIRIhGDSpvs9luSyPm4-vuV@DC6P3|3qH@|V znn?#lv*@6xiVlh9(qU0G9TCl^xM%?#6)mP?A{S*nD_%y&Ma$`g%b9?BSg~|1;_(Y@K_3(%4aHogO1WlLf>4cqScv{uiVUpA09ahT8ZZ#87=#cP$PNrfjO$4! zm&JWt(GFucj>F_Cm&H|W1lOXGcnza)m7j1O+4vb(ypJ#zw=fQ$z=_Y06T=;h$5+V3 zUF6{#E{ETu0RKUuGB81U9>@=&@L< z^RZ4(#(G@}OV7dvT?4mX43Az3Td&7P-GBz|L!)kkS8qX+-Wfx)-isD}7_IsQeEJOh z`YZza5;o~K5Y*QZ(mzL7{{n6LHlEPGM?`;tcKsDP^j{Ixf5T?|Z)`CXwi*s>Gtv+< z24K4}6i*tXu*1l~PGbUg8B@_|lw-Fs2YZZKJY_7!(?&h^8jIZ6XEfm%V-xlp?Koh> zaM0L|L&km_Hjd(maT;;sB^))*zY0xBvhHb4{d(lqfqTTQ-vFY9~jt@T)o|8LHjbI;72Gk5Npd6#h3 zDfAxwefK^vA;h@o!d#r-gF|tm54doW>AiRFo@`Ba;uIfn;8d61H_eG&3m>&`x`i_= zoN3`K3ujw6$HKW5K4#%O3+G$7z`}(VF0yd3g-a}4YT+^q%PnLJAGdJ1g)1yvY2hks zN1I)y!)bi#G*0mx+j_$|%}wk(DG&22<8UmfY@9L9RyIB}&hb@yxHa7Pys~lLxWGY< z!YXY;!lObW!rhTk?IWWrRyi6VzZu###J6kFxZKf&dG6t(a|=q{lf$PX`1i>549m?c z_T-nw>I!#Z(YS+~bem#6R3n2+ef-%!CYhVL5_w~j7r0&E)7-krNLIdEI4~=R%X=2^ zmsHB<1O0eIOb+kseT0|yTg2b?%HRr$bU@9@4Khuc{Q!ucVCPeGSHOab!Qf+aZawn?1{&Lll1y-v!6;GmRqSLfxfh zxn=n>GA(7(Q|6vfm=`-aLKlaP^?34&$_7d~QkP3S`6aoY{Ji@WQF>_0_*|oQG5FU

bfKHZzDQ1|d+PeJ~}QG+l#IwN&36wg z9y6w}EcBrdu3Wlr#XIXa*4;nY|3^L7YCMaBf+w+0-?`kp*FlWp>tTNN{X7Ay=MrOBkmw9rFN^^&m6&4qzKbUQqy{-Ivus`QT^yu{8c2=>Y z`$eossvLqG)IXZvX`aEa`DU`C`9W@)RK&wGQn^L-1=y7r`2_F>eP;5{p&j{j{k0WW zlBysNiRr}Y>7m&zA57ANyG-WkFQ*;)$IbW0Tp-+^Q+ICh!#%m4hwTq;J-E5}Z|y5u zcin@W+A@u=ck9HFG`(V5oEv$AYbCbgmf`;O|MrPLM^L7*J$DJOSNGqwVc%*Ie9|4q z-=%e6cb78$De!qcrx~gd?@kKCOy1O_W_iQ)7%NYKB?+T=T4)0I95|9o8ua8A?Z4;# z{TFk2W?N3E#ym2y6;Dr}$FV70xN@U4oIj`_bk-lwwh~WqS@E#q(GONOo`rfm+`VHehG!8?xNx{cj?%Yl48&O7Wco~@>T!;?iRi4{w*V2(l^*&o+WbphtHA+J zTBq{`=OB&_Dr0Aj4i!OdTn68$GD<&!-y7uSI*Dm~BKk6SjGxA*D~;w8or>7E!4Tf% zY+4am^G#$=l|YQsO#^vO_yo?b`YJzR#bFZf@9oFG4yejAYY*oRRyH>0@9fPveDJ%2 zb8#pDAOxWPNz+>nK>1zMIYO5L^&ZsPgI@zo)w^&!LbVcO#u=!iv-jK$C$OCTK|fr03OOe}?ASO%kTERNQF z+4O0R(f>udoxTco=LFRJ^Q3Wtt}D@>ls#!VwF>`t&s=?UkM8Ti<zVHnV7p_o& z@B@tyu2Z3KgGLHBX_Rn_Mhmw&VOWsYK^|Q|CzT2ol?g5yEBMejp%RT3s?!9)mnI5C zlLSSRg&H(Ps7X_WS~N|lO)_TaM~@2rG+n4iGlcpyQ)uF)Sz=R~Ei|J!LUWoc1k+7;MLR(raw4)_L94!?((lQ}|%7sK?p))-$B++uA8+liVskBn) zNvni3dP3+$tA*aQMi@kEg=|_UjG*;GA#D&w(?($oZ4$=Olfrn~EKH#-!c=-nSWHg~ zOK7XGl%BaiLd)n`DVEc70@F6(aoR2{r{{&$^n$R4UKG~SOTs$ZA*`pJ!Un1kHqy(& zCVEBKPOl2j(`&*`dR?fXUBc_MJKd|@MSG;Uo8A!i&|cvU+9&L#{lY$aQ`k>$2?ywa zaF7lPhv|@Tg#IDCONWK`=!kHf-WJ}ccZ84VsPHiz6F#AL(}TUf_$j?7#WQqVI7{yf zpV0@xIXWR+pbv$MbW*rP9|@P~W8nsUBHW};gpAL)$n6P*?A(r3bNbWURc zeXj8uNav+!&;`Myi-LnL2~N5!RHZM3YV@U0gT4}K($_*=`bG$(D?&ZGD%7WIf}6e- z8qjw_5PdH+q<;#H=m){un68UW=!VdgZVJulme8DT3&HfG(1LyvqUmR$75yT#reB3N zbVq1QcZGKJo6w1V7vkxjkf0F6M1?3OD>P*MjTD8ZRCG~j6T2$3i`^7D#8ib&aiBs= z%uwhO2PyOsvlUhna}-t2qu%5U?VSRC_Lbtd~VFR&T zVUSlgSYbnPg~CSSN`;NZ^$MGa8x%Gbw z#l7^1uuox_xL;wocvxY?{o@}|7%3IU6-J5gD~uLDRM<*9sj#(pN?{xEw8FOH=L*}2 z=M}aWFDQ%=FDmRHUQ!q}Lzm?+*<*jc=#FiE_v zFj@RnVTyQ1VHfeP!mi?P3cG1dP?##B!tSC?VGq%+u&3xym?kWj5AJycf4@{CKzACMB{syWZZ_y#$A|VnlRP$foY~M zcuhZe)T|HF%_cCz41t+uG|Vz%V78e6bIh(V*X#w4nFC;+IT+@f`LMto4GYauSY%Fu z#pZNaVm<~-%_XqRTmj|gI$(1PJZ^4-<>pRUVeaz6O7l%vWgdYi%;T`y{211lpTS!5 zGORPN!g}*MY%qU@jpjYrWOKliwkojMRs*)!>cCUBAb8r=9JboR;Tc;Sc-9sN&)Je- zo2@%+x241LwoG`zmJ2W1M!-w9V%T9D2Rm(3p~5x`UbZcOS8V0*s?GZZyk^@7uiLi5 zF53&R+x80VvAqFr*bc&8+fmqOI|2J`r{GQ7d3ekA6&$dA2M2Ap;E?SO{KIa*VY>^C z*sH_a_S*1{y&fF3H-=;Omhi4U3f{A~hvW8mc;DUyKCq|3344F|(4Gw^?RoH#eH46b z_rND!`$YKE{wSQX&xO^>?C-&4 z`$zDF{VaTGzXV^|ufW&#AK)ANPjJQlJ6v_x;hLi|eCtr~og)CgcQk;1I-0=`jxf0H zXbm?Uv2fGT8E!dJ;kKg>cz<+cz)y}G_}Nhazc`BESI1bm9W&uK#{&4>!En#9 z2Enlz(XkB;M+KUWJ!o?rM7!e{Ivgj_={Sp)<1)G&*U-mt6Dv9HU}dL?Rh*Tus{Zy@ zbJoG?&W7mgY=PvALgkFX8qP$l=}h%vEoVB`c4ncUa~S$NM`3`o6ze!AV_oM=40JBQ zdQQgr&Nb+EZpH@AZ5ZUNz=qB}*vNSh8#|9-6X!{6>O70hoR_h=^BM*_Z(D*;Vs{pOl)fn#dg+6Y;Som#+rm3 ztQi<<&Br*a96MU8v6J;A##_%}g0&M9t=-t!I)F*mQB1Zz#1!iccCjvDSL-Tvvuyu3+rrio|qRd+h5%ad2A`TDu delta 7132 zcma*rd3;RQ`#A9Dxp$U35yW$1PZ(8GvghPJAFpJ&kJ^T+S?%j=creb;l(Irp6B++^h;T>Ay~ ze(n6z&w~jmW)l}K!s}yjG2RdZF5GBFE?l@ETiS^?#()Dix%k{o&PNyRH6xbsp=BJh zjE^kiuw@*vjE^nj6U#Vi8J}9lXO{7~Wqe^7Us}djmT}B7j$6jpmhoT9_{K86wT$m9 zZ{bm+C`_ zBlP0D%DMx+Q&4Z7me{>Z-roiBv%}tCrPos{Pw)rAZeLY(rMJqnUUU>tQ)n zdgAoQb#huy-D8y2%d@BIY5lLoWIa5-xjx!0Q*Vgbp;z>sp%;vArB3GA>)$60(=D2<)E_yg)*a4&0X1ev^oW9WkOe5;4lf9#R9ARHUUx~Ls>&DcfiP(*-&nuL8unKTjegT@r2xETyRJai!ap)?F)40mapm6-Ph}^ z9zH#w!%F?_gaSRYTL=9~bK9Y@%cS&u0ym2ycG(| zjnP_!10g;Wz2hGhkSn%x9lX9US6nWYhe`iltPR&7OD}ir)K#%9^qBNrx_aDteS7>Y zOw{RJ5>13oI?$z)er~`vearY_U67Wh^YUlu?jy7H$~Lt|&kWtr)m(3zRH#3X8>z<* z->rY_?AHe}w_qQAtGf>uFj%|V4c0rltkjWqx9LtXbM-scL%Jv>tdAs=_i6dBuAj?& z=`9`NUeaqRSF9oJBU6jaQP{% z^@X9W^!~U6{lk##$b>9^na}UzN^)Z1F;K=;<@6$x$XCU$(^FO5Q`*qOomaubtHk4% z89v9$BbQqlicWGj4}ZCuJ8}9{PbJ^$yI3gC4nGe8&N@66c%uAoky)WG+-1?(RUP0e z^9=mET)Bta5O9aRRn-AqG@)3pZ@pgEw4b7vj~J=vI|u3I1Jd;?O(*L!<9*mdf1lhU z9U)Qr*cWzt7kW!-q_d*aIXc0;e$GcNCr7g(_m8Kt(p$<+;l_HoqI|B6KAGBv-))+{ zKPOQioVF0NbX|`uK2pYSyG)-*%F$1ZsnloN^bKBQwhAJ;8&ztsENSL+Y5 zb9INf=~I#}=G|bRvQlQ^91lPRymAy1tVe82WsC zwI0^|dcAn$Nj=sYtt$o%*Q;V@>*vSbrTtB3=t*reb$rU$x|L1ZW8L|oZse5Xi)4-T zgi9*8f#KjH8S3sOy_dQd@GJAo;d~~!$DP4l;V$=vv%L$$nG2%{L`J5hL>||EM$3z)l#B{VT^9>%{f`oP74k@~=8PgGdi0lh^Yyvh zWjfVesFPY0W2)XewuNq$-B@=VQKaw7sn#!!>aU;fFj^-h?A2q{ReD=Lzdn_oS64W& zA?nk=OSfz@PrsKIjtu;NED62-cS#6&YQ5C~p0ko0)Bk@KgI*Vh>tBn( zze;GB%>-u?O_i6ME?{`ftzB6%vez4&>eX37CU6HXK$3@@QURtZ)XkMr@CRXW}M$Faw z8fEK|iL-TV|M9vw>3aRh#3}kr#-NQIb9LVavvr5=B^ep{oNKG2`Pc1@exxj@;8wXy zy(NKCnKLC7JXSb82YD?Dd)#HgKoyS~o*?DCNX?PVt=FeC?{e|_GG7VL9R9s@hu2+G z6}^gwa5;aelzR27(Q|n+-=E{|9`IK#lEqwBRi2KL>IU`b6J1j)Inf0r3-K705iv_2 z$w}@Ps;_g`-*aa zP4Gn>DeT;8Z?$cJ~&*1gEyN1jA-&XGi>z~)krMGh>ui-~>tM%C}$nC~D6!lR9u5O&vLop-vpLsWZn(l*BQIx^T>;t{kUQ zGRJAujpKCc&M{IzDa;J&!Lg8faxA4@9KF<=V+Hl$=%ctM% zgs-VY_?AkA?*@@qJV|B34^%GvOclZ}45KTAR9Y&e(J~>OBEoQ5E{vcR!brMO$e^o) z(GglHj-ge;I9e@?r>lh=S|jArS|N|F5%TF;p_r}{X3;uf4y_kTXoFBn*9%^{L8zdO zf{(ONNjC~rv`O$&4d-uz26^Y-6PyW_eOi@R=Q7i@1XmI?eu_fCp{?KMZ1I@^pLQV z9v1GVM}&LmQQ>}iOn89mgokLi@G$KW9;e5JC+G>`X?jw4hMp2$pr>;q?2Gh_?Cz&$ zg#+}Q@CrRIyh?k8*XRY|b$U^FmtGRyqk7?e+9w>OmxV*LU-*a)2#4tv;RwAd9HrNU zPw92xIK9Eis|kKhZ_4f|dP_J>{}Im6+rqE(j&PRV75Su+W5#2t*$XiartCbd-r0?dVh4?MR;qo#=C+2Yn&*q%Va&^p((;jtPV4 zxGgc6?9JU(VxOxIxozl3&Ir&L0qa3#bpW&>3<`l z(3Atq723oV3hm-G3LWCL3Z3G5g_gKMp-a48VT^c#!Up0-g|VVm*igJtVIy&q!p7oF z3gg6^6*dt!DOkw+oY}6_2AnsP!QQV`jllYRt&SJg7ByqpO zF5&@&UBy=vCX25s>?XdYu)Fvlg(>3O3VVp}DC{YIps<(tp~BwcVTF-CvT;OVU-2`A z{lw1|_7}fWI6yq6aG-cn;UMt`g@eT(6%G-9QaDunS>Z787lo+I_hQdtIR5)6+DI6o(6^<1h3bRC~!f|3Fh2zD> z3MYu9aH6ObW{dF(Cy7lJP8M76^QXv0ONBXNXN9?9lEOSOSz*4|P2p6rkHTqUUxm}f zkqQgM423hqQ3?yiOoc__WQ8-uDGH0lsS0O_(-h7Yr}NzTr5#oA(kohiRB9CigOjt6Xz+c6#WXT#DGG-SgSA~E>Ku4W-nAYUp5vg z42p{thQuWb!y-@H8j+`Mt;n-oXOv=qfx^c+zexJJ7nR#Fb*Gv z@%T7@Y(EDRaUW#k>o5u5g~|94Ou^3}2fv0~JPCPt8uIZROf^iH7BOOAy3qs*j21A% zXbXi#XDBjKV5ZRzijAQ#%NPl>jV$mOlVOfA4N8n+C^fv`H7cRZ2tm2A7%Gev;4{|1 zTw?>wGj4)PV=Gh{JHT%|00HAMs5YL0`Nj(nG!8(>cniYDL8vi4hFarGh%7L^g@wjX zu*mog78@5}iRpkV%!aVkjE7}rYlxWbVY%5AR+zouN^>AwWv0POGZR*s6JWKO3s;*n zV2$a4wPpoeV+P<_vlgy1m%=)8C9F5Eg$?FLxZb=KZZPkFjpjX|&4=Jda}R7XpM{&u z`Uu=?z6Q6L@4&6*A=qqw3R}$MaGUu(Y&B28HuDd--DbcYHWzHS#lfAn=5Uv-4eYRW zf}OVRaJQ{5++!O8_u59leYUZ1zikpcV4DgL+GfHoTPZwbn+Ffug7AoK5j<*J4v*Qc zhC17N*lpVcdu+GCI}iKpc6iwy3;XQ~4%l14EB1Eqs=W)mX735F+XuiK_EdP&J__El zkB9%*bKq@z0lZ_M4e#2^;XS(_-nZAlLHiZ(LBxI)d}zN04%u&jkLV{puV0*>2%fv@dn;lB=qZyXkU z>u3z$Ihw%)=nvCOGfd3KtwZ5gfY^9edDlJcp*^WwbfoM7!f4Ivk&% z({T(f$M@)RoW>Z(pV+`@$5>}WZ0Kx?jhuvkTjx%6J9l9_=N@eDd=5J}U&fBk zH?foRAa-_sf=SL}*v0uhc6FY{WappQ&9Y;6t0AUXO|gfSh&`=N*vm@6-d2C?W2ItW zD--)!6S2P)$;ScKOdM!=agbGogRL4IVlBm?)+!ukt;1An6Q)^PG2PmU!>tE#gtZ$- zTF+vJwGT&GZ(yeNK906N#xd4cIMzCWS=K2WXPv|GE*nm8#o|O)JZ8HRaFVMdPIh(2 zDXxB);~Iv!u2Gohnt=HcR~}Av72z~jDNc7)Vu34+GhA0-p=%`;xvs;Rt{bt~bsNrd z?ZDZt2hro&jdNVjVu@=Xmb%_Ruj_p*bA62EuCK7dbpm~^Q#jXk4(G+#urekVt778O zACrKAn2uN-(;er>^uu7xFbu_v!f?z4Osa{=!`hf4To5xG7xG`}>-jHo12^zL764-S L-vIJI3jX;&0;%`u^%wy{dQL zz5jRLJK3;Stk@>vPye&75mbm47lYt^_+v2q4sHfR5PYY4fBf-BzWP%jd>;$}@V`Oy z?9YMwCJ#_XSVgr}?6-;Canve~ zS;cXyIAIkh1I4L8aayicc8D{wueukn!tYzbhwxD=@wPbIN}Lnt<=1Mo^+RE_5tlW)Z{E8iK6;eP<#g#;1+E;& zT;1ugN9SkT+;%ww&`s= zH8Tt79fxNId!InevE zQR^%At&tmI+Xeg9M(Mud7^5zRn`ypvI`yvBjeWk=#zCW;Tjjno`V|}H|1Y;j%kuEf za&qE!t=m+GUCs*ZC`+P7$}Qbf<%a&RS8l(@t;jwRW%68?{W5%ThD__XRj%!wAs>ic zCo9_>lXAc|`S;+Ra%gn1To;oi7q*=%HzeiA`mi+bs)w8&Jtr?e*PchAv1cXe2^8g) zS=aLl+#Wr{uIISj1(b~fH%Hv&&~vhKSs4z8J=2rpbljFKp8veTVvE2 zjZr$?Dx&z;%4=aAy_^y1RYzTFDTSQP-hMYs?~Ph|+5BFEndCa(@}@!f^S&Z-hHbG? z;Va>x`uvxZME@*XPEr=Ouay0IEtfkx&+#Vu7nZ493T=jcj?-mlo!>o9Q}E&`N=3$Y z;}FY{wB-*;(`RTMQXov#lKd)2hc)!8Urg_QT62Q+2 zr@5E8Fz;Tu0?MfFw2!`B8RRoffooBvsf|XOIL(Z5ZdN2(qwQmFFGHqC|I=9VxrAY| zpT0vz1k9Ezu|!^rcwG*T8z7$=k|u8?I=tSyR?ifFP5JpnU|~t0(a;7Bdy-$WoxstHo3W2 z?(I5AE*+d+89Q)}=od21QE1D}$UiMT(Y2;e&Ap`Ck zEXVXHlet|-$>T}ev^ed|~`cGC+1ss15c&fHucAj6h9uemp6uc@e+nd2_zV{`jy zkvso(^K+_R#t!x7x<>gllktBEI*|nZ-wq^8+DI81zfYD0T$be#@zNRhnmis=C>M9D zksbTg$TvcERzA|VlkoPR(j;cySnnuL%^|uqyB76nk+G3W4+XWNIXL>Q(nK+)bxLV& zq+(v=TSlz%Z>o0`r$haJDo&2YQ{bN%~~?y^5oV0Y8j7o$Ju@!0e7>9S=i^&Hw4UAcB!A!j_ttvhJP zbQk33J6+~Ww<6GT6|~&$XxWm|yUlecFXBD!3uBL2yQ|HR(2PvcRg=m(wx)oY@!*PO zu4PdxUuf0mUg}E`t)lH{CH>a&d1I2f!f9>(yE97jDed-i&)trhe#scCqw-vjO>~gx z;FbxIQF2JQM~pWQ9-qY@ls`mHms4=CygIl_ZnMsnhdMnb;>@S>BTHpQ&kHi4U6K4Q zW|HV7zg2t5e-1e{^L;w)0tn~=bUvl40J^3_D%oq)>Pi$uOJofw`^=6XH+2F!P7C-1 zJ_W_>dYsw;^vuzBKd7iJNe&AU9c0hso}r>$zBXH1FhJ|tL7P3SYlss0A_N^R1@#}7 zr9C-f7JqRxgpmCJtmH;pa-b8r5Juk(hmRqGMu~;bAPK&J;qV9Q`z1_-uOJ1k!wmQu zQsD+{RSaHWj1DreQSM$1#R%I>wTnjd5gc7*93}6Uf>zF~u9%HXHju2N)~yLB=W^!B~wW z8Ef#DjHhuFV=a0|GuPo5#zq{=kT{O93CA;@!3m7bIFYdhCoy*6LyX-xneh@%VeG+& z8MXKb;{c{Gj^d+?V>p#@5~ndv;dI7noI&vqfiw6R;{v8KE@B$v9ekW|3DX&uaVFzk zoW=M6XEUy%jq!WTV0?&~jE^yk@d?@)f5176FL5s8Ys_Zcz#PU+{1wGN1ir(0-25Bn zGJe23f(SqdBM_a8Hki-27oT9XM;D_5x*1{UVRXd;MkE$8`r>>>3@%{A;**R7T*yeo zMT~yL*V<}?{E@OCcQCwOQ(j^PzQE0u_#$H? z?qo>(4P!IzVr;?PjIH<*<2l^J*o7}McH=9Im+-fYJ@_i40$*cP;_Hkme1lPqdl~gu z&S>!BKIU6k!8n4IjN@3vIDyrSw{bt?EY>g#tY!G{0OJDIF)rdk#(P-LxPlFg_py=j zJ3Per0N-R>#lwt`@GZtQ^d4b;ibolr;W5Tnc${$^PcZ(5CmBEBDT1QlX@-ht7yHPq2oJ@?szGN*$Xc-BJf>CZ+wr@2d|_=R)V;- zxvA6Ok~}l=uvdoxA_4}A7#Jk_!(cHKlEg?DBF4i|@h~Kd88A%Dg5hEgJRtJmLE(WB zViAlK#qdk95=M#jFj{PZF=9K66}w@acn!vjN|+$(V4^q-lf+4QNSues;xbGTSK(pt zDLf*sLyEWwkBYy-RIdUsO$mhQN*kD=bb!Z{Fi2JIhcqP;9#`TaT^R&3mEkZ;84a_Q zNnleRg$yMPGL;O-QgXnq+=FG8O3GB}jI;8gZQ zzS00sC`ZAioB_9T0X)hT@D?Z^L80;m%vZjF1|px zRoB5fbu+A2pN9?VF4(BP3R10rP3i$JJfpq|o7EGrMLh?Ibk@{REy;mLNE0X$!|Ko#2Ee98Ow# z!YNA>oVFyw8A}qpZFvyRTE@aT%VaojnFfX>9ekE7xL}zF7cDM$C&BV0T(T^M%a$^D k*RmGgvpfS=EYH$^FBSNf4jT&m51p3)g6UYo=PvsD7iF5u#LExQ)WAeHRqG26{^kcSzVU-EzBS#y{`#vNeOC{E_k$0<_vLeU>fr}FezfB! zJMP-?vmN*B_{ENY*m2*E2lkSPD8r|oDzB$b>DP@tszMJlkJF#U0Bj zMpbD)tDF5Jb+&=3RyDexwYXtaxA2H=;n9wW$k@o}(u-D@3VtF!Cp+7j>dMH;cH}wd z@{uzw*0DHzX?KNQIK_#i7QB|A;b&2-j{)0L9``w+7{yFKL& z?@CXZ=Y*%qQ{yf6Zj@$)r`mJEyMh~@GoBhgQ|VpHb11HxOO3-5Q{yS&E;T%}D(@CP zs`hU1u69TVo@kBdjKfpw;eNkQeua0X6h$FU9}jA;Z~Cm$)I43s__%dP$7tOza=)G# z7o*R&Td6PB@2HmyDAt{uzO8Fpl<1H?`K3j^4y7}@?ALp`rs%SMll9!N_4`w<*`&hzflnWRI@j zW|WR-yFjn@pOO?jFeP=KlMA2kO38C|E68=sPRYo8yg4F0+qmSlydjFES|#3Rxzgoa zNnQyD^LSObsGIB7OTW~4ed(r{7Yu#4{|7p^g3Z}}h9EuzNjADZqey%IWG4eS!1lUwA-&fz^M`!37Ln>5WaJ15VPo0sFtNzKW0 z6guEaRlq2z>v;XQPT-Fpg}>kv82DH(k8ft+oZcSap(Sc_t(n%sC@Z+BH8U6`;VbS1SUijy{CAW4@~HLnK`q>m2l)*@cZ*;B$N7}Oeu7`D z_=1ln4LsoCe9jl(`S5eC_?$eflTd%`Y4Q-{Vdr7|Rx10lx_ZDC#}jr}!*@iONq$LT z7S&G*3-F-^ob{+7r=9#ceW?+r9|dsMr$EjIM4Sz&F=qfZ;S8jvoJ7qy8&eQxGiuHm zL{D(Gq86ON)RMC`wc>0;!JH0i?Pl6i8_p1NaJHkioZ%G08A0thds2JONb0~DMIAY# zDU`E6b>bXAojC_m7-u|n;T%L=IR{fW&IIbtIfQy}4ySO=5fs5Wl6rEEqR1q7Sil&1 zk{eG`FV3+P#hFCWoa3lB=Xi?YoKCTvGw3PKnbe0fh5B;NqBzb}>c^Qz{W+a9fHRW@ za%NFHr;7%07SLeMLQ3FVKtnhe($J(ZcR&#hBRoS-3!7-Hu$hvC?KDobh zf{oS+c3LO+(lde|trzOk2Em^;3XSMlA%HdsfwWn06Fnz3rY%AfdR}NsT4+Wu2tl+} zaL|iFTiPas&~~96?GQTBP9c6ky3@--585O2q`g8U?Gv7K(|)lR9T1}E z6(O2l6?)S_A%+eKvGkho6umC=r^CVkdP7K{Bf=0mDh#D#!Z12645t&q2r3aq(n(LIJ%kETnhjK2k+=QCLLp3XAEIu!JrPOX-TRjNTL6bX8bR*MwqvKPjvf z>VIE1W_MiCJBOchw?UNZfN0ePy;THaR5W5$Up%Ga(MJtKUzLbBH6H!cRP|=_ z)kjEDH!x0pf$?tj9VV!|n5h1VN$OWjHheI}Xo#ss6HGH&BH0MRbfYt77~z;{L?gwB z!z^PkQjL*FGm_vmreL;_f^=gJ<`_B1FbXl(Sc-YZDr6cPkYzlNY-0yodG%eTDPZ_qbr)!`s%s@QzL4qRozXZH;ir)(n?z!MI{;kN0d{aMjim g*K9F(-`1D^tupu*1~|XwUn+o~AO9lok*|H=zo_Hzi~s-t diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_sr.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_sr.class index 3cc126751ca47be07f77d6076a72af6e3afb5685..664de83901789bb5ff499f79ee8dac49ef4a2258 100644 GIT binary patch delta 5271 zcmbW)33yG{_5kp;&V17tvNkn_8*?Ia1VIupgcw4^kc1$Ti%4WPhF&ogZJ+6wiyEtF zsa~bDHPqaZ)=*Pb71h2{YAE{n??t`Wdf$8h@Bh#DW&QTrd!K#IK4N9{Cd8 zA3xl&6I2LN&O2}*j`G3`9PI@T9HY7)J$l5Yu_l&!fq~;3vTeMHFIecdaDs(p7EZKq zl7*8koMPdN7EZNrnuXIXe96L>EqukozgalL!kHG%vT(MAb1bwioNM7c3+G$7z}nnw zt7@3aaZ@>APtukt%1OJfzNvC1W_hCv2YV}DE2q4b)5;lyM)t$B2Hy3;WP@_nTREqE zV^=e>%QX)QjR*=0b%sZ@2yfz_6{%f%<;OU*w@Mp z!{PS8y5TXw&f=1c5?6F-==eY`7L_#;OSj{i)GKOGSEI4*vWIfN^RA?Ut_;r78Hkpc6YBDm4ct1^T|bp z%5#R>d0urYK3i|QQ*!JZzJu*+W~RNe)+J1{{URGS4R#jg=jIN|$jo^_h}*& z+MOd~L;jCPdM4Jcq}aP^Zt%?aJB*%B>sD1gH5-O0Si|;>_O*Wq7-m0geAvDmn{N9A z6<{-aeL_PK>>Qk5G{p7CE$7*_u#Y7)uJBB?y*p^9{Y&sfPxa6mXbRA&Oszyb2 zfATz>nHjmct}N#ummJOIbme9J+iiRNX!$9J$#XQfj|ThJc=itdsf+zpldhguB0DQV zJ_&gvGjg-DoP%>Sh7>#HB0;E{=o*=^f2V8TRF`vXhFmfuvol@X7KuWFAf=Zm(S zb9H-Ht4HXz6aD+w3;xSe;+6KtQhK`95MH%6`IkEXw|@59)$7|AqN6+?!~~$-w)GTG zNL+OtgY6r^zV_wT37)I*yA=<1%2(`dU0!ofetP)@MfoN9nfbX-ma4PJRXD;`T;h^9 zDz2o&HM~F;oh3yXdBqu-CE59T&g{GrS5dA@PAzYUGrQQCmtW#69#K$`U-bB($2)|l z@#h`FOX-ij#G6IlF~^YN=u+M%Y4+}Nfx-V;g8%)nCr8;mySDRmNnC7TkeyP?SFV-J z{Ncm1|Fl+`*`sSUD*xAN`(n?__>x^5lF;ti1OD^XrU(9c^2tx$2YlU&>|G(Lt^az4 z|1#_UFplS7uN{gV8CGDAP0jL5Ps_siftUdR2-Q)(;$+DH5)VGI(?GD~uoW>As>nfWq6=!tAsfmeLogd!U=GA$ zF2v(-=z@8WjQNm)1(1e?kcmZ*gT=B3fF{S!mH)$KA9*>pPkQyr|2#X6ly&*?C~j$; z{(REETBgXe7s_$ub;(g`KAwOa?H$0kW&W2LV6m(L*}vrJlq;0yc>y@)+iTM!YkLzV z2UILaLdNn`NyZ9PS;mU=yo^5fgLHp)4Aqk5SgI{!J95g{p8RBtr#dorpt>?9Qau^F zQGFSEPy-p0siBO$sgaC*$X~`R3Xsu7jb$86fie!EAQ^{Ju#DLhBI7U$l`)6HWGtd^ z8H?Q%AsI_eWGtn~qV~yd=@N?PbSZUUmQzP&1tl=6sS~q?Iy3933$uZ`G8-w8 z*+ku#_ozFwosyV+)Pvbi$;=Vz$sDC#%n9nvoTNU<0d5~SODUY5qg3WwN@FfiU*bIA8pK?uOy(wKF~5?FxkH1QyEKHkPeYjplr3?iLc^q} zQVye0E~C?MrXuArK9tW?q5`He6*5jLV*IF>sY4}9T^hjz&`72+jbfV6XeN@zFs*1T z6HTQ|VhoLAV`)6onqFYy$j!8&2~1lmW8!Hd(}5;2ooF)CnWiw^=|v{VzB(|}okcS^ zanVd>D9vKBX*QEfbC}^|GkG+Z$)|Zt0nKL$X#q2m7BZt~5%U5qX592DGntk!Q)nqO zjg~Rf={07Ko0hXStzeeZN@fMEVph^>W)-brUZ>ZYwX~L5Pj4_AXdSbW)-#)E1GAOh zWVX>;%nsVfyic2$-SjrIhc+_@$o&p`kUY#G+QJ;BcbQ|fl{rq^nA7wgbB4Av-_Q=` zJiX6crVp4a^dWPLb~3kV7juVpGk0kZbDut99?)LqA?4?E#L^k29i3&`(>W%dzF|7hd8P+_%OukUrYC*J^rDMQ8hy|7rAtgd zy3C~06{bJ^z*|}wKvy{(L_ac_^b?ase`j3uGc%N~G1+vT8AiV_Idp>=M>m=A^eZ!g zZZTzao0&m(n3;5!nMJ=bv*{i)hwe+4g<0)5zz1QNSfpkNOOti&D^SeZQ}@Ok#Iz$)w!fmPX~0;{nn1XgEH3OCl^ z!fAmu*)sxt+3y9`VlN4-&0ZGhWUmPHW3LIU!(JCym%S;l9{a1n`s^)%4cOZP8?tu< zHe&Az^k?r23}7F)1vciwLxF+pBY{CuRS_7>ssck;O<*Xi3k+iof#IwvFoG>FunAj1 zU?fWdo3cV+Gq#ez=4@qwQEXL#Em(Iofi1bvKwvAjp}=T1Kwu2pSYRw0F0eHlAux`O z5!i-}71)+-Bd{IYR$zO!oxpguy}%A^qQH)9H-QOkcY&RxZZ%0@XRhciunXHqU{^Lp zU?Q6;up65uushpVU=rI;U=KE3U@|*MU{5wvU@vxoAz!WxLU@ALOU|MoO zb02k-z`k5DR$xE2RA4$gL12HjOyGdz01x0lzY6uim}=`ox4Q|NU^R$DCp5)|&xLW(U<};I6!_04u;n9OE3;gpbeHnTbu~(a5}WdS@H{U0d&A+ z&=J=_0=@~I&;y-uhx}^X16}bDB;ps)4NpLKJO@emJ@mkzAlZ#Kp(oyhUJ5{O#e_ae zc}P(zL#k2}(v-T;R|$ZAN*JUo&7r>%3j>sR7^rlG45cRwQu;!sG6=GiY;Y+BFjyG{ zLzEX_s4@kzl~-VxVndFy7;=>rFkE>9@{~=GuWW?^VoNNF1(}`!^`SecttIPzp2w;hB^~ws`Fu%x)f%st6`41!400`+rPs2+z!>RDKtIc(L|!ZvLqyr;bj+qDm1hqf2q*FJ_1w4?B$_BHI(&ciP4 zGVIoVhCSLX_(*#Idvyi&=?>VhSA+w46*#EZfOqPKug^*H!U?+Bmk z-QWwoHyqK^;i#SkU%K@i_)0H=WBM34u1|my`cycn&w#J>d2mW!0;ly=a7JGbXZ6i+ zPJa)+(Raal{Q!Kce+C!yWAL4R1}^H~!T0)AxTOCAm-V}FMSloC7&=@vyx~Vfz)wbX z_`Bf;KO2qUnh^rmji&I65e+wtcHq8gbcSDz9&pP@h1aS9FN0-DBEw2T|*Fz%t3 ziTIr9KyT9r%bC@%yy=G(On^aySj`-R z)y*=jVNS=I=4|ve7hx@P1=cp#q0`)qe&%+pWA4Ga=3%U79>x0RDQsX~z=q~kY-HX* zfAby&Scr`+2L@U`7-Ut$V9O6fEPo8O!Z6HoM`5@XhY?l+HnEa0(n`gqRt7e+vaz{U zh*8!UY+;pQOKUo|vSwqnwFqOZ6&P!+!`9YjjI*|58*2}?wGLxD>nOIjPGP)t0XtY% zv7>bZ6RdmK$${9};lM5qAMEO=hKUY8?B?*t?v5}_N_0eF4@Vp(I})&`BMEysQn9xq y1N%6#F~w1csg5z2<|xCyj_KIXF&onz^RU1Cu{c8h5L9p^4w8DwpMZu`{{0W|UNlnx delta 6318 zcmaLa2Xquw_W<-DM>@J&4fM8ruii)5x zVn;-up4-jsq1@#Ylp;~G72{``44TI)kM1-y8RpRcX+J+*L~o-nn&ruK=c z?K8FgruM0+eP(J0Ozm@1J7{WOnA(@7cF5GeGPSQw?XanRV`@iC?ORhjYHHt^+V`gR zgQ@*!YCoCUF;n~5)Q+3lFQ)dZsr_bZznj_#Q#)yDf0)`SQ~T4@{%dNdP3?@S{bg!r zP3@f7SUYd(VCrbz^ zZdU2FYU#E0I_`%?sCKXPuHDkR_O`n9=+~ona-??-x-D7;+&pupyTf1Hsa8(7!Y&B~ zt+^$30YdX}PKCYeC1>Xf+p4t7;&w$SU|SvJV#j2slv;?*-5**s*Ad#dO;g(>GcP%+ zx%c)>)jCXaug+;g;Yi#Hl}1aPQYRdDf(V`6{W+c8W_3!Eg>|1c69aRdScMa__UwOx->JTpE37^rcC2V57~A!dU11lM|9ztss>%V zEE?sar95cdzfhTF2Lets9tsy&ld{Hl$r;c0TzFU+_oQ@8q$unZ2SP=*6$$2ZpTc&A zH9i*Mo`m9#735j5xT7I{bTCr7b44i36CthXXcb3dPCOj3LR^a5bn&Sddw$`O#gUpv zIPRh5Z@Ror|e%{Ryc&jUC*f6FRt6EsrKMt-4zBc$>EnySppubmwcC z?x{MN$*pah>Ajl%W2B0>>rSwrwWw3qKFp6rig^0NJhHr&%VVLM<8q7dZduOjy7=!3W7T)? zFMdj>x?cBO$CZi8bHZ~&VVML@jdET#+#pU6S*JW3oD`+eF4EErYf>RkbifYFs?B$J z4e`^wnZK33V|CV@_pBq#z?Xen4k*Cw7|UUNvx;+dQiviG!LMiQfOuUe@*Bds&%X;Y1_6 z-X-@3{CgMU1z6oe-pac2jQ?W`i*u`sdBY2bq?Alk?dm=4T@tA&=58Lf!RFry# z4?4wskL0S&D?erz^If)V=@m{%s5nwkUA{Q(K02k4*Jg_>t8*k=vhc!Ngjc_0Zl8?q z)thw*=WXoow}(u{Om}Qn+uqWV5 z^>7h1<~mwn6}03U+G7H`;1cME*TP_23L|hCT#m~j7gxYEybkj4dI;bRP>d_N1b~O@ zU&{ZNaT$5~ozt5o(w+hHNj^Ya%(15EdT!43TroG4 z&$Xy7$kjg$_^*i$IE(6p{la2zUOsub8cBCVI&z#sX&k3gCyvvoGso$a&M}WNIL@Fh9D~%AqeI;|7E*VPp#=3{il`^YV#?$g zqh1`#s5i$->cepn_03JI4~wavu!Q;xOKE_xj0OtJX^^mj1`F5G5aD_nDy*hq!cCMV z+(N^Jb(AgKnxGNlZ8TE2okj_FP>ygnjTY9^7~wv;T-ZQkg$HSzu#v719;NZZV>Cf{ zf+h-^DOY%oCJE2eWML;w5q8m3VGkvyi67B);S6Bl+rpOOt%UVx=o1E?ZP~|L#UuTh52-suz>Cs7Sej*YPv^A(7nRa1l=bt zqYc7!biZ&tJs_;52L+cl3b)Wh!a90bxSbvm?x6n&_tB%m26{}mpB@(;piRPq^n|dH zHVY5YlfuLFl<+7eo)#aYr0@hiBW$KE!dBWUJWJ0CFVJ(si}bwk3cVn_N-qkp(>CD^ z+Ah3FF9~na%fj3AitrA-D(s;h!bkL)@GzqvLCB^bg%R|VFp`c56X|CmmyQdQ=oeu!{VL?qZ^8`vU6@HH zgjsY_m`#5ObLf;1q(23R{wvI-(@a7upfmEbkp2=vbXF*$b3!ql7p_wL!Nyi8MDc2c znwU_ii;ER{#3c$1@dkxnaiv0^xLTnp-lWhk-mEZ1T%#~?i5#p|SW9#j))sG3SVvr^ zu&#Kk!g}Iu3hRq^DkSkPg-X0zVFPi!!iM5K3LA;{Dr_v?r?82*L19zzeud4%2UG%^ z%fW*RTZkJKriu?KY$-mhu$B0@LQCAFu(kNK!Zu=3;icj;3fqcX6t)w0D7;L3O<{ZS zb%hNeK%!VK|4g)Kkcp|# z3onJBg&+pdw}HiaM_8hFg=_TQ zaIHQFmg?ECOurnK>$$K(&x7l98?M(2;RZbdEA+loBlT3u73!3==-_sZ#@U(;nJ?&tlr!zd{=>ZRW`oSZfq3|EiD0tL!1w7`N0*`xU!6r`- zp70dIW={;B^elv@Jd5FJPhtfmJ*(jv&pO!Rxf`~69)M>(kHT}Fr{H55ecgCOBw3178>~!k5MlIApv9Ul||3*Tz0LYKr)9{@a;d`$MKX~iHkKRV`lQ$KPdE3Iz-cE4b+Z}%K_Jv=)Lm=^+cO?Ao9S0}8 zli{RyCj8+Iz$tGL{OO$s|Mf0_)7}J}@h*qIysO}>cO9Jbu7~s9jR@XNh~6!zdAFnP z-Gv_SZZy1m(d#{kKJO7Uy~oh+J&7savv`Tmz*@fASlibS>-bW!uCE=|^QB{bUuFWy zHxQLC8yon>Vng3#Y~-7TjeQO_@s(mzUpY4ORbg}AGHl^ng{i)E*wVKiTlqGk<=cd< zeOs`NZ#!P<+l6g?yRn^bFJ9(5i0yqxu!HXycJ!UZG~Ze5WE$Antc~erL(DK!v5VOb zyPE0P%}iuscXJ^2Ftf3zITka`$=J)Bg}qG&`v4{MBVOs>gtmVR=KHr}z`qNF{@v*K_u^dtK`ihe!9xEr4EaxDk^d|f zrx;k0QX5NC8e%vl6(cF_Fq)E%UFM}^Vk~7KmZfB4JY_7Fr%b>K{+oIg?~xj=#!5DY K|5Em{{O^CA#D~KG diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_tr.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_tr.class index c48dbc3f7baa54ffec7bb636a3fb7510fc2075bd..484f59b1b544992907e83c7f51d331262fd68e65 100644 GIT binary patch delta 6074 zcmbu?30zgx_6P8_&T#L!C<<$fA_{_v1Ii$X0}6@=3W_3#f`W>01(eAPINR0Iv~u2Q zRt}|^J<|rs220D?G_@?va!PHqOmoNv&9@g?uUG%+^M8Ck{Jv+OVV`O3!{*JCc;+a& z5B#=uJLnLq9dqDtba`M7R(gN~t919BJ9l`g+Kv-Ez=jhYYTG0`PPTB0g;On@X5n-T z@3YWt;S39BT6n*O4_G+M!r2x+XyF_S=UVuXg%4Z!h=ubkoNwU*3m00r$il@IF0o#Y zU9a2h+CjVao-8v~;~`nke33@r$htTR^Xh7cwIg-4_q7k?5i`^pr5&xSeW-mT4clnX zE};=op&cRuBcoy>JJwX%2B8cO?GomlTs9%Eq_`k(Oi5m0W#H6^=?IPcICrggx+;sO z1Xl7=nR8r;)5Y6lW`oQ+9z%~uADI-O%A8VGG$1X z+~cusNt1kOk4}|S65C=Ed8)gg+z}EWrv$~x*V8j<_IDE~%LcEMYkQT-f|NMv?+B6a zG%ApB0eNzHXQwB!n+k-?p2K8az`T}%d;|MQR50Z zr(3*?YBgR)b{M6F#>>lIKJs$oe)zCl8lK$y@16g-cKGGptFp-4_JLKdyt2x?{Ho&e zvW&a6$F;OTo(oUy`JZ-FvpQvi8ew&>X?_{?02ct;g8fkK4kY zRq{sr7 zK4_tgNKBCzo3E8=**Rgee*X+txXP=_^UF)_zT-fbb9^=G(RaMT?3bhzmB{zBc z%3ggaqW0^;5VfiH!yY@8%VLO}>DgHB@vI;AuLtvgIZ~EKl*^^bQ!uIau6x8h zhHjbHc0@~6VSoCp{pmw#lm%ST~kc;c5%FP`!7ENdE9fP)Z;6$N*&xlj)*!XvwKuaQFpi&HdtOsYa&IDB#D886V^5n29Ny9M*01*68{RLJ_HbDL}ta7w! z`Kv9cG(%nk?PcB(^Y8AYQdg}4bb^MXrFTvvoG;tvwDNnT!Wd;t>SXx)7^C9+y>-8* z!LfT5=(oO<#W}4<^5IF~t$G>_mg>w)b@QbEdjX=i~qG{ zjyijZI)}P=)l1XbyHvex27F1i|Lr!_Rq&66<-b3d`ouR6;8>#WZyPxJh3Mpw5n@oC zj1W83%?PpN%3Oap5oLsUiQ4ofp_Us{1C@T{qp}G#RN0gosq`mbm4Vb)Wf1wPY)MU2 z22)d&5#+D30|lszq-H9kC{Se#1*z;t%~kfI7Ag~{rOG4 zRhdd5DhE(Il>@20%3&0$ayW&l%%O0VxwScpBGhsobx>JAkt&@OrE&~)R9Q&TDod!7 z%2MjAvVyv(98XTI>oqDLek9w+fQ+!5JZHD>Q)FLIattl*YVCgP5I^ z&g`NLW-kq9_E9FYpN25+(op6AWibaSn|YsxF(1%y=2OaHPEsy&hDI=FX=H|5d7egb z^8)2DpVMgO3(9A{rUK?0axzzF4D$mOGFPdHxkkmzbsEdupmEGERKom9r3y5tj4`R4 zu~7wMr|}sfZf~^6#Z3oQG9FaL)S+s|izYDMG?5{i#0Z+qG@vPr4^3qn(ln+KO=o=R zKBh78^Thy~!8D_pOe?ydX-y9(+}MU@akDMWW($mZYTEk4FwahenhM7+5m<9AKvyj#^i`?`ayO{pL zETIjIr01DOX(O|gHZf1o3(S-BBC~>CVpj6-^2Sy4GP9aCGfz&TOZ*nYZa3W+&}ncF|5|FYRLX(Qf8F z+QS^8z06_S#~h*k%t!PtbBqo!$LU~geSA#sar09;#GItV%qcp;oTm4g&*%f@935rO z(}&Cj`iQwo$Czt$oViXPGdJ$OiXZ6&w{FrW%q{wqxlJb(8qg^oe;O(k8l7fzI>XrL zEMuq7n0j=MsZZyb26Tb(q0gBB`hsajUowI86%#~XGtKE6rUhMOTGF>nFn!0gqDwsf zwAS=JH`~x0CuMZYo$ zbc;!%+e{z&jp<8w6mBh9AaFZHAhP`gYHXH3oy`_#usH%vHdmmH9VO7t<_Wae0)YDI~x*5?&2fnIE-KyP-IKw@VL6zqcn8?bW( z`ml2aHe??X*oa*q(3f2(ura$xpdY(fU=wzUz^1Ge=+7<_7*PBC9~0P&SF92k$gaNU zGXjISy-r|rcB8-+>?VON+06oj*&2bZ*tZ0>X157!!)_PYmVH}b2)kEcJ9eMI_UvJS zp|$mQL|_=NI4Url{ZL>8dqQ9b_7j1T>=}Vk>{)>w+0O(#2z00NLLGqv*t!A-vYrCdSTBKtSZ{&p zED6kDg}}jV1A&>WkH8^pLxDrtMgp@~UxC?dV}ZjmLTUj2n4X$tI9$!wZ1P;;9(P;l zg5l5=qt%SE8+5~X=#G6L7E>V(Gt>+-8+xjFZ@ijI_ENLK1U0kljZ+~J?^iR=hoBEG zg1-0|B;zVb!FA9NH>%la4W!~$7=SxqAnu1WJOYF8IHcogHB0>*2IIGoiC19={tQFi z8bFq2hit7L4AXpIxYiVMv=)%7g}?}{1B}$Vz$mQ;vQ!@;SIhA~<( z6lxVvq)mik?LHW*&4zK>JSfp5lxj~vnf5f4YtKQ2_9BeeUImx74Jx(WP^BG&YV9aY z&^`h8MC~(}qT_X{z7Q7c%V3GV5~ThN zJgPqrOZCmLOn<`-kLmBga(y2>t{;Xc^keX(ehOCT7ht7+5mxCxz-s*`cuKzmPa8H^ zV|c<^qX9f)G=X(Sb9mNh3+s&tc+Thy|1jcUgOLc&8~tIUkpY{GVeo>H2QL~$@RCsu zFB=nJvoRfNj9KuC@d#`&mcXlq`*C>9cnV%O*25dd3$WGL0&f~`!CS^I*k&An?ZyZ2 zws8X9G0wsc<4f3ST!LN3b=YnE3VTcq_L>gZXL`YYvk|;&2EYL`7!I24;XN}74w*4< z*o=oGW?y*U90(tnL*S^H3m=*V@R2zVj+rhv?lvdG$L0(;Va|b1%mwhNxfD*CE8vv5 z7EYTR;Eee)oHbvE&&;>soVgdyn}^_n`4N0>o`f&V^YEql4SZ!@fv?S*@QwK!T(p_+ zt*tJ6XA^MA<_F)~g5a{P4P3E>!wiN-0Nl1c48PeH!yVgl1lwvv+q0e z?1!+m{TQ~fpT@TKFEGS@3ESCkV0-&*47E%Qvpg}}^1%qpA3IpV7-@xKlogE~tyqk< z+=cz!V-IU7_Ow=FytNK{S(`Ay+Je2U zZJ227!6fSt_OXs(U+Xj`TVG&`bqV`fH?Y5T8&e%74sdwlK!*>eIs9>uBN)>ip_t)_ z#=(wQ%uI45;t)qF4s~Q=mLnIl9ZnqPD8=E9YRqv=$6Uv39O0OcBOQxzl=^41LVdV2 Q9FMt55A`pmO{sqV30C+?=l}o! delta 7054 zcmaLa2Ygh;)&THx?zX!jKsZAQCE-#N0t7;W^p=E>P(u>BludF;mShWCAfYWPRTPjx z#lj1s2v45^MiIM`h!hn>MHED=U_+Fu_~gwA!sqk*eqVms^S^WVmYKOTXYQUnf-fD% zlmmaf_$pYSs|B4n8&^bO09QtV6YsP{u3fvvTdN#+R}|RsZm0TgwPR)Huj`&8FX>e^?z zc1qVi*R?Nn?Mq$zO4q*DwQqFow62}ewQqIpJ6-!;*M88oA9d}luKlEI=XC97UHe7X z&g|(9LU*+4@?M*@$j>b7SH(L8myBe+iuKgP!QQkA5V|4oz z^@a9Fw06w`a*wUB{w-a*r*!S!%ScJ>o7$^7#Xc5g=lo>(%g7RGOz_M8;|t_`k<>Oi z$2-SW?k+ZFmb*$2XqZ{E)eHpP^Nb*GdCfApMjt6##-_@oe)nKY8Plt!1tDGz>J?uf zA!zX#rQP&B0UFAluFX#@reO|7I{Gy&$o^SuWtQpl)E@*O>{LYbIJt;qc z^1z5?a_#uFkpcN;V2&9u)F-G;3L5@^+ZQlGKBISXic#z{xTe9d-|q{AjL=+PSAVH1 zXc|R6kH;NKMi`MF_J)hp$IB-qBov!o!>HNiEi%j8MzH4PK+VgZa&`T`pK4rhX*BnM z$1GEQ;10;mqC|FXQz}Qto{%4O_RH~I3+1%774o&=qvgVeMUl!3pVw;^aqEnLIWrtI zi<6CvQnRSc2$i~2{Yp)v)E5kST^`eLd5ev@TDt;V-#|c}Shw@$p?-C!$E7+vV7P;Z ztEkBIhuq#0qaY)pGVRqGz= z>@<0`b(-v#xLhW-e^4ewmCECKwOra|wrtR9QqSi9^)P0s-ZhKs#=h#T=IJ+^@|V8i z0V(6R$h;me%FQX$!n29NN0!slI!Fzg2DLj?;l?#uN`K!t8H#BsXZ9Hu8JXjqsd`>jL8XYWY0Oj=QHg@* zirb@Rt;^%@#x+bf3QE;zDsp*w<`kN${i+SYx@m5>f^|o$9?CDcaTZTKx7zKmt6Wgc z!SFmaJ8G-cuv8B}?Dd4-tO~UY2a=8Su-9dTD@)Y)Ds%^olA2vSc-Q8DXsvML9g7g>(>SCSc0i$#ErBP>5&T4GR2b-44m4o-m z;rcMS?Uu1}R zM^IAWcbBW@?|!q&C~*fA?wgk^4hPhKxV$*5t~lCMS&e61NuQcs0hO%`cg@~i%{ zBE9~f{N4TU`8(*EWBPq+UU5Rp{A=d!t}?gl|IXYuPx>=u|21PL3xxWAT{MFTP2?d* zlWK3T%P61fGhFUzpCaS4=BdGOwp|PPZoB$wKqRW|MA=Uau0EQ)73JJ|-n6)MS5cX% zW|W#qflybKHD|iq<^PjWl5Tuo=z3FSVU@OPcgmJI&86OSovi9VRPOGyMK)`YE1%1b z;B+-IW93)TPs(Y-T{1oG*~a4L@;EkZ1}f{OxcoJJjZE#dR8}`DmG8vl%k8at$Tjs> zNPkKXId;fgnMxa_)@%y)QkUx}(?;aU{e#Nn;sz6CNvmw>O&ubeBn*+uMr6wPc6lo<|-%oyycZQ)^hWD?&_V~Lr!nsget~_d>)s|k%n5bRh}$2 zW$`#8E9g?SHr2}BgO|3Nm(_i^692WdUoY0Z1*kR@yKW8>RgXW{^)t=OGRVi}FcDY4WLybFcqf$MDs>is zRaI-D`YclCU2jDjuB!UR`4ZSCsg^i)sKSkws09viwJI)F_xO9Op9TG|$MT^YRV8m% zRk_~kR&^IvH+=^1Z%2YfRhIvBTzaEJW7=P@O4LZz4X=Q6M3N;!QTa($s+XT+qv-r3 zJJrumiqWZoicV^%Vid)wSdSX1*nmjIh9p#sp~fmUq9!UfrKT!2qh>0$qF5EL-;#KTPt@D#2F$2j^g+X;OliH~5q10BzENZ9XFlw*jXzHNi z80x5E9wn%lPl+myr%ozPpd=M1QfCz>Q5O{_Q&$zIP_l}})J;W`x~o`9DJr_Dhl;Z( zRmDgdr6~f`Q^g?NqT)R2rQ&?*ouAYQ7E>SQHtNePp?=I#>d!2r0nBn5$gH42%t{)} ztfnE%n(M5mbS~XX8O(i@$=uIG8o>q{%EbpLi+PxaF&inH*+e#xd{Hctr$`(gZGkL=%}4G>Q3?CNrmK z3iCPL%6vgnnJ;M?^9@aBPSXtLJ907KQz3JfikP3MnE8cF<~+@0E>H<`kxH4!C33Tu zX%_Pvl`&VTT!B{dFgEfsL_S84pJ`09nI;rq3<@%BD8#g-Fw>6aFiA9*=}Z+&f2w2# z&^%^fgyyq@XaO^r7BWL<5tB|4CW96;S#%pSjBaO!(;dtRTEgVfQYN34F$J`o8AmIa zX|$4=PIoeew2CRByO?5%+|8P_nkl6>RxB;%v?jGyjhX48Gl9J-&G zOB>6_I3dXd>jFERV+W#$0A!W^VmnIrTX^FF=Kd_Zq7 zAJQJ?7}fCn!;h(!i=WV&%yHVwoTRsy&uAa>4ee)6(*foJ9b_)j+sq|;hq+AeGQZIw z<|-X#{-F1mYji}RS?PVoMjtSC`cM(k9CVb6G4v7Bh>kHtA2WhJVGKIXw4oDBd-{~= zKqr}G`i$vDrdeh#pA3e?zD0xj%nfmU`+-B8ii3bb+Y z9)Wgtoj?aG1?p^My+9{#+$%7Oy-#30_I`oU?1KX9vkwVuz&wc3%>|BPI|>}l zCI}qECJD@CI}04k_7IrIrV7kw(*+i=83M<#nF7bNLj^`A@J6n{iR@T`li2YBC$kd- zPGKhsyp^3Ka4I`l;52rM!0GI*0%x#O>sCBVp+FZGiv$+3vji5gWde&?uRxRasr@r~ zV~)TQcCNruwnCtrtrR$mohPu2oiDJQT_DiIE)?ix)ui;XYEt_1ld1u4zO38!;%s@W zXn!OLdSeRo!QSdkdJy!(Ea;D;U;q}tK%Ao9tP5cKcu;wi|((~ys6p#U$!IQ$*P zYZjOg(V}3Y)(9qPu`pR{4O6s^aI4l8rfO+0P3s5KwRD)F<$z1eg+grt6lv3-STn)Y z%3-D!gc5BYlxnwuTU!CMv^7ws-3R5`M(}8lfmeGHeA+YM*It0x+UpR|-h!a^E`+oX zA*`K%Iog*HnX7#V723~Gsa=72+BKMOvBLsOeOPE|42vu+A!2C@i!GhtHcNN7-O>y0 zundGHmZ7lJG7^?q@?p7UGOVz;V5OxL?zH$|m1PdxWmyP!Tb96T%PLr7SqEz^55PT^ zO|Z_g6{O{9SZ{d_?zOxO_gQKpaKGgMY_Pls4_J=DgO<I zs|K5_PI$x`1DmbQ;8ANlJZ9|xTdZB+ace4Uwf2Q=)*%H)t^Um=i#*NH#lQQ_|~q&clL(xy}c>?V2^_z?d{>Ly)*n|?*ZrRec)&NVEDy849?p} z!v*^|xM;ssz31AC;Ie%dT(QrFU+op}n>_+o?aSbI``z$w`+E4p{t#TVZ$_~H6VbjC zHTw%_vA=;<`+l_9-$T3o7&`2yP`95!r~Mp8*{@(d2Vk^A$NG*KY~YB+h7JQ`9EsS- z(H+Ur8--&qHg;rV6Gv_Yn>r?9Gsg^!b(CUrhaX!wDzK$vF}8B7z&OWRjCX9n){aeR zIJRLM#|~`k*p2NRuVZ`1KJ4H)j2#`vFu`#O6CG!;lj9sFIj&%59k7e8V^=)}ll55a zrW@E@Ps9|xJND3fW2!zF)AVfYsYi107JVZ2(q~|Ay%hWCe(bAPU_X5^_SaY70DUbE z)HmQDeG?AWx8V?d2d3-0F++bHGxdEqR6mSa`Y{})pTcbY4Cd(PaJYU2M>qjTI&~c7 zjKR^)SRCUtFxQ!gW1ZbG&)FOEorAH!nT_Kj&RiVtoQM;gGjO7_6el_TIN4c&Q=E(O zR_6+w>RgM{oEvbua}&;RZbO%I2NpVaW0CW9EOx$yrt=Wabbf>-&d;#ac^ci$pKzA* zGL|{7VR@7TJy8wO8`TVbQLWJ*m4LIOx?v!y7Y3sSVJK=Cwhl*)z&Yw?`!e;DT*KuU NR7RUMH;yeD3&vPu zRIn#vH^v%M?A^qgXzWpAyz_ByZtkD=@bLb2&d$!v?y}FfoSq|YOcwo){k6LkI>N*o zCp;9UGad;CXE+H*-Tv;~JKnN53MXec2xlj?ubiWBu?Sa-C~pxJEW*tq+%1AE!owme zT7;)XRI-T57U5+P-WK6w5mhY0*Rmz5P;+n;j~&Gm>7_5z#8bIb-{OJCc;bSmc;+IW ziRUijg?K4P84*r+D*kX0uf%J))hKYS9~K!C78PlYj){$~T~gP~6!N0uP}#x3i2c-$8m-h?nPT50iHHHL{)aSm_bcF5JC!_R!R?32@KjgdVn=gAF~^5mkJP}$6SyCgO2gpe)0MoYiS zadJtW4)Q=utejn?mz?EUMgH#7T=bMtv7WLtWV$@)Ws@Ua6JDjjK+>TQ1vf<+kqt&LmX-)(3;|pWdT^lH)JsU>;pGWLs*g14z7jTdBPz;b?+Y@}qo=fl^$_jkhDaY7iT`<$bb=YTD3lMedH`T+M}&}5WGlkw9J*UwU^54 zff4dqg<&E@+Kmty)$l~`hj;`)z=t0ewdJ6;)f1!gxoY_-h0+Y&0c}fJ#~1(U1oco0 zyu=^S%DNs=Z3ne4yXJQ2WQ>XTbr%6LIWE}8KiBAE46keWc^Z8Z{M@ysMQ}Pa0s7lg zxg;*Q4|v3ua98;d7PTBVwUo+gF}`Xc@2RC!SK~*hnPTw@jqqCaeS>!R6G?cB?)VEm z@eXNfm6<}Q9)O|N^;-SDQGL{D$bfk7N@bJqxk2#mx9Tw7)iK`F{y)1s)co&MpMRf` zFL&qhiXk>D#XmivtGW1N5!&Au%jrPb6@de(Q``fmwxK#XCxseRE-BQ_fm~ENlB-G! zl~?IR6;!&A-A&<2?ke4gRJxOgN}`G?J;+m~7gbW}O_fzvB`=kMXEsr5W;3;6woqH9nA$NVc52UVr4GzC`heL^9hn`J$dpniW-lc% z2dFc1kh(BOs4Mdgbz_cEcjh?tU`|j^<|HLEXQ>x+jy`10Q*Y)1*;Cld)Q7o3smyii z%iN$e<|g%HZc#e(koq%^XaMtq1~M-xgLzGZm^YNE5TGnZ&|t=(Y{sM<#zMJ_6Ae-K z-(5IU9#f9;86q3wK?O`D8p>3rVT>0IXS`_yW2KQy02MNEG>VC*(M$r3VH#1{42@|l zx0=v6rYU{IG^6qA{=17dG=ZCKX(H2!CNW7gndwSXm~J$c=}yy_9yFclOEZ`>n#l~J zSxhF)X0m7wGnhVRa%nCzgd}65c}xM#PYSiWi;=W|n}xKH8AXej(ew#3h88n+TEdK_ zPnmJFl$k-xn3=SknMEs@*;K?Vpq0!*`ixmdtC;2VIkSRRGexvUVHay@EjQQEI;NP` zGbOZv*-Bq9+h`+GN?$U2X%n-LHZ%Ka3v+;qnS)fq9HOnvVcN!=pzX{_+QFQnoy=+4 z#n{i&ZuSCw#ayJXnM<^XxlEOkBm+~F$SGw zOghIn(0Rs@E-)6l$T-m@#*HpB?sSDAvR`FA=o;fo*BL*$!C2`g6F|3^s`N7xNWU;O z=r$8VcbHmqmkFbLOl`W))S(AVEd9zfq~DT4OCbJRMfGL4qbi8q0gmd&MU@_RIH|(t ztg3D~1gdXB;HnB=dDKA#G*o4=iR#e`g!b@I#jhfIz!NE`gmiUOCcH2N-WaAT`Dj$Z zcvU{9s*z@^5;`CLSOP1G5P&tPij8XY5(Hrvs$s7k!8ojH>~Yk<88ziOgyITn;udP* z9>P>T4lk>}ZxE?!UX*Y|v~Wd?@IY-{J%D9Xg70NEBDmN&JE&@hduur|2SHqpK#+O|zi8RslV^N^)2 z!C-AAvbA-{(KaJj+kqikDe|<#$k$H5ru~2d?IMP1H!w`Qi{aWMjL=?Sr1lntx`9!8 zIgHi`V{~uWbt}f|)iF*F$47b{jMw8ZL2m~8M7<3r>4})EcgGYx1yl9@n5GZLblrv- zdLd@&A7Pe06|?m@n4>Sm$LbGfuKqcs{srdgC77@8#sYmm7V1Z_NI#8F^s`v3U%?Xn zXMCzZz*7AQmg%ps+yGV>jwmw9W2NDV&kSFzG6L=R+z7>LBMNJb`dDi;!aAcR)*J1y z!RU-HjAU#y`r=C?1DlLoY&M2ri!lbp#zd4DGqBZ=*k&xocB2S8jJ4QlY{D*MJ9Zm; z@Re~0UmM4<$M_zl#s%y(u4A8Z2m6hOIAA=-LE}#xGVMAJtN#j*n5u}HUN~y{<6AQr z$ILJsH*4dB*$^kqrZ{D`#%Z%7zB9YwjM*FCo9Xz$%)*amK7KMs;;cCi=gcWMZ_dUA za{(@zOL56uh0Ep!TrrDr)!c<^=003EzrhXj6mFV7;g)$BKgXK4@QZmLx6Q}6WB!4= l<~!VTaKL>BS3GcV$FIl}2>bk23I=v>vgrgMYNU39MN+*Rjp zI(OH(ht559UQOrKb?&8eZ=ItHui?Ud7%Bz_xIodye5OjVpwdLNBwAdfCqZ;ARa8Hs=1yq5ly2bn#LNVo5wegEmgG9 zOnABX6Ysl(h+}nYykr<$Nw|DNFWg3}bHrg!4^emg% znr$`PjJ7nhF*iHKWHTF+ExB1Xc}RZA%rs@Ckl7h#Te>C7Xfut9H%@3eDUv~)vv94m zbVIP(7E`ND5uesQAhe*tr6)p`Gak`VtZC^hZu-TGb>X#zTR=B)$)l&JUB8~l_irVx zHH;SxJ==D?W^p>QtE@Xvq=ya@Gb09xjV*eJxxtM^ zpx#bQtk=Vy&^OCGF58@JGp88MR;$Ho9GjLdbC6n`VF8$BkvXQkW}4+Bq%deLeh6zVHipy@ z{d|K;^P)KuqrI#m#;1*VR^2L^giH|oYfKXT{A}WQqg1i1$!{XQfmyug+gU^f4;IgT zhKM$Sr^N8uoy2sHKBCO9l*Nj+fdS%7@G$Xnz)letxlk-JwiTUSGlYw`Qv~_<7VVmk z7cWD5+Y>vPY{_Xx*%j+}nqT9D=t;)0rW~Vbq{S+`7ilymm@+bqqs+FR=5e+zmXTS54BFBd5?P0n`(imV-6JcGj`*(7 zxgX`-s8wXNF~wq}ospB9U6~@=SW859nkk18m6@4No3JZYE1xsFZ2vsRoIIMiRe6rN zMULfL%J$_s7Z*G8ca~K>GZ}vOcd2#AsU5t5@(GAM5=o;ane6QTx~Ye z9{XR0(eyuukz*QT&bG+AElpTltH`GRV*rk6TO8Y#l~3Crnk3KcMJI+;-aKmlz0jJ- zo3YhQ_oaXBf~xs)?A=+l7RnE<{%aSwM@d0u2r4V_9Drn(*ftOH4=2BHjMn#r%<_f&B>Iqq>R?S7>tmpd4KPT?h8QekBMgx-6l=*C zhP7o3N2835v5t&Qu&#^|SWm`gSYO8G*g(b@Y$#(aHj=RwhRPU+VKTPCa2eZTV;S3F zlcaFFS9^?*g{~MW;~N+yV=rtfV{eR>u@5$ru`f24u^+aOu|KwyaRA21I1poHOv6?( zremCpSr{*)1zXE##WphLVB4f{Zfh@*+?m_gjYOri|42nSjSCuS4n_#SZw zt;8>wL;Q+1;x6VA4{;3f2*=9#_lCzfj*3rkJnR;fj+8H=InkBV~Mc|=28 zKs3U9q6rod5x9_u#6?6D3ZfY6N7(7CZ#iPVTv>ziU;c;RneoD;3&xrZ>Igy875DV}Gk&h>d0{oI#h^L4Z zc$!#=UlD8ZYoZ9hAvWL{Vq;ZCH{n?-ZN_hjPw-sjO4^3sQE?}JPn6<$;t*aS4&x8R z5xhto#Y@C7{E;}0mx(iYg*b~>iSO_l@jYHA&f^W@0{%o?!kfg8_%m@CZ_)l^SFntV zSJ6RSLnm<^%ZVFULHvZbiJN$bD8pX}2mVS_;9cT2{zlxvd&DnzpSX_?hzIzPc!-aP zNBBGO3jd(}$6n)OS>%9E2!>Ayj?V}MpA$O1AYAcJ!VO;%?)WMxycF0!4|c@~&*bCF z050;+19bUNb_G9hgCKB+I`WrB;0X~>4VpuBhyyQZ58ig@0th{z2J{9W=nuXyRGyLy z{*Vp44NHW!tQWLn{pG8~FzCR{(2-?8Czb;V?0x9Wra~7sTfSoC z!y9ZVbYrU_k!^tPY%BC&JLPM~et3%=gP!apyv@!)FLuEWz1dZGhuxCzBX^(=djNge zQ|QNDLw|070o)S?avvDPgJ3YP3qyDq4CPH>7>|YFyd8|-UBJZOgpoW6lKCJ=;U+Ni zG)UzZ7{$jx8lME|d^)_#=fP;c2r~F`$mDAwi*E)C-wxT_z8l`-hrr4|gB*SuZ2TPL z@=Gv=-+-~)3FG)(7|(x)_xTH$pm3O|xWXjG3nnZ6U{`9v6r}-7Rhqywr8#_{#KUx@ zBg{~`!A#|Cn5FcC*~(CuqolxGWi-rFtT1004|&QISfI>;d}RR?*p(%)P+0|wl=UE# zk72P=0!x&Auv9q;g~|z7rhEg-mGiJdxdJPdpJA198&)g#;X~yKtWjRUT2+H0)dSY4 zHDJ9O2pd$nBGgdWq(;GJH3qh*ZQ&!eGkmP}fUW8~@QFGQwy7gvyE+Pr)hw{@P;;R~ zod`SC51>??3%k^Xuv=XQd(<_sSKS2r)NQa|-315KgK$v&6b`AU;IR5F98oXAQS~|; zQyp+z{S`h{AHiqpbNF0i@P($s39UMu)coK}Ed)+!_2IPE7{1b)!PiY02=t_AZ>)-h&I;IQT)c!$oZ-T+;I3M{O}&)>gt5Z5>?IK7wo7 z4!ExEg&W!t_(}T$Zfak{&)WBJOS=qZ+D&k172wqFLAmxADzuky+n~Z7gFF0UK={>A z6Yd&}@SC9#+%xozg!_h;@W9Xp9vTwhk)b>MZs-kv7zV&&!*Fg~H}|=J-owND+u1WaGrP+^-*R@QxH>`fKJj7KUg!uB z@0?L2Ocy*B78f`RC*AS!<44}IItgbNScHqS`mThNC}|b0R#D0-N?V1SRk&LPS%rsH zl(7m=t0-#~URL346+Tu`&ML}Vg|BsUM6PCW5>K4OQ|YZQ)x%br0k%k%9n?|?K0OjUIqum%Q2;rWbZnS&N$>Sc?#y_j&XlqsLZTE_CYCw(rwxHWP7SDD|K*AYPLPKcc`tQ-JUuyQ*GMpS;-mM$tm`< zK^eBR40~!;dTR2Jw2Z#Cv}{|(AiFI)Co^+UR`Ef@(t5|L>s#HHl9QE{nqg1mc7$pd z40L`wBWA{4}+N)OqiLbE{yTToQr}Dv=QEW}%WQoyb+Cl}f2}rqU`) zlEY2mO71G%h*Y|hhf1O{Dm}ntWT93iY8Q9WmBr6vKduX*_?t@wxeK`@l;J^ z2db{JBZa8!N}(!~C`@H{3Rl^KB2@OLNRcaC9|1YF{e>aY@;uj?bMFhLGjF9YR~MW1m+-hU=C47 z<|uVyj!|dk1SK*jsS8s`U71sq#GI#Y%mwOd)M&PSFnLH2uh&p`DE5BJE-? z(Qf84{lr|MJTBOcDLeJf`E! zQ#!#sqm#^Y2Nkj}=oIskPBX9Q4D*4`G9T#|g$6pu2>O-L=r=~E-x-6>GbUYNEOe1^ zqDzdGE;G(_g>j>+j5}Rph#c2h54yql(oM#XZZS5x%>>XLrUL!JRHQ$ds&tnLqI*nr zy3d5r1EvQ3#nhySOf)@W>d`+Ef(s!2TUzy{xTh+J!vZJuQ&N>4cQ~tR=%Pw-2~<>j zg5avEVJXx^Y1C7-vZ3nH9E3LTP!+KZy1)}XP!_4`r~&ZCVEACDD(|CE9%EHaouo#Z zq3Y@!_+t@l$VUKHq5{^d(F+iWov4I;4phbwRd`RLDt=K@UO+Iep&IU>IvyZI73t98 zqWliws^&!qCqxQYM5$U?L-?Sk@JB6C3AIHv)DaP=D{3QJ#G;;Pf*8>Xv7$ZVL>JT- zJ<&k)MMIH+Mj{7|#Yi*}W6@MNCZn172F=BMd@h!uh4=w2#d@?7ThUtVMjLSuZN+hX zA4y`}>XoJyL8-{+G18LfL^w*|gfHoWH+9C|pmLo%3 zjX~NbWNJGwSlf#%?Fh29LfExmk)vJ45bYL*YWFcrdyL`QON`LoBUd*tQZIo~Iw4Q@ zfkU@pv|a^c^iX`I*Th&o2IKU`aD1(|#CSa(6ZAw()O%o(-UpNQftaG(F;&mSH2o_~ z*C%0yJ`*$bdH6>C;mp!kK3?9c{t!#_ zr&y}L!7>B*)^I|;Q3}fqPkd+i;(Mc_11pSR{9r_2rBMf~jQUt@G{YLB4b~bRu+B)r zdZQOM7-`sOWMY#s6q}7aY%#t@fiV?Z4T){WLToqkvBOw}AB~OJX>7+XV-I#4hw+nf z5_^nu*lS$EKI10#8~1R)D8fPG1r8bi!eP^)xNm;M1B(TJ eSzPhZ;*Lkqgsz@bO}#k&Q|Y4K|M=xsef|xM-PsEO delta 4945 zcmajhcU%-l`vCA~W_ORJDDX&8ik_9CU`Me=vBVN10ed~+1R`+c?y$s|vo}Q45fw|Y z_l9U}SQC?IOrnWK6OG2m9oS+lQKM1cc_7IzpWh$vd!Nre-<#Xn*_mf%cK7Nmc5VS{ zdgj%kqo6<(4|RvvEWm>S3-kbYR$Xzte*Kz$)o^1$9$;X>?($fOTT${v?$Fr-ojugq zBb`0g+3z}gqO+$ud#1BLboN|lFLd^&&R**5mCj!49CXff&ULQnT-CXzbA!&^bgt{% zUFRM;_td$U&a3FWs?NQ2?xS;GoueDC=EnUPc=gE4G+X1+O*Wg^#z3=+XFP{V1|yqL-~FCM@Hy?AwAL-bG^yEBysdGTN#BBrR>Rbrx=G>vM~%Gk7do93;G6)l|! zU(fzxqFbmqTsuiDub(6=hOy#h{b6ES%SB?4-qX>gU#4kPy4h&A7}GNCW^0z!Y&Y6d z&BpAkWRu-&OtNHW+T|hnBO}9YGN|jCGRCG5HRBw<-4j(S2L=6_JTl5k$LK=!-y@ME6 zw^z@&ewpU+S>`0WIoW8oS}j)NxYRV6gJg4(B{?lK#h8?8vYO;!t5N2_WE^d^WEf4x zbdxp3Y_yDeSDq<{+{tLNxkSw5)Fy>Hb| zA<4CqWXiUgWr}*a<{WfwUsGO?U$$W8KaG{I-6q$AYscFACG(sMOPqPz{?%B>U#*oM z-r&qz;yk+4Ils`kVs%9dgT>^ALE@QPU9qd)%-GP*rlc`uxgu?Llhq!Ton;(tlCzln z_mT{D9-UXVZI?5@(3z9(TwmnMUs}27#EzI2;?Lk{QRF^C*y^=2R_T#B)|8%>Y#g0# zN|9U7n-+8aY+A8Pm&ye!dR1Q}_B0 z-o3>a9zDcv|23jc?IEIOokEdUBh@h>&LVeq<-}Xfqh)Gj65~?MNn>QPOqIJW)nc<} znlj8r+G1HU(MFS%HlNihPptU!pQ>51YKF;1t5fa{Q&L6#)W_TUwO{o7qiJ3 z7|-?+?Y5s6oZ$zGs;@S$Cjl8#ziW zbL%PwH~3Isi}@n3VXB|Jz5QR38AQ|G77rQ*h`pY1BE~qt(LTX!9V-VVzc#r?Y{o2W zn%tW5#?(5xsWI77u}^H-Sryr_kF!K&rJ8J%ql}C++K=6+TG^c0r3Z7Ib8_Y6m6jZG zt;}^6Y%V>J>sq|amAAL_&^*`9ea@0RSKflsL+is6Wh;FvT8Xo0)J%l%^cX6hdM1j? zK9SvOlcxQ3OI8dZ`HWMcUc{iZBiftX;f{%+YXa88q4dnVV=;Dc|kW;1$wipkifiQAoGF2%omav!WdSKdB`59vR|I^ z>m}<|4x={pRUUCa42D5+C~muD;jf|i&=D3Oi&bTNvc6ao>tER^nG1QSzU-8byhPD}x?0D=%%BFUNfZ+R2Tq z(#L>RWpqPt89mS^!4c`>iN3PnhbW^zR+BLR{bUS8e;GqCK*mrEl+lRQWvq=gWUPll zGS}TjA0lmV>s57F#>DJ7>Pz18)9u48(|$8qp+@w&9I(~&9Qz$q{Al$8^}T{ z43n`nhRYa>5i+*JNEzE>Lm4|@BN;nll#JalTE_0!SjN8CM8&y!I}$VT4Pq8{ zB4%S}Vh+X;bFmANgI$Sv*p0}=?!KGVDzh;9CxIIrbq|;M>GT z>`QFIcw#fYLu|nWVmBrdMc9wngZ+tO96;>Ffy6!>L>$1u#6cWFl;BX}2o58T;&9>^ zj*#>33&(LJ6;Ggv_yR`}r!k2*gUQ5~XeQ3#XyQDk5En3&xQJ=Q_xLVx3C9rEFrB!L z8AK^&5>B)bF3cjz@I5*IzHl3@RJ?;W;x5{Wdzei;#IeL997jCC@x)V{Ks?9yi5ECg z!gTzAaK}l62YyI+BITD=#mR&>P9c17D&dRMBo5|>)2Zl>Gl(FZNd)68q9)EJYT+EB z4$dX&Vh&Lc=MnWWmuP_Vi7?C~8sP#W3KtU5xQJ+sf@p?|iRPG3IAU-K*$S5ut#KI< ziv>g*Tu!vb6+{PINp!?j#2fe#(FqHQ&bXS0!!^X4xR&UF>xiDXp6G=eh`zXyh{sJt zq60UR{csD>AGZ<%a2qiYw-bYK2Qd_P62ov8F&uXjBd~}VjeCd`EGANMFOi1(h;;mz z$iV$XCLSOxc#yE7;}B`X!-O46h-^GUjK!nGI6OvtfX9hRc!HRTCy8132{8{pC35i; zF&{r8^6+zF0e(R&#M8ubJVUI&FNxK7wqkv(!LO*e9=|3wRHk$zenX{Ac#hbP=ZPKo zEwKl`BZ~0?QGyqVBltaW6fY6S@G@~6e;`iakHpt_h4==q65rxawEx(5c#Vn|@H%l3 zeL~5?8R4xQb5VCv*|lu#C8l<;2f;i@1TeiBh~nIPoq~j`xUL_$zT6 z@6-NccknkV{)P{T2l$Y9h>wUz_?UQwzZ0+ViG%|_B^W*_?*!31>uf=5+3-H z@WfXMk;TCNd9Eui_(MLv4B+MfH}C>oK9t=d06ZWVJfXJyCk(1U6jX)g;0>|h107|J zu7J=BszE&X!2s}wVe*V52!u4K4i=~Z*$@O1WeZav1ZK%Mid?7(0%}147@<(Mx&i9I zHmD0lP!IM)eK-OQ!10N^)M*HZZy*9LLL^*)hHwKKL7BY#J&1-!&{+1h3A~1;@=@DN zKJS~$M|2Ao2rXGC#IU;1ibX(c))-=0OZn!|7TU7T(2n(h_N*^-U<2fv#Bg|nnV}O) zhtA9faqNBQ!lpo1HXFJ*SRQm|OW;km3VN{h(35S0UTlwi?KlW;vE$H(eGYH4uc0ry z2=VMHyu)tF*OA+h$R0pH_6+*7*D!z^U?8sogSa0I=D{$8*MXrt0*3J>Fr2r75xfJ8 zBy$s(c`7(Ya|@*Kv5?9qK^mV9@A4cN!xuq1FMtfb8Z!ANu<)Ib z#rMH`yacTL6R`0!VCUx{n_q^p{5p)|E*Q`6!36#o-sdl1qQc<=#T_OoKJcLu2o9wt zOjhc{6r~YNRhq*zr43A1I>8L(O$W?W-iBF9f0(TdgE>kv%vHufj$(y*$^^(&Cc}JX z7UU`OVS$nl3ze0yNLdF$*$Ru5BFI+`z!K#cELA>(Wy)7jpj?3E$`x3l`~oYLTd+#` z4L(wyLZR{sR;wDUQN3WTS`F5zL9kwxD?)XI!$!3+Y*J%jv)UfEs9j*I+6%U+@4$9- z5bRJ#!cH{>cBz@LTg`?d^#jno!aj8we5@A2esv=pP+iw+t%WHh97v1HxTH4Y+48!moxfxNnGt-wZ9`fuS8dG{nIpLr-{Yh=<<|1L28b z1Uxm2hG&Kh_`_g_=Z1;!!Y~#7G|YjQhFo|hUupg1e&@`e(c7_ye2Jwuc=`Dc;a{LQ diff --git a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java index 241c8455f2..590dbbd12b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java @@ -23,15 +23,18 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; + import java.util.Arrays; import java.util.Random; import javax.sql.XAConnection; import javax.sql.XADataSource; + import javax.transaction.xa.XAException; import javax.transaction.xa.XAResource; import javax.transaction.xa.Xid; + public class XADataSourceTest { private XADataSource _ds; @@ -83,11 +86,12 @@ private static boolean isPreparedTransactionEnabled(Connection connection) throw @After public void tearDown() throws SQLException { - if (xaconn != null) { + try { xaconn.close(); + } catch (Exception ignored) { } - clearAllPrepared(); + clearAllPrepared(); TestUtil.dropTable(_conn, "testxa1"); TestUtil.closeDB(_conn); @@ -435,10 +439,347 @@ public void testRepeatedRolledBack() throws Exception { fail("Rollback was successful"); } catch (XAException xae) { assertEquals("Checking the errorCode is XAER_NOTA indicating the " + "xid does not exist.", + xae.errorCode, XAException.XAER_NOTA); + } + } + + /** + * Invoking prepare on already prepared {@link Xid} causes {@link XAException} being thrown + * with error code {@link XAException#XAER_PROTO}. + */ + @Test + public void testPreparingPreparedXid() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + try { + xaRes.prepare(xid); + fail("Prepare is expected to fail with XAER_PROTO as xid was already prepared"); + } catch (XAException xae) { + assertEquals("Prepare call on already prepared xid " + xid + " expects XAER_PROTO", + XAException.XAER_PROTO, xae.errorCode); + } finally { + xaRes.rollback(xid); + } + } + + /** + * Invoking commit on already committed {@link Xid} causes {@link XAException} being thrown + * with error code {@link XAException#XAER_NOTA}. + */ + @Test + public void testCommitingCommittedXid() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + xaRes.commit(xid, false); + + try { + xaRes.commit(xid, false); + fail("Commit is expected to fail with XAER_NOTA as xid was already committed"); + } catch (XAException xae) { + assertEquals("Commit call on already committed xid " + xid + " expects XAER_NOTA", XAException.XAER_NOTA, xae.errorCode); } } + /** + * Invoking commit on {@link Xid} committed by different connection. + * That different connection could be for example transaction manager recovery. + */ + @Test + public void testCommitByDifferentConnection() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + XADataSource secondDs = null; + try { + secondDs = new PGXADataSource(); + BaseDataSourceTest.setupDataSource((PGXADataSource) secondDs); + XAResource secondXaRes = secondDs.getXAConnection().getXAResource(); + secondXaRes.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN); + secondXaRes.commit(xid, false); + } finally { + if (secondDs != null) { + secondDs.getXAConnection().close(); + } + } + + try { + xaRes.commit(xid, false); + fail("Commit is expected to fail with XAER_RMERR as somebody else already committed"); + } catch (XAException xae) { + assertEquals("Commit call on already committed xid " + xid + " expects XAER_RMERR", + XAException.XAER_RMERR, xae.errorCode); + } + } + + /** + * Invoking rollback on {@link Xid} rolled-back by different connection. + * That different connection could be for example transaction manager recovery. + */ + @Test + public void testRollbackByDifferentConnection() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + XADataSource secondDs = null; + try { + secondDs = new PGXADataSource(); + BaseDataSourceTest.setupDataSource((PGXADataSource) secondDs); + XAResource secondXaRes = secondDs.getXAConnection().getXAResource(); + secondXaRes.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN); + secondXaRes.rollback(xid); + } finally { + if (secondDs != null) { + secondDs.getXAConnection().close(); + } + } + + try { + xaRes.rollback(xid); + fail("Rollback is expected to fail with XAER_RMERR as somebody else already rolled-back"); + } catch (XAException xae) { + assertEquals("Rollback call on already rolled-back xid " + xid + " expects XAER_RMERR", + XAException.XAER_RMERR, xae.errorCode); + } + } + + /** + * One-phase commit of prepared {@link Xid} should throw exception. + */ + @Test + public void testOnePhaseCommitOfPrepared() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + try { + xaRes.commit(xid, true); + fail("One-phase commit is expected to fail with XAER_PROTO when called on prepared xid"); + } catch (XAException xae) { + assertEquals("One-phase commit of prepared xid " + xid + " expects XAER_PROTO", + XAException.XAER_PROTO, xae.errorCode); + } + } + + /** + * Invoking one-phase commit on already one-phase committed {@link Xid} causes + * {@link XAException} being thrown with error code {@link XAException#XAER_NOTA}. + */ + @Test + public void testOnePhaseCommitingCommittedXid() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.commit(xid, true); + + try { + xaRes.commit(xid, true); + fail("One-phase commit is expected to fail with XAER_NOTA as xid was already committed"); + } catch (XAException xae) { + assertEquals("One-phase commit call on already committed xid " + xid + " expects XAER_NOTA", + XAException.XAER_NOTA, xae.errorCode); + } + } + + /** + * When unknown xid is tried to be prepared the expected {@link XAException#errorCode} + * is {@link XAException#XAER_NOTA}. + */ + @Test + public void testPrepareUnknownXid() throws Exception { + Xid xid = new CustomXid(1); + try { + xaRes.prepare(xid); + fail("Prepare is expected to fail with XAER_NOTA as used unknown xid"); + } catch (XAException xae) { + assertEquals("Prepare call on unknown xid " + xid + " expects XAER_NOTA", + XAException.XAER_NOTA, xae.errorCode); + } + } + + /** + * When unknown xid is tried to be committed the expected {@link XAException#errorCode} + * is {@link XAException#XAER_NOTA}. + */ + @Test + public void testCommitUnknownXid() throws Exception { + Xid xid = new CustomXid(1); + Xid unknownXid = new CustomXid(42); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + try { + xaRes.commit(unknownXid, false); + fail("Commit is expected to fail with XAER_NOTA as used unknown xid"); + } catch (XAException xae) { + assertEquals("Commit call on unknown xid " + unknownXid + " expects XAER_NOTA", + XAException.XAER_NOTA, xae.errorCode); + } finally { + xaRes.rollback(xid); + } + } + + /** + * When unknown xid is tried to be committed with one-phase commit optimization + * the expected {@link XAException#errorCode} is {@link XAException#XAER_NOTA}. + */ + @Test + public void testOnePhaseCommitUnknownXid() throws Exception { + Xid xid = new CustomXid(1); + Xid unknownXid = new CustomXid(42); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + try { + xaRes.commit(unknownXid, true); + fail("One-phase commit is expected to fail with XAER_NOTA as used unknown xid"); + } catch (XAException xae) { + assertEquals("Commit call on unknown xid " + unknownXid + " expects XAER_NOTA", + XAException.XAER_NOTA, xae.errorCode); + } finally { + xaRes.rollback(xid); + } + } + + /** + * When unknown xid is tried to be rolled-back the expected {@link XAException#errorCode} + * is {@link XAException#XAER_NOTA}. + */ + @Test + public void testRollbackUnknownXid() throws Exception { + Xid xid = new CustomXid(1); + Xid unknownXid = new CustomXid(42); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + try { + xaRes.rollback(unknownXid); + fail("Rollback is expected to fail as used unknown xid"); + } catch (XAException xae) { + assertEquals("Commit call on unknown xid " + unknownXid + " expects XAER_NOTA", + XAException.XAER_NOTA, xae.errorCode); + } finally { + xaRes.rollback(xid); + } + } + + /** + * When trying to commit xid which was already removed by arbitrary action of database. + * Resource manager can't expect state of the {@link Xid}. + */ + @Test + public void testDatabaseRemovesPreparedBeforeCommit() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + clearAllPrepared(); + + try { + xaRes.commit(xid, false); + fail("Commit is expected to fail as committed xid was removed before"); + } catch (XAException xae) { + assertEquals("Commit call on xid " + xid + " not known to DB expects XAER_RMERR", + XAException.XAER_RMERR, xae.errorCode); + } + } + + /** + * When trying to rollback xid which was already removed by arbitrary action of database. + * Resource manager can't expect state of the {@link Xid}. + */ + @Test + public void testDatabaseRemovesPreparedBeforeRollback() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + clearAllPrepared(); + + try { + xaRes.rollback(xid); + fail("Rollback is expected to fail as committed xid was removed before"); + } catch (XAException xae) { + assertEquals("Rollback call on xid " + xid + " not known to DB expects XAER_RMERR", + XAException.XAER_RMERR, xae.errorCode); + } + } + + /** + * When trying to commit and connection issue happens then + * {@link XAException} error code {@link XAException#XAER_RMFAIL} is expected. + */ + @Test + public void testNetworkIssueOnCommit() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + xaconn.close(); + + try { + xaRes.commit(xid, false); + fail("Commit is expected to fail as connection was closed"); + } catch (XAException xae) { + assertEquals("Commit call on closed connection expects XAER_RMFAIL", + XAException.XAER_RMFAIL, xae.errorCode); + } + } + + /** + * When trying to one-phase commit and connection issue happens then + * {@link XAException} error code {@link XAException#XAER_RMFAIL} is expected. + */ + @Test + public void testNetworkIssueOnOnePhaseCommit() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + + xaconn.close(); + + try { + xaRes.commit(xid, true); + fail("One-phase commit is expected to fail as connection was closed"); + } catch (XAException xae) { + assertEquals("One-phase commit call on closed connection expects XAER_RMFAIL", + XAException.XAER_RMFAIL, xae.errorCode); + } + } + + /** + * When trying to rollback and connection issue happens then + * {@link XAException} error code {@link XAException#XAER_RMFAIL} is expected. + */ + @Test + public void testNetworkIssueOnRollback() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + xaRes.end(xid, XAResource.TMSUCCESS); + xaRes.prepare(xid); + + xaconn.close(); + + try { + xaRes.rollback(xid); + fail("Rollback is expected to fail as connection was closed"); + } catch (XAException xae) { + assertEquals("Rollback call on closed connection expects XAER_RMFAIL", + XAException.XAER_RMFAIL, xae.errorCode); + } + } + /* * We don't support transaction interleaving. public void testInterleaving1() throws Exception { * Xid xid1 = new CustomXid(1); Xid xid2 = new CustomXid(2); From fcd1ea14545a113fe4a124e17132824e279f572e Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 11 Mar 2018 11:44:55 +0300 Subject: [PATCH 119/427] fix: wrong results when a single statement is used with UNSPECIFIED types (#1137) Timestamp, date (and some other types), are sent as UNSPECIFIED, and pgjdbc did not verify the actual parameter types at parse time. This might cause wrong results if the query was parsed with explicit type (e.g. setString(...)), and then re-executed with TIMESTAMP parameter (timestamps are sent as UNSPECIFIED, thus pgjdbc silently accepted the statement even though it should reparse) fixes #648 closes #674 --- CHANGELOG.md | 1 + .../main/java/org/postgresql/core/Oid.java | 58 ++++++++------ .../postgresql/core/v3/QueryExecutorImpl.java | 8 +- .../org/postgresql/core/v3/SimpleQuery.java | 75 +++++++++++++++---- .../org/postgresql/core/OidToStringTest.java | 37 +++++++++ .../org/postgresql/core/OidValueOfTest.java | 38 ++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 5 ++ .../test/jdbc2/PreparedStatementTest.java | 37 +++++++++ 8 files changed, 218 insertions(+), 41 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/core/OidToStringTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/core/OidValueOfTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index daea879e3e..bf2505249a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) - Wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) - Adjust XAException return codes for better compatibility with XA specification [PR 782](https://github.com/pgjdbc/pgjdbc/pull/782) +- Wrong results when single statement is used with different bind types[PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) ## [42.2.1] (2018-01-25) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/core/Oid.java b/pgjdbc/src/main/java/org/postgresql/core/Oid.java index 471989c940..89007e3f25 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Oid.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Oid.java @@ -10,6 +10,8 @@ import org.postgresql.util.PSQLState; import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; /** * Provides constants for well-known backend OIDs for the types we commonly use. @@ -76,6 +78,22 @@ public class Oid { public static final int REF_CURSOR = 1790; public static final int REF_CURSOR_ARRAY = 2201; + private static final Map OID_TO_NAME = new HashMap(100); + private static final Map NAME_TO_OID = new HashMap(100); + + static { + for (Field field : Oid.class.getFields()) { + try { + int oid = field.getInt(null); + String name = field.getName().toUpperCase(); + OID_TO_NAME.put(oid, name); + NAME_TO_OID.put(name, oid); + } catch (IllegalAccessException e) { + // ignore + } + } + } + /** * Returns the name of the oid as string. * @@ -84,34 +102,28 @@ public class Oid { * defined. */ public static String toString(int oid) { - try { - Field[] fields = Oid.class.getFields(); - for (Field field : fields) { - if (field.getInt(null) == oid) { - return field.getName(); - } - } - } catch (IllegalAccessException e) { - // never happens + String name = OID_TO_NAME.get(oid); + if (name == null) { + name = ""; } - return ""; + return name; } public static int valueOf(String oid) throws PSQLException { - try { - return (int) Long.parseLong(oid); - } catch (NumberFormatException ex) { - } - try { - oid = oid.toUpperCase(); - Field[] fields = Oid.class.getFields(); - for (Field field : fields) { - if (field.getName().toUpperCase().equals(oid)) { - return field.getInt(null); - } + if (oid.length() > 0 && !Character.isDigit(oid.charAt(0))) { + Integer id = NAME_TO_OID.get(oid); + if (id == null) { + id = NAME_TO_OID.get(oid.toUpperCase()); + } + if (id != null) { + return id; + } + } else { + try { + // OID are unsigned 32bit integers, so Integer.parseInt is not enough + return (int) Long.parseLong(oid); + } catch (NumberFormatException ex) { } - } catch (IllegalAccessException e) { - // never happens } throw new PSQLException(GT.tr("oid type {0} not known and not a number", oid), PSQLState.INVALID_PARAMETER_VALUE); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 1cc07e8e0d..e15e57e307 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1393,7 +1393,7 @@ private void sendParse(SimpleQuery query, SimpleParameterList params, boolean on // the SimpleParameterList's internal array that might be modified // under us. query.setStatementName(statementName, deallocateEpoch); - query.setStatementTypes(typeOIDs.clone()); + query.setPrepareTypes(typeOIDs); registerParsedQuery(query, statementName); } @@ -1460,7 +1460,7 @@ private void sendBind(SimpleQuery query, SimpleParameterList params, Portal port for (int i = 1; i <= params.getParameterCount(); ++i) { sbuf.append(",$").append(i).append("=<") .append(params.toString(i,true)) - .append(">"); + .append(">,type=").append(Oid.toString(params.getTypeOID(i))); } sbuf.append(")"); LOGGER.log(Level.FINEST, sbuf.toString()); @@ -1771,7 +1771,7 @@ private void sendOneQuery(SimpleQuery query, SimpleParameterList params, int max || (!oneShot && paramsHasUnknown && queryHasUnknown && !query.isStatementDescribed()); if (!describeStatement && paramsHasUnknown && !queryHasUnknown) { - int[] queryOIDs = query.getStatementTypes(); + int[] queryOIDs = query.getPrepareTypes(); int[] paramOIDs = params.getTypeOIDs(); for (int i = 0; i < paramOIDs.length; i++) { // Only supply type information when there isn't any @@ -1988,7 +1988,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti if ((origStatementName == null && query.getStatementName() == null) || (origStatementName != null && origStatementName.equals(query.getStatementName()))) { - query.setStatementTypes(params.getTypeOIDs().clone()); + query.setPrepareTypes(params.getTypeOIDs()); } if (describeOnly) { diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java index 1041723584..f35f3a1a7f 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java @@ -16,7 +16,10 @@ import org.postgresql.jdbc.PgResultSet; import java.lang.ref.PhantomReference; +import java.util.BitSet; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; /** * V3 Query implementation for a single-statement query. This also holds the state of any associated @@ -26,6 +29,7 @@ * @author Oliver Jowett (oliver@opencloud.com) */ class SimpleQuery implements Query { + private static final Logger LOGGER = Logger.getLogger(SimpleQuery.class.getName()); SimpleQuery(SimpleQuery src) { this(src.nativeQuery, src.transferModeRegistry, src.sanitiserDisabled); @@ -114,11 +118,29 @@ void setStatementName(String statementName, short deallocateEpoch) { this.deallocateEpoch = deallocateEpoch; } - void setStatementTypes(int[] paramTypes) { - this.preparedTypes = paramTypes; + void setPrepareTypes(int[] paramTypes) { + // Remember which parameters were unspecified since the parameters will be overriden later by + // ParameterDescription message + for (int i = 0; i < paramTypes.length; i++) { + int paramType = paramTypes[i]; + if (paramType == Oid.UNSPECIFIED) { + if (this.unspecifiedParams == null) { + this.unspecifiedParams = new BitSet(); + } + this.unspecifiedParams.set(i); + } + } + + // paramTypes is changed by "describe statement" response, so we clone the array + // However, we can reuse array if there is one + if (this.preparedTypes == null) { + this.preparedTypes = paramTypes.clone(); + return; + } + System.arraycopy(paramTypes, 0, this.preparedTypes, 0, paramTypes.length); } - int[] getStatementTypes() { + int[] getPrepareTypes() { return preparedTypes; } @@ -127,19 +149,46 @@ String getStatementName() { } boolean isPreparedFor(int[] paramTypes, short deallocateEpoch) { - if (statementName == null) { + if (statementName == null || preparedTypes == null) { return false; // Not prepared. } if (this.deallocateEpoch != deallocateEpoch) { return false; } - assert preparedTypes == null || paramTypes.length == preparedTypes.length + assert paramTypes.length == preparedTypes.length : String.format("paramTypes:%1$d preparedTypes:%2$d", paramTypes.length, - paramTypes == null ? -1 : preparedTypes.length); + preparedTypes.length); // Check for compatible types. + BitSet unspecified = this.unspecifiedParams; for (int i = 0; i < paramTypes.length; ++i) { - if (paramTypes[i] != Oid.UNSPECIFIED && paramTypes[i] != preparedTypes[i]) { + int paramType = paramTypes[i]; + // Either paramType should match prepared type + // Or paramType==UNSPECIFIED and the prepare type was UNSPECIFIED + + // Note: preparedTypes can be updated by "statement describe" + // 1) parse(name="S_01", sql="select ?::timestamp", types={UNSPECIFIED}) + // 2) statement describe: bind 1 type is TIMESTAMP + // 3) SimpleQuery.preparedTypes is updated to TIMESTAMP + // ... + // 4.1) bind(name="S_01", ..., types={TIMESTAMP}) -> OK (since preparedTypes is equal to TIMESTAMP) + // 4.2) bind(name="S_01", ..., types={UNSPECIFIED}) -> OK (since the query was initially parsed with UNSPECIFIED) + // 4.3) bind(name="S_01", ..., types={DATE}) -> KO, unprepare and parse required + + int preparedType = preparedTypes[i]; + if (paramType != preparedType + && (paramType != Oid.UNSPECIFIED + || unspecified == null + || !unspecified.get(i))) { + if (LOGGER.isLoggable(Level.FINER)) { + LOGGER.log(Level.FINER, + "Statement {0} does not match new parameter types. Will have to un-prepare it and parse once again." + + " To avoid performance issues, use the same data type for the same bind position. Bind index (1-based) is {1}," + + " preparedType was {2} (after describe {3}), current bind type is {4}", + new Object[]{statementName, i + 1, + Oid.toString(unspecified != null && unspecified.get(i) ? 0 : preparedType), + Oid.toString(preparedType), Oid.toString(paramType)}); + } return false; } } @@ -152,13 +201,7 @@ boolean hasUnresolvedTypes() { return true; } - for (int preparedType : preparedTypes) { - if (preparedType == Oid.UNSPECIFIED) { - return true; - } - } - - return false; + return this.unspecifiedParams != null && !this.unspecifiedParams.isEmpty(); } byte[] getEncodedStatementName() { @@ -255,6 +298,9 @@ void unprepare() { cleanupRef.enqueue(); cleanupRef = null; } + if (this.unspecifiedParams != null) { + this.unspecifiedParams.clear(); + } statementName = null; encodedStatementName = null; @@ -315,6 +361,7 @@ public SqlCommand getSqlCommand() { private final boolean sanitiserDisabled; private PhantomReference cleanupRef; private int[] preparedTypes; + private BitSet unspecifiedParams; private short deallocateEpoch; private Integer cachedMaxResultRowSize; diff --git a/pgjdbc/src/test/java/org/postgresql/core/OidToStringTest.java b/pgjdbc/src/test/java/org/postgresql/core/OidToStringTest.java new file mode 100644 index 0000000000..5f4586fa70 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/core/OidToStringTest.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import org.postgresql.util.PSQLException; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class OidToStringTest { + @Parameterized.Parameter(0) + public int value; + @Parameterized.Parameter(1) + public String expected; + + @Parameterized.Parameters(name = "expected={1}, value={0}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {142, "XML"}, + {0, "UNSPECIFIED"}, + {-235, ""}, + }); + } + + @Test + public void run() throws PSQLException { + Assert.assertEquals(expected, Oid.toString(value)); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/core/OidValueOfTest.java b/pgjdbc/src/test/java/org/postgresql/core/OidValueOfTest.java new file mode 100644 index 0000000000..110af68d77 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/core/OidValueOfTest.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import org.postgresql.util.PSQLException; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class OidValueOfTest { + @Parameterized.Parameter(0) + public int expected; + @Parameterized.Parameter(1) + public String value; + + @Parameterized.Parameters(name = "expected={0}, value={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {25, "TEXT"}, + {0, "UNSPECIFIED"}, + {199, "JSON_ARRAY"}, + {100, "100"}, + }); + } + + @Test + public void run() throws PSQLException { + Assert.assertEquals(expected, Oid.valueOf(value)); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index ec4a49d5f4..dc1dc249b2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -5,6 +5,8 @@ package org.postgresql.test.jdbc2; +import org.postgresql.core.OidToStringTest; +import org.postgresql.core.OidValueOfTest; import org.postgresql.core.ParserTest; import org.postgresql.core.ReturningParserTest; import org.postgresql.core.v3.V3ParameterListTests; @@ -77,6 +79,9 @@ ParserTest.class, ReturningParserTest.class, + OidToStringTest.class, + OidValueOfTest.class, + PreparedStatementTest.class, StatementTest.class, QuotationTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index dea0f34b6d..dd83120031 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -34,6 +34,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.sql.Timestamp; import java.sql.Types; import java.util.ArrayList; import java.util.Collection; @@ -1306,4 +1307,40 @@ public void testSelectPrepareThreshold0AutoCommitFalseFetchSizeNonZero() throws getNumberOfServerPreparedStatements("SELECT 42")); } + @Test + public void testInappropriateStatementSharing() throws SQLException { + PreparedStatement ps = con.prepareStatement("SELECT ?::timestamp"); + try { + Timestamp ts = new Timestamp(1474997614836L); + // Since PreparedStatement isn't cached immediately, we need to some warm up + for (int i = 0; i < 3; ++i) { + ResultSet rs; + + // Flip statement to use Oid.DATE + ps.setNull(1, Types.DATE); + rs = ps.executeQuery(); + try { + assertTrue(rs.next()); + assertNull("NULL DATE converted to TIMESTAMP should return NULL value on getObject", + rs.getObject(1)); + } finally { + rs.close(); + } + + // Flop statement to use Oid.UNSPECIFIED + ps.setTimestamp(1, ts); + rs = ps.executeQuery(); + try { + assertTrue(rs.next()); + assertEquals( + "Looks like we got a narrowing of the data (TIMESTAMP -> DATE). It might caused by inappropriate caching of the statement.", + ts, rs.getObject(1)); + } finally { + rs.close(); + } + } + } finally { + ps.close(); + } + } } From af499625fb99043fe0bf605ec4b23f3dd64c18d7 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 11 Mar 2018 15:06:04 +0300 Subject: [PATCH 120/427] test: workaround DST issue in StatementTest#testDateFunctions --- .../postgresql/test/jdbc2/StatementTest.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 5c9063daef..013622f571 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -383,7 +383,25 @@ public void testDateFunctions() throws SQLException { rs = stmt.executeQuery( "select {fn timestampdiff(SQL_TSI_DAY,{fn now()},{fn timestampadd(SQL_TSI_DAY,-3,{fn now()})})} "); assertTrue(rs.next()); - assertEquals(-3, rs.getInt(1)); + int res = rs.getInt(1); + if (res != -3 && res != -2) { + // set TimeZone='America/New_York'; + // select CAST(-3 || ' day' as interval); + // interval + //---------- + // -3 days + // + // select CAST(-3 || ' day' as interval)+now(); + // ?column? + //------------------------------- + // 2018-03-08 07:59:13.586895-05 + // + // select CAST(-3 || ' day' as interval)+now()-now(); + // ?column? + //------------------- + // -2 days -23:00:00 + fail("CAST(-3 || ' day' as interval)+now()-now() is expected to return -3 or -2. Actual value is " + res); + } // WEEK => extract week from interval is not supported by backend // rs = stmt.executeQuery("select {fn timestampdiff(SQL_TSI_WEEK,{fn now()},{fn // timestampadd(SQL_TSI_WEEK,3,{fn now()})})} "); From 298683b1bd11a4b16cdba861c8ca93134cfb037b Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sun, 11 Mar 2018 05:51:03 -0700 Subject: [PATCH 121/427] test: add Travis configuration to test SSL (#1095) remove v2 protocol versions of the test remove pg8 versions of the test --- .travis.yml | 10 ++ .travis/travis_configure_ssl.sh | 48 ++++++ .travis/travis_ssl_users.sh | 12 ++ .travis/travis_start_postgres.sh | 2 +- certdir/README | 2 +- certdir/server/pg_hba.conf | 4 +- codecov.yml | 2 +- .../main/java/org/postgresql/ssl/MakeSSL.java | 2 +- .../test/java/org/postgresql/test/README.md | 12 +- .../SingleCertValidatingFactoryTestSuite.java | 14 +- .../java/org/postgresql/test/ssl/SslTest.java | 162 ++++++++---------- .../org/postgresql/test/ssl/SslTestSuite.java | 3 - ssltest.properties | 28 +-- 13 files changed, 163 insertions(+), 138 deletions(-) create mode 100755 .travis/travis_configure_ssl.sh create mode 100755 .travis/travis_ssl_users.sh diff --git a/.travis.yml b/.travis.yml index 861922fd8d..561abcab06 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,11 +28,13 @@ before_script: - ./.travis/travis_install_postgres.sh - test "x$XA" == 'x' || ./.travis/travis_configure_xa.sh - test "x$REPLICATION" == 'x' || ./.travis/travis_configure_replication.sh + - test "x$SSLTEST" == 'x' || ./.travis/travis_configure_ssl.sh - ./.travis/travis_start_postgres.sh - test "x$PG_VERSION" != 'xHEAD' || psql -U postgres -c "set password_encryption='scram-sha-256'; create user test with password 'test';" - test "x$PG_VERSION" = 'xHEAD' || psql -U postgres -c "create user test with password 'test';" - test "x$REPLICATION" == 'x' || psql -U postgres -c "alter user test with replication;" - psql -c 'create database test owner test;' -U postgres + - test "x$SSLTEST" == 'x' || ./.travis/travis_ssl_users.sh - test "x$REPLICATION" == 'x' || ./.travis/travis_create_slaves.sh - if [[ $TRAVIS_BRANCH == release/* ]]; then echo "MAVEN_OPTS='-Xmx1g'" > ~/.mavenrc; else echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc; fi - test "x$PG_VERSION" == 'x' || test "x$NO_HSTORE" == 'xY' || psql test -c 'CREATE EXTENSION hstore;' -U postgres @@ -143,6 +145,14 @@ matrix: - QUERY_MODE=extendedCacheEverything - COVERAGE=N - TZ=Europe/Moscow # +03:00, no DST + - jdk: oraclejdk8 + sudo: required + addons: + postgresql: "9.6" + env: + - PG_VERSION=9.6 + - SSLTEST=Y + - COVERAGE=Y - jdk: openjdk7 sudo: required addons: diff --git a/.travis/travis_configure_ssl.sh b/.travis/travis_configure_ssl.sh new file mode 100755 index 0000000000..c01affe09c --- /dev/null +++ b/.travis/travis_configure_ssl.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +set -x -e +set_conf_property() { + local key=${1} + local value=${2} + + sudo sed -i -e "s/^#\?${key}.*/${key} = '\/etc\/postgresql\/${PG_VERSION}\/main\/${value}'/" /etc/postgresql/${PG_VERSION}/main/postgresql.conf +} + +enable_ssl_property() { + local property=${1} + sed -i -e "s/^#${property}\(.*\)/${property}\1/" ssltest.properties +} + +if [ -z "$PG_VERSION" ] +then + echo "env PG_VERSION is not defined"; + +else +set_conf_property "ssl_cert_file" "server.crt" +set_conf_property "ssl_key_file" "server.key" +set_conf_property "ssl_ca_file" "root.crt" + +enable_ssl_property "testsinglecertfactory" +enable_ssl_property "sslhostnossl9" +enable_ssl_property "sslhostgh9" +enable_ssl_property "sslhostbh9" +enable_ssl_property "sslhostsslgh9" +enable_ssl_property "sslhostsslbh9" +enable_ssl_property "sslhostsslcertgh9" +enable_ssl_property "sslhostsslcertbh9" +enable_ssl_property "sslcertgh9" +enable_ssl_property "sslcertbh9" + +PG_DATA_DIR="/etc/postgresql/${PG_VERSION}/main/" +sudo cp certdir/server/pg_hba.conf "/etc/postgresql/${PG_VERSION}/main/pg_hba.conf" +sudo cp certdir/server/root.crt "${PG_DATA_DIR}" +sudo chmod 0600 "${PG_DATA_DIR}/root.crt" +sudo chown postgres:postgres "${PG_DATA_DIR}/root.crt" +sudo cp certdir/server/server.crt "${PG_DATA_DIR}" +sudo chmod 0600 "${PG_DATA_DIR}/server.crt" +sudo chown postgres:postgres "${PG_DATA_DIR}/server.crt" +sudo cp certdir/server/server.key "${PG_DATA_DIR}" +sudo chmod 0600 "${PG_DATA_DIR}/server.key" +sudo chown postgres:postgres "${PG_DATA_DIR}/server.key" + +fi diff --git a/.travis/travis_ssl_users.sh b/.travis/travis_ssl_users.sh new file mode 100755 index 0000000000..0f95752154 --- /dev/null +++ b/.travis/travis_ssl_users.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +create_databases() { + for db in hostdb hostssldb hostnossldb certdb hostsslcertdb; do + createdb -U postgres $db + psql -U postgres $db -c "create extension sslinfo" + done +} + +create_databases + +psql -U postgres test -c "create extension sslinfo" \ No newline at end of file diff --git a/.travis/travis_start_postgres.sh b/.travis/travis_start_postgres.sh index 3a1e7cea59..b996074dff 100755 --- a/.travis/travis_start_postgres.sh +++ b/.travis/travis_start_postgres.sh @@ -9,7 +9,7 @@ then #Start head postgres sudo su postgres -c "/usr/local/pgsql/bin/pg_ctl -D ${PG_DATADIR} -w -t 300 -c -o '-p 5432' -l /tmp/postgres.log start" sudo tail /tmp/postgres.log -elif [ "$XA" = "true" ] || [ "${REPLICATION}" = "Y" ] +elif [ "$XA" = "true" ] || [ "${REPLICATION}" = "Y" ] || [ "${SSLTEST}" = "Y" ] then sudo service postgresql stop sudo service postgresql start ${PG_VERSION} diff --git a/certdir/README b/certdir/README index 6139bf9b14..8bbbf5b1c3 100644 --- a/certdir/README +++ b/certdir/README @@ -3,7 +3,7 @@ To run the SSL tests, the following properties are used: certdir: directory where the certificates and keys are store -ssl<8|9>: a connection string to the appropiate database +ssl<8|9>: a connection string to the appropriate database TYPE is the TYPE or METHOD field from pg_hba.conf that is: host, hostnossl, hostssl and the special types hostsslcert, that corresponds to a hostssl type with clientcert=1 and cert that corresponds diff --git a/certdir/server/pg_hba.conf b/certdir/server/pg_hba.conf index 9ce9fec519..27b76497a7 100644 --- a/certdir/server/pg_hba.conf +++ b/certdir/server/pg_hba.conf @@ -71,8 +71,10 @@ # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only -local all all ident +local all postgres trust # IPv4 local connections: +host all postgres 127.0.0.1/32 trust +host test all 127.0.0.1/32 md5 host hostdb all 127.0.0.1/32 md5 hostnossl hostnossldb all 127.0.0.1/32 md5 hostssl hostssldb all 127.0.0.1/32 md5 clientcert=0 diff --git a/codecov.yml b/codecov.yml index 00ae5376eb..fc6b11d5b6 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 8 + after_n_builds: 9 require_ci_to_pass: false comment: layout: header, changes, diff diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java b/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java index 3d5b2112b3..d2e453552c 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java @@ -37,7 +37,7 @@ public static void convert(PGStream stream, Properties info) // unless sslmode is set String classname = PGProperty.SSL_FACTORY.get(info); if (classname == null) { - // If sslmode is set, use the libp compatible factory + // If sslmode is set, use the libpq compatible factory if (sslmode != null) { factory = new LibPQFactory(info); } else { diff --git a/pgjdbc/src/test/java/org/postgresql/test/README.md b/pgjdbc/src/test/java/org/postgresql/test/README.md index 4569dfe2ae..adb821000f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/README.md +++ b/pgjdbc/src/test/java/org/postgresql/test/README.md @@ -222,7 +222,15 @@ public class FooTest { } } -8. Running the JDBC 2 test suite from Sun against PostgreSQL +8 ssltests +---------------- +- requires ssl to be turned on in the database 'postgresql.conf ssl=true' +- pg_hba.conf requires entries for hostssl, and hostnossl +- contrib module sslinfo needs to be installed in the databases +- databases certdb, hostdb, hostnossldb, hostssldb, and hostsslcertdb need to be created + + +9 Running the JDBC 2 test suite from Sun against PostgreSQL ------------------------------------------------------------ Download the test suite from http://java.sun.com/products/jdbc/jdbctestsuite-1_2_1.html @@ -295,7 +303,7 @@ This is the JDBC 2 test suite that includes J2EE requirements. At the time of writing of this document, a great number of tests in this test suite fail. -9 Credits, feedback +10 Credits, feedback ------------------- The parts of this document describing the PostgreSQL test suite were originally written by Rene Pijlman. Liam Stewart contributed diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java index 4f0a849c93..b5488bf6ba 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java @@ -58,17 +58,17 @@ public static Collection data() throws IOException { } return Arrays.asList(new Object[][]{ - {"jdbc:postgresql://localhost:10084/test"}, - {"jdbc:postgresql://localhost:10090/test"}, - {"jdbc:postgresql://localhost:10091/test"}, - {"jdbc:postgresql://localhost:10092/test"}, - {"jdbc:postgresql://localhost:10093/test"}, + {"jdbc:postgresql://localhost:5432/test"}, + // {"jdbc:postgresql://localhost:10090/test"}, + // {"jdbc:postgresql://localhost:10091/test"}, + // {"jdbc:postgresql://localhost:10092/test"}, + // {"jdbc:postgresql://localhost:10093/test"}, }); } // The valid and invalid server SSL certfiicates: - private static final String goodServerCertPath = "certdir/goodroot.crt"; - private static final String badServerCertPath = "certdir/badroot.crt"; + private static final String goodServerCertPath = "../certdir/goodroot.crt"; + private static final String badServerCertPath = "../certdir/badroot.crt"; private String getGoodServerCert() { return loadFile(goodServerCertPath); diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java index 89eb732461..fa209a33fc 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java @@ -59,28 +59,27 @@ protected void driver(String connstr, Object[] expected) throws SQLException { protected String certdir; protected String connstr; protected String sslmode; - protected int protocol; protected boolean goodclient; protected boolean goodserver; protected String prefix; protected Object[] expected; - private String makeConnStr(String sslmode, boolean goodclient, boolean goodserver, int protocol) { - return connstr + "&protocolVersion=" + protocol + private String makeConnStr(String sslmode, boolean goodclient, boolean goodserver) { + return connstr + "&sslmode=" + sslmode + "&sslcert=" + certdir + "/" + prefix + (goodclient ? "goodclient.crt" : "badclient.crt") + "&sslkey=" + certdir + "/" + prefix + (goodclient ? "goodclient.pk8" : "badclient.pk8") + "&sslrootcert=" + certdir + "/" + prefix + (goodserver ? "goodroot.crt" : "badroot.crt") + // + "&sslfactory=org.postgresql.ssl.NonValidatingFactory" + "&loglevel=" + TestUtil.getLogLevel(); } - public SslTest(String name, String certdir, String connstr, String sslmode, int protocol, + public SslTest(String name, String certdir, String connstr, String sslmode, boolean goodclient, boolean goodserver, String prefix, Object[] expected) { super(name); this.certdir = certdir; this.connstr = connstr; this.sslmode = sslmode; - this.protocol = protocol; this.goodclient = goodclient; this.goodserver = goodserver; this.prefix = prefix; @@ -100,24 +99,18 @@ static TestSuite getSuite(Properties prop, String param) { expected = defaultexpected; } for (String sslMode : sslModes) { - suite.addTest(new SslTest(param + "-" + sslMode + "GG2", certdir, sconnstr, sslMode, - 2, true, true, sprefix, expected.get(sslMode + "GG"))); suite.addTest(new SslTest(param + "-" + sslMode + "GG3", certdir, sconnstr, sslMode, - 3, true, true, sprefix, expected.get(sslMode + "GG"))); - suite.addTest(new SslTest(param + "-" + sslMode + "GB2", certdir, sconnstr, sslMode, - 2, true, false, sprefix, expected.get(sslMode + "GB"))); + true, true, sprefix, expected.get(sslMode + "GG"))); suite.addTest(new SslTest(param + "-" + sslMode + "GB3", certdir, sconnstr, sslMode, - 3, true, false, sprefix, expected.get(sslMode + "GB"))); - suite.addTest(new SslTest(param + "-" + sslMode + "BG2", certdir, sconnstr, sslMode, - 2, false, true, sprefix, expected.get(sslMode + "BG"))); + true, false, sprefix, expected.get(sslMode + "GB"))); suite.addTest(new SslTest(param + "-" + sslMode + "BG3", certdir, sconnstr, sslMode, - 3, false, true, sprefix, expected.get(sslMode + "BG"))); + false, true, sprefix, expected.get(sslMode + "BG"))); } return suite; } protected void runTest() throws Throwable { - driver(makeConnStr(sslmode, goodclient, goodserver, protocol), expected); + driver(makeConnStr(sslmode, goodclient, goodserver), expected); } static Map> expectedmap; @@ -132,10 +125,11 @@ protected void runTest() throws Throwable { "(Connection rejected: )?FATAL: ?no pg_hba.conf entry for host .*, user .*, database .*, SSL off(?s-d:.*)"; static String FAILED = "The connection attempt failed."; static String BROKEN = - "SSL error: (Broken pipe|Received fatal alert: unknown_ca|Connection reset)"; - static String SSLMODE = "Invalid sslmode value: (allow|prefer)"; + "SSL error: (Broken pipe( \\(Write failed\\))?|Received fatal alert: unknown_ca|Connection reset|Protocol wrong type for socket)"; + static String SSLMODEALLOW = "Invalid sslmode value: allow"; + static String SSLMODEPREFER = "Invalid sslmode value: prefer"; // static String UNKNOWN = "SSL error: Broken pipe"; - // static String UNKNOWN = "SSL error: Received fatal alert: unknown_ca"; + //static String UNKNOWN = "SSL error: Received fatal alert: unknown_ca"; static String ANY = ".*"; static String VALIDATOR = "SSL error: sun.security.validator.ValidatorException: PKIX path (building|validation) failed:.*"; @@ -146,12 +140,12 @@ protected void runTest() throws Throwable { defaultexpected.put("disableGG", new Object[]{null, Boolean.FALSE}); defaultexpected.put("disableGB", new Object[]{null, Boolean.FALSE}); defaultexpected.put("disableBG", new Object[]{null, Boolean.FALSE}); - defaultexpected.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - defaultexpected.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - defaultexpected.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - defaultexpected.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - defaultexpected.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - defaultexpected.put("preferBG", new Object[]{SSLMODE, Boolean.TRUE}); + defaultexpected.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + defaultexpected.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + defaultexpected.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + defaultexpected.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + defaultexpected.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + defaultexpected.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); defaultexpected.put("requireGG", new Object[]{null, Boolean.TRUE}); defaultexpected.put("requireGB", new Object[]{null, Boolean.TRUE}); defaultexpected.put("requireBG", new Object[]{null, Boolean.TRUE}); @@ -169,12 +163,12 @@ protected void runTest() throws Throwable { work.put("disableGG", new Object[]{null, Boolean.FALSE}); work.put("disableGB", new Object[]{null, Boolean.FALSE}); work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.FALSE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); work.put("requireGG", new Object[]{ANY, Boolean.TRUE}); work.put("requireGB", new Object[]{ANY, Boolean.TRUE}); work.put("requireBG", new Object[]{ANY, Boolean.TRUE}); @@ -184,20 +178,18 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{ANY, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{ANY, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{ANY, Boolean.TRUE}); - expectedmap.put("ssloff8", work); - work = (TreeMap) work.clone(); expectedmap.put("ssloff9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{null, Boolean.FALSE}); work.put("disableGB", new Object[]{null, Boolean.FALSE}); work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.FALSE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); work.put("requireGG", new Object[]{PG_HBA_ON, Boolean.TRUE}); work.put("requireGB", new Object[]{PG_HBA_ON, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -207,20 +199,18 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{PG_HBA_ON, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostnossl8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslhostnossl9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{null, Boolean.FALSE}); work.put("disableGB", new Object[]{null, Boolean.FALSE}); work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); work.put("requireGG", new Object[]{null, Boolean.TRUE}); work.put("requireGB", new Object[]{null, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -230,32 +220,28 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostgh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslhostgh9", work); work = (TreeMap) work.clone(); work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); - expectedmap.put("sslhostsslgh8", work); - work = (TreeMap) work.clone(); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); expectedmap.put("sslhostsslgh9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{null, Boolean.FALSE}); work.put("disableGB", new Object[]{null, Boolean.FALSE}); work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); work.put("requireGG", new Object[]{null, Boolean.TRUE}); work.put("requireGB", new Object[]{null, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -265,32 +251,28 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostbh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslhostbh9", work); work = (TreeMap) work.clone(); work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.FALSE}); - expectedmap.put("sslhostsslbh8", work); - work = (TreeMap) work.clone(); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); expectedmap.put("sslhostsslbh9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.TRUE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); work.put("requireGG", new Object[]{null, Boolean.TRUE}); work.put("requireGB", new Object[]{null, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -300,20 +282,18 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostsslcertgh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslhostsslcertgh9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.TRUE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); work.put("requireGG", new Object[]{null, Boolean.TRUE}); work.put("requireGB", new Object[]{null, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -323,20 +303,18 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostsslcertbh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslhostsslcertbh9", work); work = (TreeMap) defaultexpected.clone(); work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODE, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODE, Boolean.TRUE}); + work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); + work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); + work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); work.put("requireGG", new Object[]{null, Boolean.TRUE}); work.put("requireGB", new Object[]{null, Boolean.TRUE}); work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); @@ -346,14 +324,10 @@ protected void runTest() throws Throwable { work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslcertgh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslcertgh9", work); work = (TreeMap) work.clone(); work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); - expectedmap.put("sslcertbh8", work); - work = (TreeMap) work.clone(); expectedmap.put("sslcertbh9", work); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java index ac7a126790..19c3a7c532 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java @@ -28,8 +28,6 @@ private static void add(TestSuite suite, String param) { public static TestSuite suite() throws Exception { TestSuite suite = new TestSuite(); prop = TestUtil.loadPropertyFiles("ssltest.properties"); - add(suite, "ssloff8"); - add(suite, "sslhostnossl8"); add(suite, "ssloff9"); add(suite, "sslhostnossl9"); @@ -38,7 +36,6 @@ public static TestSuite suite() throws Exception { for (String hostMode : hostModes) { for (String certMode : certModes) { - add(suite, hostMode + certMode + "8"); add(suite, hostMode + certMode + "9"); } } diff --git a/ssltest.properties b/ssltest.properties index b6ab41d2e1..21d1d45a40 100644 --- a/ssltest.properties +++ b/ssltest.properties @@ -4,32 +4,6 @@ certdir=certdir # Uncomment to enable testing of SingleCertValidatingFactory #testsinglecertfactory=true - -ssloff8= -ssloff8prefix= - -#sslhostnossl8=jdbc:postgresql://localhost:5432/hostnossldb?sslpassword=sslpwd -sslhostnossl8prefix= - -#sslhostgh8=jdbc:postgresql://localhost:5432/hostdb?sslpassword=sslpwd -sslhostgh8prefix= -#sslhostbh8=jdbc:postgresql://127.0.0.1:5432/hostdb?sslpassword=sslpwd -sslhostbh8prefix= - -#sslhostsslgh8=jdbc:postgresql://localhost:5432/hostssldb?sslpassword=sslpwd -sslhostsslgh8prefix= -#sslhostsslbh8=jdbc:postgresql://127.0.0.1:5432/hostssldb?sslpassword=sslpwd -sslhostsslbh8prefix= - -#sslhostsslcertgh8=jdbc:postgresql://localhost:5432/hostsslcertdb?sslpassword=sslpwd -sslhostsslcertgh8prefix= -#sslhostsslcertbh8=jdbc:postgresql://127.0.0.1:5432/hostsslcertdb?sslpassword=sslpwd -sslhostsslcertbh8prefix= - -#sslcertgh8=jdbc:postgresql://localhost:5432/certdb?sslpassword=sslpwd -sslcertgh8prefix= -#sslcertbh8=jdbc:postgresql://127.0.0.1:5432/certdb?sslpassword=sslpwd -sslcertbh8prefix= ssloff9= ssloff9prefix= @@ -55,4 +29,4 @@ sslhostsslcertbh9prefix= #sslcertgh9=jdbc:postgresql://localhost:5432/certdb?sslpassword=sslpwd sslcertgh9prefix= #sslcertbh9=jdbc:postgresql://127.0.0.1:5432/certdb?sslpassword=sslpwd -sslcertbh9prefix= +sslcertbh9prefix= \ No newline at end of file From 4204f09446edbc7caaecb4c8cd7c8f78abd9344e Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 11 Mar 2018 16:54:14 +0300 Subject: [PATCH 122/427] docs: improve documentation and tests for server-side prepared statements (#1135) --- CHANGELOG.md | 3 + docs/documentation/head/server-prepare.md | 214 ++++++++++++++++-- .../test/jdbc2/AutoRollbackTestSuite.java | 74 +++++- .../org/postgresql/test/jdbc2/BaseTest4.java | 5 + .../test/jdbc2/PreparedStatementTest.java | 77 +++++++ 5 files changed, 347 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf2505249a..68362c2458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Added +- Documentation on server-side prepared statements [PR 1135](https://github.com/pgjdbc/pgjdbc/pull/1135) + ### Fixed - Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) - fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) diff --git a/docs/documentation/head/server-prepare.md b/docs/documentation/head/server-prepare.md index 74d09da97e..5c94942cbc 100644 --- a/docs/documentation/head/server-prepare.md +++ b/docs/documentation/head/server-prepare.md @@ -9,6 +9,8 @@ nexttitle: Physical and Logical replication API next: replication.html --- +### Motivation + The PostgreSQL™ server allows clients to compile sql statements that are expected to be reused to avoid the overhead of parsing and planning the statement for every execution. This functionality is available at the SQL level via PREPARE and EXECUTE @@ -16,30 +18,204 @@ beginning with server version 7.3, and at the protocol level beginning with serv version 7.4, but as Java developers we really just want to use the standard `PreparedStatement` interface. -### Note +> PostgreSQL 9.2 release notes: prepared statements used to be optimized once, without any knowledge +of the parameters' values. With 9.2, the planner will use specific plans regarding to the parameters +sent (the query will be planned at execution), except if the query is executed several times and +the planner decides that the generic plan is not too much more expensive than the specific plans. + +Server side prepared statements can improve execution speed as +1. It sends just statement handle (e.g. `S_1`) instead of full SQL text +1. It enables use of binary transfer (e.g. binary int4, binary timestamps, etc); the parameters and results are much faster to parse +1. It enables the reuse server-side execution plan +1. The client can reuse result set column definition, so it does not have to receive and parse metadata on each execution + +### Activation > Previous versions of the driver used PREPARE and EXECUTE to implement server-prepared statements. This is supported on all server versions beginning with 7.3, but produced application-visible changes in query results, such as missing ResultSet metadata and row update counts. The current driver uses the V3 -protocol-level equivalents which avoid these changes in query results, but the -V3 protocol is only available beginning with server version 7.4. Enabling server-prepared -statements will have no affect when connected to a 7.3 server or when explicitly -using the V2 protocol to connect to a 7.4 server. - -There are a number of ways to enable server side prepared statements depending on -your application's needs. The general method is to set a threshold for a -`PreparedStatement`. An internal counter keeps track of how many times the -statement has been executed and when it reaches the threshold it will start to -use server side prepared statements. - -### Note - -> Server side prepared statements are planned only once by the server. This avoids -the cost of replanning the query every time, but also means that the planner -cannot take advantage of the particular parameter values used in a particular -execution of the query. You should be cautious about enabling the use of server -side prepared statements globally. +protocol-level equivalents which avoid these changes in query results. + +The driver uses server side prepared statements **by default** when `PreparedStatement` API is used. +In order to get to server-side prepare, you need to execute the query 5 times (that can be +configured via `prepareThreshold` connection property). +An internal counter keeps track of how many times the statement has been executed and when it +reaches the threshold it will start to use server side prepared statements. + +It is generally a good idea to reuse the same `PreparedStatement` object for performance reasons, +however the driver is able to server-prepare statements automatically across `connection.prepareStatement(...)` calls. + +For instance: + + PreparedStatement ps = con.prepareStatement("select /*test*/ ?::int4"); + ps.setInt(1, 42); + ps.executeQuery().close(); + ps.close(); + + PreparedStatement ps = con.prepareStatement("select /*test*/ ?::int4"); + ps.setInt(1, 43); + ps.executeQuery().close(); + ps.close(); + +is less efficient than + + PreparedStatement ps = con.prepareStatement("select /*test*/ ?::int4"); + ps.setInt(1, 42); + ps.executeQuery().close(); + + ps.setInt(1, 43); + ps.executeQuery().close(); + +however pgjdbc can use server side prepared statements in both cases. + +Note: the `Statement` object is bound to a `Connection`, and it is not a good idea to access the same +`Statement` and/or `Connection` from multiple concurrent threads (except `cancel()`, `close()`, and alike cases). It might be safer to just `close()` the statement rather than trying to cache it somehow. + +Server-prepared statements consume memory both on the client and the server, so pgjdbc limits the number +of server-prepared statements per connection. It can be configured via `preparedStatementCacheQueries` +(default `256`, the number of queries known to pgjdbc), and `preparedStatementCacheSizeMiB` (default `5`, +that is the client side cache size in megabytes per connection). Only a subset of `statement cache` is +server-prepared as some of the statements might fail to reach `prepareThreshold`. + +### Deactivation + +There might be cases when you would want to disable use of server-prepared statements. +For instance, if you route connections through a balancer that is incompatible with server-prepared statements, +you have little choice. + +You can disable usage of server side prepared statements by setting `prepareThreshold=0` + +### Corner cases + +#### DDL + +V3 protocol avoids sending column metadata on each execution, and BIND message specifies output column format. +That creates a problem for cases like + + SELECT * FROM mytable; + ALTER mytable ADD column ...; + SELECT * FROM mytable; + +That results in `cached plan must not change result type` error, and it causes the transaction to fail. + +The recommendation is: +1. Use explicit column names in the SELECT list +1. Avoid column type alters + +#### DEALLOCATE ALL, DISCARD ALL + +There are explicit commands to deallocate all server side prepared statements. It would result in +the following server-side error message: `prepared statement name is invalid`. +Of course it could defeat pgjdbc, however there are cases when you need to discard statements (e.g. after lots of DDLs) + +The recommendation is: +1. Use simple `DEALLOCATE ALL` and/or `DISCARD ALL` commands, avoid nesting the commands into pl/pgsql or alike. The driver does understand top-level DEALLOCATE/DISCARD commands, and it invalidates client-side cache as well +1. Reconnect. The cache is per connection, so it would get invalidated if you reconnect + +#### set search_path=... + +PostgreSQL allows to customize `search_path`, and it provides great power to the developer. +With great power the following case could happen: + + set search_path='app_v1'; + SELECT * FROM mytable; + set search_path='app_v2'; + SELECT * FROM mytable; -- Does mytable mean app_v1.mytable or app_v2.mytable here? + +Server side prepared statements are linked to database object IDs, so it could fetch data from "old" +`app_v1.mytable` table. It is hard to tell which behaviour is expected, however pgjdbc tries to track +`search_path` changes, and it invalidates prepare cache accordingly. + +The recommendation is: +1. Avoid changing `search_path` often, as it invalidates server side prepared statements +1. Use simple `set search_path...` commands, avoid nesting the comands into pl/pgsql or alike, otherwise +pgjdbc won't be able to identify `search_path` change + +#### Re-execution of failed statements + +It is a pity that a single `cached plan must not change result type` could cause the whole transaction to fail. +The driver could re-execute the statement automatically in certain cases. + +1. In case the transaction has not failed (e.g. the transaction did not exist before execution of +the statement that caused `cached plan...` error), then pgjdbc re-executes the statement automatically. +This makes the application happy, and avoids unnecessary errors. +1. In case the transaction is in a failed state, there's nothing to do but rollback it. pgjdbc does have +"automatic savepoint" feature, and it could automatically rollback and retry the statement. The behaviour +is controlled via `autosave` property (default `never`). The value of `conservative` would auto-rollback +for the errors related to invalid server-prepared statements. +Note: `autosave` might result in **severe** performance issues for long transactions, as PostgreSQL backend +is not optimized for the case of long transactions and lots of savepoints. + +#### Replication connection + +PostgreSQL replication connection does not allow to use server side prepared statements, so pgjdbc +uses simple queries in the case where `replication` connection property is activated. + +#### Use of server-prepared statements for con.createStatement() + +By default, pgjdbc uses server-prepard statements for `PreparedStatement` only, however you might want +to activate server side prepared statements for regular `Statement` as well. For instance, if you +execute the same statement through `con.createStatement().executeQuery(...)`, then you might improve +performance by caching the statement. Of course it is better to use `PreparedStatements` explicitly, +however the driver has an option to cache simple statements as well. + +You can do that by setting `preferQueryMode` to `extendedCacheEverything`. +Note: the option is more of a diagnostinc/debugging sort, so be careful how you use it . + +#### Bind placeholder datatypes + +The database optimizes the execution plan for given parameter types. +Consider the below case: + + -- create table rooms (id int4, name varchar); + -- create index name__rooms on rooms(name); + PreparedStatement ps = con.prepareStatement("select id from rooms where name=?"); + ps.setString(1, "42"); + +It works as expected, however what would happen if one uses `setInt` instead? + + ps.setInt(1, 42); + +Even though the result would be identical, the first variation (`setString` case) enables the database +to use index `name__rooms`, and the latter does not. +In case the database gets `42` as integer, it uses the plan like `where cast(name as int4) = ?`. + +The plan has to be specific for the (`SQL text`; `parameter types`) combination, so the driver +has to invalidate server side prepared statements in case the statement is used with different +parameter types. + +This gets especially painful for batch operations as you don't want to interrupt the batch +by using alternating datatypes. + +The most typical case is as follows (don't ever use this in production): + + PreparedStatement ps = con.prepareStatement("select id from rooms where ..."); + if (param instanceof String) { + ps.setString(1, param); + } else if (param instanceof Integer) { + ps.setInt(1, ((Integer) param).intValue()); + } else { + // Does it really matter which type of NULL to use? + // In fact, it does since data types specify which server-procedure to call + ps.setNull(1, Types.INTEGER); + } + +As you might guess, `setString` vs `setNull(..., Types.INTEGER)` result in alternating datatypes, +and it forces the driver to invalidate and re-prepare server side statement. + +Recommendation is to use the consistent datatype for each bind placeholder, and use the same type +for `setNull`. +Check out `org.postgresql.test.jdbc2.PreparedStatementTest.testAlternatingBindType` example for more details. + +#### Debugging + +In case you run into `cached plan must not change result type` or `prepared statement \"S_2\" does not exist` +the following might be helpful to debug the case. + +1. Client logging. If you add `loggerLevel=TRACE&loggerFile=pgjdbc-trace.log`, you would get trace +of the messages send between the driver and the backend +1. You might check `org.postgresql.test.jdbc2.AutoRollbackTestSuite` as it verifies lots of combinations **Example 9.3. Using server side prepared statements** diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java index 0f2e5a6c3f..1c2c15811f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java @@ -68,6 +68,36 @@ private enum FailMode { INSERT_BATCH, } + private enum ReturnColumns { + EXACT("a, str"), + STAR("*"); + + public final String cols; + + ReturnColumns(String cols) { + this.cols = cols; + } + } + + private enum TestStatement { + SELECT("select ${cols} from rollbacktest", 0), + WITH_INSERT_SELECT( + "with x as (insert into rollbacktest(a, str) values(43, 'abc') returning ${cols})" + + "select * from x", 1); + + private final String sql; + private final int rowsInserted; + + TestStatement(String sql, int rowsInserted) { + this.sql = sql; + this.rowsInserted = rowsInserted; + } + + public String getSql(ReturnColumns cols) { + return sql.replace("${cols}", cols.cols); + } + } + private static final EnumSet DEALLOCATES = EnumSet.of(FailMode.DEALLOCATE, FailMode.DISCARD); @@ -85,19 +115,30 @@ private enum ContinueMode { private final FailMode failMode; private final ContinueMode continueMode; private final boolean flushCacheOnDeallocate; + private final boolean trans; + private final TestStatement testSql; + private final ReturnColumns cols; public AutoRollbackTestSuite(AutoSave autoSave, AutoCommit autoCommit, - FailMode failMode, ContinueMode continueMode, boolean flushCacheOnDeallocate) { + FailMode failMode, ContinueMode continueMode, boolean flushCacheOnDeallocate, + boolean trans, TestStatement testSql, ReturnColumns cols) { this.autoSave = autoSave; this.autoCommit = autoCommit; this.failMode = failMode; this.continueMode = continueMode; this.flushCacheOnDeallocate = flushCacheOnDeallocate; + this.trans = trans; + this.testSql = testSql; + this.cols = cols; } @Override public void setUp() throws Exception { super.setUp(); + if (testSql == TestStatement.WITH_INSERT_SELECT) { + assumeMinimumServerVersion(ServerVersion.v9_1); + } + TestUtil.createTable(con, "rollbacktest", "a int, str text"); con.setAutoCommit(autoCommit == AutoCommit.YES); BaseConnection baseConnection = con.unwrap(BaseConnection.class); @@ -129,7 +170,7 @@ protected void updateProperties(Properties props) { } - @Parameterized.Parameters(name = "{index}: autorollback(autoSave={0}, autoCommit={1}, failMode={2}, continueMode={3}, flushOnDeallocate={4})") + @Parameterized.Parameters(name = "{index}: autorollback(autoSave={0}, autoCommit={1}, failMode={2}, continueMode={3}, flushOnDeallocate={4}, hastransaction={5}, sql={6}, columns={7})") public static Iterable data() { Collection ids = new ArrayList(); boolean[] booleans = new boolean[] {true, false}; @@ -149,7 +190,18 @@ public static Iterable data() { continue; } - ids.add(new Object[]{autoSave, autoCommit, failMode, continueMode, flushCacheOnDeallocate}); + for (boolean trans : new boolean[]{true, false}) { + // continueMode would commit, and autoCommit=YES would commit, + // so it does not make sense to test trans=true for those cases + if (trans && (continueMode == ContinueMode.COMMIT || autoCommit != AutoCommit.NO)) { + continue; + } + for (TestStatement statement : TestStatement.values()) { + for (ReturnColumns columns : ReturnColumns.values()) { + ids.add(new Object[]{autoSave, autoCommit, failMode, continueMode, flushCacheOnDeallocate, trans, statement, columns}); + } + } + } } } } @@ -172,10 +224,16 @@ public void run() throws SQLException { Statement statement = con.createStatement(); statement.executeUpdate("insert into rollbacktest(a, str) values (0, 'test')"); + int rowsExpected = 1; - PreparedStatement ps = con.prepareStatement("select * from rollbacktest"); - // Server-prepare the statement + PreparedStatement ps = con.prepareStatement(testSql.getSql(cols)); + // Server-prepare the testSql ps.executeQuery().close(); + rowsExpected += testSql.rowsInserted; + + if (trans) { + statement.executeUpdate("update rollbacktest set a=a"); + } switch (failMode) { case SELECT: @@ -257,6 +315,7 @@ public void run() throws SQLException { try { // Try execute server-prepared statement again ps.executeQuery().close(); + rowsExpected += testSql.rowsInserted; executeSqlSuccess(); } catch (SQLException e) { if (autoSave != AutoSave.ALWAYS && TRANS_KILLERS.contains(failMode) && autoCommit == AutoCommit.NO) { @@ -289,7 +348,7 @@ public void run() throws SQLException { try { - assertRows("rollbacktest", 1); + assertRows("rollbacktest", rowsExpected); executeSqlSuccess(); } catch (SQLException e) { if (autoSave == AutoSave.NEVER && autoCommit == AutoCommit.NO) { @@ -323,7 +382,8 @@ private void executeSqlSuccess() throws SQLException { } } else if (failMode == FailMode.ALTER) { if (autoSave == AutoSave.NEVER - && con.unwrap(PGConnection.class).getPreferQueryMode() != PreferQueryMode.SIMPLE) { + && con.unwrap(PGConnection.class).getPreferQueryMode() != PreferQueryMode.SIMPLE + && cols == ReturnColumns.STAR) { Assert.fail("autosave=NEVER, thus the transaction should be killed"); } } else { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java index 23841d3b91..5f11196906 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java @@ -104,6 +104,11 @@ public void assumeBinaryModeRegular() { Assume.assumeTrue(binaryMode == BinaryMode.REGULAR); } + public void assumeBinaryModeForce() { + Assume.assumeTrue(binaryMode == BinaryMode.FORCE); + Assume.assumeTrue(preferQueryMode != PreferQueryMode.SIMPLE); + } + /** * Shorthand for {@code Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, version)} */ diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index dd83120031..f5af9e71f9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -17,6 +17,7 @@ import org.postgresql.test.TestUtil; import org.postgresql.test.util.BrokenInputStream; +import org.junit.Assert; import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; @@ -38,7 +39,11 @@ import java.sql.Types; import java.util.ArrayList; import java.util.Collection; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import java.util.logging.Handler; +import java.util.logging.LogRecord; +import java.util.logging.Logger; @RunWith(Parameterized.class) @@ -1343,4 +1348,76 @@ public void testInappropriateStatementSharing() throws SQLException { ps.close(); } } + + @Test + public void testAlternatingBindType() throws SQLException { + assumeBinaryModeForce(); + PreparedStatement ps = con.prepareStatement("SELECT /*testAlternatingBindType*/ ?"); + ResultSet rs; + Logger log = Logger.getLogger("org.postgresql"); + AtomicInteger numOfReParses = new AtomicInteger(); + Handler handler = new Handler() { + @Override + public void publish(LogRecord record) { + if (record.getMessage().contains("un-prepare it and parse")) { + numOfReParses.incrementAndGet(); + } + } + + @Override + public void flush() { + } + + @Override + public void close() throws SecurityException { + } + }; + log.addHandler(handler); + try { + ps.setString(1, "42"); + rs = ps.executeQuery(); + rs.next(); + Assert.assertEquals("setString(1, \"42\") -> \"42\" expected", "42", rs.getObject(1)); + rs.close(); + + // The bind type is flipped from VARCHAR to INTEGER, and it causes the driver to prepare statement again + ps.setNull(1, Types.INTEGER); + rs = ps.executeQuery(); + rs.next(); + Assert.assertNull("setNull(1, Types.INTEGER) -> null expected", rs.getObject(1)); + Assert.assertEquals("A re-parse was expected, so the number of parses should be 1", + 1, numOfReParses.get()); + rs.close(); + + // The bind type is flipped from INTEGER to VARCHAR, and it causes the driver to prepare statement again + ps.setString(1, "42"); + rs = ps.executeQuery(); + rs.next(); + Assert.assertEquals("setString(1, \"42\") -> \"42\" expected", "42", rs.getObject(1)); + Assert.assertEquals("One more re-parse is expected, so the number of parses should be 2", + 2, numOfReParses.get()); + rs.close(); + + // Types.OTHER null is sent as UNSPECIFIED, and pgjdbc does not re-parse on UNSPECIFIED nulls + // Note: do not rely on absence of re-parse on using Types.OTHER. Try using consistent data types + ps.setNull(1, Types.OTHER); + rs = ps.executeQuery(); + rs.next(); + Assert.assertNull("setNull(1, Types.OTHER) -> null expected", rs.getObject(1)); + Assert.assertEquals("setNull(, Types.OTHER) should not cause re-parse", + 2, numOfReParses.get()); + + // Types.INTEGER null is sent as int4 null, and it leads to re-parse + ps.setNull(1, Types.INTEGER); + rs = ps.executeQuery(); + rs.next(); + Assert.assertNull("setNull(1, Types.INTEGER) -> null expected", rs.getObject(1)); + Assert.assertEquals("setNull(, Types.INTEGER) causes re-parse", + 3, numOfReParses.get()); + rs.close(); + } finally { + TestUtil.closeQuietly(ps); + log.removeHandler(handler); + } + } } From 7a586b6e492e8911a928d50113a68569981fa731 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Sun, 11 Mar 2018 07:58:25 -0600 Subject: [PATCH 123/427] fix: improve DatabaseMetaData.getSQLKeywords() (#940) Fetch keywords from pg_catalog.pg_get_keywords() --- CHANGELOG.md | 1 + .../postgresql/jdbc/PgDatabaseMetaData.java | 107 +++++++++++++++--- .../test/jdbc2/DatabaseMetaDataTest.java | 73 ++++++++++++ 3 files changed, 166 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68362c2458..701ff3874d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Package scram:client classes, so SCRAM works when using a shaded jar [PR 1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) - reWriteBatchedInserts=true causes syntax error with ON CONFLICT [Issue 1045](https://github.com/pgjdbc/pgjdbc/issues/1045) [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) - Avoid failure in getPGArrayType when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) +- For PostgreSQL 9.0+ return a complete list of keywords in DatabaseMetadata.getSQLKeywords() from pg_catalog.pg_get_keywords(). [PR 940](https://github.com/pgjdbc/pgjdbc/pull/940) ## [42.2.0] (2018-01-17) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index f35fea2753..b7063db4ef 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -36,14 +36,7 @@ public PgDatabaseMetaData(PgConnection conn) { this.connection = conn; } - private static final String keywords = "abort,acl,add,aggregate,append,archive," - + "arch_store,backward,binary,boolean,change,cluster," - + "copy,database,delimiter,delimiters,do,extend," - + "explain,forward,heavy,index,inherits,isnull," - + "light,listen,load,merge,nothing,notify," - + "notnull,oids,purge,rename,replace,retrieve," - + "returns,rule,recipe,setof,stdin,stdout,store," - + "vacuum,verbose,version"; + private String keywords; protected final PgConnection connection; // The connection association @@ -252,18 +245,102 @@ public String getIdentifierQuoteString() throws SQLException { * {@inheritDoc} * *

- * Within PostgreSQL, the keywords are found in src/backend/parser/keywords.c - * - *

- * For SQL Keywords, I took the list provided at - * http://web.dementia.org/~ - * shadow/sql/sql3bnf.sep93.txt which is for SQL3, not SQL-92, but it is close enough for this - * purpose. + * From PostgreSQL 9.0+ return the keywords from pg_catalog.pg_get_keywords() * * @return a comma separated list of keywords we use * @throws SQLException if a database access error occurs */ + @Override public String getSQLKeywords() throws SQLException { + connection.checkClosed(); + if (keywords == null) { + if (connection.haveMinimumServerVersion(ServerVersion.v9_0)) { + // Exclude SQL:2003 keywords (https://github.com/ronsavage/SQL/blob/master/sql-2003-2.bnf) + // from the returned list, ugly but required by jdbc spec. + String sql = "select string_agg(word, ',') from pg_catalog.pg_get_keywords() " + + "where word <> ALL ('{a,abs,absolute,action,ada,add,admin,after,all,allocate,alter," + + "always,and,any,are,array,as,asc,asensitive,assertion,assignment,asymmetric,at,atomic," + + "attribute,attributes,authorization,avg,before,begin,bernoulli,between,bigint,binary," + + "blob,boolean,both,breadth,by,c,call,called,cardinality,cascade,cascaded,case,cast," + + "catalog,catalog_name,ceil,ceiling,chain,char,char_length,character,character_length," + + "character_set_catalog,character_set_name,character_set_schema,characteristics," + + "characters,check,checked,class_origin,clob,close,coalesce,cobol,code_units,collate," + + "collation,collation_catalog,collation_name,collation_schema,collect,column," + + "column_name,command_function,command_function_code,commit,committed,condition," + + "condition_number,connect,connection_name,constraint,constraint_catalog,constraint_name," + + "constraint_schema,constraints,constructors,contains,continue,convert,corr," + + "corresponding,count,covar_pop,covar_samp,create,cross,cube,cume_dist,current," + + "current_collation,current_date,current_default_transform_group,current_path," + + "current_role,current_time,current_timestamp,current_transform_group_for_type,current_user," + + "cursor,cursor_name,cycle,data,date,datetime_interval_code,datetime_interval_precision," + + "day,deallocate,dec,decimal,declare,default,defaults,deferrable,deferred,defined,definer," + + "degree,delete,dense_rank,depth,deref,derived,desc,describe,descriptor,deterministic," + + "diagnostics,disconnect,dispatch,distinct,domain,double,drop,dynamic,dynamic_function," + + "dynamic_function_code,each,element,else,end,end-exec,equals,escape,every,except," + + "exception,exclude,excluding,exec,execute,exists,exp,external,extract,false,fetch,filter," + + "final,first,float,floor,following,for,foreign,fortran,found,free,from,full,function," + + "fusion,g,general,get,global,go,goto,grant,granted,group,grouping,having,hierarchy,hold," + + "hour,identity,immediate,implementation,in,including,increment,indicator,initially," + + "inner,inout,input,insensitive,insert,instance,instantiable,int,integer,intersect," + + "intersection,interval,into,invoker,is,isolation,join,k,key,key_member,key_type,language," + + "large,last,lateral,leading,left,length,level,like,ln,local,localtime,localtimestamp," + + "locator,lower,m,map,match,matched,max,maxvalue,member,merge,message_length," + + "message_octet_length,message_text,method,min,minute,minvalue,mod,modifies,module,month," + + "more,multiset,mumps,name,names,national,natural,nchar,nclob,nesting,new,next,no,none," + + "normalize,normalized,not,\"null\",nullable,nullif,nulls,number,numeric,object," + + "octet_length,octets,of,old,on,only,open,option,options,or,order,ordering,ordinality," + + "others,out,outer,output,over,overlaps,overlay,overriding,pad,parameter,parameter_mode," + + "parameter_name,parameter_ordinal_position,parameter_specific_catalog," + + "parameter_specific_name,parameter_specific_schema,partial,partition,pascal,path," + + "percent_rank,percentile_cont,percentile_disc,placing,pli,position,power,preceding," + + "precision,prepare,preserve,primary,prior,privileges,procedure,public,range,rank,read," + + "reads,real,recursive,ref,references,referencing,regr_avgx,regr_avgy,regr_count," + + "regr_intercept,regr_r2,regr_slope,regr_sxx,regr_sxy,regr_syy,relative,release," + + "repeatable,restart,result,return,returned_cardinality,returned_length," + + "returned_octet_length,returned_sqlstate,returns,revoke,right,role,rollback,rollup," + + "routine,routine_catalog,routine_name,routine_schema,row,row_count,row_number,rows," + + "savepoint,scale,schema,schema_name,scope_catalog,scope_name,scope_schema,scroll," + + "search,second,section,security,select,self,sensitive,sequence,serializable,server_name," + + "session,session_user,set,sets,similar,simple,size,smallint,some,source,space,specific," + + "specific_name,specifictype,sql,sqlexception,sqlstate,sqlwarning,sqrt,start,state," + + "statement,static,stddev_pop,stddev_samp,structure,style,subclass_origin,submultiset," + + "substring,sum,symmetric,system,system_user,table,table_name,tablesample,temporary,then," + + "ties,time,timestamp,timezone_hour,timezone_minute,to,top_level_count,trailing," + + "transaction,transaction_active,transactions_committed,transactions_rolled_back," + + "transform,transforms,translate,translation,treat,trigger,trigger_catalog,trigger_name," + + "trigger_schema,trim,true,type,uescape,unbounded,uncommitted,under,union,unique,unknown," + + "unnamed,unnest,update,upper,usage,user,user_defined_type_catalog,user_defined_type_code," + + "user_defined_type_name,user_defined_type_schema,using,value,values,var_pop,var_samp," + + "varchar,varying,view,when,whenever,where,width_bucket,window,with,within,without,work," + + "write,year,zone}'::text[])"; + + Statement stmt = null; + ResultSet rs = null; + try { + stmt = connection.createStatement(); + rs = stmt.executeQuery(sql); + if (!rs.next()) { + throw new PSQLException(GT.tr("Unable to find keywords in the system catalogs."), + PSQLState.UNEXPECTED_ERROR); + } + keywords = rs.getString(1); + } finally { + JdbcBlackHole.close(rs); + JdbcBlackHole.close(stmt); + } + } else { + // Static list from PG8.2 src/backend/parser/keywords.c with SQL:2003 excluded. + keywords = "abort,access,aggregate,also,analyse,analyze,backward,bit,cache,checkpoint,class," + + "cluster,comment,concurrently,connection,conversion,copy,csv,database,delimiter," + + "delimiters,disable,do,enable,encoding,encrypted,exclusive,explain,force,forward,freeze," + + "greatest,handler,header,if,ilike,immutable,implicit,index,indexes,inherit,inherits," + + "instead,isnull,least,limit,listen,load,location,lock,mode,move,nothing,notify,notnull," + + "nowait,off,offset,oids,operator,owned,owner,password,prepared,procedural,quote,reassign," + + "recheck,reindex,rename,replace,reset,restrict,returning,rule,setof,share,show,stable," + + "statistics,stdin,stdout,storage,strict,sysid,tablespace,temp,template,truncate,trusted," + + "unencrypted,unlisten,until,vacuum,valid,validator,verbose,volatile"; + } + } return keywords; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index c1ceae49a2..77d8d72a43 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -15,6 +15,7 @@ import org.postgresql.test.TestUtil; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -27,7 +28,9 @@ import java.sql.Types; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; /* * TestCase to test the internal functionality of org.postgresql.jdbc2.DatabaseMetaData @@ -1244,4 +1247,74 @@ public void testIdentityColumns() throws SQLException { } + @Test + public void testGetSQLKeywords() throws SQLException { + DatabaseMetaData dbmd = con.getMetaData(); + String keywords = dbmd.getSQLKeywords(); + + // We don't want SQL:2003 keywords returned, so check for that. + String sql2003 = "a,abs,absolute,action,ada,add,admin,after,all,allocate,alter,always,and,any,are," + + "array,as,asc,asensitive,assertion,assignment,asymmetric,at,atomic,attribute,attributes," + + "authorization,avg,before,begin,bernoulli,between,bigint,binary,blob,boolean,both,breadth,by," + + "c,call,called,cardinality,cascade,cascaded,case,cast,catalog,catalog_name,ceil,ceiling,chain," + + "char,char_length,character,character_length,character_set_catalog,character_set_name," + + "character_set_schema,characteristics,characters,check,checked,class_origin,clob,close," + + "coalesce,cobol,code_units,collate,collation,collation_catalog,collation_name,collation_schema," + + "collect,column,column_name,command_function,command_function_code,commit,committed,condition," + + "condition_number,connect,connection_name,constraint,constraint_catalog,constraint_name," + + "constraint_schema,constraints,constructors,contains,continue,convert,corr,corresponding,count," + + "covar_pop,covar_samp,create,cross,cube,cume_dist,current,current_collation,current_date," + + "current_default_transform_group,current_path,current_role,current_time,current_timestamp," + + "current_transform_group_for_type,current_user,cursor,cursor_name,cycle,data,date,datetime_interval_code," + + "datetime_interval_precision,day,deallocate,dec,decimal,declare,default,defaults,deferrable," + + "deferred,defined,definer,degree,delete,dense_rank,depth,deref,derived,desc,describe," + + "descriptor,deterministic,diagnostics,disconnect,dispatch,distinct,domain,double,drop,dynamic," + + "dynamic_function,dynamic_function_code,each,element,else,end,end-exec,equals,escape,every," + + "except,exception,exclude,excluding,exec,execute,exists,exp,external,extract,false,fetch,filter," + + "final,first,float,floor,following,for,foreign,fortran,found,free,from,full,function,fusion," + + "g,general,get,global,go,goto,grant,granted,group,grouping,having,hierarchy,hold,hour,identity," + + "immediate,implementation,in,including,increment,indicator,initially,inner,inout,input," + + "insensitive,insert,instance,instantiable,int,integer,intersect,intersection,interval,into," + + "invoker,is,isolation,join,k,key,key_member,key_type,language,large,last,lateral,leading,left," + + "length,level,like,ln,local,localtime,localtimestamp,locator,lower,m,map,match,matched,max," + + "maxvalue,member,merge,message_length,message_octet_length,message_text,method,min,minute," + + "minvalue,mod,modifies,module,month,more,multiset,mumps,name,names,national,natural,nchar," + + "nclob,nesting,new,next,no,none,normalize,normalized,not,null,nullable,nullif,nulls,number," + + "numeric,object,octet_length,octets,of,old,on,only,open,option,options,or,order,ordering," + + "ordinality,others,out,outer,output,over,overlaps,overlay,overriding,pad,parameter,parameter_mode," + + "parameter_name,parameter_ordinal_position,parameter_specific_catalog,parameter_specific_name," + + "parameter_specific_schema,partial,partition,pascal,path,percent_rank,percentile_cont," + + "percentile_disc,placing,pli,position,power,preceding,precision,prepare,preserve,primary," + + "prior,privileges,procedure,public,range,rank,read,reads,real,recursive,ref,references," + + "referencing,regr_avgx,regr_avgy,regr_count,regr_intercept,regr_r2,regr_slope,regr_sxx," + + "regr_sxy,regr_syy,relative,release,repeatable,restart,result,return,returned_cardinality," + + "returned_length,returned_octet_length,returned_sqlstate,returns,revoke,right,role,rollback," + + "rollup,routine,routine_catalog,routine_name,routine_schema,row,row_count,row_number,rows," + + "savepoint,scale,schema,schema_name,scope_catalog,scope_name,scope_schema,scroll,search,second," + + "section,security,select,self,sensitive,sequence,serializable,server_name,session,session_user," + + "set,sets,similar,simple,size,smallint,some,source,space,specific,specific_name,specifictype,sql," + + "sqlexception,sqlstate,sqlwarning,sqrt,start,state,statement,static,stddev_pop,stddev_samp," + + "structure,style,subclass_origin,submultiset,substring,sum,symmetric,system,system_user,table," + + "table_name,tablesample,temporary,then,ties,time,timestamp,timezone_hour,timezone_minute,to," + + "top_level_count,trailing,transaction,transaction_active,transactions_committed," + + "transactions_rolled_back,transform,transforms,translate,translation,treat,trigger,trigger_catalog," + + "trigger_name,trigger_schema,trim,true,type,uescape,unbounded,uncommitted,under,union,unique," + + "unknown,unnamed,unnest,update,upper,usage,user,user_defined_type_catalog,user_defined_type_code," + + "user_defined_type_name,user_defined_type_schema,using,value,values,var_pop,var_samp,varchar," + + "varying,view,when,whenever,where,width_bucket,window,with,within,without,work,write,year,zone"; + + String[] excludeSQL2003 = sql2003.split(","); + String[] returned = keywords.split(","); + Set returnedSet = new HashSet(Arrays.asList(returned)); + Assert.assertEquals("Returned keywords should be unique", returnedSet.size(), returned.length); + + for (String s : excludeSQL2003) { + assertFalse("Keyword from SQL:2003 \"" + s + "\" found", returnedSet.contains(s)); + } + + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + Assert.assertTrue("reindex should be in keywords", returnedSet.contains("reindex")); + } + } + } From bcdd4273bba7ae6b3348d47d4cdeb72e941d5acc Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 11 Mar 2018 21:05:14 +0300 Subject: [PATCH 124/427] test: make testAlternatingBindType Java 6-compatible (#1139) --- .../postgresql/test/jdbc2/PreparedStatementTest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index f5af9e71f9..15cf6ce363 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -42,6 +42,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Handler; +import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; @@ -1354,8 +1355,12 @@ public void testAlternatingBindType() throws SQLException { assumeBinaryModeForce(); PreparedStatement ps = con.prepareStatement("SELECT /*testAlternatingBindType*/ ?"); ResultSet rs; - Logger log = Logger.getLogger("org.postgresql"); - AtomicInteger numOfReParses = new AtomicInteger(); + Logger log = Logger.getLogger("org.postgresql.core.v3.SimpleQuery"); + Level prevLevel = log.getLevel(); + if (prevLevel == null || prevLevel.intValue() > Level.FINER.intValue()) { + log.setLevel(Level.FINER); + } + final AtomicInteger numOfReParses = new AtomicInteger(); Handler handler = new Handler() { @Override public void publish(LogRecord record) { @@ -1418,6 +1423,7 @@ public void close() throws SecurityException { } finally { TestUtil.closeQuietly(ps); log.removeHandler(handler); + log.setLevel(prevLevel); } } } From 04e76661586b54157a1220552c005569231388a9 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 14 Mar 2018 17:48:31 +0300 Subject: [PATCH 125/427] fix: better support for RETURNING for WITH queries and queries with comments (#1138) 1) pgjdbc ignored to add RETURNING to WITH queries even though it makes sense. 2) `insert/*comment*/` was not treated as `insert` statement, thus the driver did not add `returning`. fixes #1104 --- CHANGELOG.md | 2 + .../main/java/org/postgresql/core/Parser.java | 70 ++++++++++++++++++- .../java/org/postgresql/core/SqlCommand.java | 6 ++ .../java/org/postgresql/core/ParserTest.java | 11 +++ .../test/jdbc3/CompositeQueryParseTest.java | 14 +++- .../test/jdbc3/GeneratedKeysTest.java | 35 +++++++++- .../postgresql/test/jdbc3/Jdbc3TestSuite.java | 1 + .../test/jdbc3/SqlCommandParseTest.java | 54 ++++++++++++++ 8 files changed, 187 insertions(+), 6 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/SqlCommandParseTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 701ff3874d..7c6706904d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) - Adjust XAException return codes for better compatibility with XA specification [PR 782](https://github.com/pgjdbc/pgjdbc/pull/782) - Wrong results when single statement is used with different bind types[PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) +- Support generated keys for WITH queries that miss RETURNING [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) +- Support generated keys when INSERT/UPDATE/DELETE keyword is followed by a comment [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) ## [42.2.1] (2018-01-25) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 8ae75a16cb..ad755f98df 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -74,11 +74,13 @@ public static List parseJdbcSql(String query, boolean standardConfo boolean whitespaceOnly = true; int keyWordCount = 0; int keywordStart = -1; + int keywordEnd = -1; for (int i = 0; i < aChars.length; ++i) { char aChar = aChars[i]; boolean isKeyWordChar = false; // ';' is ignored as it splits the queries whitespaceOnly &= aChar == ';' || Character.isWhitespace(aChar); + keywordEnd = i; // parseSingleQuotes, parseDoubleQuotes, etc move index so we keep old value switch (aChar) { case '\'': // single-quotes i = Parser.parseSingleQuotes(aChars, i, standardConformingStrings); @@ -202,7 +204,7 @@ public static List parseJdbcSql(String query, boolean standardConfo break; } if (keywordStart >= 0 && (i == aChars.length - 1 || !isKeyWordChar)) { - int wordLength = (isKeyWordChar ? i + 1 : i) - keywordStart; + int wordLength = (isKeyWordChar ? i + 1 : keywordEnd) - keywordStart; if (currentCommandType == SqlCommandType.BLANK) { if (wordLength == 6 && parseUpdateKeyword(aChars, keywordStart)) { currentCommandType = SqlCommandType.UPDATE; @@ -225,6 +227,12 @@ public static List parseJdbcSql(String query, boolean standardConfo isCurrentReWriteCompatible = false; } } + } else if (currentCommandType == SqlCommandType.WITH + && inParen == 0) { + SqlCommandType command = parseWithCommandType(aChars, i, keywordStart, wordLength); + if (command != null) { + currentCommandType = command; + } } if (inParen != 0 || aChar == ')') { // RETURNING and VALUES cannot be present in braces @@ -287,6 +295,47 @@ public static List parseJdbcSql(String query, boolean standardConfo return nativeQueries; } + private static SqlCommandType parseWithCommandType(char[] aChars, int i, int keywordStart, + int wordLength) { + // This parses `with x as (...) ...` + // Corner case is `with select as (insert ..) select * from select + SqlCommandType command; + if (wordLength == 6 && parseUpdateKeyword(aChars, keywordStart)) { + command = SqlCommandType.UPDATE; + } else if (wordLength == 6 && parseDeleteKeyword(aChars, keywordStart)) { + command = SqlCommandType.DELETE; + } else if (wordLength == 6 && parseInsertKeyword(aChars, keywordStart)) { + command = SqlCommandType.INSERT; + } else if (wordLength == 6 && parseSelectKeyword(aChars, keywordStart)) { + command = SqlCommandType.SELECT; + } else { + return null; + } + // update/delete/insert/select keyword detected + // Check if `AS` follows + int nextInd = i; + // The loop should skip whitespace and comments + for (; nextInd < aChars.length; nextInd++) { + char nextChar = aChars[nextInd]; + if (nextChar == '-') { + nextInd = Parser.parseLineComment(aChars, nextInd); + } else if (nextChar == '/') { + nextInd = Parser.parseBlockComment(aChars, nextInd); + } else if (Character.isWhitespace(nextChar)) { + // Skip whitespace + continue; + } else { + break; + } + } + if (nextInd + 2 >= aChars.length + || (!parseAsKeyword(aChars, nextInd) + || isIdentifierContChar(aChars[nextInd + 2]))) { + return command; + } + return null; + } + private static boolean addReturning(StringBuilder nativeSql, SqlCommandType currentCommandType, String[] returningColumnNames, boolean isReturningPresent) throws SQLException { if (isReturningPresent || returningColumnNames.length == 0) { @@ -294,7 +343,8 @@ private static boolean addReturning(StringBuilder nativeSql, SqlCommandType curr } if (currentCommandType != SqlCommandType.INSERT && currentCommandType != SqlCommandType.UPDATE - && currentCommandType != SqlCommandType.DELETE) { + && currentCommandType != SqlCommandType.DELETE + && currentCommandType != SqlCommandType.WITH) { return false; } @@ -659,6 +709,22 @@ public static boolean parseWithKeyword(final char[] query, int offset) { && (query[offset + 3] | 32) == 'h'; } + /** + * Parse string to check presence of AS keyword regardless of case. + * + * @param query char[] of the query statement + * @param offset position of query to start checking + * @return boolean indicates presence of word + */ + public static boolean parseAsKeyword(final char[] query, int offset) { + if (query.length < (offset + 2)) { + return false; + } + + return (query[offset] | 32) == 'a' + && (query[offset + 1] | 32) == 's'; + } + /** * @param c character * @return true if the character is a whitespace character as defined in the backend's parser diff --git a/pgjdbc/src/main/java/org/postgresql/core/SqlCommand.java b/pgjdbc/src/main/java/org/postgresql/core/SqlCommand.java index c358f363f4..90201fab43 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/SqlCommand.java +++ b/pgjdbc/src/main/java/org/postgresql/core/SqlCommand.java @@ -6,6 +6,8 @@ package org.postgresql.core; import static org.postgresql.core.SqlCommandType.INSERT; +import static org.postgresql.core.SqlCommandType.SELECT; +import static org.postgresql.core.SqlCommandType.WITH; /** * Data Modification Language inspection support. @@ -37,6 +39,10 @@ public boolean isReturningKeywordPresent() { return parsedSQLhasRETURNINGKeyword; } + public boolean returnsRows() { + return parsedSQLhasRETURNINGKeyword || commandType == SELECT || commandType == WITH; + } + public static SqlCommand createStatementTypeInfo(SqlCommandType type, boolean isBatchedReWritePropertyConfigured, int valuesBraceOpenPosition, int valuesBraceClosePosition, boolean isRETURNINGkeywordPresent, diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 706dc530dc..1d6da292c8 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -162,6 +162,17 @@ public void insertSelectReturning() throws SQLException { Assert.assertTrue("Query has a returning clause " + query, returningKeywordPresent); } + @Test + public void insertReturningInWith() throws SQLException { + String query = + "with x as (insert into mytab(x) values(1) returning x) insert test(id, name) select 1, 'value' from test2"; + List qry = + Parser.parseJdbcSql( + query, true, true, true, true); + boolean returningKeywordPresent = qry.get(0).command.isReturningKeywordPresent(); + Assert.assertFalse("There's no top-level <> clause " + query, returningKeywordPresent); + } + @Test public void insertBatchedReWriteOnConflict() throws SQLException { String query = "insert into test(id, name) values (:id,:name) ON CONFLICT (id) DO NOTHING"; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java index 00a9a3ae56..dc4cf8fc6e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java @@ -156,11 +156,19 @@ public void testInsert() throws SQLException { } @Test - public void testWith() throws SQLException { + public void testWithSelect() throws SQLException { List queries; - queries = Parser.parseJdbcSql("with update as insert (update foo set (a=?,b=?,c=?)) select * from update", true, true, false, true); + queries = Parser.parseJdbcSql("with update as (update foo set (a=?,b=?,c=?)) select * from update", true, true, false, true); NativeQuery query = queries.get(0); - assertEquals("This is a WITH command", SqlCommandType.WITH, query.command.getType()); + assertEquals("with ... () select", SqlCommandType.SELECT, query.command.getType()); + } + + @Test + public void testWithInsert() throws SQLException { + List queries; + queries = Parser.parseJdbcSql("with update as (update foo set (a=?,b=?,c=?)) insert into table(select) values(1)", true, true, false, true); + NativeQuery query = queries.get(0); + assertEquals("with ... () insert", SqlCommandType.INSERT, query.command.getType()); } @Test diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java index 36a6e440cb..7cca349ae3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/GeneratedKeysTest.java @@ -13,10 +13,12 @@ import static org.junit.Assert.fail; import org.postgresql.PGStatement; +import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; import org.postgresql.util.PSQLState; +import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -198,7 +200,7 @@ public void testMultipleRows() throws SQLException { public void testSerialWorks() throws SQLException { Statement stmt = con.createStatement(); int count = stmt.executeUpdate( - "INSERT INTO genkeys (b,c) VALUES ('a', 2), ('b', 4)" + returningClause + "; ", + "INSERT/*fool parser*/ INTO genkeys (b,c) VALUES ('a', 2), ('b', 4)" + returningClause + "; ", new String[]{"a"}); assertEquals(2, count); ResultSet rs = stmt.getGeneratedKeys(); @@ -222,6 +224,37 @@ public void testUpdate() throws SQLException { assertTrue(!rs.next()); } + @Test + public void testWithInsertInsert() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v9_1); + Statement stmt = con.createStatement(); + int count = stmt.executeUpdate( + "WITH x as (INSERT INTO genkeys (b,c) VALUES ('a', 2) returning c) insert into genkeys(a,b,c) VALUES (1, 'a', 2)" + returningClause + "", + new String[]{"c", "b"}); + assertEquals(1, count); + ResultSet rs = stmt.getGeneratedKeys(); + assertTrue(rs.next()); + assertCB1(rs); + assertTrue(!rs.next()); + } + + @Test + public void testWithInsertSelect() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v9_1); + Assume.assumeTrue(returningInQuery != ReturningInQuery.NO); + Statement stmt = con.createStatement(); + int count = stmt.executeUpdate( + "WITH x as (INSERT INTO genkeys(a,b,c) VALUES (1, 'a', 2) " + returningClause + + ") select * from x", + new String[]{"c", "b"}); + assertEquals("rowcount", -1, count); + // TODO: should SELECT produce rows through getResultSet or getGeneratedKeys? + ResultSet rs = stmt.getResultSet(); + assertTrue(rs.next()); + assertCB1(rs); + assertTrue(!rs.next()); + } + @Test public void testDelete() throws SQLException { Statement stmt = con.createStatement(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java index 8400103afc..a90abf632e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java @@ -16,6 +16,7 @@ Jdbc3CallableStatementTest.class, GeneratedKeysTest.class, CompositeQueryParseTest.class, + SqlCommandParseTest.class, Jdbc3SavepointTest.class, TypesTest.class, ResultSetTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SqlCommandParseTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SqlCommandParseTest.java new file mode 100644 index 0000000000..ac98e87133 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SqlCommandParseTest.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import static org.junit.Assert.assertEquals; + +import org.postgresql.core.NativeQuery; +import org.postgresql.core.Parser; +import org.postgresql.core.SqlCommandType; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.SQLException; +import java.util.Arrays; +import java.util.List; + +@RunWith(Parameterized.class) +public class SqlCommandParseTest { + @Parameterized.Parameter(0) + public SqlCommandType type; + @Parameterized.Parameter(1) + public String sql; + + @Parameterized.Parameters(name = "expected={0}, sql={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {SqlCommandType.INSERT, "insert/**/ into table(select) values(1)"}, + {SqlCommandType.SELECT, "select'abc'/**/ as insert"}, + {SqlCommandType.INSERT, "INSERT/*fool /*nest comments -- parser*/*/ INTO genkeys (b,c) VALUES ('a', 2), ('b', 4) SELECT"}, + {SqlCommandType.INSERT, "with update as (update foo set (a=?,b=?,c=?)) insert into table(select) values(1)"}, + {SqlCommandType.INSERT, "with update as (update foo set (a=?,b=?,c=?)) insert into table(select) select * from update"}, + {SqlCommandType.INSERT, "with update as (update foo set (a=?,b=?,c=?)) insert/**/ into table(select) values(1)"}, + {SqlCommandType.INSERT, "with update as (update foo set (a=?,b=?,c=?)) insert /**/ into table(select) values(1)"}, + {SqlCommandType.SELECT, "with update as (update foo set (a=?,b=?,c=?)) insert --\nas () select 1"}, + {SqlCommandType.SELECT, "with update as (update foo set (a=?,b=?,c=?)) insert --\n/* dfhg \n*/\nas () select 1"}, + {SqlCommandType.SELECT, "WITH x as (INSERT INTO genkeys(a,b,c) VALUES (1, 'a', 2) returning returning a, b) select * from x"}, + // No idea if it works, but it should be parsed as WITH + {SqlCommandType.WITH, "with update as (update foo set (a=?,b=?,c=?)) copy from stdin"}, + }); + } + + @Test + public void run() throws SQLException { + List queries; + queries = Parser.parseJdbcSql(sql, true, true, false, true); + NativeQuery query = queries.get(0); + assertEquals(sql, type, query.command.getType()); + } +} From ad7fd77fc53b5caa297d2825232569a37015edfe Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 15 Mar 2018 18:25:31 +0300 Subject: [PATCH 126/427] docs: release notes for 42.2.2 (#1142) [ci-skip] --- CHANGELOG.md | 5 +- docs/_posts/2018-03-15-42.2.2-release.md | 95 ++++++++++++++++++++++++ release_notes_filter.pl | 5 ++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 docs/_posts/2018-03-15-42.2.2-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c6706904d..7b5e8de832 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] + +## [42.2.2] (2018-03-15) ### Added - Documentation on server-side prepared statements [PR 1135](https://github.com/pgjdbc/pgjdbc/pull/1135) @@ -130,4 +132,5 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). [42.1.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.3...REL42.1.4 [42.2.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...REL42.2.0 [42.2.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...REL42.2.1 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...HEAD +[42.2.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...REL42.2.2 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...HEAD diff --git a/docs/_posts/2018-03-15-42.2.2-release.md b/docs/_posts/2018-03-15-42.2.2-release.md new file mode 100644 index 0000000000..c7fa289f3f --- /dev/null +++ b/docs/_posts/2018-03-15-42.2.2-release.md @@ -0,0 +1,95 @@ +--- +title: PostgreSQL JDBC Driver 42.2.2 Released +date: 2018-03-15 18:55:14 +0300 +categories: + - new_release +version: 42.2.2 +--- +**Notable changes** + +### Added +- Documentation on server-side prepared statements [PR 1135](https://github.com/pgjdbc/pgjdbc/pull/1135) + +### Fixed +- Avoid failure for `insert ... on conflict...update` for `reWriteBatchedInserts=true` case [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) +- fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) +- Wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) +- Adjust XAException return codes for better compatibility with XA specification [PR 782](https://github.com/pgjdbc/pgjdbc/pull/782) +- Wrong results when single statement is used with different bind types[PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) +- Support generated keys for WITH queries that miss RETURNING [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) +- Support generated keys when INSERT/UPDATE/DELETE keyword is followed by a comment [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) + + + + +**Commits by author** + +Dave Cramer (5): + +* Update java8-date-time.md [643e5583](https://github.com/pgjdbc/pgjdbc/commit/643e5583fe34c28602af21eb766acbc56a7b26d7) +* Update about.html [6fe76a3c](https://github.com/pgjdbc/pgjdbc/commit/6fe76a3c9289c78b2a8875e101020747584c36a7) +* Update documentation.md [3b3fd8c9](https://github.com/pgjdbc/pgjdbc/commit/3b3fd8c90a4bdcde101f45ae255ca2fe30bac338) +* Update documentation.md [a8ef9f96](https://github.com/pgjdbc/pgjdbc/commit/a8ef9f96feb02246a3d7967ada2ffe146778f7ed) +* test: add Travis configuration to test SSL [PR#1095](https://github.com/pgjdbc/pgjdbc/pull/1095) [298683b1](https://github.com/pgjdbc/pgjdbc/commit/298683b1bd11a4b16cdba861c8ca93134cfb037b) + +Jorge Solorzano (1): + +* fix: improve DatabaseMetaData.getSQLKeywords() [PR#940](https://github.com/pgjdbc/pgjdbc/pull/940) [7a586b6e](https://github.com/pgjdbc/pgjdbc/commit/7a586b6e492e8911a928d50113a68569981fa731) + +Pawel (1): + +* Fixes #1096 [PR#1097](https://github.com/pgjdbc/pgjdbc/pull/1097) [df4e7fa0](https://github.com/pgjdbc/pgjdbc/commit/df4e7fa07c205e12f7fe5e3c80ab90ea63c1bc17) + +Selene Feigl (1): + +* fix: wrong data from Blob/Clob when mark/reset is used [PR#971](https://github.com/pgjdbc/pgjdbc/pull/971) [61e1c300](https://github.com/pgjdbc/pgjdbc/commit/61e1c300fb52237b05b7649d61603dd339fbdd9b) + +Simon Stelling (1): + +* fix: handle Timestamp values with fractional seconds < 1 microsecond correctly in PreparedStatement arguments [PR#1119](https://github.com/pgjdbc/pgjdbc/pull/1119) [8ff2a617](https://github.com/pgjdbc/pgjdbc/commit/8ff2a617c8a153eb364d8b762102b6b6b1cb53f8) + +Vladimir Sitnikov (14): + +* docs: reflect 42.2.1 release in readme.md [1a4256b9](https://github.com/pgjdbc/pgjdbc/commit/1a4256b973da36c0fc42f0268e58e1535073247b) +* chore: make sure TEST_CLIENTS performs regular tests as well [aa676bb3](https://github.com/pgjdbc/pgjdbc/commit/aa676bb39117dc47cbd51a236b232227e9128220) +* chore: remove unused variable lastKnownTime in ConnectionFactoryImpl [48b98971](https://github.com/pgjdbc/pgjdbc/commit/48b98971d085a7988b67a31cf5ff9fb52c5534e5) +* fix: ArrayIndexOutOfBoundsException when using the same SQL for regular and updateable resultset [PR#1123](https://github.com/pgjdbc/pgjdbc/pull/1123) [45c32bc6](https://github.com/pgjdbc/pgjdbc/commit/45c32bc6af2e140ff86dabd718344c74fc244394) +* fix: support insert ... on conflict...update for reWriteBatchedInserts=true [PR#1130](https://github.com/pgjdbc/pgjdbc/pull/1130) [1ca0c586](https://github.com/pgjdbc/pgjdbc/commit/1ca0c5864a8b6c575b32aee03e2e1e8848fee143) +* fix: allowEncodingChanges should allow set client_encoding=... [PR#1125](https://github.com/pgjdbc/pgjdbc/pull/1125) [af64ed2d](https://github.com/pgjdbc/pgjdbc/commit/af64ed2dac035c621b4aec4a0471730457725194) +* tests: UUID vs setString test [PR#1133](https://github.com/pgjdbc/pgjdbc/pull/1133) [5827858b](https://github.com/pgjdbc/pgjdbc/commit/5827858ba5b72b519feb86fc65301a7bffa10c4d) +* fix: UUID test for preferQueryMode=simple [44bb7f8d](https://github.com/pgjdbc/pgjdbc/commit/44bb7f8d66829705bf46a6cfcad8a179eb14e441) +* fix: wrong results when a single statement is used with UNSPECIFIED types [PR#1137](https://github.com/pgjdbc/pgjdbc/pull/1137) [fcd1ea14](https://github.com/pgjdbc/pgjdbc/commit/fcd1ea14545a113fe4a124e17132824e279f572e) +* test: workaround DST issue in StatementTest#testDateFunctions [af499625](https://github.com/pgjdbc/pgjdbc/commit/af499625fb99043fe0bf605ec4b23f3dd64c18d7) +* docs: improve documentation and tests for server-side prepared statements [PR#1135](https://github.com/pgjdbc/pgjdbc/pull/1135) [4204f094](https://github.com/pgjdbc/pgjdbc/commit/4204f09446edbc7caaecb4c8cd7c8f78abd9344e) +* test: make testAlternatingBindType Java 6-compatible [PR#1139](https://github.com/pgjdbc/pgjdbc/pull/1139) [bcdd4273](https://github.com/pgjdbc/pgjdbc/commit/bcdd4273bba7ae6b3348d47d4cdeb72e941d5acc) +* fix: better support for RETURNING for WITH queries and queries with comments [PR#1138](https://github.com/pgjdbc/pgjdbc/pull/1138) [04e76661](https://github.com/pgjdbc/pgjdbc/commit/04e76661586b54157a1220552c005569231388a9) +* chore: add contributor links to release script [2568d38e](https://github.com/pgjdbc/pgjdbc/commit/2568d38e5ff7c9b23f92011c7dc936c307f53008) + +bpd0018 (3): + +* docs: fix spelling and chapter, update sample code [PR#1098](https://github.com/pgjdbc/pgjdbc/pull/1098) [0cfffa84](https://github.com/pgjdbc/pgjdbc/commit/0cfffa841b9b8d2040fe6c576aa77edfd399bbc0) +* style: spelling in comment [PR#1121](https://github.com/pgjdbc/pgjdbc/pull/1121) [cc219aa7](https://github.com/pgjdbc/pgjdbc/commit/cc219aa79b37f03432db4fe61e06b5f27fcb7f83) +* docs: fix JavaDoc for getPreferQueryMode() [PR#1122](https://github.com/pgjdbc/pgjdbc/pull/1122) [43d80cd4](https://github.com/pgjdbc/pgjdbc/commit/43d80cd48a54ea91868d15bd2f3806b467519883) + +chalda (1): + +* Adjust XAException return codes for better compatibility with XA specification [PR#782](https://github.com/pgjdbc/pgjdbc/pull/782) [e5aab1cd](https://github.com/pgjdbc/pgjdbc/commit/e5aab1cd3e49051f46298d8f1fd9f66af1731299) + +trtrmitya (1): + +* fix: use Locale.Category.DISPLAY (~lc_messages) when selecting resource bundle. [PR#1115](https://github.com/pgjdbc/pgjdbc/pull/1115) [0e9dfce4](https://github.com/pgjdbc/pgjdbc/commit/0e9dfce42c80391d0eefa830600e0ac4c1baae50) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Dave Cramer](davec@postgresintl.com) +[Jorge Solorzano](https://github.com/jorsol) +[Pawel](https://github.com/veselov) +[Selene Feigl](https://github.com/sfeigl) +[Simon Stelling](https://github.com/stellingsimon) +[Vladimir Sitnikov](https://github.com/vlsi) +[bpd0018](https://github.com/bpd0018) +[chalda](https://github.com/ochaloup) +[trtrmitya](https://github.com/trtrmitya) diff --git a/release_notes_filter.pl b/release_notes_filter.pl index aa82fe6e82..32c497d795 100644 --- a/release_notes_filter.pl +++ b/release_notes_filter.pl @@ -13,6 +13,7 @@ 'bpd0018' => 'https://github.com/bpd0018', 'Brett Okken' => 'https://github.com/bokken', 'Brett Wooldridge' => 'https://github.com/brettwooldridge', + 'chalda' => 'https://github.com/ochaloup', 'Chen Huajun' => 'https://github.com/ChenHuajun', 'Christian Ullrich' => 'https://github.com/chrullrich', 'Christopher Deckers' => 'https://github.com/Chrriis', @@ -46,6 +47,7 @@ 'Minglei Tu' => 'https://github.com/tminglei', 'mjanczykowski' => 'https://github.com/mjanczykowski', 'Pavel Raiskup' => 'https://github.com/praiskup', + 'Pawel' => 'https://github.com/veselov', 'Petro Semeniuk' => 'https://github.com/PetroSemeniuk', 'Philippe Marschall' => 'https://github.com/marschall', 'Piyush Sharma' => 'https://github.com/ps-sp', @@ -56,10 +58,13 @@ 'Roman Ivanov' => 'https://github.com/romani', 'Sebastian Utz' => 'https://github.com/seut', 'Sehrope Sarkuni' => 'https://github.com/sehrope', + 'Selene Feigl' => 'https://github.com/sfeigl', + 'Simon Stelling' => 'https://github.com/stellingsimon', 'slmsbrhgn' => 'https://github.com/slmsbrhgn', 'Steve Ungerer' => 'https://github.com/scubasau', 'Tanya Gordeeva' => 'https://github.com/tmgordeeva', 'Thach Hoang' => 'https://github.com/thachhoang', + 'trtrmitya' => 'https://github.com/trtrmitya', 'Trygve Laugstøl' => 'https://github.com/trygvis', 'Vladimir Gordiychuk' => 'https://github.com/Gordiychuk', 'Vladimir Sitnikov' => 'https://github.com/vlsi', From c9b1678f519243cb4b044e1bc7cab59070ac1a58 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 15 Mar 2018 16:13:55 +0000 Subject: [PATCH 127/427] [maven-release-plugin] prepare release REL42.2.2 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 3453ad9261..79459f2e8f 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.2-SNAPSHOT + 42.2.2 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,4 +335,8 @@ + + + REL42.2.2 + diff --git a/pom.xml b/pom.xml index 98e54a405f..869e5ea4ca 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.2-SNAPSHOT + 42.2.2 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.2 diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index c45bd4fd2a..dc207e492f 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.2-SNAPSHOT + 42.2.2 PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,4 +233,8 @@ POSSIBILITY OF SUCH DAMAGE. + + + REL42.2.2 + From 95109a819edd5f596336b0733ad59610f840a5a0 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 15 Mar 2018 16:13:59 +0000 Subject: [PATCH 128/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- ubenchmark/pom.xml | 6 +----- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 79459f2e8f..77bcc28baf 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.2 + 42.2.3-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -335,8 +335,4 @@ - - - REL42.2.2 - diff --git a/pom.xml b/pom.xml index 869e5ea4ca..305e0a0df6 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.2 + 42.2.3-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -23,7 +23,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.2 + HEAD diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml index dc207e492f..568f8f069a 100644 --- a/ubenchmark/pom.xml +++ b/ubenchmark/pom.xml @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. pgjdbc-benchmark jar PostgreSQL JDBC Driver - benchmarks - 42.2.2 + 42.2.3-SNAPSHOT PostgreSQL JDBC Driver - benchmarks https://github.com/pgjdbc/pgjdbc @@ -233,8 +233,4 @@ POSSIBILITY OF SUCH DAMAGE. - - - REL42.2.2 - From b1581e99b6da96b6e44753ce231ec3acf9869fea Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 23 Mar 2018 17:27:59 +0300 Subject: [PATCH 129/427] reflect 42.2.2 release in readme.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b43ce9f8be..9ddf73c45c 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.1-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.2-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.1 + 42.2.2 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.1.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.2.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.1.jre7 + 42.2.2.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.1.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.2.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.1.jre6 + 42.2.2.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.1|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.2-SNAPSHOT - 42.2.2.jre7-SNAPSHOT - 42.2.2.jre6-SNAPSHOT + 42.2.3-SNAPSHOT + 42.2.3.jre7-SNAPSHOT + 42.2.3.jre6-SNAPSHOT ``` From bbb6c1f8ac395fa793e09216ba3b710b0f6a2077 Mon Sep 17 00:00:00 2001 From: KimBisgaardDmi <37800626+KimBisgaardDmi@users.noreply.github.com> Date: Wed, 11 Apr 2018 15:24:01 +0200 Subject: [PATCH 130/427] fix: getString for PGObject columns returns null (#1154) Fixes #1151 --- .../java/org/postgresql/jdbc/PgResultSet.java | 8 +++- .../postgresql/test/jdbc2/GeometricTest.java | 40 ++++++++++++------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 262033f486..62261672bf 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1901,7 +1901,13 @@ public String getString(int columnIndex) throws SQLException { Field field = fields[columnIndex - 1]; Object obj = internalGetObject(columnIndex, field); if (obj == null) { - return null; + // internalGetObject() knows jdbc-types and some extra like hstore. It does not know of + // PGobject based types like geometric types but getObject does + obj = getObject(columnIndex); + if (obj == null) { + return null; + } + return obj.toString(); } // hack to be compatible with text protocol if (obj instanceof java.util.Date) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GeometricTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GeometricTest.java index dac1a2a302..e2c87104c9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GeometricTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/GeometricTest.java @@ -21,37 +21,46 @@ import org.postgresql.util.PGobject; import org.postgresql.util.PSQLException; -import org.junit.After; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; -import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import java.util.Collection; import java.util.List; /* * Test case for geometric type I/O */ -public class GeometricTest { - private Connection con; +@RunWith(Parameterized.class) +public class GeometricTest extends BaseTest4 { + + public GeometricTest(BinaryMode binaryMode) { + setBinaryMode(binaryMode); + } + + @Parameterized.Parameters(name = "binary = {0}") + public static Iterable data() { + Collection ids = new ArrayList(); + for (BinaryMode binaryMode : BinaryMode.values()) { + ids.add(new Object[]{binaryMode}); + } + return ids; + } - // Set up the fixture for this testcase: a connection to a database with - // a table for this test. - @Before public void setUp() throws Exception { - con = TestUtil.openDB(); + super.setUp(); TestUtil.createTable(con, "testgeometric", "boxval box, circleval circle, lsegval lseg, pathval path, polygonval polygon, pointval point, lineval line"); } - // Tear down the fixture for this test case. - @After - public void tearDown() throws Exception { + public void tearDown() throws SQLException { TestUtil.dropTable(con, "testgeometric"); - TestUtil.closeDB(con); + super.tearDown(); } private void checkReadWrite(PGobject obj, String column) throws Exception { @@ -64,7 +73,10 @@ private void checkReadWrite(PGobject obj, String column) throws Exception { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT " + column + " FROM testgeometric"); assertTrue(rs.next()); - assertEquals(obj, rs.getObject(1)); + assertEquals("PGObject#equals(rs.getObject)", obj, rs.getObject(1)); + PGobject obj2 = (PGobject) obj.clone(); + obj2.setValue(rs.getString(1)); + assertEquals("PGobject.toString vs rs.getString", obj, obj2); rs.close(); stmt.executeUpdate("DELETE FROM testgeometric"); From 6bb72e69ee274e55a5ec08aec3316aa78aa3fab4 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sat, 14 Apr 2018 20:26:01 +0200 Subject: [PATCH 131/427] packaging: fix RPM build requirements --- packaging/rpm/postgresql-jdbc.spec.tpl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index b5988d649d..f90698a6e8 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -71,8 +71,7 @@ BuildRequires: mvn(org.apache.maven.plugins:maven-clean-plugin) %if %runselftest BuildRequires: postgresql-contrib -BuildRequires: postgresql-devel -BuildRequires: postgresql-server +BuildRequires: postgresql-test-rpm-macros %endif # gettext is only needed if we try to update translations From dde8c0200c409a525ef3bfc7a0aa81e7cd458a59 Mon Sep 17 00:00:00 2001 From: Sidi Mohamed EL AATIFI Date: Tue, 24 Apr 2018 15:29:29 +0200 Subject: [PATCH 132/427] Fix typos in java8-date-time.md (#1174) Fix typos Only OffsetTime / TIME [WITHOUT TIME ZONE] should be OffsetTime WITH TIME ZONE ... Inconsistent examples numerous --- docs/documentation/head/java8-date-time.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/documentation/head/java8-date-time.md b/docs/documentation/head/java8-date-time.md index f4eb7f51e1..0d2ef600bf 100644 --- a/docs/documentation/head/java8-date-time.md +++ b/docs/documentation/head/java8-date-time.md @@ -14,7 +14,7 @@ The PostgreSQL™ JDBC driver implements native support for the (JSR-310) using JDBC 4.2. -**Table 5.1. Supported escaped numeric functions** +**Table 5.1. Supported Java 8 Date and Time classes** @@ -43,12 +43,12 @@ The PostgreSQL™ JDBC driver implements native support for the This is closely aligned with tables B-4 and B-5 of the JDBC 4.2 specification. Note that `ZonedDateTime`, `Instant` and -`OffsetTime / TIME [ WITHOUT TIME ZONE ]` are not supported. Also note -that all `OffsetDateTime` will instances will have be in UTC (have offset 0). +`OffsetTime / TIME WITH TIME ZONE` are not supported. Also note +that all `OffsetDateTime` instances will have be in UTC (have offset 0). This is because the backend stores them as UTC. -**Example 5.5. Reading Java 8 Date and Time values using JDBC** +**Example 5.2. Reading Java 8 Date and Time values using JDBC** ```java Statement st = conn.createStatement(); @@ -68,7 +68,7 @@ Note that the Java data types needs to match the SQL data types in table 7.1. -**Example 5.5. Writing Java 8 Date and Time values using JDBC** +**Example 5.3. Writing Java 8 Date and Time values using JDBC** ```java LocalDate localDate = LocalDate.now(); From f8e21b63071f39f7f7754bfbfd051828884c1fd5 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Fri, 4 May 2018 16:25:12 +0600 Subject: [PATCH 133/427] refactor: deprecate Fastpath API (#903) mark fastpath(int, FastpathArg[]) as Deprecated deprecate Fastpath API --- pgjdbc/src/main/java/org/postgresql/PGConnection.java | 5 +++++ .../main/java/org/postgresql/core/QueryExecutor.java | 10 ++++++++++ .../main/java/org/postgresql/fastpath/Fastpath.java | 6 ++++++ .../main/java/org/postgresql/fastpath/FastpathArg.java | 6 ++++++ 4 files changed, 27 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index ad2172a8e6..eea200e2f2 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -89,7 +89,12 @@ public interface PGConnection { * @return Fastpath API for the current connection * @throws SQLException if something wrong happens * @since 7.3 + * @deprecated This API is somewhat obsolete, as one may achieve similar performance + * and greater functionality by setting up a prepared statement to define + * the function call. Then, executing the statement with binary transmission of parameters + * and results substitutes for a fast-path function call. */ + @Deprecated Fastpath getFastpathAPI() throws SQLException; /** diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index ee83b2445c..f829c4320b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -239,7 +239,12 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri * * @param count the number of parameters the fastpath call will take * @return a ParameterList suitable for passing to {@link #fastpathCall}. + * @deprecated This API is somewhat obsolete, as one may achieve similar performance + * and greater functionality by setting up a prepared statement to define + * the function call. Then, executing the statement with binary transmission of parameters + * and results substitutes for a fast-path function call. */ + @Deprecated ParameterList createFastpathParameters(int count); /** @@ -252,7 +257,12 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri * @return the binary-format result of the fastpath call, or null if a void result * was returned * @throws SQLException if an error occurs while executing the fastpath call + * @deprecated This API is somewhat obsolete, as one may achieve similar performance + * and greater functionality by setting up a prepared statement to define + * the function call. Then, executing the statement with binary transmission of parameters + * and results substitutes for a fast-path function call. */ + @Deprecated byte[] fastpathCall(int fnid, ParameterList params, boolean suppressBegin) throws SQLException; /** diff --git a/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java b/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java index 2833e8ab41..f4af2b77a4 100644 --- a/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java +++ b/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java @@ -27,7 +27,13 @@ * *

* It is based around the file src/interfaces/libpq/fe-exec.c + * + * @deprecated This API is somewhat obsolete, as one may achieve similar performance + * and greater functionality by setting up a prepared statement to define + * the function call. Then, executing the statement with binary transmission of parameters + * and results substitutes for a fast-path function call. */ +@Deprecated public class Fastpath { // Java passes oids around as longs, but in the backend // it's an unsigned int, so we use this to make the conversion diff --git a/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java b/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java index b499785d8f..891bee59be 100644 --- a/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java +++ b/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java @@ -17,7 +17,13 @@ /** * Each fastpath call requires an array of arguments, the number and type dependent on the function * being called. + * + * @deprecated This API is somewhat obsolete, as one may achieve similar performance + * and greater functionality by setting up a prepared statement to define + * the function call. Then, executing the statement with binary transmission of parameters + * and results substitutes for a fast-path function call. */ +@Deprecated public class FastpathArg { /** * Encoded byte value of argument. From e88abd79bae4eab71561539784ccdb6b04d52cee Mon Sep 17 00:00:00 2001 From: Hari Babu Kommi Date: Fri, 4 May 2018 22:03:03 +1000 Subject: [PATCH 134/427] spelling mistake correction (#1181) :s/vesions/versions --- .../main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index a797495439..df078d5b18 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -621,7 +621,7 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope //#else if (true) { throw new PSQLException(GT.tr( - "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" vesions)", + "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" versions)", areq), PSQLState.CONNECTION_REJECTED); } //#endif From 6ce91721048dea0e73231fa50c365108e9b9d49d Mon Sep 17 00:00:00 2001 From: Marc Slemko Date: Wed, 9 May 2018 12:57:17 -0700 Subject: [PATCH 135/427] fix: allow disabling field metadata cache (#1052) Clients accessing very dynamic schemas can have issues with the field metadata cache getting stale. This change allows configuring the databaseMetadataCacheFields property to 0 to disable the cache and avoid these issues where necessary. This behaviour was already documented, however did not actually work as the codepath assumed it could retrieve the fields from the cache. --- .../main/java/org/postgresql/PGProperty.java | 2 +- .../postgresql/jdbc/PgResultSetMetaData.java | 17 ++--- .../java/org/postgresql/util/Gettable.java | 10 +++ .../org/postgresql/util/GettableHashMap.java | 12 ++++ .../java/org/postgresql/util/LruCache.java | 11 ++- .../test/jdbc2/ResultSetMetaDataTest.java | 69 +++++++++++++++++++ 6 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/util/Gettable.java create mode 100644 pgjdbc/src/main/java/org/postgresql/util/GettableHashMap.java diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 9217694b01..cc24669e16 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -108,7 +108,7 @@ public enum PGProperty { "Specifies the maximum number of fields to be cached per connection. A value of {@code 0} disables the cache."), /** - * Specifies the maximum number of fields to be cached per connection. A value of {@code 0} disables the cache. + * Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of {@code 0} disables the cache. */ DATABASE_METADATA_CACHE_FIELDS_MIB("databaseMetadataCacheFieldsMiB", "5", "Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of {@code 0} disables the cache."), diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java index cdf25f4049..27ba7496c2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java @@ -10,8 +10,9 @@ import org.postgresql.core.Field; import org.postgresql.core.ServerVersion; import org.postgresql.util.GT; +import org.postgresql.util.Gettable; +import org.postgresql.util.GettableHashMap; import org.postgresql.util.JdbcBlackHole; -import org.postgresql.util.LruCache; import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; @@ -202,9 +203,8 @@ public String getSchemaName(int column) throws SQLException { return ""; } - private boolean populateFieldsWithCachedMetadata() { + private boolean populateFieldsWithMetadata(Gettable metadata) { boolean allOk = true; - LruCache metadata = connection.getFieldMetadataCache(); for (Field field : fields) { if (field.getMetadata() != null) { // No need to update metadata @@ -219,6 +219,7 @@ private boolean populateFieldsWithCachedMetadata() { field.setMetadata(fieldMetadata); } } + fieldInfoFetched |= allOk; return allOk; } @@ -227,8 +228,7 @@ private void fetchFieldMetaData() throws SQLException { return; } - if (populateFieldsWithCachedMetadata()) { - fieldInfoFetched = true; + if (populateFieldsWithMetadata(connection.getFieldMetadataCache())) { return; } @@ -285,8 +285,8 @@ private void fetchFieldMetaData() throws SQLException { Statement stmt = connection.createStatement(); ResultSet rs = null; + GettableHashMap md = new GettableHashMap(); try { - LruCache metadataCache = connection.getFieldMetadataCache(); rs = stmt.executeQuery(sql.toString()); while (rs.next()) { int table = (int) rs.getLong(1); @@ -300,13 +300,14 @@ private void fetchFieldMetaData() throws SQLException { FieldMetadata fieldMetadata = new FieldMetadata(columnName, tableName, schemaName, nullable, autoIncrement); FieldMetadata.Key key = new FieldMetadata.Key(table, column); - metadataCache.put(key, fieldMetadata); + md.put(key, fieldMetadata); } } finally { JdbcBlackHole.close(rs); JdbcBlackHole.close(stmt); } - populateFieldsWithCachedMetadata(); + populateFieldsWithMetadata(md); + connection.getFieldMetadataCache().putAll(md); } public String getBaseSchemaName(int column) throws SQLException { diff --git a/pgjdbc/src/main/java/org/postgresql/util/Gettable.java b/pgjdbc/src/main/java/org/postgresql/util/Gettable.java new file mode 100644 index 0000000000..c31b9e8ee2 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/util/Gettable.java @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.util; + +public interface Gettable { + V get(K key); +} diff --git a/pgjdbc/src/main/java/org/postgresql/util/GettableHashMap.java b/pgjdbc/src/main/java/org/postgresql/util/GettableHashMap.java new file mode 100644 index 0000000000..3ab91b4e7b --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/util/GettableHashMap.java @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.util; + +import java.util.HashMap; + +public class GettableHashMap extends HashMap implements Gettable { + +} diff --git a/pgjdbc/src/main/java/org/postgresql/util/LruCache.java b/pgjdbc/src/main/java/org/postgresql/util/LruCache.java index ebdebd9fef..4955b91a5b 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/LruCache.java +++ b/pgjdbc/src/main/java/org/postgresql/util/LruCache.java @@ -13,7 +13,7 @@ /** * Caches values in simple least-recently-accessed order. */ -public class LruCache { +public class LruCache implements Gettable { /** * Action that is invoked when the entry is removed from the cache. * @@ -144,6 +144,15 @@ public synchronized void put(Key key, Value value) { } } + /** + * Puts all the values from the given map into the cache. + */ + public synchronized void putAll(Map m) { + for (Map.Entry entry : m.entrySet()) { + this.put(entry.getKey(), entry.getValue()); + } + } + public static final CreateAction NOOP_CREATE_ACTION = new CreateAction() { @Override public Object create(Object o) throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java index 98f9b78c63..85a0b04d55 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java @@ -9,6 +9,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.postgresql.PGProperty; import org.postgresql.PGResultSetMetaData; import org.postgresql.core.ServerVersion; import org.postgresql.jdbc.PreferQueryMode; @@ -17,6 +18,8 @@ import org.junit.Assert; import org.junit.Assume; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import java.sql.Connection; import java.sql.DatabaseMetaData; @@ -26,15 +29,49 @@ import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Properties; +@RunWith(Parameterized.class) public class ResultSetMetaDataTest extends BaseTest4 { Connection conn; + private final Integer databaseMetadataCacheFields; + private final Integer databaseMetadataCacheFieldsMib; + + public ResultSetMetaDataTest(Integer databaseMetadataCacheFields, Integer databaseMetadataCacheFieldsMib) { + this.databaseMetadataCacheFields = databaseMetadataCacheFields; + this.databaseMetadataCacheFieldsMib = databaseMetadataCacheFieldsMib; + } + + @Parameterized.Parameters(name = "databaseMetadataCacheFields = {0}, databaseMetadataCacheFieldsMib = {1}") + public static Iterable data() { + Collection ids = new ArrayList(); + for (Integer fields : new Integer[]{null, 0}) { + for (Integer fieldsMib : new Integer[]{null, 0}) { + ids.add(new Object[]{fields, fieldsMib}); + } + } + return ids; + } + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + if (databaseMetadataCacheFields != null) { + PGProperty.DATABASE_METADATA_CACHE_FIELDS.set(props, databaseMetadataCacheFields); + } + if (databaseMetadataCacheFieldsMib != null) { + PGProperty.DATABASE_METADATA_CACHE_FIELDS_MIB.set(props, databaseMetadataCacheFieldsMib); + } + } @Override public void setUp() throws Exception { super.setUp(); conn = con; TestUtil.createTable(conn, "rsmd1", "a int primary key, b text, c decimal(10,2)", true); + TestUtil.createTable(conn, "rsmd_cache", "a int primary key"); TestUtil.createTable(conn, "timetest", "tm time(3), tmtz timetz, ts timestamp without time zone, tstz timestamp(6) with time zone"); @@ -57,6 +94,7 @@ public void setUp() throws Exception { public void tearDown() throws SQLException { TestUtil.dropTable(conn, "compositetest"); TestUtil.dropTable(conn, "rsmd1"); + TestUtil.dropTable(conn, "rsmd_cache"); TestUtil.dropTable(conn, "timetest"); TestUtil.dropTable(conn, "serialtest"); if (TestUtil.haveMinimumServerVersion(conn, ServerVersion.v10)) { @@ -268,6 +306,37 @@ public void testIdentityColumn() throws Exception { Assert.assertTrue(rsmd.isAutoIncrement(1)); } + // Verifies that the field metadatacache will cache when enabled and also functions properly + // when disabled. + @Test + public void testCache() throws Exception { + boolean isCacheDisabled = new Integer(0).equals(databaseMetadataCacheFields) + || new Integer(0).equals(databaseMetadataCacheFieldsMib); + + { + PreparedStatement pstmt = conn.prepareStatement("SELECT a FROM rsmd_cache"); + ResultSet rs = pstmt.executeQuery(); + PGResultSetMetaData pgrsmd = (PGResultSetMetaData) rs.getMetaData(); + assertEquals("a", pgrsmd.getBaseColumnName(1)); + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(pstmt); + } + + Statement stmt = conn.createStatement(); + stmt.execute("ALTER TABLE rsmd_cache RENAME COLUMN a TO b"); + TestUtil.closeQuietly(stmt); + + { + PreparedStatement pstmt = conn.prepareStatement("SELECT b FROM rsmd_cache"); + ResultSet rs = pstmt.executeQuery(); + PGResultSetMetaData pgrsmd = (PGResultSetMetaData) rs.getMetaData(); + // Unless the cache is disabled, we expect to see stale results. + assertEquals(isCacheDisabled ? "b" : "a", pgrsmd.getBaseColumnName(1)); + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(pstmt); + } + } + private void assumePreparedStatementMetadataSupported() { Assume.assumeTrue("prepared statement metadata is not supported for simple protocol", preferQueryMode.compareTo(PreferQueryMode.EXTENDED_FOR_PREPARED) >= 0); From 354d2857664559636a4d3b18568cb69adc47f349 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Wed, 9 May 2018 23:40:53 -0600 Subject: [PATCH 136/427] fix: error on Travis build head (#1186) --- .travis/travis_install_head_postgres.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis/travis_install_head_postgres.sh b/.travis/travis_install_head_postgres.sh index 0e73f2d093..a422eaf890 100755 --- a/.travis/travis_install_head_postgres.sh +++ b/.travis/travis_install_head_postgres.sh @@ -2,9 +2,9 @@ set -x -e sudo service postgresql stop +sudo apt-get update -qq sudo apt-get remove postgresql libpq-dev libpq5 postgresql-client-common postgresql-common -qq --purge -sudo apt-get -y install libxml2 -sudo apt-get -y install gdb +sudo apt-get -y install libxml2 gdb if [[ -z ${POSTGRES_SOURCE_SHA} ]] then From f78a639d1ed3c64e80e1fa107691b4af5945cb84 Mon Sep 17 00:00:00 2001 From: Hari Babu Kommi Date: Fri, 11 May 2018 22:30:58 +1000 Subject: [PATCH 137/427] fix: set the loggerName in ConnectionFactoryImpl.log (#1188) In ConnectionFactoryImpl.log function locally generates the logRecord but doesn't set the loggerName of the current Logger, as a result the log ignores the class or package level logging configuration fixes #1167 --- .../main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index df078d5b18..2d34e354d6 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -312,6 +312,8 @@ private static void log(Level level, String msg, Throwable thrown, Object... par return; } LogRecord rec = new LogRecord(level, msg); + // Set the loggerName of the LogRecord with the current logger + rec.setLoggerName(LOGGER.getName()); rec.setParameters(params); rec.setThrown(thrown); LOGGER.log(rec); From 655b6e70b471da29b49124399eb0dab607dfc221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20BERSAC?= Date: Thu, 17 May 2018 09:13:00 +0200 Subject: [PATCH 138/427] docs: fix link to GitHub documentation (#1191) Old links are dead and uses clear-text HTTP links. This commit update the two links to point to new GitHub guides. --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a74c1cbc3..4035c11afc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -277,7 +277,9 @@ list. Make sure your patch includes additional unit tests demonstrating and testing any new features. In the case of bug fixes, where possible include a new unit test that failed before the fix and passes after it. -For information on working with GitHub, see: http://help.github.com/articles/fork-a-repo and http://learn.github.com/p/intro.html. +For information on working with GitHub, see: +https://guides.github.com/activities/forking/ and +https://guides.github.com/introduction/flow/. ### Testing From f4d503c2ef449e8c2db0c23c27aedb09af30df62 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 17 May 2018 01:23:34 -0600 Subject: [PATCH 139/427] test: add coverage for extendedCacheEverything (#1062) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 561abcab06..8030d12ca9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -143,7 +143,7 @@ matrix: env: - PG_VERSION=9.4 - QUERY_MODE=extendedCacheEverything - - COVERAGE=N + - COVERAGE=Y - TZ=Europe/Moscow # +03:00, no DST - jdk: oraclejdk8 sudo: required From 2f9fed45104b56d7e2b2802359a04321755266a6 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 17 May 2018 10:52:19 -0600 Subject: [PATCH 140/427] Update after_n_builds to 10 (#1193) chore: update after_n_builds to 10 --- codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index fc6b11d5b6..93c69b707d 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 9 + after_n_builds: 10 require_ci_to_pass: false comment: layout: header, changes, diff From 9b6506dfa1076ad27a16de8fc3e85bc23f1a5b97 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Mon, 21 May 2018 04:36:28 -0600 Subject: [PATCH 141/427] test: drop OpenJ9 CI tests (#1196) The AdoptOpenJDK project does not yet provide a stable build for JDK9+ using OpenJ9, the current production-ready build is based on OpenJDK8 and most Java implementations should pass the JCK, so it don't actually provide any benefit to test with openj9 since most installs are based on oraclejdk or openjdk, this will help to reduce the matrix complexity and the time it takes to run the tests. --- .travis.yml | 12 ++---------- .travis/travis_install_openj9.sh | 13 ------------- 2 files changed, 2 insertions(+), 23 deletions(-) delete mode 100755 .travis/travis_install_openj9.sh diff --git a/.travis.yml b/.travis.yml index 8030d12ca9..53a2784739 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,8 +47,6 @@ env: before_install: - ./.travis/travis_install_zulu.sh - test -z "${ZULU_JDK}" || export JDK${ZULU_JDK}_HOME=/usr/lib/jvm/zulu-${ZULU_JDK}-amd64 - - ./.travis/travis_install_openj9.sh - - test -z "${OPENJ9}" || export JDK${JDK}_HOME=${HOME}/jdk-9+${OPENJ9} script: # make sure previous build artifacts are not used for subsequent builds @@ -101,12 +99,6 @@ matrix: env: - PG_VERSION=9.6 - JDK=9 - - jdk: oraclejdk9 - sudo: required - env: - - PG_VERSION=10 - - JDK=9 - - OPENJ9=181 - TZ=America/New_York # flips between −05:00 and −04:00 - jdk: oraclejdk8 sudo: required @@ -148,9 +140,9 @@ matrix: - jdk: oraclejdk8 sudo: required addons: - postgresql: "9.6" + postgresql: "10" env: - - PG_VERSION=9.6 + - PG_VERSION=10 - SSLTEST=Y - COVERAGE=Y - jdk: openjdk7 diff --git a/.travis/travis_install_openj9.sh b/.travis/travis_install_openj9.sh deleted file mode 100755 index 2dad4b443a..0000000000 --- a/.travis/travis_install_openj9.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -set -o xtrace -o errexit - -if [[ "${TRAVIS_SUDO}" == "true" && -n "${OPENJ9}" ]] -then - # Build to Download - BUILD=${OPENJ9} - # Download from AdoptOpenJDK - wget --quiet -O /tmp/openj9.tar.gz https://github.com/AdoptOpenJDK/openjdk9-openj9-releases/releases/download/jdk-9%2B${BUILD}/OpenJDK9-OPENJ9_x64_Linux_jdk-9.${BUILD}.tar.gz - tar xfz /tmp/openj9.tar.gz -C ${HOME} # extract to ${HOME}/jdk-9+${BUILD}/ - ${HOME}/jdk-9+${BUILD}/bin/java -version -fi From 17a4d6a500d4456c8bcac63d3d0cbb282fc99bea Mon Sep 17 00:00:00 2001 From: AlexElin Date: Fri, 1 Jun 2018 20:44:18 +0600 Subject: [PATCH 142/427] refactor: migrate MultiHostsConnectionTest to JUnit4 (#886) --- .../test/hostchooser/MultiHostTestSuite.java | 99 +--------- .../hostchooser/MultiHostsConnectionTest.java | 178 ++++++++++++------ 2 files changed, 124 insertions(+), 153 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java index 2486a6551d..984577e591 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java @@ -5,102 +5,13 @@ package org.postgresql.test.hostchooser; -import org.postgresql.test.TestUtil; -import org.postgresql.util.PSQLException; - -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.util.Properties; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; /* * Executes multi host tests (aka master/slave connectivity selection). */ -public class MultiHostTestSuite extends TestSuite { - - public static java.sql.Connection openSecondaryDB() throws Exception { - TestUtil.initDriver(); - - Properties props = new Properties(); - - props.setProperty("user", TestUtil.getUser()); - props.setProperty("password", TestUtil.getPassword()); - - return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer(), getSecondaryPort()), props); - } - - public static java.sql.Connection openSecondaryDB2() throws Exception { - TestUtil.initDriver(); - - Properties props = new Properties(); - - props.setProperty("user", TestUtil.getUser()); - props.setProperty("password", TestUtil.getPassword()); - - return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer2(), getSecondaryPort2()), props); - } - - /* - * Returns the Test server - */ - public static String getSecondaryServer() { - return System.getProperty("secondaryServer", TestUtil.getServer()); - } - - /* - * Returns the Test port - */ - public static int getSecondaryPort() { - return Integer - .parseInt(System.getProperty("secondaryPort", String.valueOf(TestUtil.getPort() + 1))); - } - - /* - * Returns the Test server - */ - public static String getSecondaryServer2() { - return System.getProperty("secondaryServer2", TestUtil.getServer()); - } - - /* - * Returns the Test port - */ - public static int getSecondaryPort2() { - return Integer - .parseInt(System.getProperty("secondaryPort2", String.valueOf(TestUtil.getPort() + 2))); - } - - /* - * The main entry point for JUnit - */ - public static TestSuite suite() throws Exception { - TestSuite suite = new TestSuite(); - - try { - Connection connection = openSecondaryDB(); - TestUtil.closeDB(connection); - - connection = openSecondaryDB2(); - TestUtil.closeDB(connection); - } catch (PSQLException ex) { - // replication instance is not available, but suite must have at lest one test case - suite.addTestSuite(DummyTest.class); - return suite; - } - - suite.addTestSuite(MultiHostsConnectionTest.class); - return suite; - } - - public static class DummyTest extends TestCase { - public DummyTest(String name) { - super(name); - } - - public void testDummy() { - } - } +@RunWith(Suite.class) +@Suite.SuiteClasses(MultiHostsConnectionTest.class) +public class MultiHostTestSuite { } - diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java index f945ab6629..0b945ca6f4 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java @@ -8,6 +8,11 @@ import static java.lang.Integer.parseInt; import static java.util.Arrays.asList; import static java.util.concurrent.TimeUnit.SECONDS; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; import static org.postgresql.hostchooser.HostRequirement.any; import static org.postgresql.hostchooser.HostRequirement.master; import static org.postgresql.hostchooser.HostRequirement.preferSecondary; @@ -22,7 +27,9 @@ import org.postgresql.util.HostSpec; import org.postgresql.util.PSQLException; -import junit.framework.TestCase; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; import java.lang.reflect.Field; import java.sql.Connection; @@ -34,48 +41,95 @@ import java.util.Properties; import java.util.Set; -public class MultiHostsConnectionTest extends TestCase { - - static final String user = TestUtil.getUser(); - static final String password = TestUtil.getPassword(); - static final String master1 = TestUtil.getServer() + ":" + TestUtil.getPort(); - static final String secondary1 = - MultiHostTestSuite.getSecondaryServer() + ":" + MultiHostTestSuite.getSecondaryPort(); - static final String secondary2 = - MultiHostTestSuite.getSecondaryServer2() + ":" + MultiHostTestSuite.getSecondaryPort2(); - static final String fake1 = "127.127.217.217:1"; - static String masterIp; - static String secondaryIP; - static String secondaryIP2; - static String fakeIp = fake1; - - static Connection con; - private static Map hostStatusMap; - - static { - try { - Field field = GlobalHostStatusTracker.class.getDeclaredField("hostStatusMap"); - field.setAccessible(true); - hostStatusMap = (Map) field.get(null); +public class MultiHostsConnectionTest { + + private static final String user = TestUtil.getUser(); + private static final String password = TestUtil.getPassword(); + private static final String master1 = TestUtil.getServer() + ":" + TestUtil.getPort(); + private static final String secondary1 = getSecondaryServer() + ":" + getSecondaryPort(); + private static final String secondary2 = getSecondaryServer2() + ":" + getSecondaryPort2(); + private static final String fake1 = "127.127.217.217:1"; - con = TestUtil.openDB(); - masterIp = getRemoteHostSpec(); - closeDB(con); + private String masterIp; + private String secondaryIP; + private String secondaryIP2; + private Connection con; + private Map hostStatusMap; + + @BeforeClass + public static void setUpClass() { + assumeTrue(isReplicationInstanceAvailable()); + } - con = MultiHostTestSuite.openSecondaryDB(); - secondaryIP = getRemoteHostSpec(); - closeDB(con); + @Before + public void setUp() throws Exception { + Field field = GlobalHostStatusTracker.class.getDeclaredField("hostStatusMap"); + field.setAccessible(true); + hostStatusMap = (Map) field.get(null); - con = MultiHostTestSuite.openSecondaryDB2(); - secondaryIP2 = getRemoteHostSpec(); - closeDB(con); + con = TestUtil.openDB(); + masterIp = getRemoteHostSpec(); + closeDB(con); + + con = openSecondaryDB(); + secondaryIP = getRemoteHostSpec(); + closeDB(con); + + con = openSecondaryDB2(); + secondaryIP2 = getRemoteHostSpec(); + closeDB(con); + } + private static boolean isReplicationInstanceAvailable() { + try { + Connection connection = openSecondaryDB(); + closeDB(connection); + return true; } catch (Exception e) { - throw new RuntimeException(e); + return false; } } - private static Connection getConnection(HostRequirement hostType, String... targets) + private static Connection openSecondaryDB() throws Exception { + TestUtil.initDriver(); + + Properties props = userAndPassword(); + + return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer(), getSecondaryPort()), props); + } + + private static Properties userAndPassword() { + Properties props = new Properties(); + + props.setProperty("user", TestUtil.getUser()); + props.setProperty("password", TestUtil.getPassword()); + return props; + } + + private static String getSecondaryServer() { + return System.getProperty("secondaryServer", TestUtil.getServer()); + } + + private static int getSecondaryPort() { + return Integer.parseInt(System.getProperty("secondaryPort", String.valueOf(TestUtil.getPort() + 1))); + } + + private static Connection openSecondaryDB2() throws Exception { + TestUtil.initDriver(); + + Properties props = userAndPassword(); + return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer2(), getSecondaryPort2()), props); + } + + private static String getSecondaryServer2() { + return System.getProperty("secondaryServer2", TestUtil.getServer()); + } + + private static int getSecondaryPort2() { + return Integer.parseInt(System.getProperty("secondaryPort2", String.valueOf(TestUtil.getPort() + 2))); + } + + private Connection getConnection(HostRequirement hostType, String... targets) throws SQLException { return getConnection(hostType, true, targets); } @@ -85,12 +139,12 @@ private static HostSpec hostSpec(String host) { return new HostSpec(host.substring(0, split), parseInt(host.substring(split + 1))); } - private static Connection getConnection(HostRequirement hostType, boolean reset, + private Connection getConnection(HostRequirement hostType, boolean reset, String... targets) throws SQLException { return getConnection(hostType, reset, false, targets); } - private static Connection getConnection(HostRequirement hostType, boolean reset, boolean lb, + private Connection getConnection(HostRequirement hostType, boolean reset, boolean lb, String... targets) throws SQLException { TestUtil.closeDB(con); @@ -119,11 +173,11 @@ private static Connection getConnection(HostRequirement hostType, boolean reset, return con = DriverManager.getConnection(sb.toString(), props); } - private static void assertRemote(String expectedHost) throws SQLException { + private void assertRemote(String expectedHost) throws SQLException { assertEquals(expectedHost, getRemoteHostSpec()); } - private static String getRemoteHostSpec() throws SQLException { + private String getRemoteHostSpec() throws SQLException { ResultSet rs = con.createStatement() .executeQuery("select inet_server_addr() || ':' || inet_server_port()"); rs.next(); @@ -136,7 +190,7 @@ public static boolean isMaster(Connection con) throws SQLException { return "off".equals(rs.getString(1)); } - private static void assertGlobalState(String host, String status) { + private void assertGlobalState(String host, String status) { HostSpec spec = hostSpec(host); if (status == null) { assertNull(hostStatusMap.get(spec)); @@ -145,11 +199,12 @@ private static void assertGlobalState(String host, String status) { } } - private static void resetGlobalState() { + private void resetGlobalState() { hostStatusMap.clear(); } - public static void testConnectToAny() throws SQLException { + @Test + public void testConnectToAny() throws SQLException { getConnection(any, fake1, master1); assertRemote(masterIp); assertGlobalState(master1, "ConnectOK"); @@ -165,7 +220,8 @@ public static void testConnectToAny() throws SQLException { assertGlobalState(fake1, "ConnectFail"); } - public static void testConnectToMaster() throws SQLException { + @Test + public void testConnectToMaster() throws SQLException { getConnection(master, true, fake1, master1, secondary1); assertRemote(masterIp); assertGlobalState(fake1, "ConnectFail"); @@ -179,7 +235,8 @@ public static void testConnectToMaster() throws SQLException { assertGlobalState(secondary1, "Secondary"); // was unknown, so tried to connect in order } - public static void testConnectToSlave() throws SQLException { + @Test + public void testConnectToSecondary() throws SQLException { getConnection(secondary, true, fake1, secondary1, master1); assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); @@ -193,7 +250,8 @@ public static void testConnectToSlave() throws SQLException { assertGlobalState(master1, "Master"); // tried as it was unknown } - public static void testConnectToSlaveFirst() throws SQLException { + @Test + public void testConnectToSecondaryFirst() throws SQLException { getConnection(preferSecondary, true, fake1, secondary1, master1); assertRemote(secondaryIP); assertGlobalState(fake1, "ConnectFail"); @@ -213,7 +271,8 @@ public static void testConnectToSlaveFirst() throws SQLException { assertGlobalState(master1, "Master"); } - public static void testFailedConnection() throws SQLException { + @Test + public void testFailedConnection() throws SQLException { try { getConnection(any, true, fake1); fail(); @@ -221,7 +280,8 @@ public static void testFailedConnection() throws SQLException { } } - public static void testLoadBalancing() throws SQLException { + @Test + public void testLoadBalancing() throws SQLException { Set connectedHosts = new HashSet(); boolean fake1FoundTried = false; for (int i = 0; i < 20; ++i) { @@ -237,7 +297,8 @@ public static void testLoadBalancing() throws SQLException { assertTrue("Never tried to connect to fake node", fake1FoundTried); } - public static void testLoadBalancing_preferSecondary() throws SQLException { + @Test + public void testLoadBalancing_preferSecondary() throws SQLException { Set connectedHosts = new HashSet(); Set tryConnectedHosts = new HashSet(); for (int i = 0; i < 20; ++i) { @@ -248,8 +309,7 @@ public static void testLoadBalancing_preferSecondary() throws SQLException { break; } } - assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, - secondaryIP2)), + assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, secondaryIP2)), connectedHosts); assertEquals("Never tried to connect to fake node",4, tryConnectedHosts.size()); @@ -263,8 +323,7 @@ public static void testLoadBalancing_preferSecondary() throws SQLException { break; } } - assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, - secondaryIP2)), + assertEquals("Never connected to all secondary hosts", new HashSet(asList(secondaryIP, secondaryIP2)), connectedHosts); // connect to master when there's no secondary @@ -275,7 +334,8 @@ public static void testLoadBalancing_preferSecondary() throws SQLException { assertRemote(masterIp); } - public static void testLoadBalancing_slave() throws SQLException { + @Test + public void testLoadBalancing_secondary() throws SQLException { Set connectedHosts = new HashSet(); Set tryConnectedHosts = new HashSet(); for (int i = 0; i < 20; ++i) { @@ -286,8 +346,7 @@ public static void testLoadBalancing_slave() throws SQLException { break; } } - assertEquals("Did not connect to all secondary hosts", new HashSet(asList(secondaryIP, - secondaryIP2)), + assertEquals("Did not attempt to connect to all salve hosts", new HashSet(asList(secondaryIP, secondaryIP2)), connectedHosts); assertEquals("Did not attempt to connect to master and fake node", 4, tryConnectedHosts.size()); @@ -301,12 +360,12 @@ public static void testLoadBalancing_slave() throws SQLException { break; } } - assertEquals("Did not connect to all secondary hosts", new HashSet(asList(secondaryIP, - secondaryIP2)), + assertEquals("Did not connect to all secondary hosts", new HashSet(asList(secondaryIP, secondaryIP2)), connectedHosts); } - public static void testHostRechecks() throws SQLException, InterruptedException { + @Test + public void testHostRechecks() throws SQLException, InterruptedException { GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Secondary); GlobalHostStatusTracker.reportHostStatus(hostSpec(secondary1), Master); GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Secondary); @@ -327,7 +386,8 @@ public static void testHostRechecks() throws SQLException, InterruptedException assertRemote(masterIp); } - public static void testNoGoodHostsRechecksEverything() throws SQLException, InterruptedException { + @Test + public void testNoGoodHostsRechecksEverything() throws SQLException, InterruptedException { GlobalHostStatusTracker.reportHostStatus(hostSpec(master1), Secondary); GlobalHostStatusTracker.reportHostStatus(hostSpec(secondary1), Secondary); GlobalHostStatusTracker.reportHostStatus(hostSpec(fake1), Secondary); From b92bd65a0860cc9f34b667a9fa34d7acca6aac5d Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 2 Jun 2018 10:44:42 -0400 Subject: [PATCH 143/427] fixed spelling mistake in PostgreSQL (#1202) --- docs/documentation/head/escaped-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/head/escaped-functions.md b/docs/documentation/head/escaped-functions.md index 34602b1103..ca05a91d32 100644 --- a/docs/documentation/head/escaped-functions.md +++ b/docs/documentation/head/escaped-functions.md @@ -10,7 +10,7 @@ next: ext.html --- The JDBC specification defines functions with an escape call syntax : `{fn function_name(arguments)}`. -The following tables show which functions are supported by the PostgresSQL™ driver. +The following tables show which functions are supported by the PostgreSQL™ driver. The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. From 38356e6889613a65fc48a455495f18dbb3565731 Mon Sep 17 00:00:00 2001 From: AlBundy33 Date: Mon, 4 Jun 2018 15:52:52 +0200 Subject: [PATCH 144/427] fix: support parenthesis in {oj ...} JDBC escape syntax #865 Non-standard `{oj (...)}` is produced by CrystalReports, so enable that deviation from the spec and ignore the parenthesis. Note: this basically reverts "strict" part of https://github.com/pgjdbc/pgjdbc/pull/657 --- .../main/java/org/postgresql/core/Parser.java | 3 +- .../java/org/postgresql/test/TestUtil.java | 30 +++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 3 +- .../test/jdbc2/OuterJoinSyntaxTest.java | 116 ++++++++++++++++++ 4 files changed, 150 insertions(+), 2 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/OuterJoinSyntaxTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index ad755f98df..ffd802b6bf 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -1278,6 +1278,7 @@ private static String escapeFunction(String functionName, String args, boolean s } private static final char[] QUOTE_OR_ALPHABETIC_MARKER = {'\"', '0'}; + private static final char[] QUOTE_OR_ALPHABETIC_MARKER_OR_PARENTHESIS = {'\"', '0', '('}; private static final char[] SINGLE_QUOTE = {'\''}; // Static variables for parsing SQL when replaceProcessing is true. @@ -1288,7 +1289,7 @@ private enum SqlParseState { ESC_TIMESTAMP("ts", SINGLE_QUOTE, "TIMESTAMP "), ESC_FUNCTION("fn", QUOTE_OR_ALPHABETIC_MARKER, null), - ESC_OUTERJOIN("oj", QUOTE_OR_ALPHABETIC_MARKER, null), + ESC_OUTERJOIN("oj", QUOTE_OR_ALPHABETIC_MARKER_OR_PARENTHESIS, null), ESC_ESCAPECHAR("escape", SINGLE_QUOTE, "ESCAPE "); private final char[] escapeKeyword; diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 6ee44b1b7e..1097b7318e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -22,6 +22,8 @@ import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -696,6 +698,34 @@ public static void printResultSet(ResultSet rs) throws SQLException { } } + public static List resultSetToLines(ResultSet rs) throws SQLException { + List res = new ArrayList(); + ResultSetMetaData rsmd = rs.getMetaData(); + StringBuilder sb = new StringBuilder(); + while (rs.next()) { + sb.setLength(0); + for (int i = 1; i <= rsmd.getColumnCount(); i++) { + if (i != 1) { + sb.append(','); + } + sb.append(rs.getString(i)); + } + res.add(sb.toString()); + } + return res; + } + + public static String join(List list) { + StringBuilder sb = new StringBuilder(); + for (String s : list) { + if (sb.length() > 0) { + sb.append('\n'); + } + sb.append(s); + } + return sb.toString(); + } + /* * Find the column for the given label. Only SQLExceptions for system or set-up problems are * thrown. The PSQLState.UNDEFINED_COLUMN type exception is consumed to allow cleanup. Relying on diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index dc1dc249b2..03ac93f8c0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -125,7 +125,8 @@ CopyTest.class, CopyLargeFileTest.class, ServerErrorTest.class, - UpsertTest.class + UpsertTest.class, + OuterJoinSyntaxTest.class }) public class Jdbc2TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/OuterJoinSyntaxTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/OuterJoinSyntaxTest.java new file mode 100644 index 0000000000..151154507d --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/OuterJoinSyntaxTest.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.postgresql.test.TestUtil; + +import org.junit.Assert; +import org.junit.Test; + +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Arrays; +import java.util.List; + +/** + * Executes the query with the outer join syntax. The joined tables are encapsulated with parenthesis. + * Note: This queries worked up to driver version 9.4.1211 (postgresql-9.4.1211.jre7.jar). + * Encapsulation with parenthesis is used by third party like CrystalReports. + */ +public class OuterJoinSyntaxTest extends BaseTest4 { + + @Test + public void testOuterJoinSyntaxWithSingleJoinAndWithoutOj() throws Exception { + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text" + + " from (values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id)", + Arrays.asList("1,one,1,a", "2,two,null,null")); + } + + @Test + public void testOuterJoinSyntaxWithMultipleJoinsAndWithoutOj() throws Exception { + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text," + + " t3.id as t3_id, t3.text as t3_text" + + " from (values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id)" + + " left outer join (values (4, '1'), (2, '2')) as t3 (id, text) on (t2.id = t3.id)", + Arrays.asList("1,one,1,a,null,null", "2,two,null,null,null,null")); + } + + @Test + public void testOuterJoinSyntaxWithSingleJoinAndWithOj() throws Exception { + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text" + + " from {oj (values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id) }", + Arrays.asList("1,one,1,a", "2,two,null,null")); + } + + @Test + public void testOuterJoinSyntaxWithMultipleJoinsAndWithOj() throws Exception { + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text," + + " t3.id as t3_id, t3.text as t3_text" + + " from {oj (values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id)" + + " left outer join (values (1, '1'), (2, '2')) as t3 (id, text) on (t2.id = t3.id)}", + Arrays.asList("1,one,1,a,1,1", "2,two,null,null,null,null")); + } + + @Test + public void testOuterJoinSyntaxWithMultipleJoinsAndWithOj2() throws Exception { + // multiple joins with oj and missing space character after oj + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text," + + " t3.id as t3_id, t3.text as t3_text" + + " from {oj(values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id)" + + " left outer join (values (4, '1'), (2, '2')) as t3 (id, text) on (t2.id = t3.id)}", + Arrays.asList("1,one,1,a,null,null", "2,two,null,null,null,null")); + } + + @Test + public void testOuterJoinSyntaxWithMultipleJoinsAndWithOj3() throws Exception { + // multiple joins with oj and missing space character after oj and some more parenthesis + testOuterJoinSyntax( + "select t1.id as t1_id, t1.text as t1_text," + + " t2.id as t2_id, t2.text as t2_text," + + " t3.id as t3_id, t3.text as t3_text" + + " from {oj(((values (1, 'one'), (2, 'two')) as t1 (id, text)" + + " left outer join (values (1, 'a'), (3, 'b')) as t2 (id, text) on (t1.id = t2.id))" + + " left outer join (values (1, '1'), (4, '2')) as t3 (id, text) on (t2.id = t3.id))}", + Arrays.asList("1,one,1,a,1,1", "2,two,null,null,null,null")); + } + + /** + * Executes the statement. + * + * @param theQuery the query to execute + * @param expectedResult the expected columns in result set + * @throws Exception on error + */ + private void testOuterJoinSyntax(String theQuery, List expectedResult) throws Exception { + final Statement st = con.createStatement(); + try { + final ResultSet rs = st.executeQuery(theQuery); + try { + Assert.assertEquals("SQL " + theQuery, TestUtil.join(TestUtil.resultSetToLines(rs)), TestUtil.join(expectedResult)); + } finally { + TestUtil.closeQuietly(rs); + } + } finally { + TestUtil.closeQuietly(st); + } + } + +} From 03a1441bbe98525412df754d3934141bc3b12168 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 5 Jun 2018 11:47:34 +0300 Subject: [PATCH 145/427] fix: avoid NPE in PgConnection.finalize Note: the NPE is not visible to the end users as it can be caught in debugger only. fixes #1206 --- pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 9a0c508e6a..caf3be8b75 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -655,6 +655,11 @@ private void initObjectTypes(Properties info) throws SQLException { * {@inheritDoc} */ public void close() throws SQLException { + if (queryExecutor == null) { + // This might happen in case constructor throws an exception (e.g. host being not available). + // When that happens the connection is still registered in the finalizer queue, so it gets finalized + return; + } releaseTimer(); queryExecutor.close(); openStackTrace = null; From eb5c8fdd6b37eb29262713584d01d73b8b7d299a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 2 Jun 2018 17:11:27 +0300 Subject: [PATCH 146/427] chore: update gettext plugin, sort po files --- .gitignore | 1 + codecov.yml | 2 + pgjdbc/pom.xml | 51 +++++---------------- pgjdbc/src/main/checkstyle/suppressions.xml | 1 + 4 files changed, 15 insertions(+), 40 deletions(-) diff --git a/.gitignore b/.gitignore index ec662f4f16..76435f6687 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ nbproject *.iws *.local.properties *-dist.zip +*.po.~*~ target/ pom.xml.tag pom.xml.releaseBackup diff --git a/codecov.yml b/codecov.yml index 93c69b707d..72deba08a4 100644 --- a/codecov.yml +++ b/codecov.yml @@ -8,3 +8,5 @@ coverage: status: patch: false range: "60...100" +ignore: + - "**/translation/message*.java" diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 77bcc28baf..abd6c0b494 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -53,19 +53,23 @@ - com.googlecode.gettext-commons + com.github.vlsi.gettext gettext-maven-plugin - 1.2.4 + 1.2.11 + + update_po_with_new_messages + generate-resources + + gettext + + generate_pot_and_po_files generate-resources merge - - src/main/resources - generate_resource_bundles @@ -76,8 +80,9 @@ + java ${project.build.sourceDirectory} - src/main/resources + ${project.build.sourceDirectory} messages.pot src/main/java/org/postgresql/translation org.postgresql.translation.messages @@ -85,40 +90,6 @@ msgmerge - - maven-clean-plugin - - - clean_msmerge_backups - - clean - - compile - - - true - - - src/main/resources/org/postgresql/translation - - **$*.class - messages.properties - messages_en.properties - - false - - - src/main/java/org/postgresql/translation - - *.po.~*~ - - false - - - - - - diff --git a/pgjdbc/src/main/checkstyle/suppressions.xml b/pgjdbc/src/main/checkstyle/suppressions.xml index 76e5070857..bf1bd34de7 100644 --- a/pgjdbc/src/main/checkstyle/suppressions.xml +++ b/pgjdbc/src/main/checkstyle/suppressions.xml @@ -6,4 +6,5 @@ + From 10fc2fbb35537e4f75c22dc7614f76b376e3f0d8 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 2 Jun 2018 17:35:35 +0300 Subject: [PATCH 147/427] chore: sort messages in *.po files --- .../java/org/postgresql/translation/bg.po | 2281 ++++++++-------- .../java/org/postgresql/translation/cs.po | 1641 ++++++------ .../java/org/postgresql/translation/de.po | 1954 +++++++------- .../java/org/postgresql/translation/es.po | 1510 +++++------ .../java/org/postgresql/translation/fr.po | 2222 ++++++++-------- .../java/org/postgresql/translation/it.po | 1939 +++++++------- .../java/org/postgresql/translation/ja.po | 2261 ++++++++-------- .../org/postgresql/translation/messages.pot | 1408 +++++----- .../postgresql/translation/messages_bg.java | 449 ++++ .../postgresql/translation/messages_cs.java | 227 ++ .../postgresql/translation/messages_de.java | 339 +++ .../postgresql/translation/messages_es.java | 83 + .../postgresql/translation/messages_fr.java | 339 +++ .../postgresql/translation/messages_it.java | 323 +++ .../postgresql/translation/messages_ja.java | 503 ++++ .../postgresql/translation/messages_nl.java | 49 + .../postgresql/translation/messages_pl.java | 185 ++ .../translation/messages_pt_BR.java | 393 +++ .../postgresql/translation/messages_ru.java | 259 ++ .../postgresql/translation/messages_sr.java | 391 +++ .../postgresql/translation/messages_tr.java | 393 +++ .../translation/messages_zh_CN.java | 277 ++ .../translation/messages_zh_TW.java | 277 ++ .../java/org/postgresql/translation/nl.po | 1852 ++++++------- .../java/org/postgresql/translation/pl.po | 1938 +++++++------- .../java/org/postgresql/translation/pt_BR.po | 2283 +++++++++-------- .../java/org/postgresql/translation/ru.po | 2122 +++++++-------- .../java/org/postgresql/translation/sr.po | 1701 ++++++------ .../java/org/postgresql/translation/tr.po | 1699 ++++++------ .../java/org/postgresql/translation/zh_CN.po | 1609 ++++++------ .../java/org/postgresql/translation/zh_TW.po | 1609 ++++++------ .../postgresql/translation/messages_bg.class | Bin 39612 -> 0 bytes .../postgresql/translation/messages_cs.class | Bin 13037 -> 0 bytes .../postgresql/translation/messages_de.class | Bin 24078 -> 0 bytes .../postgresql/translation/messages_es.class | Bin 3759 -> 0 bytes .../postgresql/translation/messages_fr.class | Bin 24001 -> 0 bytes .../postgresql/translation/messages_it.class | Bin 22890 -> 0 bytes .../postgresql/translation/messages_ja.class | Bin 38424 -> 0 bytes .../postgresql/translation/messages_nl.class | Bin 2329 -> 0 bytes .../postgresql/translation/messages_pl.class | Bin 11459 -> 0 bytes .../translation/messages_pt_BR.class | Bin 27652 -> 0 bytes .../postgresql/translation/messages_ru.class | Bin 19976 -> 0 bytes .../postgresql/translation/messages_sr.class | Bin 26960 -> 0 bytes .../postgresql/translation/messages_tr.class | Bin 26974 -> 0 bytes .../translation/messages_zh_CN.class | Bin 17377 -> 0 bytes .../translation/messages_zh_TW.class | Bin 17372 -> 0 bytes 46 files changed, 19524 insertions(+), 14992 deletions(-) mode change 100755 => 100644 pgjdbc/src/main/java/org/postgresql/translation/bg.po create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_de.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_es.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_it.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java create mode 100644 pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_bg.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_cs.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_de.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_es.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_fr.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_it.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_ja.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_nl.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_pl.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_pt_BR.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_ru.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_sr.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_tr.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_zh_CN.class delete mode 100644 pgjdbc/src/main/resources/org/postgresql/translation/messages_zh_TW.class diff --git a/pgjdbc/src/main/java/org/postgresql/translation/bg.po b/pgjdbc/src/main/java/org/postgresql/translation/bg.po old mode 100755 new mode 100644 index 862096b80f..517fe69dec --- a/pgjdbc/src/main/java/org/postgresql/translation/bg.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-12-28 00:01+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,169 +17,121 @@ msgstr "" "X-Poedit-Language: Bulgarian\n" "X-Poedit-Country: BULGARIA\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" +"Грешка при зареждане на настройките по подразбиране от файла driverconfig." +"properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:270 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Възникна грешка при осъществяване на SSL връзката." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"Връзката не бе осъществена, поради вашите настройки за сигурност. Може би " +"трябва да предоставите java.net.SocketPermission права на сървъра и порта с " +"базата данни, към който искате да се свържете." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. " -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Времето за осъществяване на връзката изтече (таймаут)." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Опита за осъществяване на връзка бе своевременно прекъснат. " -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Методът {0} все още не е функционален." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 -#, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, fuzzy, java-format +msgid "{0} parameter value must be an integer but was: {1}" +msgstr "Стойността на параметъра unknownLength трябва да бъде цяло число" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "" +msgid "Requested CopyIn but got {0}" +msgstr "Зададено CopyIn но получено {0}" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "Requested CopyOut but got {0}" +msgstr "Зададено CopyOut но получено {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/copy/CopyManager.java:75 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +msgid "Requested CopyDual but got {0}" +msgstr "Зададено CopyOut но получено {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "Copying from database failed: {0}" +msgstr "Копирането от базата данни бе неуспешно: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "Потока за копиране на данните е затворен." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." +msgstr "Четене от копието неуспешно." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." +msgid "Cannot write to copy a byte of value {0}" +msgstr "Няма пишещи права, за да копира байтова стойност {0}" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "SSL error: {0}" -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Не може да осъществи връзка, ползвайки искания протокол {0}." -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Преждевременен край на входящ поток на данни, очаквани {0} байта, но " +"прочетени само {1}." -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Грешка в протокола. Неуспешна настройка на сесията." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "GSS удостоверяването бе неуспешно" +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "Очакван край на файла от сървъра, но получено: {0}" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Непозволен синтаксис на функция или процедура при офсет {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Заявката върна неочакван резултат." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "Не може да има нула байта в низ параметрите." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Не може да има нула байта в идентификаторите." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -215,53 +167,129 @@ msgstr "" "Невалидна UTF-8 последователност: крайната стойност е заместителна стойност: " "{0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Заявката върна неочакван резултат." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Не може да има нула байта в низ параметрите." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Преждевременен край на входящ поток на данни, очаквани {0} байта, но " -"прочетени само {1}." -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Не може да има нула байта в идентификаторите." + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Очакван край на файла от сървъра, но получено: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}." -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " -msgstr "Очаквано командно допълнение COPY но получено: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Невалидна дължина {0} на потока данни." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Връзката отказана. Проверете дали името на хоста и порта са верни и дали " +"postmaster приема ТСР / IP връзки." -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" -msgstr "Опит за получаване на заключване/резервация докато вече е получено" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Опита за връзка бе неуспешен." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -"Опит за премахване на заключването/резервацията при връзка към базата данни" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "" -"Прекъсване при чакане да получи заключване/резервация при връзка към базата " -"данни" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Сървърът не поддържа SSL." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "Не може да подготви параметрите на командата." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Възникна грешка при осъществяване на SSL връзката." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Сървърът изисква идентифициране с парола, но парола не бе въведена." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Тип на удостоверяване {0} не се поддържа. Проверете дали сте конфигурирали " +"pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се " +"използва схема за удостоверяване, поддържана от драйвъра." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Грешка в протокола. Неуспешна настройка на сесията." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "Очаквано командно допълнение COPY но получено: " + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "Опит за получаване на заключване/резервация докато вече е получено" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" +"Опит за премахване на заключването/резервацията при връзка към базата данни" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "" +"Прекъсване при чакане да получи заключване/резервация при връзка към базата " +"данни" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "Не може да подготви параметрите на командата." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 #: org/postgresql/core/v3/QueryExecutorImpl.java:729 #: org/postgresql/core/v3/QueryExecutorImpl.java:2372 #: org/postgresql/util/StreamWrapper.java:130 @@ -403,7 +431,7 @@ msgid "Unable to parse the count in command completion tag: {0}." msgstr "" "Не може да осъществи актуализация на брояча при командно допълнение: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -412,7 +440,7 @@ msgstr "" "Параметърът client_encoding при сървъра бе променен на {0}. JDBC драйвъра " "изисква client_encoding да бъде UNICODE за да функционира правилно." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -421,7 +449,7 @@ msgstr "" "Параметърът DateStyle при сървъра бе променен на {0}. JDBC драйвъра изисква " "DateStyle започва с ISO за да функционира правилно." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -430,15 +458,6 @@ msgstr "" "Параметърът standard_conforming_strings при сървъра бе докладван като {0}. " "JDBC драйвъра очаква този параметър да бъде on или off." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -449,11 +468,6 @@ msgstr "Няма стойност, определена за параметър msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Опита за връзка бе неуспешен." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, fuzzy, java-format msgid "Unexpected packet type during replication: {0}" @@ -464,658 +478,825 @@ msgstr "Неочакван тип пакет при копиране: {0}" msgid "This replication stream has been closed." msgstr "Връзката бе прекъсната." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Невалидна дължина {0} на потока данни." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Невалидна дължина {0} на потока данни." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Тази PooledConnection връзка бе вече прекъсната." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -"Връзката отказана. Проверете дали името на хоста и порта са верни и дали " -"postmaster приема ТСР / IP връзки." +"Връзката бе автоматично прекъсната, защото нова връзка за същата беше " +"осъществена или PooledConnection връзката е вече прекъсната." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Връзката бе прекъсната." + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Командата е завършена." + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Сървърът не поддържа SSL." +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Източникът на данни е прекъснат." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Възникна грешка при осъществяване на SSL връзката." +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 +#, fuzzy, java-format +msgid "Unsupported property name: {0}" +msgstr "Неподдържана стойност за тип: {0}" + +#: org/postgresql/fastpath/Fastpath.java:86 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." + +#: org/postgresql/fastpath/Fastpath.java:163 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Сървърът изисква идентифициране с парола, но парола не бе въведена." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." + +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Тип на удостоверяване {0} не се поддържа. Проверете дали сте конфигурирали " -"pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се " -"използва схема за удостоверяване, поддържана от драйвъра." +msgid "The fastpath function {0} is unknown." +msgstr "Функцията {0} е неизвестна." -#: org/postgresql/core/ConnectionFactory.java:57 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Не може да осъществи връзка, ползвайки искания протокол {0}." +msgid "Conversion to type {0} failed: {1}." +msgstr "Неуспешно преобразуване към тип {0}: {1}." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "" +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Не може да определи дали адреса е отворен или затворен: {0}." -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "GSS удостоверяването бе неуспешно" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "Скъсяване на големи обекти LOB е осъществено само във версии след 8.3." + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -"Бяха намерени невалидни данни. Това най-вероятно се дължи на съхранявани " -"данни, съдържащи символи, които са невалидни за набора от знаци при " -"създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в " -"SQL_ASCII бази данни." -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Неуспешно валутно преобразуване." +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL индексира големи обекти LOB само до: {0}" -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Позиционалният офсет при големи обекти LOB започва от 1." -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Неуспешно преобразуване на интервал" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "Функцията free() бе вече извикана за този голям обект LOB" -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Твърде много резултати бяха получени при актуализацията." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"Партида {0} {1} беше прекратена. Изпълнете функция getNextException за да " +"видите причината." -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "Подробност: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Hint: {0}" -msgstr "Забележка: {0}" +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Position: {0}" -msgstr "Позиция: {0}" +msgid "{0} function takes four and only four argument." +msgstr "Функцията {0} може да приеме четири и само четири аргумента." -#: org/postgresql/util/ServerErrorMessage.java:189 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Where: {0}" -msgstr "Където: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "Функцията {0} може да приеме два и само два аргумента." -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Вътрешна заявка: {0}" +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 +#, java-format +msgid "{0} function takes one and only one argument." +msgstr "Функцията {0} може да приеме само един единствен аргумент." -#: org/postgresql/util/ServerErrorMessage.java:199 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Internal Position: {0}" -msgstr "Вътрешна позиция: {0}" +msgid "{0} function takes two or three arguments." +msgstr "Функцията {0} може да приеме два или три аргумента." -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Местоположение: Файл: {0}, Функция: {1}, Ред: {2}" +msgid "{0} function doesn''t take any argument." +msgstr "Функцията {0} не може да приема аргументи." -#: org/postgresql/util/ServerErrorMessage.java:211 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQL статус на сървъра: {0}" +msgid "{0} function takes three and only three arguments." +msgstr "Функцията {0} може да приеме три и само три аргумента." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, java-format +msgid "Interval {0} not yet implemented" +msgstr "Интервалът {0} не е валиден все още." -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Източникът на данни е прекъснат." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Не може да референцира savepoint, след като е била освободена." -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Неподдържана стойност за тип: {0}" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Не може да определи ID на спомената savepoint." -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Тази PooledConnection връзка бе вече прекъсната." +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Не може да определи името на неупомената savepoint." -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Индексът на масив е извън обхвата: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Индексът на масив е извън обхвата: {0}, брой елементи: {1}." + +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Връзката бе автоматично прекъсната, защото нова връзка за същата беше " -"осъществена или PooledConnection връзката е вече прекъсната." - -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Връзката бе прекъсната." +"Бяха намерени невалидни данни. Това най-вероятно се дължи на съхранявани " +"данни, съдържащи символи, които са невалидни за набора от знаци при " +"създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в " +"SQL_ASCII бази данни." -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Командата е завършена." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement функция бе обработена, но няма резултати." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"CallableStatement функция бе обработена, но с непозволен брой параметри." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"CallableStatement функция бе обработена и изходния параметър {0} бе от тип " +"{1}, обаче тип {2} бе използван." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Невалидна дължина {0} на потока данни." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за " +"да декларирате такъв." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Невалидна дължина {0} на потока данни." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull не може да бьде изпълнен, преди наличието на резултата." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" +"Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). " -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"CallableStatement функция бе декларирана, но обработена като " +"registerOutParameter(1, ) " -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Резултати от функцията не бяха регистрирани." + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" +"Резултати от CallableStatement функция не могат да бъдат получени, преди тя " +"да бъде обработена." + +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/jdbc/PgConnection.java:272 +#, java-format +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "Непозволена стойност за StringType параметър: {0}" + +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Няма намерени резултати за заявката." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Бе получен резултат, когато такъв не бе очакван." + +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." +msgstr "Специфични типови съответствия не се поддържат." + +#: org/postgresql/jdbc/PgConnection.java:587 +#, java-format +msgid "Failed to create object for: {0}." +msgstr "Неуспешно създаване на обект за: {0}." + +#: org/postgresql/jdbc/PgConnection.java:641 +#, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" +msgstr "Невъзможно е зареждането на клас {0}, отговарящ за типа данни {1}" + +#: org/postgresql/jdbc/PgConnection.java:693 +msgid "" +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -"Грешка при зареждане на настройките по подразбиране от файла driverconfig." -"properties" +"Не може да променяте правата на транзакцията по време на нейното извършване." -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "Връзката бе прекъсната." + +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -"Връзката не бе осъществена, поради вашите настройки за сигурност. Може би " -"трябва да предоставите java.net.SocketPermission права на сървъра и порта с " -"базата данни, към който искате да се свържете." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"Cannot change transaction isolation level in the middle of a transaction." msgstr "" -"Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. " +"Не може да променяте изолационното ниво на транзакцията по време на нейното " +"извършване." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Времето за осъществяване на връзката изтече (таймаут)." +#: org/postgresql/jdbc/PgConnection.java:833 +#, java-format +msgid "Transaction isolation level {0} not supported." +msgstr "Изолационно ниво на транзакциите {0} не се поддържа." -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Опита за осъществяване на връзка бе своевременно прекъснат. " +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" +msgstr "Приключване на връзка, която не бе прекъсната:" -#: org/postgresql/Driver.java:682 -#, java-format -msgid "Method {0} is not yet implemented." -msgstr "Методът {0} все още не е функционален." +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." +msgstr "Невъзможно преобразуване на данни в желаното кодиране." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "Размера за fetch size трябва да бъде по-голям или равен на 0." + +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Неуспешно преобразуване към тип {0}: {1}." +msgid "Unable to find server array type for provided name {0}." +msgstr "Не може да се намери типа на сървърен масив за зададеното име {0}." + +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Невалидни флагове {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 +#, fuzzy, java-format +msgid "Invalid timeout ({0}<0)." +msgstr "Невалидна дължина {0} на потока данни." + +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "Неуспешно създаване на обект за: {0}." + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." +msgstr "Информацията за ClientInfo не се поддържа." + +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "" +"Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " +"равна на 0." -#: org/postgresql/geometric/PGpath.java:70 -#, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Не може да определи дали адреса е отворен или затворен: {0}." +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format -msgid "Invalid flags {0}" -msgstr "Невалидни флагове {0}" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid не може да бъде null" +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "Неизвестна ResultSet holdability настройка: {0}." -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "Връзката е заета с друга транзакция" +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "Не може да се установи savepoint в auto-commit модус." -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "спиране / започване не се поддържа за момента" +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." +msgstr "Автоматично генерирани ключове не се поддържат." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -"Транзакция в транзакция не се поддържа за момента. xid={0}, currentXid={1}, " -"state={2}, flags={3}" +"Невъзможно е да се определи стойността за MaxIndexKeys поради липса на " +"системния каталог с данни." -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "Грешка при изключване на autocommit" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." +msgstr "Не може да се намери името на типа данни в системните каталози." -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Не може да се намери името на типа данни в системните каталози." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" msgstr "" -"опита да извика end без съответстващо извикване на start. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 -#, fuzzy, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" msgstr "" -"Грешка при възстановяване на състоянието преди подготвена транзакция. " -"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" msgstr "" -"Невъзможна комбинация: Prepare трябва да бъде издадено чрез използване на " -"същата връзка, при която е започната транзакцията. currentXid={0}, prepare " -"xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Prepare извикано преди края. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Грешка при подготвяне на транзакция. prepare xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Грешка при възстановяване" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" msgstr "" -"Грешка при възстановяване на състоянието преди подготвена транзакция. " -"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." + +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -"Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез " -"използване на същата връзка, при която е започнал" +"Не може да се употребяват методи за заявка, които ползват низове на " +"PreparedStatement." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Стойност от неизвестен тип." + +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" +msgid "Invalid stream length {0}." +msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "commit извикан преди end. commit xid={0}, state={1}" +msgid "The JVM claims not to support the {0} encoding." +msgstr "JVM не поддържа за момента {0} кодовата таблица." -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." +msgstr "Зададения InputStream поток е неуспешен." + +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Грешка при едно-фазов commit. commit xid={0}" +msgid "Unknown type {0}." +msgstr "Неизвестен тип {0}." -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -"Невъзможна комбинация: втората фаза на commit задължително трябва да бъде " -"издадена при свободна връзка. commit xid={0}, currentXid={1}, state={2], " -"transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" -"Грешка при възстановяване на състоянието преди подготвена транзакция. commit " -"xid={0}, preparedXid={1}, currentXid={2}" +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#, java-format +msgid "Cannot cast an instance of {0} to type {1}" +msgstr "Не може да преобразува инстанция на {0} към тип {1}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Евристичен commit или rollback не се поддържа. forget xid={0}" +msgid "Unsupported Types value: {0}" +msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "Не може да декодира XML данните." +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" +msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Неизвестен XML входящ клас: {0}" +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." +msgstr "" +"Не може да се определи SQL тип, който да се използва за инстанцията на {0}. " +"Ползвайте метода setObject() с точни стойности, за да определите типа." -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Не може да се създаде SAXResult за SQLXML." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." +msgstr "Неочаквана грешка при записване на голям обект LOB в базата данни." -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Не може да се създаде StAXResult за SQLXML." +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." +msgstr "Грешка с ползвания четец." -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Неизвестен XML изходящ клас: {0}" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "Този SQLXML обект вече е освободен." +#: org/postgresql/jdbc/PgResultSet.java:280 +msgid "" +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." +msgstr "" +"Операцията изисква резултатите да са scrollable, но този ResultSet е " +"FORWARD_ONLY." + +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 +#, fuzzy, java-format +msgid "Cannot convert the column of type {0} to requested type {1}." +msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." msgstr "" -"Този SQLXML обект не е инициализиран, така че не могат да се извличат данни " -"от него." +"Не може да се използват относителни методи за движение, когато се намираме " +"при редицата на въвеждане." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "Invalid fetch direction constant: {0}." +msgstr "Невалидна константа за fetch посоката: {0}." + +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" -"Неуспешно преобразуване на двоични XML данни за кодиране съгласно: {0}." +"Не може да се изпълни cancelRowUpdates() метода, когато се намираме при " +"редицата на въвеждане." -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "Не може да преобразува DOMResult SQLXML данни в низ." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "" +"Не може да се изпълни deleteRow() метода, когато се намираме при редицата на " +"въвеждане." -#: org/postgresql/jdbc/PgSQLXML.java:287 +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "Този SQLXML обект вече е инициализиран и не може да бъде променен." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." +msgstr "" +"В момента се намираме в началото на ResultSet. Тук не може да се изпълни " +"deleteRow() метода." -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Не може да референцира savepoint, след като е била освободена." +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." +msgstr "" +"В момента се намираме преди края на ResultSet. Тук не може да се изпълни " +"deleteRow() метода." -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Не може да определи ID на спомената savepoint." +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "В този ResultSet няма редове." -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Не може да определи името на неупомената savepoint." +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Не сме в редицата на въвеждане." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Индексът на масив е извън обхвата: {0}" +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." +msgstr "Трябва да посочите поне една стойност за колона, за да вмъкнете ред." -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Индексът на масив е извън обхвата: {0}, брой елементи: {1}." +msgid "The JVM claims not to support the encoding: {0}" +msgstr "JVM не поддържа тази кодова таблица за момента: {0}" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." +msgstr "Не може да обнови въведения ред." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Твърде много резултати бяха получени при актуализацията." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." +msgstr "" +"Не може да се изпълни updateRow() метода, когато се намираме при редицата на " +"въвеждане." -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -"Партида {0} {1} беше прекратена. Изпълнете функция getNextException за да " -"видите причината." - -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "Непозволена стойност за StringType параметър: {0}" - -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Няма намерени резултати за заявката." +"Не може да се обнови ResultSet, когато се намираме преди началото или след " +"края на резултатите." -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "Бе получен резултат, когато такъв не бе очакван." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +msgstr "" +"ResultSets с concurrency CONCUR_READ_ONLY не могат да бъдат актуализирани." -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." -msgstr "Специфични типови съответствия не се поддържат." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." +msgstr "Няма първичен ключ за таблица {0}." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format -msgid "Failed to create object for: {0}." -msgstr "Неуспешно създаване на обект за: {0}." +msgid "Bad value for type {0} : {1}" +msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" -msgstr "Невъзможно е зареждането на клас {0}, отговарящ за типа данни {1}" +msgid "The column name {0} was not found in this ResultSet." +msgstr "Името на колоната {0} не бе намерено в този ResultSet." -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" -"Cannot change transaction read-only property in the middle of a transaction." -msgstr "" -"Не може да променяте правата на транзакцията по време на нейното извършване." - -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"ResultSet не може да се обновява. Заявката генерираща този резултат трябва " +"да селектира само една таблица, както и всички първични ключове в нея. За " +"повече информация, вижте раздел 5.6 на JDBC 2.1 API Specification." -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -#, fuzzy -msgid "This connection has been closed." -msgstr "Връзката бе прекъсната." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "Операциите по този ResultSet са били прекратени." -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" +"ResultSet не е референциран правилно. Вероятно трябва да придвижите курсора " +"посредством next." -#: org/postgresql/jdbc/PgConnection.java:827 -msgid "" -"Cannot change transaction isolation level in the middle of a transaction." -msgstr "" -"Не може да променяте изолационното ниво на транзакцията по време на нейното " -"извършване." +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." +msgstr "Невалидни UUID данни." -#: org/postgresql/jdbc/PgConnection.java:833 -#, java-format -msgid "Transaction isolation level {0} not supported." +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" msgstr "Изолационно ниво на транзакциите {0} не се поддържа." -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" -msgstr "Приключване на връзка, която не бе прекъсната:" - -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." -msgstr "Невъзможно преобразуване на данни в желаното кодиране." - -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." -msgstr "Размера за fetch size трябва да бъде по-голям или равен на 0." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Не може да декодира XML данните." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "Unable to find server array type for provided name {0}." -msgstr "Не може да се намери типа на сървърен масив за зададеното име {0}." - -#: org/postgresql/jdbc/PgConnection.java:1312 -#, fuzzy, java-format -msgid "Invalid elements {0}" -msgstr "Невалидни флагове {0}" - -#: org/postgresql/jdbc/PgConnection.java:1348 -#, fuzzy, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "Невалидна дължина {0} на потока данни." - -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1405 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "Неуспешно създаване на обект за: {0}." +msgid "Unknown XML Source class: {0}" +msgstr "Неизвестен XML входящ клас: {0}" -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." -msgstr "Информацията за ClientInfo не се поддържа." +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Не може да се създаде SAXResult за SQLXML." -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." -msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Не може да се създаде StAXResult за SQLXML." -#: org/postgresql/jdbc/PgConnection.java:1540 -#, fuzzy -msgid "Network timeout must be a value greater than or equal to 0." -msgstr "" -"Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " -"равна на 0." +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Неизвестен XML изходящ клас: {0}" -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." -msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Този SQLXML обект вече е освободен." -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" +"Този SQLXML обект не е инициализиран, така че не могат да се извличат данни " +"от него." -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." -msgstr "Неизвестна ResultSet holdability настройка: {0}." +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" +"Неуспешно преобразуване на двоични XML данни за кодиране съгласно: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." -msgstr "Не може да се установи savepoint в auto-commit модус." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "Не може да преобразува DOMResult SQLXML данни в низ." -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "Автоматично генерирани ключове не се поддържат." +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "Този SQLXML обект вече е инициализиран и не може да бъде променен." #: org/postgresql/jdbc/PgStatement.java:235 msgid "Multiple ResultSets were returned by the query." @@ -1146,606 +1327,429 @@ msgstr "" msgid "This statement has been closed." msgstr "Командата е извършена." -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Невалидна константа за fetch посоката: {0}." - #: org/postgresql/jdbc/PgStatement.java:1145 #: org/postgresql/jdbc/PgStatement.java:1173 msgid "Returning autogenerated keys by column index is not supported." msgstr "" "Автоматично генерирани ключове спрямо индекс на колона не се поддържат." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" -"Невъзможно е да се определи стойността за MaxIndexKeys поради липса на " -"системния каталог с данни." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "Не може да се намери името на типа данни в системните каталози." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "Скъсяване на големи обекти LOB е осъществено само във версии след 8.3." +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL индексира големи обекти LOB само до: {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "Позиционалният офсет при големи обекти LOB започва от 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "Функцията free() бе вече извикана за този голям обект LOB" - -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -"Не може да се употребяват методи за заявка, които ползват низове на " -"PreparedStatement." - -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Стойност от неизвестен тип." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 -#, java-format -msgid "The JVM claims not to support the {0} encoding." -msgstr "JVM не поддържа за момента {0} кодовата таблица." - -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." -msgstr "Зададения InputStream поток е неуспешен." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Unknown type {0}." -msgstr "Неизвестен тип {0}." +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" -msgstr "Не може да преобразува инстанция на {0} към тип {1}" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Не може да инициализира LargeObject API" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 -#, java-format -msgid "Unsupported Types value: {0}" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Големи обекти LOB не могат да се използват в auto-commit модус." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Cannot convert an instance of {0} to type {1}" -msgstr "Не може да преобразува инстанцията на {0} във вида {1}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." +msgid "SSL error: {0}" msgstr "" -"Не може да се определи SQL тип, който да се използва за инстанцията на {0}. " -"Ползвайте метода setObject() с точни стойности, за да определите типа." - -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." -msgstr "Неочаквана грешка при записване на голям обект LOB в базата данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." -msgstr "Грешка с ползвания четец." +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Cannot cast to boolean: \"{0}\"" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:280 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"Операцията изисква резултатите да са scrollable, но този ResultSet е " -"FORWARD_ONLY." - -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 -#, fuzzy, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." -msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -"Не може да се използват относителни методи за движение, когато се намираме " -"при редицата на въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -"Не може да се изпълни cancelRowUpdates() метода, когато се намираме при " -"редицата на въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"Не може да се изпълни deleteRow() метода, когато се намираме при редицата на " -"въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -"В момента се намираме в началото на ResultSet. Тук не може да се изпълни " -"deleteRow() метода." -#: org/postgresql/jdbc/PgResultSet.java:918 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -"В момента се намираме преди края на ResultSet. Тук не може да се изпълни " -"deleteRow() метода." -#: org/postgresql/jdbc/PgResultSet.java:922 -msgid "There are no rows in this ResultSet." -msgstr "В този ResultSet няма редове." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Възникна грешка при осъществяване на SSL връзката." -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." -msgstr "Не сме в редицата на въвеждане." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." -msgstr "Трябва да посочите поне една стойност за колона, за да вмъкнете ред." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "JVM не поддържа тази кодова таблица за момента: {0}" - -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." -msgstr "Не може да обнови въведения ред." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -"Не може да се изпълни updateRow() метода, когато се намираме при редицата на " -"въвеждане." -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Не може да се обнови ResultSet, когато се намираме преди началото или след " -"края на резултатите." -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"ResultSets с concurrency CONCUR_READ_ONLY не могат да бъдат актуализирани." -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "No primary key found for table {0}." -msgstr "Няма първичен ключ за таблица {0}." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "Bad value for type {0} : {1}" -msgstr "Невалидна стойност за тип {0} : {1}" +msgid "Could not decrypt SSL key file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Името на колоната {0} не бе намерено в този ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +msgid "Could not read SSL key file {0}." msgstr "" -"ResultSet не може да се обновява. Заявката генерираща този резултат трябва " -"да селектира само една таблица, както и всички първични ключове в нея. За " -"повече информация, вижте раздел 5.6 на JDBC 2.1 API Specification." - -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." -msgstr "Операциите по този ResultSet са били прекратени." -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -"ResultSet не е референциран правилно. Вероятно трябва да придвижите курсора " -"посредством next." - -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." -msgstr "Невалидни UUID данни." - -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 -#, fuzzy, java-format -msgid "conversion to {0} from {1} not supported" -msgstr "Изолационно ниво на транзакциите {0} не се поддържа." - -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Неподдържана стойност за тип: {0}" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement функция бе обработена, но няма резултати." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -"CallableStatement функция бе обработена, но с непозволен брой параметри." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"CallableStatement функция бе обработена и изходния параметър {0} бе от тип " -"{1}, обаче тип {2} бе използван." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -"Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за " -"да декларирате такъв." -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull не може да бьде изпълнен, преди наличието на резултата." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Неуспешно преобразуване на интервал" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Неуспешно валутно преобразуване." + +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). " -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." -msgstr "" -"CallableStatement функция бе декларирана, но обработена като " -"registerOutParameter(1, ) " +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Подробност: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "Резултати от функцията не бяха регистрирани." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Забележка: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "" -"Резултати от CallableStatement функция не могат да бъдат получени, преди тя " -"да бъде обработена." +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Позиция: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Неподдържана стойност за тип: {0}" +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Където: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Функцията {0} може да приеме четири и само четири аргумента." +msgid "Internal Query: {0}" +msgstr "Вътрешна заявка: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Функцията {0} може да приеме два и само два аргумента." +msgid "Internal Position: {0}" +msgstr "Вътрешна позиция: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Функцията {0} може да приеме само един единствен аргумент." +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Местоположение: Файл: {0}, Функция: {1}, Ред: {2}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Функцията {0} може да приеме два или три аргумента." +msgid "Server SQLState: {0}" +msgstr "SQL статус на сървъра: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Функцията {0} не може да приема аргументи." +msgid "Invalid flags {0}" +msgstr "Невалидни флагове {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid не може да бъде null" + +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Връзката е заета с друга транзакция" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "спиране / започване не се поддържа за момента" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Функцията {0} може да приеме три и само три аргумента." +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"Транзакция в транзакция не се поддържа за момента. xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Грешка при изключване на autocommit" + +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Интервалът {0} не е валиден все още." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"опита да извика end без съответстващо извикване на start. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:297 #, fuzzy, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "Стойността на параметъра unknownLength трябва да бъде цяло число" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Грешка при възстановяване на състоянието преди подготвена транзакция. " +"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Не може да инициализира LargeObject API" +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Големи обекти LOB не могат да се използват в auto-commit модус." +#: org/postgresql/xa/PGXAConnection.java:307 +#, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Невъзможна комбинация: Prepare трябва да бъде издадено чрез използване на " +"същата връзка, при която е започната транзакцията. currentXid={0}, prepare " +"xid={1}" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Copying from database failed: {0}" -msgstr "Копирането от базата данни бе неуспешно: {0}" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare извикано преди края. prepare xid={0}, state={1}" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." -msgstr "Потока за копиране на данните е затворен." +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Грешка при подготвяне на транзакция. prepare xid={0}" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "Четене от копието неуспешно." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Грешка при възстановяване" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Requested CopyIn but got {0}" -msgstr "Зададено CopyIn но получено {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Грешка при възстановяване на състоянието преди подготвена транзакция. " +"rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Requested CopyOut but got {0}" -msgstr "Зададено CopyOut но получено {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/copy/CopyManager.java:75 -#, fuzzy, java-format -msgid "Requested CopyDual but got {0}" -msgstr "Зададено CopyOut но получено {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез " +"използване на същата връзка, при която е започнал" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "Няма пишещи права, за да копира байтова стойност {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit извикан преди end. commit xid={0}, state={1}" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Грешка при едно-фазов commit. commit xid={0}" -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." - -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Невъзможна комбинация: втората фаза на commit задължително трябва да бъде " +"издадена при свободна връзка. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Грешка при възстановяване на състоянието преди подготвена транзакция. commit " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Функцията {0} е неизвестна." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Евристичен commit или rollback не се поддържа. forget xid={0}" + +#~ msgid "Multi-dimensional arrays are currently not supported." +#~ msgstr "Многомерни низове не се поддържат за момента." #~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." #~ msgstr "" -#~ "Връзката отказана. Проверете дали името на хоста и порта са верни и дали " -#~ "postmaster приема ТСР / IP връзки." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Опита за връзка бе неуспешен." +#~ "Автоматично генерирани ключове се поддържат за версии на сървъра след 8.2." #~ msgid "Connection rejected: {0}." #~ msgstr "Връзката отказана: {0}." -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Неуспешен опит за стартиране на backend: {0}." - -#~ msgid "Copy not implemented for protocol version 2" -#~ msgstr "Копирането не е възможно при версия 2 на протокола" - #~ msgid "Server versions prior to 8.0 do not support savepoints." #~ msgstr "Сървър версии преди 8.0 не поддържат savepoints." -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Неочаквана грешка при декодиране на символите от голям обект LOB." +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "Клас {0} не изпълнява org.postgresql.util.PGobject." + +#~ msgid "rand function only takes zero or one argument(the seed)." +#~ msgstr "" +#~ "функцията за рандомизиране не приема аргументи или приема само един " +#~ "аргумент (seed)." + +#~ msgid "Exception: {0}" +#~ msgstr "Изключение: {0}" #~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." #~ msgstr "" -#~ "Автоматично генерирани ключове се поддържат за версии на сървъра след 8.2." +#~ "Връзката отказана. Проверете дали името на хоста и порта са верни и дали " +#~ "postmaster приема ТСР / IP връзки." #~ msgid "" #~ "Infinite value found for timestamp/date. This cannot be represented as " @@ -1757,27 +1761,31 @@ msgstr "Функцията {0} е неизвестна." #~ msgid "Server versions prior to 8.1 do not support two-phase commit." #~ msgstr "Сървър версии преди 8.1 не поддържат дву-фазов commit." -#~ msgid "Invalid flag" -#~ msgstr "Невалиден флаг" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Клас {0} не изпълнява org.postgresql.util.PGobject." +#~ msgid "Stack Trace:" +#~ msgstr "Stack Trace:" #~ msgid "Query returning autogenerated keys didn't return anything." #~ msgstr "" #~ "Заявката за автоматично генериране на ключове не предостави резултат." +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Опита за връзка бе неуспешен." + +#~ msgid "suspend/resume and join not implemented" +#~ msgstr "спиране / продължаване или съединяване не се поддържа за момента" + +#~ msgid "Invalid flag" +#~ msgstr "Невалиден флаг" + #~ msgid "The driver does not support SSL." #~ msgstr "Драйвъра не поддържа SSL." -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Многомерни низове не се поддържат за момента." - -#~ msgid "Exception: {0}" -#~ msgstr "Изключение: {0}" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Неочаквана грешка при декодиране на символите от голям обект LOB." -#~ msgid "Stack Trace:" -#~ msgstr "Stack Trace:" +#~ msgid "Copy not implemented for protocol version 2" +#~ msgstr "Копирането не е възможно при версия 2 на протокола" #~ msgid "End of Stack Trace" #~ msgstr "Край на stack trace" @@ -1785,10 +1793,5 @@ msgstr "Функцията {0} е неизвестна." #~ msgid "Exception generating stacktrace for: {0} encountered: {1}" #~ msgstr "Stacktrace изключение при генериране на: {0} възникнали: {1}" -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "" -#~ "функцията за рандомизиране не приема аргументи или приема само един " -#~ "аргумент (seed)." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "спиране / продължаване или съединяване не се поддържа за момента" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Неуспешен опит за стартиране на backend: {0}." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/cs.po b/pgjdbc/src/main/java/org/postgresql/translation/cs.po index 003e84abbb..cc87ca84a2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/cs.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2005-08-21 20:00+0200\n" "Last-Translator: Petr Dittrich \n" "Language-Team: \n" @@ -16,169 +16,117 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Chyba natn standardnho nastaven z driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Nco neobvyklho pinutilo ovlada selhat. Prosm nahlaste tuto vyjmku." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/Driver.java:416 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Nastala chyba pi nastaven SSL spojen." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +msgid "Connection attempt timed out." +msgstr "Pokus o pipojen selhal." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:429 +#, fuzzy +msgid "Interrupted while attempting to connect." +msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Metoda {0} nen implementovna." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Tento ResultSet je uzaven." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Spojen nelze vytvoit s pouitm danho protokolu {0}." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Chyba protokolu. Nastaven relace selhalo." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Pokozen funkce nebo oputn procedury na pozici {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Obdren neoekvan vsledek dotazu." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "" - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "" - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -206,28 +154,106 @@ msgstr "" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Obdren neoekvan vsledek dotazu." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "" -#: org/postgresql/core/PGStream.java:486 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "" + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Index sloupece je mimo rozsah: {0}, poet sloupc: {1}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " +"postmaster pijm TCP/IP spojen." -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Pokus o pipojen selhal." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Server nepodporuje SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Nastala chyba pi nastaven SSL spojen." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Server vyaduje oven heslem, ale dn nebylo poslno." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"Oven typu {0} nen podporovno. Zkontrolujte zda konfiguran soubor " +"pg_hba.conf obsahuje klientskou IP adresu i pods a zda je pouit " +"ovenovac schma podporovno ovladaem." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Chyba protokolu. Nastaven relace selhalo." #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -384,36 +410,27 @@ msgstr "Ovlada msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Index sloupece je mimo rozsah: {0}, poet sloupc: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -424,11 +441,6 @@ msgstr "Nespecifikov msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Pokus o pipojen selhal." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -439,164 +451,6 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Spojeni bylo uzaveno." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Vadn dlka proudu {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Vadn dlka proudu {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " -"postmaster pijm TCP/IP spojen." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Server nepodporuje SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Nastala chyba pi nastaven SSL spojen." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Server vyaduje oven heslem, ale dn nebylo poslno." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Oven typu {0} nen podporovno. Zkontrolujte zda konfiguran soubor " -"pg_hba.conf obsahuje klientskou IP adresu i pods a zda je pouit " -"ovenovac schma podporovno ovladaem." - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Spojen nelze vytvoit s pouitm danho protokolu {0}." - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"Nalezena vada ve znakovch datech. Toto me bt zpsobeno uloenmi daty " -"obsahujcmi znaky, kter jsou zvadn pro znakovou sadu nastavenou pi " -"zakldn databze. Nejznmej pklad je ukldn 8bitovch dat vSQL_ASCII " -"databzi." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Pevod penz selhal." - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -#, fuzzy -msgid "Conversion of interval failed" -msgstr "Pevod penz selhal." - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "Detail: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "Rada: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "Pozice: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Kde: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, fuzzy, java-format -msgid "Internal Position: {0}" -msgstr "Pozice: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Poloha: Soubor: {0}, Rutina: {1}, dek: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "Server SQLState: {0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource byl uzaven." - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Nepodporovan hodnota typu: {0}" - #: org/postgresql/ds/PGPooledConnection.java:118 msgid "This PooledConnection has already been closed." msgstr "Tento PooledConnection byl uzaven." @@ -615,82 +469,61 @@ msgstr "Spojeni bylo uzav msgid "Statement has been closed." msgstr "Statement byl uzaven." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Vadn dlka proudu {0}." +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource byl uzaven." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Vadn dlka proudu {0}." +msgid "Unsupported property name: {0}" +msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:86 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Nepodporovan hodnota typu: {0}" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Chyba natn standardnho nastaven z driverconfig.properties" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/fastpath/Fastpath.java:163 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/fastpath/Fastpath.java:171 +#, java-format msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Obdren vsledek, ikdy dn nebyl oekvn." + +#: org/postgresql/fastpath/Fastpath.java:196 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Nco neobvyklho pinutilo ovlada selhat. Prosm nahlaste tuto vyjmku." - -#: org/postgresql/Driver.java:416 -#, fuzzy -msgid "Connection attempt timed out." -msgstr "Pokus o pipojen selhal." - -#: org/postgresql/Driver.java:429 -#, fuzzy -msgid "Interrupted while attempting to connect." -msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metoda {0} nen implementovna." +msgid "The fastpath function {0} is unknown." +msgstr "" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "" @@ -700,186 +533,111 @@ msgstr "" msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, fuzzy, java-format -msgid "Invalid flags {0}" -msgstr "Vadn dlka proudu {0}." - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Zatek pozicovn LOB zana na 1." -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Bylo vrceno pli mnoho vsledk aktualizac." -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/BatchResultHandler.java:146 #, java-format msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "Funkce {0} bere pesn tyi argumenty." -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "Funkce {0} bere prv dva argumenty." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Selhalo vytvoen objektu: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "Funkce {0} bere jeden argument." -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Unknown XML Result class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Tento PooledConnection byl uzaven." - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "Funkce {0} bere dva nebo ti argumenty." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Funkce {0} nebere dn argument." -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 +#, fuzzy, java-format +msgid "{0} function takes three and only three arguments." +msgstr "Funkce {0} bere prv dva argumenty." -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Metoda {0} nen implementovna." #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -905,42 +663,96 @@ msgstr "Index pole mimo rozsah: {0}" msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Index pole mimo rozsah: {0}, poet prvk: {1}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Nalezena vada ve znakovch datech. Toto me bt zpsobeno uloenmi daty " +"obsahujcmi znaky, kter jsou zvadn pro znakovou sadu nastavenou pi " +"zakldn databze. Nejznmej pklad je ukldn 8bitovch dat vSQL_ASCII " +"databzi." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Bylo vrceno pli mnoho vsledk aktualizac." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement byl sputn, le nic nebylo vrceno." -#: org/postgresql/jdbc/BatchResultHandler.java:146 +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement byl sputn, le nic nebylo vrceno." + +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:272 -#, fuzzy, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "Nepodporovan hodnota typu: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Neobdren dn vsledek dotazu." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Nepodporovan hodnota typu: {0}" + +#: org/postgresql/jdbc/PgConnection.java:272 +#, fuzzy, java-format +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "Nepodporovan hodnota typu: {0}" + +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Neobdren dn vsledek dotazu." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Obdren vsledek, ikdy dn nebyl oekvn." @@ -998,8 +810,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "Nemohu peloit data do poadovanho kdovn." #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Nabran velikost mus bt nezporn." @@ -1064,114 +876,65 @@ msgstr "Nemohu vytvo msgid "Returning autogenerated keys is not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "Vcensobn ResultSet byl vrcen dotazem." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Maximln poet dek mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "asov limit dotazu mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "Maximln velikost pole mus bt nezporn slo." - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "Pkaz byl uzaven." - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "patn smr ten: {0}." - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Vrcen automaticky generovanch kl nen podporovno." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 #, fuzzy msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "Nemohu najt oid a oidvector typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "Nemohu najt nzev typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Nemohu najt nzev typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "Zatek pozicovn LOB zana na 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1249,9 +1012,9 @@ msgstr "Neo msgid "Provided Reader failed." msgstr "Selhal poskytnut Reader." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1265,8 +1028,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nemohu petypovat instanci {0} na typ {1}" @@ -1277,6 +1040,12 @@ msgstr "Nemohu p msgid "Can''t use relative move methods while on the insert row." msgstr "Nemete pouvat relativn pesuny pi vkldn dku." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "patn smr ten: {0}." + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Nemete volat cancelRowUpdates() pi vkldn dku." @@ -1312,8 +1081,8 @@ msgstr "Mus #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM tvrd, e nepodporuje kodovn: {0}" @@ -1327,7 +1096,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Nemohu volat updateRow() na vlkdanm dku." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1342,29 +1111,29 @@ msgstr "ResultSets se soub msgid "No primary key found for table {0}." msgstr "Nenalezen primrn kl pro tabulku {0}." -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "patn hodnota pro typ {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Sloupec pojmenovan {0} nebyl nalezen v ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1374,45 +1143,124 @@ msgstr "" "mus obsahovat vechny primrn kle tabulky. Koukni do JDBC 2.1 API " "Specifikace, sekce 5.6 pro vce podrobnost." -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "Tento ResultSet je uzaven." -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, java-format msgid "conversion to {0} from {1} not supported" msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Selhalo vytvoen objektu: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Tento PooledConnection byl uzaven." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Vcensobn ResultSet byl vrcen dotazem." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Maximln poet dek mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "asov limit dotazu mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "Maximln velikost pole mus bt nezporn slo." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Pkaz byl uzaven." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Vrcen automaticky generovanch kl nen podporovno." + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1427,206 +1275,370 @@ msgstr " msgid "Unsupported binary encoding of {0}." msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement byl sputn, le nic nebylo vrceno." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Vadn dlka proudu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Selhala inicializace LargeObject API" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Velk objecky nemohou bt pouity v auto-commit modu." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Nepodporovan hodnota typu: {0}" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement byl sputn, le nic nebylo vrceno." +msgid "An error occurred reading the certificate" +msgstr "Nastala chyba pi nastaven SSL spojen." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Tda SSLSocketFactory poskytla {0} co neme bt instancionizovno." + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +#, fuzzy +msgid "Conversion of interval failed" +msgstr "Pevod penz selhal." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Pevod penz selhal." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detail: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Rada: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Pozice: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Kde: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, fuzzy, java-format +msgid "Internal Position: {0}" +msgstr "Pozice: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Poloha: Soubor: {0}, Rutina: {1}, dek: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Server SQLState: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:145 -#, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "" - -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Nepodporovan hodnota typu: {0}" - -#: org/postgresql/jdbc/EscapedFunctions.java:240 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "Funkce {0} bere pesn tyi argumenty." - -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Funkce {0} bere prv dva argumenty." - -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Funkce {0} bere jeden argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Funkce {0} bere dva nebo ti argumenty." +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Funkce {0} nebere dn argument." - -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 -#, fuzzy, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Funkce {0} bere prv dva argumenty." - -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Metoda {0} nen implementovna." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Selhala inicializace LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Velk objecky nemohou bt pouity v auto-commit modu." - -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Copying from database failed: {0}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Tento ResultSet je uzaven." - -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 -#, java-format -msgid "Requested CopyDual but got {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 -#, java-format +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Obdren vsledek, ikdy dn nebyl oekvn." - -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" +#~ msgid "End of Stack Trace" +#~ msgstr "Konec vpisu zsobnku" + +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgstr "Vyjmka tvoc vpis zsobnku pro: {0} encountered: {1}" + +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Selhal start backendu: {0}." + #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " #~ "the postmaster is accepting TCP/IP connections." @@ -1641,26 +1653,6 @@ msgstr "" #~ msgid "Connection rejected: {0}." #~ msgstr "Spojen odmtnuto: {0}." -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Selhal start backendu: {0}." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Neoekvan chyba bham dekdovn znaku z velkho objektu." - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "Vrcen automaticky generovanch kl nen podporovno." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Nekonen hodnota pro timestamp/date. Toto neme reprezentovat as." - #, fuzzy #~ msgid "Server versions prior to 8.1 do not support two-phase commit." #~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." @@ -1668,29 +1660,40 @@ msgstr "" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "Tda {0} nepodporuje org.postgresql.util.PGobject." -#~ msgid "The driver does not support SSL." -#~ msgstr "Ovlada nepodporuje SSL." +#~ msgid "Stack Trace:" +#~ msgstr "Vpis zsobnku:" -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Vce-rozmrn pole nejsou nyn podporovny." +#~ msgid "Exception: {0}" +#~ msgstr "Vyjmka: {0}" #~ msgid "rand function only takes zero or one argument(the seed)." #~ msgstr "Funkce rand bere dn nebo jen jeden argument(seed)." -#~ msgid "Exception: {0}" -#~ msgstr "Vyjmka: {0}" +#~ msgid "Multi-dimensional arrays are currently not supported." +#~ msgstr "Vce-rozmrn pole nejsou nyn podporovny." -#~ msgid "Stack Trace:" -#~ msgstr "Vpis zsobnku:" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." -#~ msgid "End of Stack Trace" -#~ msgstr "Konec vpisu zsobnku" +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Nekonen hodnota pro timestamp/date. Toto neme reprezentovat as." -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Vyjmka tvoc vpis zsobnku pro: {0} encountered: {1}" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "Neoekvan chyba bham dekdovn znaku z velkho objektu." #~ msgid "" #~ "PostgreSQL only supports a single OUT function return value at index 1." #~ msgstr "" #~ "PostgreSQL podporuje pouze funkce s jednou navratovou hodnotou na indexu " #~ "1." + +#~ msgid "The driver does not support SSL." +#~ msgstr "Ovlada nepodporuje SSL." + +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "Vrcen automaticky generovanch kl nen podporovno." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/de.po b/pgjdbc/src/main/java/org/postgresql/translation/de.po index a684dbc2c2..3e64ec4323 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/de.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-09-12 14:22+0200\n" "Last-Translator: Andre Bialojahn \n" "Language-Team: Deutsch\n" @@ -20,159 +20,120 @@ msgstr "" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Fehler beim Laden der Voreinstellungen aus driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus " +"verhindert. Sie mssen wahrscheinlich der Verbindung zum Datenbankrechner " +"java.net.SocketPermission gewhren, um den Rechner auf dem gewhlten Port zu " +"erreichen." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Etwas Ungewhnliches ist passiert, das den Treiber fehlschlagen lie. Bitte " +"teilen Sie diesen Fehler mit." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Keine Verbindung innerhalb des Zeitintervalls mglich." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Die Methode {0} ist noch nicht implementiert." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." +msgid "Copying from database failed: {0}" +msgstr "Konnte {0} nicht in Typ box umwandeln" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Dieses ResultSet ist geschlossen." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "A connection could not be made using the requested protocol {0}." msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." +"Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt " +"werden." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "oid type {0} not known and not a number" msgstr "" -"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " -"instanziiert werden." -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, " +"jedoch nur {1} gelesen." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Protokollfehler. Die Sitzung konnte nicht gestartet werden." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "" +msgid "Expected an EOF from server, got: {0}" +msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" "Unzulssige Syntax fr ein Funktions- oder Prozedur-Escape an Offset {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Eine Abfrage lieferte ein unerwartetes Resultat." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." @@ -180,18 +141,6 @@ msgstr "" "Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " "instanziiert werden." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "Stringparameter drfen keine Nullbytes enthalten." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Nullbytes drfen in Bezeichnern nicht vorkommen." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -224,63 +173,144 @@ msgstr "" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "Ungltige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Eine Abfrage lieferte ein unerwartetes Resultat." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Stringparameter drfen keine Nullbytes enthalten." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, " -"jedoch nur {1} gelesen." -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Nullbytes drfen in Bezeichnern nicht vorkommen." -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" +"Der Spaltenindex {0} ist auerhalb des gltigen Bereichs. Anzahl Spalten: " +"{1}." -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " +"Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -#, fuzzy -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "Der Anweisung konnten keine Parameterwerte zugewiesen werden." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 -#: org/postgresql/util/StreamWrapper.java:130 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Der Verbindungsversuch schlug fehl." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Der Server untersttzt SSL nicht." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein " +"Passwort angegeben." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Der Authentifizierungstyp {0} wird nicht untersttzt. Stellen Sie sicher, " +"dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients " +"enthlt und dass der Client ein Authentifizierungsschema nutzt, das vom " +"Treiber untersttzt wird." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Protokollfehler. Die Sitzung konnte nicht gestartet werden." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#, fuzzy +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "Der Anweisung konnten keine Parameterwerte zugewiesen werden." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen." #: org/postgresql/core/v3/QueryExecutorImpl.java:581 #: org/postgresql/jdbc/PgResultSet.java:1778 @@ -409,7 +439,7 @@ msgstr "" "Der Updatecount aus der Kommandovervollstndigungsmarkierung(?) {0} konnte " "nicht interpretiert werden." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -419,7 +449,7 @@ msgstr "" "Der JDBC-Treiber setzt fr korrektes Funktionieren die Einstellung UNICODE " "voraus." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -429,7 +459,7 @@ msgstr "" "JDBC-Treiber setzt fr korrekte Funktion voraus, dass ''Date Style'' mit " "''ISO'' beginnt." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -438,17 +468,6 @@ msgstr "" "Der standard_conforming_strings Parameter des Servers steht auf {0}. Der " "JDBC-Treiber erwartete on oder off." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "" -"Der Spaltenindex {0} ist auerhalb des gltigen Bereichs. Anzahl Spalten: " -"{1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -461,11 +480,6 @@ msgstr "" "Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " "Parameter." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Der Verbindungsversuch schlug fehl." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -476,467 +490,211 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Die Verbindung wurde geschlossen." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Diese PooledConnection ist bereits geschlossen worden." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." +msgstr "" +"Die Verbindung wurde automatisch geschlossen, da entweder eine neue " +"Verbindung fr die gleiche PooledConnection geffnet wurde, oder die " +"PooledConnection geschlossen worden ist.." + +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Die Verbindung wurde geschlossen." + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Die Anweisung wurde geschlossen." + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Die Datenquelle wurde geschlossen." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." +msgid "Unsupported property name: {0}" +msgstr "Unbekannter Typ: {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " -"Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Der Server untersttzt SSL nicht." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"The server requested password-based authentication, but no password was " -"provided." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein " -"Passwort angegeben." +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Der Authentifizierungstyp {0} wird nicht untersttzt. Stellen Sie sicher, " -"dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients " -"enthlt und dass der Client ein Authentifizierungsschema nutzt, das vom " -"Treiber untersttzt wird." +"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " +"erwartet." -#: org/postgresql/core/ConnectionFactory.java:57 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "" -"Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt " -"werden." +msgid "The fastpath function {0} is unknown." +msgstr "Die Fastpath-Funktion {0} ist unbekannt." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "" +msgid "Conversion to type {0} failed: {1}." +msgstr "Die Umwandlung in den Typ {0} schlug fehl: {1}." -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +#: org/postgresql/geometric/PGpath.java:70 +#, java-format +msgid "Cannot tell if path is open or closed: {0}." msgstr "" -"Ungltige Zeichendaten. Das ist hchstwahrscheinlich von in der Datenbank " -"gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung " -"vorliegen, als die, in der die Datenbank erstellt wurde. Das hufigste " -"Beispiel dafr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Die Umwandlung eines Whrungsbetrags schlug fehl." +"Es konnte nicht ermittelt werden, ob der Pfad offen oder geschlossen ist: " +"{0}." -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Die Umwandlung eines Intervalls schlug fehl." - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" +"Das Abschneiden groer Objekte ist nur in Versionen nach 8.3 implementiert." -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "Detail: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Hint: {0}" -msgstr "Hinweis: {0}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "LOBs in PostgreSQL knnen nur auf {0} verweisen." -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "Position: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Positionsoffsets fr LOBs beginnen bei 1." -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Wobei: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Interne Abfrage: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "Interne Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Ort: Datei: {0}, Routine: {1}, Zeile: {2}." - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "Server SQLState: {0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Die Datenquelle wurde geschlossen." - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Unbekannter Typ: {0}." - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Diese PooledConnection ist bereits geschlossen worden." - -#: org/postgresql/ds/PGPooledConnection.java:314 -msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." -msgstr "" -"Die Verbindung wurde automatisch geschlossen, da entweder eine neue " -"Verbindung fr die gleiche PooledConnection geffnet wurde, oder die " -"PooledConnection geschlossen worden ist.." - -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Die Verbindung wurde geschlossen." - -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Die Anweisung wurde geschlossen." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Ungltige Lnge des Datenstroms: {0}." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 -#, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() wurde bereits fr dieses LOB aufgerufen." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Zu viele Updateergebnisse wurden zurckgegeben." -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/jdbc/BatchResultHandler.java:146 #, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Unbekannter Typ: {0}." - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Fehler beim Laden der Voreinstellungen aus driverconfig.properties" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" -"Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus " -"verhindert. Sie mssen wahrscheinlich der Verbindung zum Datenbankrechner " -"java.net.SocketPermission gewhren, um den Rechner auf dem gewhlten Port zu " -"erreichen." - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Etwas Ungewhnliches ist passiert, das den Treiber fehlschlagen lie. Bitte " -"teilen Sie diesen Fehler mit." - -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Keine Verbindung innerhalb des Zeitintervalls mglich." - -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." - -#: org/postgresql/Driver.java:682 -#, java-format -msgid "Method {0} is not yet implemented." -msgstr "Die Methode {0} ist noch nicht implementiert." - -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 -#, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Die Umwandlung in den Typ {0} schlug fehl: {1}." +"Batch-Eintrag {0} {1} wurde abgebrochen. Rufen Sie ''getNextException'' " +"auf, um die Ursache zu erfahren." -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "" -"Es konnte nicht ermittelt werden, ob der Pfad offen oder geschlossen ist: " -"{0}." - -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, fuzzy, java-format -msgid "Invalid flags {0}" -msgstr "Ungltige Flags" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "Die xid darf nicht null sein." - -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "Die Verbindung ist derzeit mit einer anderen Transaktion beschftigt." - -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "Anhalten/Fortsetzen ist nicht implementiert." - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "Fehler beim Abschalten von Autocommit." - -#: org/postgresql/xa/PGXAConnection.java:261 -#, fuzzy, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" -"Es wurde versucht, ohne dazugehrigen ''start''-Aufruf ''end'' aufzurufen." +msgid "{0} function takes four and only four argument." +msgstr "Die {0}-Funktion erwartet genau vier Argumente." -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "Die {0}-Funktion erwartet genau zwei Argumente." -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:307 -#, fuzzy, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" -"Nicht implementiert: ''Prepare'' muss ber die selbe Verbindung abgesetzt " -"werden, die die Transaktion startete." - -#: org/postgresql/xa/PGXAConnection.java:311 -#, fuzzy, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "''Prepare'' wurde vor ''end'' aufgerufen." - -#: org/postgresql/xa/PGXAConnection.java:331 -#, fuzzy, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Beim Vorbereiten der Transaktion trat ein Fehler auf." - -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Beim Wiederherstellen trat ein Fehler auf." - -#: org/postgresql/xa/PGXAConnection.java:438 -#, fuzzy, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." +msgid "{0} function takes one and only one argument." +msgstr "Die {0}-Funktion erwartet nur genau ein Argument." -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" -msgstr "" -"Nicht implementiert: Die einphasige Besttigung muss ber die selbe " -"Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen." +msgid "{0} function takes two or three arguments." +msgstr "Die {0}-Funktion erwartet zwei oder drei Argumente." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:487 -#, fuzzy, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "''Commit'' wurde vor ''end'' aufgerufen." - -#: org/postgresql/xa/PGXAConnection.java:498 -#, fuzzy, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Bei der einphasigen Besttigung trat ein Fehler auf." - -#: org/postgresql/xa/PGXAConnection.java:517 -#, fuzzy -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" -"Nicht implementiert: Die zweite Besttigungsphase muss ber eine im Leerlauf " -"befindliche Verbindung abgewickelt werden." - -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." - -#: org/postgresql/xa/PGXAConnection.java:567 -#, fuzzy, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "Die {0}-Funktion akzeptiert kein Argument." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Erstellung des Objektes schlug fehl fr: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Diese PooledConnection ist bereits geschlossen worden." - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "Die {0}-Funktion erwartet genau drei Argumente." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "Intervall {0} ist noch nicht implementiert." #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -965,25 +723,87 @@ msgstr "" "Der Arrayindex {0} ist auerhalb des gltigen Bereichs. Vorhandene Elemente: " "{1}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Ungltige Zeichendaten. Das ist hchstwahrscheinlich von in der Datenbank " +"gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung " +"vorliegen, als die, in der die Datenbank erstellt wurde. Das hufigste " +"Beispiel dafr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen." + +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Ein CallableStatement wurde ausgefhrt ohne etwas zurckzugeben." + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "" +"Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgefhrt." + +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -"Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " -"Parameter." +"Eine CallableStatement-Funktion wurde ausgefhrt und der Rckgabewert {0} " +"war vom Typ {1}. Jedoch wurde der Typ {2} dafr registriert." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Zu viele Updateergebnisse wurden zurckgegeben." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= " +"call ... '}' um das zu tun." -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" +"wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde." + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"Batch-Eintrag {0} {1} wurde abgebrochen. Rufen Sie ''getNextException'' " -"auf, um die Ursache zu erfahren." +"Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf " +"get{1} (sqltype={2})." + +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"Ein CallableStatement wurde deklariert, aber kein Aufruf von " +"''registerOutParameter(1, )'' erfolgte." + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +#, fuzzy +msgid "No function outputs were registered." +msgstr "Es wurden keine Funktionsausgaben registriert." + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" +"Ergebnisse knnen nicht von einem CallableStatement abgerufen werden, bevor " +"es ausgefhrt wurde." + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Unbekannter Typ: {0}." #: org/postgresql/jdbc/PgConnection.java:272 #, java-format @@ -991,6 +811,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nichtuntersttzter Wert fr den Stringparameter: {0}" #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -999,7 +820,6 @@ msgstr "Nichtunterst #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Die Abfrage lieferte kein Ergebnis." @@ -1068,8 +888,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "Die Daten konnten nicht in die gewnschte Kodierung gewandelt werden." #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Die Fetch-Gre muss ein Wert grer oder gleich Null sein." @@ -1125,52 +945,16 @@ msgstr "" msgid "Unknown ResultSet holdability setting: {0}." msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." -msgstr "Ein Rettungspunkt kann im Modus ''auto-commit'' nicht erstellt werden." - -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," - -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "Die Abfrage ergab mehrere ResultSets." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Die maximale Zeilenzahl muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "Die maximale Feldgre muss ein Wert grer oder gleich Null sein." - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "Die Anweisung wurde geschlossen." - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Unzulssige Richtungskonstante bei fetch: {0}." +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "Ein Rettungspunkt kann im Modus ''auto-commit'' nicht erstellt werden." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -1178,73 +962,62 @@ msgstr "" "Es konnte kein Wert fr MaxIndexKeys gefunden werden, da die " "Systemkatalogdaten fehlen." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "" "In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." msgstr "" +"In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Das Abschneiden groer Objekte ist nur in Versionen nach 8.3 implementiert." - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "LOBs in PostgreSQL knnen nur auf {0} verweisen." - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "Positionsoffsets fr LOBs beginnen bei 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "free() wurde bereits fr dieses LOB aufgerufen." +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "" +"Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " +"Parameter." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1330,9 +1103,9 @@ msgstr "" msgid "Provided Reader failed." msgstr "Der bereitgestellte Reader scheiterte." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1348,8 +1121,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." @@ -1361,6 +1134,12 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" "Relative Bewegungen knnen in der Einfgezeile nicht durchgefhrt werden." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Unzulssige Richtungskonstante bei fetch: {0}." + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" @@ -1401,8 +1180,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "Die JVM behauptet, die Zeichenkodierung {0} nicht zu untersttzen." @@ -1416,7 +1195,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "''updateRow()'' kann in der Einfgezeile nicht aufgerufen werden." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1435,29 +1214,29 @@ msgstr "" msgid "No primary key found for table {0}." msgstr "Fr die Tabelle {0} konnte kein Primrschlssel gefunden werden." -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Unzulssiger Wert fr den Typ {0} : {1}." -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Der Spaltenname {0} wurde in diesem ResultSet nicht gefunden." -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1467,48 +1246,127 @@ msgstr "" "darf nur eine Tabelle und muss darin alle Primrschlssel auswhlen. Siehe " "JDBC 2.1 API-Spezifikation, Abschnitt 5.6 fr mehr Details." -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "Dieses ResultSet ist geschlossen." -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Das ResultSet ist nicht richtig positioniert. Eventuell muss ''next'' " "aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 #, fuzzy msgid "Invalid UUID data." msgstr "Ungltiges Flag." -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Die Transaktions-Trennungsstufe {0} ist nicht untersttzt." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Erstellung des Objektes schlug fehl fr: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Diese PooledConnection ist bereits geschlossen worden." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Die Abfrage ergab mehrere ResultSets." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Die maximale Zeilenzahl muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "Die maximale Feldgre muss ein Wert grer oder gleich Null sein." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Die Anweisung wurde geschlossen." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1523,296 +1381,395 @@ msgstr "Unzul msgid "Unsupported binary encoding of {0}." msgstr "Unbekannter Typ: {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Ein CallableStatement wurde ausgefhrt ohne etwas zurckzugeben." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Ungltige Lnge des Datenstroms: {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Die LargeObject-API konnte nicht initialisiert werden." + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "" +"LargeObjects (LOB) drfen im Modus ''auto-commit'' nicht verwendet werden." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Unbekannter Typ: {0}." + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -"Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgefhrt." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Eine CallableStatement-Funktion wurde ausgefhrt und der Rckgabewert {0} " -"war vom Typ {1}. Jedoch wurde der Typ {2} dafr registriert." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." msgstr "" -"Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= " -"call ... '}' um das zu tun." -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -"wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" +"Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht " +"instanziiert werden." + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf " -"get{1} (sqltype={2})." -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Ein CallableStatement wurde deklariert, aber kein Aufruf von " -"''registerOutParameter(1, )'' erfolgte." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -#, fuzzy -msgid "No function outputs were registered." -msgstr "Es wurden keine Funktionsausgaben registriert." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -"Ergebnisse knnen nicht von einem CallableStatement abgerufen werden, bevor " -"es ausgefhrt wurde." -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Unbekannter Typ: {0}." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Die Umwandlung eines Intervalls schlug fehl." -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Die Umwandlung eines Whrungsbetrags schlug fehl." + +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Die {0}-Funktion erwartet genau vier Argumente." +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Die {0}-Funktion erwartet genau zwei Argumente." +msgid "Detail: {0}" +msgstr "Detail: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Die {0}-Funktion erwartet nur genau ein Argument." +msgid "Hint: {0}" +msgstr "Hinweis: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Die {0}-Funktion erwartet zwei oder drei Argumente." +msgid "Position: {0}" +msgstr "Position: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Die {0}-Funktion akzeptiert kein Argument." +msgid "Where: {0}" +msgstr "Wobei: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Die {0}-Funktion erwartet genau drei Argumente." +msgid "Internal Query: {0}" +msgstr "Interne Abfrage: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Intervall {0} ist noch nicht implementiert." +msgid "Internal Position: {0}" +msgstr "Interne Position: {0}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Ort: Datei: {0}, Routine: {1}, Zeile: {2}." -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Die LargeObject-API konnte nicht initialisiert werden." +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Server SQLState: {0}" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -"LargeObjects (LOB) drfen im Modus ''auto-commit'' nicht verwendet werden." -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Konnte {0} nicht in Typ box umwandeln" +msgid "Invalid flags {0}" +msgstr "Ungltige Flags" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Dieses ResultSet ist geschlossen." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "Die xid darf nicht null sein." -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Die Verbindung ist derzeit mit einer anderen Transaktion beschftigt." -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "Anhalten/Fortsetzen ist nicht implementiert." + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Fehler beim Abschalten von Autocommit." + +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"Es wurde versucht, ohne dazugehrigen ''start''-Aufruf ''end'' aufzurufen." -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:307 +#, fuzzy, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"Nicht implementiert: ''Prepare'' muss ber die selbe Verbindung abgesetzt " +"werden, die die Transaktion startete." + +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "''Prepare'' wurde vor ''end'' aufgerufen." -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:331 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Beim Vorbereiten der Transaktion trat ein Fehler auf." -#: org/postgresql/fastpath/Fastpath.java:157 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Beim Wiederherstellen trat ein Fehler auf." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:438 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " -"erwartet." +"Nicht implementiert: Die einphasige Besttigung muss ber die selbe " +"Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen." -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Die Fastpath-Funktion {0} ist unbekannt." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und " -#~ "der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Der Verbindungsversuch schlug fehl." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Verbindung abgewiesen: {0}." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Das Backend konnte nicht gestartet werden: {0}." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Der Server untersttzt keine Rettungspunkte vor Version 8.0." +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "''Commit'' wurde vor ''end'' aufgerufen." -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "Ein unerwarteter Fehler trat beim Dekodieren von Zeichen aus einem " -#~ "LargeObject (LOB) auf." +#: org/postgresql/xa/PGXAConnection.java:498 +#, fuzzy, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Bei der einphasigen Besttigung trat ein Fehler auf." +#: org/postgresql/xa/PGXAConnection.java:517 #, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Nicht implementiert: Die zweite Besttigungsphase muss ber eine im Leerlauf " +"befindliche Verbindung abgewickelt werden." -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Fr den Zeitstempel oder das Datum wurde der Wert ''unendlich'' gefunden. " -#~ "Dies kann nicht als Zeit reprsentiert werden." +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." -#~ msgid "Transaction interleaving not implemented" -#~ msgstr "Transaktionsinterleaving ist nicht implementiert." +#: org/postgresql/xa/PGXAConnection.java:567 +#, fuzzy, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." #~ msgid "Server versions prior to 8.1 do not support two-phase commit." #~ msgstr "" #~ "Der Server untersttzt keine zweiphasige Besttigung vor Version 8.1." -#~ msgid "Invalid flag" -#~ msgstr "Ungltiges Flag." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" #~ msgstr "" -#~ "Die Klasse {0} implementiert nicht ''org.postgresql.util.PGobject''." +#~ "Beim Erstellen eines Stack-Traces fr {0} trat eine Exception auf: {1}" -#~ msgid "The driver does not support SSL." -#~ msgstr "Der Treiber untersttzt SSL nicht." +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Das Backend konnte nicht gestartet werden: {0}." #~ msgid "Exception: {0}" #~ msgstr "Exception: {0}." -#~ msgid "Stack Trace:" -#~ msgstr "Stack-Trace:" - -#~ msgid "End of Stack Trace" -#~ msgstr "Ende des Stack-Traces." +#, fuzzy +#~ msgid "Conversion of line failed: {0}." +#~ msgstr "Konnte {0} nicht in Typ line umwandeln" -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "" -#~ "Beim Erstellen eines Stack-Traces fr {0} trat eine Exception auf: {1}" +#~ msgid "The driver does not support SSL." +#~ msgstr "Der Treiber untersttzt SSL nicht." #~ msgid "Multi-dimensional arrays are currently not supported." #~ msgstr "Mehrdimensionale Arrays werden derzeit nicht untersttzt." @@ -1822,30 +1779,50 @@ msgstr "Die Fastpath-Funktion {0} ist unbekannt." #~ "Die Funktion ''rand'' erwartet kein oder genau ein Argument (den " #~ "''seed'')." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und " +#~ "der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." + #~ msgid "suspend/resume and join not implemented" #~ msgstr "Anhalten/Fortsetzen und Join sind nicht implementiert." -#~ msgid "" -#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." -#~ "OTHER) instead." +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "" -#~ "''setNull(i, Types.OTHER)'' wird nicht untersttzt; benutzen Sie " -#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." +#~ "Die Klasse {0} implementiert nicht ''org.postgresql.util.PGobject''." -#~ msgid "" -#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " -#~ "setObject(i,null,type)" +#, fuzzy +#~ msgid "Conversion of circle failed: {0}." +#~ msgstr "Konnte {0} nicht in Typ circle umwandeln" + +#~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "" -#~ "''setObejct(i, null)'' ist nicht untersttzt. Benutzen Sie ''setNull(i, " -#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." +#~ "Ein unerwarteter Fehler trat beim Dekodieren von Zeichen aus einem " +#~ "LargeObject (LOB) auf." #~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." #~ msgstr "" -#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " -#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " -#~ "konfiguriert werden." +#~ "Fr den Zeitstempel oder das Datum wurde der Wert ''unendlich'' gefunden. " +#~ "Dies kann nicht als Zeit reprsentiert werden." + +#, fuzzy +#~ msgid "Bad float: {0}" +#~ msgstr "Ungltiges Format fr Float: {0}" + +#, fuzzy +#~ msgid "Bad double: {0}" +#~ msgstr "Ungltiges Format fr Double: {0}" + +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Der Server untersttzt keine Rettungspunkte vor Version 8.0." + +#, fuzzy +#~ msgid "Bad byte: {0}" +#~ msgstr "Ungltiges Format fr Byte: {0}" #~ msgid "" #~ "PostgreSQL only supports a single OUT function return value at index 1." @@ -1853,50 +1830,77 @@ msgstr "Die Fastpath-Funktion {0} ist unbekannt." #~ "PostgreSQL untersttzt auf dem Index 1 nur einen einzigen Rckgabewert " #~ "fr die OUT-Funktion." +#~ msgid "Stack Trace:" +#~ msgstr "Stack-Trace:" + +#~ msgid "End of Stack Trace" +#~ msgstr "Ende des Stack-Traces." + +#~ msgid "Invalid flag" +#~ msgstr "Ungltiges Flag." + #, fuzzy -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ circle umwandeln" +#~ msgid "Bad date: {0}" +#~ msgstr "Ungltiges Format fr Byte: {0}" #, fuzzy -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ line umwandeln" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," #, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ point umwandeln" +#~ msgid "Bad BigDecimal: {0}" +#~ msgstr "Ungltiges Format fr BigDecimal: {0}" #, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Die Abfrage ergab kein Ergebnis." +#~ msgid "The connection url is invalid." +#~ msgstr "Der Verbindungsversuch schlug fehl." #, fuzzy -#~ msgid "Bad byte: {0}" -#~ msgstr "Ungltiges Format fr Byte: {0}" +#~ msgid "Bad long: {0}" +#~ msgstr "Ungltiges Format fr Long: {0}" #, fuzzy #~ msgid "Bad short: {0}" #~ msgstr "Ungltiges Format fr Short: {0}" +#~ msgid "Transaction interleaving not implemented" +#~ msgstr "Transaktionsinterleaving ist nicht implementiert." + #, fuzzy -#~ msgid "Bad int: {0}" -#~ msgstr "Ungltiges Format fr Long: {0}" +#~ msgid "Conversion of point failed: {0}." +#~ msgstr "Konnte {0} nicht in Typ point umwandeln" + +#~ msgid "" +#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " +#~ "setObject(i,null,type)" +#~ msgstr "" +#~ "''setObejct(i, null)'' ist nicht untersttzt. Benutzen Sie ''setNull(i, " +#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." #, fuzzy -#~ msgid "Bad long: {0}" +#~ msgid "Bad int: {0}" #~ msgstr "Ungltiges Format fr Long: {0}" -#, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Ungltiges Format fr BigDecimal: {0}" +#~ msgid "" +#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " +#~ "must be configured with registerOutParameter instead." +#~ msgstr "" +#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " +#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " +#~ "konfiguriert werden." #, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Ungltiges Format fr Float: {0}" +#~ msgid "No results where returned by the query." +#~ msgstr "Die Abfrage ergab kein Ergebnis." -#, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Ungltiges Format fr Double: {0}" +#~ msgid "Connection rejected: {0}." +#~ msgstr "Verbindung abgewiesen: {0}." -#, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Ungltiges Format fr Byte: {0}" +#~ msgid "" +#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." +#~ "OTHER) instead." +#~ msgstr "" +#~ "''setNull(i, Types.OTHER)'' wird nicht untersttzt; benutzen Sie " +#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/es.po b/pgjdbc/src/main/java/org/postgresql/translation/es.po index 99151a7f8f..a7978a4d6e 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/es.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/es.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC PostgreSQL Driver\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-22 16:51-0300\n" "Last-Translator: Diego Gil \n" "Language-Team: \n" @@ -15,155 +15,144 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Spanish\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Algo inusual ha ocurrido que provocó un fallo en el controlador. Por favor " +"reporte esta excepción." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/Driver.java:416 #, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." +msgid "Connection attempt timed out." +msgstr "El intento de conexión falló." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:429 +#, fuzzy +msgid "Interrupted while attempting to connect." +msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:682 +#, fuzzy, java-format +msgid "Method {0} is not yet implemented." +msgstr "Este método aún no ha sido implementado." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +#: org/postgresql/core/ConnectionFactory.java:57 +#, fuzzy, java-format +msgid "A connection could not be made using the requested protocol {0}." +msgstr "No se pudo hacer una conexión para el protocolo solicitado {0}." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se " +"leyeron {1}." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "SSL error: {0}" +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Una consulta retornó un resultado inesperado." + +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Error de protocolo. Falló el inicio de la sesión." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 +#, java-format +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -178,57 +167,98 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:28 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" +"El índice de la columna está fuera de rango: {0}, número de columnas: {1}." -#: org/postgresql/core/UTF8Encoding.java:66 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:135 -#, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Conexión rechazada. Verifique que el nombre del Host y el puerto sean " +"correctos y que postmaster este aceptando conexiones TCP/IP." -#: org/postgresql/core/UTF8Encoding.java:151 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "El intento de conexión falló." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Una consulta retornó un resultado inesperado." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Este servidor no soporta SSL." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -"Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se " -"leyeron {1}." +"El servidor requiere autenticación basada en contraseña, pero no se ha " +"provisto ninguna contraseña." -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, fuzzy, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"El tipo de autenticación {0} no es soportada. Verifique que ha configurado " +"el archivo pg_hba.conf para incluir las direcciones IP de los clientes o la " +"subred, y que está usando un esquema de autenticación soportado por el " +"driver." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Error de protocolo. Falló el inicio de la sesión." #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -385,37 +415,27 @@ msgstr "" msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "" -"El índice de la columna está fuera de rango: {0}, número de columnas: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -427,11 +447,6 @@ msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" "El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "El intento de conexión falló." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -442,164 +457,8 @@ msgstr "" msgid "This replication stream has been closed." msgstr "El intento de conexión falló." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, java-format -msgid "Invalid sslmode value: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Conexión rechazada. Verifique que el nombre del Host y el puerto sean " -"correctos y que postmaster este aceptando conexiones TCP/IP." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Este servidor no soporta SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "" -"El servidor requiere autenticación basada en contraseña, pero no se ha " -"provisto ninguna contraseña." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, fuzzy, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"El tipo de autenticación {0} no es soportada. Verifique que ha configurado " -"el archivo pg_hba.conf para incluir las direcciones IP de los clientes o la " -"subred, y que está usando un esquema de autenticación soportado por el " -"driver." - -#: org/postgresql/core/ConnectionFactory.java:57 -#, fuzzy, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "No se pudo hacer una conexión para el protocolo solicitado {0}." - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "" - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState del servidor: {0}." - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "" - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, java-format -msgid "Unsupported property name: {0}" -msgstr "" - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." msgstr "" #: org/postgresql/ds/PGPooledConnection.java:314 @@ -617,273 +476,177 @@ msgstr "Conexión rechazada: {0}." msgid "Statement has been closed." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, java-format -msgid "Invalid server-first-message: {0}" +msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/fastpath/Fastpath.java:86 #, java-format -msgid "Invalid server-final-message: {0}" +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:171 #, java-format -msgid "Unsupported properties: {0}" -msgstr "" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Algo inusual ha ocurrido que provocó un fallo en el controlador. Por favor " -"reporte esta excepción." - -#: org/postgresql/Driver.java:416 -#, fuzzy -msgid "Connection attempt timed out." -msgstr "El intento de conexión falló." - -#: org/postgresql/Driver.java:429 -#, fuzzy -msgid "Interrupted while attempting to connect." -msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:188 #, fuzzy, java-format -msgid "Method {0} is not yet implemented." -msgstr "Este método aún no ha sido implementado." - -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 -#, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "" - -#: org/postgresql/geometric/PGpath.java:70 -#, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -#, fuzzy -msgid "suspend/resume not implemented" -msgstr "Este método aún no ha sido implementado." - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "" +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Se retornó un resultado cuando no se esperaba ninguno." -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/fastpath/Fastpath.java:196 #, java-format msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "The fastpath function {0} is unknown." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgid "Conversion to type {0} failed: {1}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" +msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 -#, java-format -msgid "Error during one-phase commit. commit xid={0}" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 -#, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -#, java-format -msgid "Unknown XML Source class: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:193 +#: org/postgresql/jdbc/BatchResultHandler.java:92 #, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Fallo al crear objeto: {0}." +msgid "Too many update results were returned." +msgstr "La consulta no retornó ningún resultado." -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format +msgid "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Unknown XML Result class: {0}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." +#: org/postgresql/jdbc/EscapedFunctions.java:240 +#, java-format +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 +#, java-format +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 +#, java-format +msgid "{0} function takes three and only three arguments." +msgstr "" + +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Este método aún no ha sido implementado." + #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 #: org/postgresql/jdbc/PSQLSavepoint.java:69 @@ -909,22 +672,69 @@ msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" "El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, fuzzy, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -#, fuzzy -msgid "Too many update results were returned." -msgstr "La consulta no retornó ningún resultado." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:146 +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, java-format +msgid "Unsupported type conversion to {1}." msgstr "" #: org/postgresql/jdbc/PgConnection.java:272 @@ -933,6 +743,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "" #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -941,7 +752,6 @@ msgstr "" #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "La consulta no retornó ningún resultado." @@ -1003,8 +813,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" @@ -1067,112 +877,64 @@ msgstr "" msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 #: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, fuzzy, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" +"El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1250,9 +1012,9 @@ msgstr "" msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1266,8 +1028,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1278,6 +1040,12 @@ msgstr "" msgid "Can''t use relative move methods while on the insert row." msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" @@ -1312,8 +1080,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1327,7 +1095,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1342,284 +1110,518 @@ msgstr "" msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Fallo al crear objeto: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, java-format +msgid "Invalid server-first-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, java-format +msgid "Invalid server-final-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, java-format +msgid "Unsupported properties: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "conversion to {0} from {1} not supported" +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "Unsupported binary encoding of {0}." +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 -#, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "Unsupported type conversion to {1}." +msgid "Where: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes four and only four argument." +msgid "Internal Query: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Internal Position: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} function takes one and only one argument." +msgid "Location: File: {0}, Routine: {1}, Line: {2}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Server SQLState: {0}" +msgstr "SQLState del servidor: {0}." + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 -#, java-format -msgid "{0} function takes three and only three arguments." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +#, fuzzy +msgid "suspend/resume not implemented" msgstr "Este método aún no ha sido implementado." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:307 +#, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Se retornó un resultado cuando no se esperaba ninguno." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" #~ msgid "" @@ -1629,18 +1631,18 @@ msgstr "" #~ "Conexión rechazada. Verifique que el nombre del Host y el puerto sean " #~ "correctos y que postmaster este aceptando conexiones TCP/IP." +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "La clase {0} no implementa org.postgresql.util.PGobject." + #, fuzzy #~ msgid "The connection url is invalid." #~ msgstr "El intento de conexión falló." -#~ msgid "Connection rejected: {0}." -#~ msgstr "Conexión rechazada: {0}." +#~ msgid "The driver does not support SSL." +#~ msgstr "Este driver no soporta SSL." #~ msgid "Backend start-up failed: {0}." #~ msgstr "Falló el arranque del Backend: {0}. " -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La clase {0} no implementa org.postgresql.util.PGobject." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Este driver no soporta SSL." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Conexión rechazada: {0}." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/fr.po b/pgjdbc/src/main/java/org/postgresql/translation/fr.po index 09e0c322ab..e3169cc608 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/fr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2007-07-27 12:27+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,173 +19,121 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" +"Erreur de chargement des valeurs par dfaut depuis driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" -"Une erreur s''est produite pendant l''tablissement de la connexion SSL." +"Quelque chose d''inhabituel a provoqu l''chec du pilote. Veuillez faire un " +"rapport sur cette erreur." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "La tentative de connexion a chou dans le dlai imparti." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Interrompu pendant l''tablissement de la connexion." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "La fonction {0} n''est pas encore implmente." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Ce ResultSet est ferm." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "A connection could not be made using the requested protocol {0}." msgstr "" +"Aucune connexion n''a pu tre tablie en utilisant le protocole demand {0}. " -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." - -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Fin prmature du flux en entre, {0} octets attendus, mais seulement {1} " +"lus." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Erreur de protocole. Ouverture de la session en chec." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "" +msgid "Expected an EOF from server, got: {0}" +msgstr "Attendait une fin de fichier du serveur, reu: {0}" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" "Syntaxe de fonction ou d''chappement de procdure malforme l''indice {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Un rsultat inattendu a t retourn par une requte." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "" -"Zro octets ne devrait pas se produire dans les paramtres de type chane de " -"caractres." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Des octects 0 ne devraient pas apparatre dans les identifiants." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -219,49 +167,132 @@ msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" "Squence UTF-8 illgale: la valeur finale est une valeur de remplacement: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Un rsultat inattendu a t retourn par une requte." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "" +"Zro octets ne devrait pas se produire dans les paramtres de type chane de " +"caractres." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Fin prmature du flux en entre, {0} octets attendus, mais seulement {1} " -"lus." -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Des octects 0 ne devraient pas apparatre dans les identifiants." + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Attendait une fin de fichier du serveur, reu: {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "" +"L''indice de la colonne est hors limite: {0}, nombre de colonnes: {1}." -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Longueur de flux invalide {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " +"et que postmaster accepte les connexions TCP/IP." -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "La tentative de connexion a chou." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Le serveur ne supporte pas SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." msgstr "" +"Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" +"Le serveur a demand une authentification par mots de passe, mais aucun mot " +"de passe n''a t fourni." -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -#, fuzzy -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "Interrompu pendant l''tablissement de la connexion." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "Incapable de lier les valeurs des paramtres pour la commande." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Le type d''authentification {0} n''est pas support. Vrifiez que vous avez " +"configur le fichier pg_hba.conf pour inclure l''adresse IP du client ou le " +"sous-rseau et qu''il utilise un schma d''authentification support par le " +"pilote." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Erreur de protocole. Ouverture de la session en chec." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#, fuzzy +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "Interrompu pendant l''tablissement de la connexion." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "Incapable de lier les valeurs des paramtres pour la commande." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 #: org/postgresql/core/v3/QueryExecutorImpl.java:559 #: org/postgresql/core/v3/QueryExecutorImpl.java:602 #: org/postgresql/core/v3/QueryExecutorImpl.java:729 @@ -404,7 +435,7 @@ msgstr "" "Incapable d''interprter le nombre de mise jour dans la balise de " "compltion de commande: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -414,7 +445,7 @@ msgstr "" "JDBC ncessite l''affectation de la valeur UNICODE client_encoding pour un " "fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -423,7 +454,7 @@ msgstr "" "Le paramtre DateStyle du serveur a t chang pour {0}. Le pilote JDBC " "ncessite que DateStyle commence par ISO pour un fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -432,16 +463,6 @@ msgstr "" "Le paramtre serveur standard_conforming_strings a pour valeur {0}. Le " "driver JDBC attend on ou off." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "" -"L''indice de la colonne est hors limite: {0}, nombre de colonnes: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -453,11 +474,6 @@ msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" "L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "La tentative de connexion a chou." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -468,650 +484,843 @@ msgstr "" msgid "This replication stream has been closed." msgstr "La connexion a t ferme." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Longueur de flux invalide {0}." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Cette PooledConnection a dj t ferme." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." +msgstr "" +"La connexion a t ferme automatiquement car une nouvelle connexion a t " +"ouverte pour la mme PooledConnection ou la PooledConnection a t ferme." + +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "La connexion a t ferme." + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Statement a t ferm." + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource a t ferme." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Longueur de flux invalide {0}." +msgid "Unsupported property name: {0}" +msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " -"et que postmaster accepte les connexions TCP/IP." +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Le serveur ne supporte pas SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Une erreur s''est produite pendant l''tablissement de la connexion SSL." +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -"Le serveur a demand une authentification par mots de passe, mais aucun mot " -"de passe n''a t fourni." +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " +"entier." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Le type d''authentification {0} n''est pas support. Vrifiez que vous avez " -"configur le fichier pg_hba.conf pour inclure l''adresse IP du client ou le " -"sous-rseau et qu''il utilise un schma d''authentification support par le " -"pilote." +msgid "The fastpath function {0} is unknown." +msgstr "La fonction fastpath {0} est inconnue." -#: org/postgresql/core/ConnectionFactory.java:57 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "" -"Aucune connexion n''a pu tre tablie en utilisant le protocole demand {0}. " +msgid "Conversion to type {0} failed: {1}." +msgstr "La conversion vers le type {0} a chou: {1}." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Impossible de dire si path est ferm ou ouvert: {0}." + +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"Des donnes de caractres invalides ont t trouves. C''est probablement " -"caus par le stockage de caractres invalides pour le jeu de caractres de " -"cration de la base. L''exemple le plus courant est le stockage de donnes " -"8bit dans une base SQL_ASCII." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "La conversion de money a chou." +"Le troncage des large objects n''est implment que dans les serveurs 8.3 et " +"suprieurs." -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "La conversion de l''intervalle a chou" - -#: org/postgresql/util/ServerErrorMessage.java:45 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "Les LOB PostgreSQL peuvent seulement s''indicer : {0}" + +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Les dcalages de position des LOB commencent 1." + +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() a t appele auparavant sur ce LOB" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Trop de rsultats de mise jour ont t retourns." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"L''lment du batch {0} {1} a t annul. Appeler getNextException pour en " +"connatre la cause." -#: org/postgresql/util/ServerErrorMessage.java:176 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Detail: {0}" -msgstr "Dtail: {0}" +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Hint: {0}" -msgstr "Indice: {0}" +msgid "{0} function takes four and only four argument." +msgstr "La fonction {0} n''accepte que quatre et seulement quatre arguments." -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Position: {0}" -msgstr "Position: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "La fonction {0} n''accepte que deux et seulement deux arguments." -#: org/postgresql/util/ServerErrorMessage.java:189 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Where: {0}" -msgstr "O: {0}" +msgid "{0} function takes one and only one argument." +msgstr "La fonction {0} n''accepte qu''un et un seul argument." -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Internal Query: {0}" -msgstr "Requte interne: {0}" +msgid "{0} function takes two or three arguments." +msgstr "La fonction {0} n''accepte que deux ou trois arguments." -#: org/postgresql/util/ServerErrorMessage.java:199 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Internal Position: {0}" -msgstr "Position interne: {0}" +msgid "{0} function doesn''t take any argument." +msgstr "La fonction {0} n''accepte aucun argument." -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Localisation: Fichier: {0}, Routine: {1}, Ligne: {2}" +msgid "{0} function takes three and only three arguments." +msgstr "La fonction {0} n''accepte que trois et seulement trois arguments." -#: org/postgresql/util/ServerErrorMessage.java:211 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState serveur: {0}" +msgid "Interval {0} not yet implemented" +msgstr "L''interval {0} n''est pas encore implment" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Impossible de rfrencer un savepoint aprs qu''il ait t libr." -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource a t ferme." +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Impossible de retrouver l''identifiant d''un savepoint nomm." -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Valeur de type non supporte: {0}" +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Impossible de retrouver le nom d''un savepoint sans nom." -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Cette PooledConnection a dj t ferme." +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "L''indice du tableau est hors limites: {0}" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "L''indice du tableau est hors limites: {0}, nombre d''lments: {1}." + +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"La connexion a t ferme automatiquement car une nouvelle connexion a t " -"ouverte pour la mme PooledConnection ou la PooledConnection a t ferme." - -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "La connexion a t ferme." +"Des donnes de caractres invalides ont t trouves. C''est probablement " +"caus par le stockage de caractres invalides pour le jeu de caractres de " +"cration de la base. L''exemple le plus courant est le stockage de donnes " +"8bit dans une base SQL_ASCII." -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Statement a t ferm." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Un CallableStatement a t excut mais n''a rien retourn." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"Un CallableStatement a t excut avec un nombre de paramtres incorrect" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"Une fonction CallableStatement a t excute et le paramtre en sortie {0} " +"tait du type {1} alors que le type {2} tait prvu." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Longueur de flux invalide {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Cette requte ne dclare pas de paramtre OUT. Utilisez '{' ?= call ... '}' " +"pour en dclarer un." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Longueur de flux invalide {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull ne peut pas tre appel avant la rcupration d''un rsultat." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" +"Un paramtre de type {0} a t enregistr, mais un appel get{1} " +"(sqltype={2}) a t fait." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"Un CallableStatement a t dclar, mais aucun appel " +"registerOutParameter(1, ) n''a t fait." -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Aucune fonction outputs n''a t enregistre." + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" +"Les rsultats ne peuvent tre rcuprs partir d''un CallableStatement " +"avant qu''il ne soit excut." + +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Unsupported properties: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/jdbc/PgConnection.java:272 +#, java-format +msgid "Unsupported value for stringtype parameter: {0}" msgstr "" -"Erreur de chargement des valeurs par dfaut depuis driverconfig.properties" +"Valeur non supporte pour les paramtre de type chane de caractres: {0}" -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Aucun rsultat retourn par la requte." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Un rsultat a t retourn alors qu''aucun n''tait attendu." + +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgConnection.java:587 +#, java-format +msgid "Failed to create object for: {0}." +msgstr "chec la cration de l''objet pour: {0}." + +#: org/postgresql/jdbc/PgConnection.java:641 +#, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" +msgstr "Incapable de charger la classe {0} responsable du type de donnes {1}" + +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" +"Impossible de changer la proprit read-only d''une transaction au milieu " +"d''une transaction." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." msgstr "" -"Quelque chose d''inhabituel a provoqu l''chec du pilote. Veuillez faire un " -"rapport sur cette erreur." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "La tentative de connexion a chou dans le dlai imparti." +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "La connexion a t ferme." -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Interrompu pendant l''tablissement de la connexion." +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." +msgstr "" -#: org/postgresql/Driver.java:682 -#, java-format -msgid "Method {0} is not yet implemented." -msgstr "La fonction {0} n''est pas encore implmente." +#: org/postgresql/jdbc/PgConnection.java:827 +msgid "" +"Cannot change transaction isolation level in the middle of a transaction." +msgstr "" +"Impossible de changer le niveau d''isolation des transactions au milieu " +"d''une transaction." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "La conversion vers le type {0} a chou: {1}." +msgid "Transaction isolation level {0} not supported." +msgstr "Le niveau d''isolation de transaction {0} n''est pas support." + +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" +msgstr "Destruction d''une connection qui n''a jamais t ferme:" + +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." +msgstr "Impossible de traduire les donnes dans l''encodage dsir." + +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "Fetch size doit tre une valeur suprieur ou gal 0." -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Impossible de dire si path est ferm ou ouvert: {0}." - -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/PgConnection.java:1312 #, fuzzy, java-format -msgid "Invalid flags {0}" -msgstr "Drapeaux invalides" +msgid "Invalid elements {0}" +msgstr "Longueur de flux invalide {0}." -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid ne doit pas tre nul" +#: org/postgresql/jdbc/PgConnection.java:1348 +#, fuzzy, java-format +msgid "Invalid timeout ({0}<0)." +msgstr "Longueur de flux invalide {0}." -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "La connection est occupe avec une autre transaction" +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "suspend/resume pas implment" +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +#: org/postgresql/jdbc/PgConnection.java:1415 +#, fuzzy +msgid "ClientInfo property not supported." +msgstr "Le renvoi des cls automatiquement gnres n''est pas support." + +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "Erreur en dsactivant autocommit" +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Query timeout doit tre une valeur suprieure ou gale 0." -#: org/postgresql/xa/PGXAConnection.java:261 -#, fuzzy, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "tentative d''appel de fin sans l''appel start correspondant" +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "Paramtre holdability du ResultSet inconnu: {0}." + +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "Impossible d''tablir un savepoint en mode auto-commit." + +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." +msgstr "Le renvoi des cls automatiquement gnres n''est pas support." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" +"Incapable de dterminer la valeur de MaxIndexKeys en raison de donnes " +"manquante dans lecatalogue systme." -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." msgstr "" +"Incapable de trouver le type de donne name dans les catalogues systmes." -#: org/postgresql/xa/PGXAConnection.java:307 -#, fuzzy, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." msgstr "" -"Pas implment: Prepare doit tre envoy sur la mme connection qui a " -"dmarr la transaction" +"Incapable de trouver le type de donne name dans les catalogues systmes." -#: org/postgresql/xa/PGXAConnection.java:311 -#, fuzzy, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Prparation appele avant la fin" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 -#, fuzzy, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Erreur en prparant la transaction" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Erreur durant la restauration" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, fuzzy, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Erreur en annulant une transaction prpare" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" msgstr "" -"Pas implment: le commit une phase doit avoir lieu en utilisant la mme " -"connection que celle o il a commenc" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, fuzzy, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "Commit appel avant la fin" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 -#, fuzzy, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Erreur pendant le commit une phase" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 -#, fuzzy -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#, java-format +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" -"Pas implment: le commit deux phase doit tre envoy sur une connection " -"inutilise" +"L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Erreur en annulant une transaction prpare" +"Can''t use query methods that take a query string on a PreparedStatement." +msgstr "" +"Impossible d''utiliser les fonctions de requte qui utilisent une chane de " +"caractres sur un PreparedStatement." -#: org/postgresql/xa/PGXAConnection.java:567 -#, fuzzy, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Heuristic commit/rollback non support" +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Valeur de Types inconnue." -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "" +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#, java-format +msgid "Invalid stream length {0}." +msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" +msgid "The JVM claims not to support the {0} encoding." +msgstr "La JVM prtend ne pas supporter l''encodage {0}." -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "chec la cration de l''objet pour: {0}." +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." +msgstr "L''InputStream fourni a chou." -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#, java-format +msgid "Unknown type {0}." +msgstr "Type inconnu: {0}." + +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Paramtre holdability du ResultSet inconnu: {0}." +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#, java-format +msgid "Cannot cast an instance of {0} to type {1}" +msgstr "Impossible de convertir une instance de {0} vers le type {1}" -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Cette PooledConnection a dj t ferme." +#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#, java-format +msgid "Unsupported Types value: {0}" +msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" +msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" +"Impossible de dduire le type SQL utiliser pour une instance de {0}. " +"Utilisez setObject() avec une valeur de type explicite pour spcifier le " +"type utiliser." -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." +msgstr "Erreur inattendue pendant l''criture de large object dans la base." + +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." +msgstr "Le Reader fourni a chou." + +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" +"L''opration ncessite un scrollable ResultSet, mais ce ResultSet est " +"FORWARD_ONLY." -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Impossible de rfrencer un savepoint aprs qu''il ait t libr." - -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Impossible de retrouver l''identifiant d''un savepoint nomm." - -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Impossible de retrouver le nom d''un savepoint sans nom." +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 +#, fuzzy, java-format +msgid "Cannot convert the column of type {0} to requested type {1}." +msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "L''indice du tableau est hors limites: {0}" +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." +msgstr "" +"Impossible d''utiliser les fonctions de dplacement relatif pendant " +"l''insertion d''une ligne." -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "L''indice du tableau est hors limites: {0}, nombre d''lments: {1}." +msgid "Invalid fetch direction constant: {0}." +msgstr "Constante de direction pour la rcupration invalide: {0}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" -"L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." +"Impossible d''appeler cancelRowUpdates() pendant l''insertion d''une ligne." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Trop de rsultats de mise jour ont t retourns." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "Impossible d''appeler deleteRow() pendant l''insertion d''une ligne." -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -"L''lment du batch {0} {1} a t annul. Appeler getNextException pour en " -"connatre la cause." +"Actuellement positionn avant le dbut du ResultSet. Vous ne pouvez pas " +"appeler deleteRow() ici." -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -"Valeur non supporte pour les paramtre de type chane de caractres: {0}" +"Actuellement positionn aprs la fin du ResultSet. Vous ne pouvez pas " +"appeler deleteRow() ici." -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Aucun rsultat retourn par la requte." +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Il n''y pas pas de lignes dans ce ResultSet." -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "Un rsultat a t retourn alors qu''aucun n''tait attendu." +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Pas sur la ligne en insertion." -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" +"Vous devez spcifier au moins une valeur de colonne pour insrer une ligne." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format -msgid "Failed to create object for: {0}." -msgstr "chec la cration de l''objet pour: {0}." +msgid "The JVM claims not to support the encoding: {0}" +msgstr "La JVM prtend ne pas supporter l''encodage: {0}" -#: org/postgresql/jdbc/PgConnection.java:641 -#, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" -msgstr "Incapable de charger la classe {0} responsable du type de donnes {1}" +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." +msgstr "Impossible de rafrachir la ligne insre." -#: org/postgresql/jdbc/PgConnection.java:693 -msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." msgstr "" -"Impossible de changer la proprit read-only d''une transaction au milieu " -"d''une transaction." +"Impossible d''appeler updateRow() tant que l''on est sur la ligne insre." -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" +"Impossible de mettre jour le ResultSet car c''est soit avant le dbut ou " +"aprs la fin des rsultats." -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -#, fuzzy -msgid "This connection has been closed." -msgstr "La connexion a t ferme." - -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" +"Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent tre mis " +"jour." -#: org/postgresql/jdbc/PgConnection.java:827 -msgid "" -"Cannot change transaction isolation level in the middle of a transaction." -msgstr "" -"Impossible de changer le niveau d''isolation des transactions au milieu " -"d''une transaction." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." +msgstr "Pas de cl primaire trouve pour la table {0}." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format -msgid "Transaction isolation level {0} not supported." -msgstr "Le niveau d''isolation de transaction {0} n''est pas support." +msgid "Bad value for type {0} : {1}" +msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" -msgstr "Destruction d''une connection qui n''a jamais t ferme:" +#: org/postgresql/jdbc/PgResultSet.java:2595 +#, java-format +msgid "The column name {0} was not found in this ResultSet." +msgstr "Le nom de colonne {0} n''a pas t trouv dans ce ResultSet." -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." -msgstr "Impossible de traduire les donnes dans l''encodage dsir." +#: org/postgresql/jdbc/PgResultSet.java:2731 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." +msgstr "" +"Le ResultSet n''est pas modifiable. La requte qui a gnr ce rsultat doit " +"slectionner seulement une table, et doit slectionner toutes les cls " +"primaires de cette table. Voir la spcification de l''API JDBC 2.1, section " +"5.6 pour plus de dtails." -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." -msgstr "Fetch size doit tre une valeur suprieur ou gal 0." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "Ce ResultSet est ferm." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 -#, java-format -msgid "Unable to find server array type for provided name {0}." +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" +"Le ResultSet n''est pas positionn correctement, vous devez peut-tre " +"appeler next()." -#: org/postgresql/jdbc/PgConnection.java:1312 -#, fuzzy, java-format -msgid "Invalid elements {0}" -msgstr "Longueur de flux invalide {0}." +#: org/postgresql/jdbc/PgResultSet.java:3095 +#, fuzzy +msgid "Invalid UUID data." +msgstr "Drapeau invalide" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "Longueur de flux invalide {0}." +msgid "conversion to {0} from {1} not supported" +msgstr "Le niveau d''isolation de transaction {0} n''est pas support." -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "chec la cration de l''objet pour: {0}." - -#: org/postgresql/jdbc/PgConnection.java:1415 -#, fuzzy -msgid "ClientInfo property not supported." -msgstr "Le renvoi des cls automatiquement gnres n''est pas support." - -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgSQLXML.java:193 #, fuzzy -msgid "Network timeout must be a value greater than or equal to 0." -msgstr "Query timeout doit tre une valeur suprieure ou gale 0." +msgid "Unable to create SAXResult for SQLXML." +msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Paramtre holdability du ResultSet inconnu: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Cette PooledConnection a dj t ferme." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." -msgstr "Paramtre holdability du ResultSet inconnu: {0}." +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." -msgstr "Impossible d''tablir un savepoint en mode auto-commit." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "Le renvoi des cls automatiquement gnres n''est pas support." +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" #: org/postgresql/jdbc/PgStatement.java:235 msgid "Multiple ResultSets were returned by the query." @@ -1139,592 +1348,397 @@ msgstr "" msgid "This statement has been closed." msgstr "Ce statement a t ferm." -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Constante de direction pour la rcupration invalide: {0}." - #: org/postgresql/jdbc/PgStatement.java:1145 #: org/postgresql/jdbc/PgStatement.java:1173 #, fuzzy msgid "Returning autogenerated keys by column index is not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" -"Incapable de dterminer la valeur de MaxIndexKeys en raison de donnes " -"manquante dans lecatalogue systme." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "" -"Incapable de trouver le type de donne name dans les catalogues systmes." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Le troncage des large objects n''est implment que dans les serveurs 8.3 et " -"suprieurs." +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "Les LOB PostgreSQL peuvent seulement s''indicer : {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "Les dcalages de position des LOB commencent 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "free() a t appele auparavant sur ce LOB" - -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -"Impossible d''utiliser les fonctions de requte qui utilisent une chane de " -"caractres sur un PreparedStatement." - -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Valeur de Types inconnue." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 -#, java-format -msgid "The JVM claims not to support the {0} encoding." -msgstr "La JVM prtend ne pas supporter l''encodage {0}." - -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." -msgstr "L''InputStream fourni a chou." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Unknown type {0}." -msgstr "Type inconnu: {0}." +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" -msgstr "Impossible de convertir une instance de {0} vers le type {1}" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "chec l''initialisation de l''API LargeObject" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 -#, java-format -msgid "Unsupported Types value: {0}" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Les Large Objects ne devraient pas tre utiliss en mode auto-commit." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Cannot convert an instance of {0} to type {1}" -msgstr "Impossible de convertir une instance de type {0} vers le type {1}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." +msgid "SSL error: {0}" msgstr "" -"Impossible de dduire le type SQL utiliser pour une instance de {0}. " -"Utilisez setObject() avec une valeur de type explicite pour spcifier le " -"type utiliser." - -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." -msgstr "Erreur inattendue pendant l''criture de large object dans la base." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." -msgstr "Le Reader fourni a chou." +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Cannot cast to boolean: \"{0}\"" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:280 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"L''opration ncessite un scrollable ResultSet, mais ce ResultSet est " -"FORWARD_ONLY." - -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 -#, fuzzy, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." -msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." -msgstr "" -"Impossible d''utiliser les fonctions de dplacement relatif pendant " -"l''insertion d''une ligne." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -"Impossible d''appeler cancelRowUpdates() pendant l''insertion d''une ligne." -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "Impossible d''appeler deleteRow() pendant l''insertion d''une ligne." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -"Actuellement positionn avant le dbut du ResultSet. Vous ne pouvez pas " -"appeler deleteRow() ici." -#: org/postgresql/jdbc/PgResultSet.java:918 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -"Actuellement positionn aprs la fin du ResultSet. Vous ne pouvez pas " -"appeler deleteRow() ici." -#: org/postgresql/jdbc/PgResultSet.java:922 -msgid "There are no rows in this ResultSet." -msgstr "Il n''y pas pas de lignes dans ce ResultSet." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "" +"Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." -msgstr "Pas sur la ligne en insertion." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -"Vous devez spcifier au moins une valeur de colonne pour insrer une ligne." -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "La JVM prtend ne pas supporter l''encodage: {0}" - -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." -msgstr "Impossible de rafrachir la ligne insre." +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -"Impossible d''appeler updateRow() tant que l''on est sur la ligne insre." -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Impossible de mettre jour le ResultSet car c''est soit avant le dbut ou " -"aprs la fin des rsultats." -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent tre mis " -"jour." -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "No primary key found for table {0}." -msgstr "Pas de cl primaire trouve pour la table {0}." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "Bad value for type {0} : {1}" -msgstr "Mauvaise valeur pour le type {0}: {1}" +msgid "Could not decrypt SSL key file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Le nom de colonne {0} n''a pas t trouv dans ce ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +msgid "Could not read SSL key file {0}." msgstr "" -"Le ResultSet n''est pas modifiable. La requte qui a gnr ce rsultat doit " -"slectionner seulement une table, et doit slectionner toutes les cls " -"primaires de cette table. Voir la spcification de l''API JDBC 2.1, section " -"5.6 pour plus de dtails." -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." -msgstr "Ce ResultSet est ferm." - -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -"Le ResultSet n''est pas positionn correctement, vous devez peut-tre " -"appeler next()." - -#: org/postgresql/jdbc/PgResultSet.java:3089 -#, fuzzy -msgid "Invalid UUID data." -msgstr "Drapeau invalide" - -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 -#, fuzzy, java-format -msgid "conversion to {0} from {1} not supported" -msgstr "Le niveau d''isolation de transaction {0} n''est pas support." - -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Valeur de type non supporte: {0}" - -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Un CallableStatement a t excut mais n''a rien retourn." - -#: org/postgresql/jdbc/PgCallableStatement.java:107 -#, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "" -"Un CallableStatement a t excut avec un nombre de paramtres incorrect" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "La classe SSLSocketFactory fournie {0} n''a pas pu tre instancie." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Une fonction CallableStatement a t excute et le paramtre en sortie {0} " -"tait du type {1} alors que le type {2} tait prvu." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Cette requte ne dclare pas de paramtre OUT. Utilisez '{' ?= call ... '}' " -"pour en dclarer un." - -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull ne peut pas tre appel avant la rcupration d''un rsultat." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"Un paramtre de type {0} a t enregistr, mais un appel get{1} " -"(sqltype={2}) a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -"Un CallableStatement a t dclar, mais aucun appel " -"registerOutParameter(1, ) n''a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "Aucune fonction outputs n''a t enregistre." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "La conversion de l''intervalle a chou" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "La conversion de money a chou." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"Les rsultats ne peuvent tre rcuprs partir d''un CallableStatement " -"avant qu''il ne soit excut." - -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "La fonction {0} n''accepte que quatre et seulement quatre arguments." +msgid "Detail: {0}" +msgstr "Dtail: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "La fonction {0} n''accepte que deux et seulement deux arguments." +msgid "Hint: {0}" +msgstr "Indice: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "La fonction {0} n''accepte qu''un et un seul argument." +msgid "Position: {0}" +msgstr "Position: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "La fonction {0} n''accepte que deux ou trois arguments." +msgid "Where: {0}" +msgstr "O: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "La fonction {0} n''accepte aucun argument." +msgid "Internal Query: {0}" +msgstr "Requte interne: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "La fonction {0} n''accepte que trois et seulement trois arguments." +msgid "Internal Position: {0}" +msgstr "Position interne: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "L''interval {0} n''est pas encore implment" +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Localisation: Fichier: {0}, Routine: {1}, Ligne: {2}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Server SQLState: {0}" +msgstr "SQLState serveur: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "chec l''initialisation de l''API LargeObject" +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Drapeaux invalides" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Les Large Objects ne devraient pas tre utiliss en mode auto-commit." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid ne doit pas tre nul" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "La connection est occupe avec une autre transaction" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume pas implment" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Ce ResultSet est ferm." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Erreur en dsactivant autocommit" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "tentative d''appel de fin sans l''appel start correspondant" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 -#, java-format -msgid "Requested CopyDual but got {0}" +#: org/postgresql/xa/PGXAConnection.java:307 +#, fuzzy, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"Pas implment: Prepare doit tre envoy sur la mme connection qui a " +"dmarr la transaction" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prparation appele avant la fin" + +#: org/postgresql/xa/PGXAConnection.java:331 +#, fuzzy, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Erreur en prparant la transaction" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Erreur durant la restauration" + +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Erreur en annulant une transaction prpare" + +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +"Pas implment: le commit une phase doit avoir lieu en utilisant la mme " +"connection que celle o il a commenc" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:487 #, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "Commit appel avant la fin" -#: org/postgresql/fastpath/Fastpath.java:182 +#: org/postgresql/xa/PGXAConnection.java:498 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Erreur pendant le commit une phase" + +#: org/postgresql/xa/PGXAConnection.java:517 +#, fuzzy +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +"Pas implment: le commit deux phase doit tre envoy sur une connection " +"inutilise" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "" -"Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " -"entier." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Erreur en annulant une transaction prpare" -#: org/postgresql/fastpath/Fastpath.java:302 -#, java-format -msgid "The fastpath function {0} is unknown." -msgstr "La fonction fastpath {0} est inconnue." +#: org/postgresql/xa/PGXAConnection.java:567 +#, fuzzy, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristic commit/rollback non support" + +#~ msgid "End of Stack Trace" +#~ msgstr "Fin de la pile d''appel" + +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgstr "" +#~ "Exception en gnrant la pile d''appel pour: {0} erreur rencontre: {1}" + +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Dmarrage du serveur en chec: {0}." #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1740,22 +1754,31 @@ msgstr "La fonction fastpath {0} est inconnue." #~ msgid "Connection rejected: {0}." #~ msgstr "Connexion rejete: {0}." -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Dmarrage du serveur en chec: {0}." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." #~ msgstr "" -#~ "Les serveurs de version antrieure 8.0 ne supportent pas les savepoints." +#~ "Les serveurs de versions antrieures 8.1 ne supportent pas le commit " +#~ "deux phases." + +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "La classe {0} n''implmente pas org.postgresql.util.PGobject." + +#~ msgid "Stack Trace:" +#~ msgstr "Pile d''appel:" + +#~ msgid "Exception: {0}" +#~ msgstr "Exception: {0}" #~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "" #~ "Erreur inattendue pendant le dcodage des donnes caractres pour un " #~ "large object." -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "Le renvoi des cls automatiquement gnres n''est pas support." +#~ msgid "Invalid flag" +#~ msgstr "Drapeau invalide" + +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "" +#~ "Les serveurs de version antrieure 8.0 ne supportent pas les savepoints." #~ msgid "" #~ "Infinite value found for timestamp/date. This cannot be represented as " @@ -1767,33 +1790,14 @@ msgstr "La fonction fastpath {0} est inconnue." #~ msgid "Transaction interleaving not implemented" #~ msgstr "L''entrelacement des transactions n''est pas implment" -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Les serveurs de versions antrieures 8.1 ne supportent pas le commit " -#~ "deux phases." - -#~ msgid "Invalid flag" -#~ msgstr "Drapeau invalide" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La classe {0} n''implmente pas org.postgresql.util.PGobject." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Ce pilote ne supporte pas SSL." - #~ msgid "Multi-dimensional arrays are currently not supported." #~ msgstr "" #~ "Les tableaux plusieurs dimensions ne sont pas supports pour le moment." -#~ msgid "Exception: {0}" -#~ msgstr "Exception: {0}" - -#~ msgid "Stack Trace:" -#~ msgstr "Pile d''appel:" - -#~ msgid "End of Stack Trace" -#~ msgstr "Fin de la pile d''appel" +#~ msgid "The driver does not support SSL." +#~ msgstr "Ce pilote ne supporte pas SSL." -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "" -#~ "Exception en gnrant la pile d''appel pour: {0} erreur rencontre: {1}" +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "Le renvoi des cls automatiquement gnres n''est pas support." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/it.po b/pgjdbc/src/main/java/org/postgresql/translation/it.po index 520dec8a2d..7d141acbc9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/it.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2006-06-23 17:25+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: Italian \n" @@ -18,178 +18,125 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" +"Si verificato un errore caricando le impostazioni predefinite da " +"driverconfig.properties." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Si verificato un errore impostando la connessione SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Qualcosa di insolito si verificato causando il fallimento del driver. Per " +"favore riferire all''autore del driver questa eccezione." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Il tentativo di connessione scaduto." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Si verificata una interruzione durante il tentativo di connessione." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Il metodo {0} non stato ancora implementato." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." +msgid "Copying from database failed: {0}" +msgstr "Fallita la conversione di un ``box'': {0}." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Questo ResultSet chiuso." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "A connection could not be made using the requested protocol {0}." msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." +"Non stato possibile attivare la connessione utilizzando il protocollo " +"richiesto {0}." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" -msgstr "" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "oid type {0} not known and not a number" msgstr "" -"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Il flusso di input stato interrotto, sono arrivati {1} byte al posto dei " +"{0} attesi." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Errore di protocollo. Impostazione della sessione fallita." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "" +msgid "Expected an EOF from server, got: {0}" +msgstr "Ricevuto dal server {0} mentre era atteso un EOF" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" "Sequenza di escape definita erroneamente nella funzione o procedura " "all''offset {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Un risultato inaspettato stato ricevuto dalla query." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" "La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "" -"Byte con valore zero non possono essere contenuti nei parametri stringa." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -#, fuzzy -msgid "Zero bytes may not occur in identifiers." -msgstr "" -"Byte con valore zero non possono essere contenuti nei parametri stringa." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -223,68 +170,151 @@ msgstr "" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "Sequenza UTF-8 illegale: il valore finale un surrogato: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Un risultato inaspettato stato ricevuto dalla query." - -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." msgstr "" -"Il flusso di input stato interrotto, sono arrivati {1} byte al posto dei " -"{0} attesi." - -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Ricevuto dal server {0} mentre era atteso un EOF" +"Byte con valore zero non possono essere contenuti nei parametri stringa." -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" +#: org/postgresql/core/Utils.java:159 +#, fuzzy +msgid "Zero bytes may not occur in identifiers." msgstr "" +"Byte con valore zero non possono essere contenuti nei parametri stringa." -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" -msgstr "" +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indice di colonna, {0}, maggiore del numero di colonne {1}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -#, fuzzy -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "Si verificata una interruzione durante il tentativo di connessione." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Impossibile fare il bind dei valori passati come parametri per lo " -"statement." +"Connessione rifiutata. Controllare che il nome dell''host e la porta siano " +"corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " +"che abilita le connessioni attraverso la rete TCP/IP." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 -#: org/postgresql/util/StreamWrapper.java:130 -msgid "An I/O error occurred while sending to the backend." -msgstr "Si verificato un errore di I/O nella spedizione di dati al server." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Il tentativo di connessione fallito." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece {0}." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 -#: org/postgresql/jdbc/PgResultSet.java:1778 -#, java-format +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Il server non supporta SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Si verificato un errore impostando la connessione SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"Il server ha richiesto l''autenticazione con password, ma tale password non " +" stata fornita." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"L''autenticazione di tipo {0} non supportata. Verificare che nel file di " +"configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del " +"client, e che lo schema di autenticazione utilizzato sia supportato dal " +"driver." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Errore di protocollo. Impostazione della sessione fallita." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#, fuzzy +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "Si verificata una interruzione durante il tentativo di connessione." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "" +"Impossibile fare il bind dei valori passati come parametri per lo " +"statement." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +msgid "An I/O error occurred while sending to the backend." +msgstr "Si verificato un errore di I/O nella spedizione di dati al server." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format msgid "Unexpected command status: {0}." msgstr "Stato del comando non previsto: {0}." @@ -409,7 +439,7 @@ msgstr "" "Impossibile interpretare il numero degli aggiornamenti nel tag di " "completamento del comando: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -419,7 +449,7 @@ msgstr "" "JDBC richiede che client_encoding sia UNICODE per un corretto " "funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -428,7 +458,7 @@ msgstr "" "Il parametro del server DateStyle stato cambiato in {0}. Il driver JDBC " "richiede che DateStyle cominci con ISO per un corretto funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, fuzzy, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -438,15 +468,6 @@ msgstr "" "JDBC richiede che client_encoding sia UNICODE per un corretto " "funzionamento." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indice di colonna, {0}, maggiore del numero di colonne {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -457,11 +478,6 @@ msgstr "Nessun valore specificato come parametro {0}." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Il tentativo di connessione fallito." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -472,510 +488,316 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Questo Connection stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Questo PooledConnection stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Connessione rifiutata. Controllare che il nome dell''host e la porta siano " -"corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " -"che abilita le connessioni attraverso la rete TCP/IP." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" +"La Connection stata chiusa automaticamente perch una nuova l''ha " +"sostituita nello stesso PooledConnection, oppure il PooledConnection " +"stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Il server non supporta SSL." +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Questo Connection stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Si verificato un errore impostando la connessione SSL." +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Questo Statement stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -"Il server ha richiesto l''autenticazione con password, ma tale password non " -" stata fornita." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "Questo DataSource stato chiuso." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"L''autenticazione di tipo {0} non supportata. Verificare che nel file di " -"configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del " -"client, e che lo schema di autenticazione utilizzato sia supportato dal " -"driver." +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 +#, fuzzy, java-format +msgid "Unsupported property name: {0}" +msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." +#: org/postgresql/fastpath/Fastpath.java:86 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Non stato possibile attivare la connessione utilizzando il protocollo " -"richiesto {0}." +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono " -"stati memorizzati dei caratteri che non sono validi per la codifica dei " -"caratteri impostata alla creazione del database. Il caso pi diffuso " -"quello nel quale si memorizzano caratteri a 8bit in un database con codifica " -"SQL_ASCII." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Fallita la conversione di un money." +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Fallita la conversione di un interval." - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " +"un intero." -#: org/postgresql/util/ServerErrorMessage.java:176 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Detail: {0}" -msgstr "Dettaglio: {0}" +msgid "The fastpath function {0} is unknown." +msgstr "La funzione fastpath {0} sconosciuta." -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "Hint: {0}" -msgstr "Suggerimento: {0}" +msgid "Conversion to type {0} failed: {1}." +msgstr "Conversione al tipo {0} fallita: {1}." -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "Position: {0}" -msgstr "Posizione: {0}" +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Impossibile stabilire se il percorso aperto o chiuso: {0}." -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Dove: {0}" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Query interna: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "Posizione interna: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Individuazione: file: \"{0}\", routine: {1}, linea: {2}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "Il massimo valore per l''indice dei LOB di PostgreSQL {0}. " -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState del server: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "L''offset per la posizione dei LOB comincia da 1." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "Questo DataSource stato chiuso." +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Sono stati restituiti troppi aggiornamenti." -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 +#: org/postgresql/jdbc/BatchResultHandler.java:146 #, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Valore di tipo {0} non supportato." - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Questo PooledConnection stato chiuso." - -#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." -msgstr "" -"La Connection stata chiusa automaticamente perch una nuova l''ha " -"sostituita nello stesso PooledConnection, oppure il PooledConnection " -"stato chiuso." - -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Questo Connection stato chiuso." - -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Questo Statement stato chiuso." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"L''operazione batch {0} {1} stata interrotta. Chiamare " +"getNextException per scoprirne il motivo." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "La dimensione specificata, {0}, per lo stream non valida." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" - -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Valore di tipo {0} non supportato." - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" -"Si verificato un errore caricando le impostazioni predefinite da " -"driverconfig.properties." - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -"Qualcosa di insolito si verificato causando il fallimento del driver. Per " -"favore riferire all''autore del driver questa eccezione." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Il tentativo di connessione scaduto." - -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Si verificata una interruzione durante il tentativo di connessione." - -#: org/postgresql/Driver.java:682 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Il metodo {0} non stato ancora implementato." +msgid "{0} function takes four and only four argument." +msgstr "Il metodo {0} accetta quattro e solo quattro argomenti." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Conversione al tipo {0} fallita: {1}." +msgid "{0} function takes two and only two arguments." +msgstr "Il metodo {0} accetta due e solo due argomenti." -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Impossibile stabilire se il percorso aperto o chiuso: {0}." - -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, fuzzy, java-format -msgid "Invalid flags {0}" -msgstr "Flag non validi" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid non pu essere NULL" - -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "La connessione utilizzata da un''altra transazione" - -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "suspend/resume non implementato" +msgid "{0} function takes one and only one argument." +msgstr "Il metodo {0} accetta un ed un solo argomento." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:224 -#, fuzzy -msgid "Error disabling autocommit" -msgstr "Errore durante il commit \"one-phase\"" +msgid "{0} function takes two or three arguments." +msgstr "Il metodo {0} accetta due o tre argomenti." -#: org/postgresql/xa/PGXAConnection.java:261 -#, fuzzy, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr " stata chiamata end senza la corrispondente chiamata a start" +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." +msgstr "Il metodo {0} non accetta argomenti." -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "Il metodo {0} accetta tre e solo tre argomenti." -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "L''intervallo {0} non stato ancora implementato." -#: org/postgresql/xa/PGXAConnection.java:307 -#, fuzzy, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -"Non implementato: Prepare deve essere eseguito nella stessa connessione " -"che ha iniziato la transazione." - -#: org/postgresql/xa/PGXAConnection.java:311 -#, fuzzy, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Prepare invocato prima della fine" +"Non possibile utilizzare un punto di ripristino successivamente al suo " +"rilascio." -#: org/postgresql/xa/PGXAConnection.java:331 -#, fuzzy, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Errore nel preparare una transazione" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Non possibile trovare l''id del punto di ripristino indicato." -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Errore durante il ripristino" +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Non possibile trovare il nome di un punto di ripristino anonimo." -#: org/postgresql/xa/PGXAConnection.java:438 -#, fuzzy, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Errore durante il rollback di una transazione preparata" +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "Indice di colonna fuori dall''intervallo ammissibile: {0}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" +"L''indice dell''array fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa " -"connessione che ha iniziato la transazione." +"Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono " +"stati memorizzati dei caratteri che non sono validi per la codifica dei " +"caratteri impostata alla creazione del database. Il caso pi diffuso " +"quello nel quale si memorizzano caratteri a 8bit in un database con codifica " +"SQL_ASCII." -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" +"Un CallableStatement stato eseguito senza produrre alcun risultato. " -#: org/postgresql/xa/PGXAConnection.java:487 -#, fuzzy, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "Commit stato chiamato prima della fine" - -#: org/postgresql/xa/PGXAConnection.java:498 -#, fuzzy, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Errore durante il commit \"one-phase\"" - -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/jdbc/PgCallableStatement.java:107 #, fuzzy -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" -"Non implementato: la seconda fase del commit deve essere effettuata con " -"una connessione non in uso" - -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "Errore durante il rollback di una transazione preparata" - -#: org/postgresql/xa/PGXAConnection.java:567 -#, fuzzy, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Commit e rollback euristici non sono supportati" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" +"Un CallableStatement stato eseguito con un numero errato di parametri." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Fallita la creazione dell''oggetto per: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +" stato eseguito un CallableStatement ma il parametro in uscita {0} era " +"di tipo {1} al posto di {2}, che era stato dichiarato." -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "Questo PooledConnection stato chiuso." - -#: org/postgresql/jdbc/PgSQLXML.java:234 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"Questo statement non dichiara il parametro in uscita. Usare { ?= " +"call ... } per farlo." -#: org/postgresql/jdbc/PgSQLXML.java:247 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" +" stato definito il parametro di tipo {0}, ma poi stato invocato il " +"metodo get{1}() (sqltype={2})." -#: org/postgresql/jdbc/PgSQLXML.java:287 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +" stato definito un CallableStatement ma non stato invocato il metodo " +"registerOutParameter(1, )." -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -"Non possibile utilizzare un punto di ripristino successivamente al suo " -"rilascio." - -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Non possibile trovare l''id del punto di ripristino indicato." -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Non possibile trovare il nome di un punto di ripristino anonimo." - -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Indice di colonna fuori dall''intervallo ammissibile: {0}" - -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 -#, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -"L''indice dell''array fuori intervallo: {0}, numero di elementi: {1}." - -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." - -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Sono stati restituiti troppi aggiornamenti." -#: org/postgresql/jdbc/BatchResultHandler.java:146 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "" -"L''operazione batch {0} {1} stata interrotta. Chiamare " -"getNextException per scoprirne il motivo." +msgid "Unsupported type conversion to {1}." +msgstr "Valore di tipo {0} non supportato." #: org/postgresql/jdbc/PgConnection.java:272 #, java-format @@ -983,6 +805,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "Il valore per il parametro di tipo string {0} non supportato." #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -991,7 +814,6 @@ msgstr "Il valore per il parametro di tipo string #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Nessun risultato stato restituito dalla query." @@ -1057,8 +879,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "Impossibile tradurre i dati nella codifica richiesta." #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "La dimensione dell''area di fetch deve essere maggiore o eguale a 0." @@ -1121,117 +943,68 @@ msgstr "" "Non possibile impostare i punti di ripristino in modalit auto-commit." #: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "La restituzione di chiavi autogenerate non supportata." - -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "La query ha restituito ResultSet multipli." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Il numero massimo di righe deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "La dimensione massima del campo deve essere maggiore o eguale a 0." - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "Questo statement stato chiuso." - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Costante per la direzione dell''estrazione non valida: {0}." - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -#, fuzzy -msgid "Returning autogenerated keys by column index is not supported." +msgid "Returning autogenerated keys is not supported." msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" "Non possibile trovare il valore di MaxIndexKeys nel catalogo si sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "Non possibile trovare il datatype name nel catalogo di sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Non possibile trovare il datatype name nel catalogo di sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "Il massimo valore per l''indice dei LOB di PostgreSQL {0}. " - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "L''offset per la posizione dei LOB comincia da 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1314,9 +1087,9 @@ msgstr "Errore inatteso inviando un msgid "Provided Reader failed." msgstr "Il Reader fornito fallito." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1332,8 +1105,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Non possibile convertire una istanza di {0} nel tipo {1}" @@ -1346,6 +1119,12 @@ msgstr "" "Non possibile utilizzare gli spostamenti relativi durante l''inserimento " "di una riga." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Costante per la direzione dell''estrazione non valida: {0}." + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" @@ -1388,8 +1167,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "La JVM sostiene di non supportare la codifica: {0}." @@ -1404,7 +1183,7 @@ msgstr "" "Non possibile invocare updateRow() durante l''inserimento di una riga." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1422,29 +1201,29 @@ msgstr "" msgid "No primary key found for table {0}." msgstr "Non stata trovata la chiave primaria della tabella {0}." -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Il valore {1} non adeguato al tipo {0}." -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Colonna denominata {0} non presente in questo ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1455,281 +1234,514 @@ msgstr "" "chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, " "per ulteriori dettagli." -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "Questo ResultSet chiuso." -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Il ResultSet non correttamente posizionato; forse necessario invocare " "next()." -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 #, fuzzy msgid "Invalid UUID data." msgstr "Flag non valido" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Il livello di isolamento delle transazioni {0} non supportato." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Il valore {1} non adeguato al tipo {0}." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Fallita la creazione dell''oggetto per: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "Questo PooledConnection stato chiuso." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "La query ha restituito ResultSet multipli." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Il numero massimo di righe deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "La dimensione massima del campo deve essere maggiore o eguale a 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Questo statement stato chiuso." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +#, fuzzy +msgid "Returning autogenerated keys by column index is not supported." +msgstr "La restituzione di chiavi autogenerate non supportata." + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Il valore {1} non adeguato al tipo {0}." + +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Valore di tipo {0} non supportato." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "La dimensione specificata, {0}, per lo stream non valida." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Inizializzazione di LargeObject API fallita." + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Non possibile impostare i Large Object in modalit auto-commit." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Valore di tipo {0} non supportato." + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Si verificato un errore impostando la connessione SSL." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Valore di tipo {0} non supportato." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." msgstr "" -"Un CallableStatement stato eseguito senza produrre alcun risultato. " -#: org/postgresql/jdbc/PgCallableStatement.java:107 -#, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." msgstr "" -"Un CallableStatement stato eseguito con un numero errato di parametri." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -" stato eseguito un CallableStatement ma il parametro in uscita {0} era " -"di tipo {1} al posto di {2}, che era stato dichiarato." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -"Questo statement non dichiara il parametro in uscita. Usare { ?= " -"call ... } per farlo." +"La classe SSLSocketFactory specificata, {0}, non pu essere istanziata." -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Could not read SSL root certificate file {0}." msgstr "" -" stato definito il parametro di tipo {0}, ma poi stato invocato il " -"metodo get{1}() (sqltype={2})." -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -" stato definito un CallableStatement ma non stato invocato il metodo " -"registerOutParameter(1, )." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Fallita la conversione di un interval." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Fallita la conversione di un money." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Valore di tipo {0} non supportato." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Dettaglio: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Il metodo {0} accetta quattro e solo quattro argomenti." +msgid "Hint: {0}" +msgstr "Suggerimento: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Il metodo {0} accetta due e solo due argomenti." +msgid "Position: {0}" +msgstr "Posizione: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Il metodo {0} accetta un ed un solo argomento." +msgid "Where: {0}" +msgstr "Dove: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Il metodo {0} accetta due o tre argomenti." +msgid "Internal Query: {0}" +msgstr "Query interna: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Il metodo {0} non accetta argomenti." +msgid "Internal Position: {0}" +msgstr "Posizione interna: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Il metodo {0} accetta tre e solo tre argomenti." +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Individuazione: file: \"{0}\", routine: {1}, linea: {2}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "L''intervallo {0} non stato ancora implementato." +msgid "Server SQLState: {0}" +msgstr "SQLState del server: {0}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, fuzzy, java-format +msgid "Invalid flags {0}" +msgstr "Flag non validi" + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid non pu essere NULL" + +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "La connessione utilizzata da un''altra transazione" + +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume non implementato" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Inizializzazione di LargeObject API fallita." +#: org/postgresql/xa/PGXAConnection.java:224 +#, fuzzy +msgid "Error disabling autocommit" +msgstr "Errore durante il commit \"one-phase\"" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Non possibile impostare i Large Object in modalit auto-commit." +#: org/postgresql/xa/PGXAConnection.java:261 +#, fuzzy, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr " stata chiamata end senza la corrispondente chiamata a start" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:297 +#, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:307 #, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Fallita la conversione di un ``box'': {0}." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"Non implementato: Prepare deve essere eseguito nella stessa connessione " +"che ha iniziato la transazione." + +#: org/postgresql/xa/PGXAConnection.java:311 +#, fuzzy, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare invocato prima della fine" + +#: org/postgresql/xa/PGXAConnection.java:331 +#, fuzzy, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Errore nel preparare una transazione" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Questo ResultSet chiuso." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Errore durante il ripristino" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:438 +#, fuzzy, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Errore durante il rollback di una transazione preparata" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 -#, java-format -msgid "Requested CopyOut but got {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" +"Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa " +"connessione che ha iniziato la transazione." -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 -#, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:487 +#, fuzzy, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "Commit stato chiamato prima della fine" -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:498 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Errore durante il commit \"one-phase\"" -#: org/postgresql/fastpath/Fastpath.java:157 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +#: org/postgresql/xa/PGXAConnection.java:517 +#, fuzzy +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +"Non implementato: la seconda fase del commit deve essere effettuata con " +"una connessione non in uso" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:550 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "Errore durante il rollback di una transazione preparata" -#: org/postgresql/fastpath/Fastpath.java:182 +#: org/postgresql/xa/PGXAConnection.java:567 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Commit e rollback euristici non sono supportati" -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "" -"Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " -"un intero." +#~ msgid "The driver does not support SSL." +#~ msgstr "Il driver non supporta SSL." -#: org/postgresql/fastpath/Fastpath.java:302 -#, java-format -msgid "The fastpath function {0} is unknown." -msgstr "La funzione fastpath {0} sconosciuta." +#~ msgid "End of Stack Trace" +#~ msgstr "Fine dello stack trace" + +#~ msgid "No results where returned by the query." +#~ msgstr "Nessun risultato stato restituito dalla query." #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1739,84 +1751,73 @@ msgstr "La funzione fastpath #~ "siano corretti, e che il server (postmaster) sia in esecuzione con " #~ "l''opzione -i, che abilita le connessioni attraverso la rete TCP/IP." -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Il tentativo di connessione fallito." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Connessione rifiutata: {0}." +#~ msgid "Bad int: {0}" +#~ msgstr "Int non corretto: {0}" #~ msgid "Backend start-up failed: {0}." #~ msgstr "Attivazione del backend fallita: {0}." -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "" -#~ "Le versioni del server precedenti alla 8.0 non permettono i punti di " -#~ "ripristino." +#~ msgid "Exception: {0}" +#~ msgstr "Eccezione: {0}." #~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "" #~ "Errore non previsto durante la decodifica di caratteri a partire da un " #~ "large object." -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "La restituzione di chiavi autogenerate non supportata." +#~ msgid "rand function only takes zero or one argument(the seed)." +#~ msgstr "Il metodo rand vuole al massimo un argomento (il seme)." -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." +#~ msgid "The time given {0} does not match the format required: {1}." +#~ msgstr "L''orario fornito {0} non corrisponde al formato richiesto: {1}." + +#~ msgid "Invalid flag" +#~ msgstr "Flag non valido" + +#~ msgid "Server versions prior to 8.0 do not support savepoints." #~ msgstr "" -#~ "Il valore specificato per il tipo timestamp o date, infinito, non pu " -#~ "essere rappresentato come time." +#~ "Le versioni del server precedenti alla 8.0 non permettono i punti di " +#~ "ripristino." -#~ msgid "Transaction interleaving not implemented" -#~ msgstr "L''\"interleaving\" delle transazioni {0} non supportato." +#~ msgid "The given date {0} does not match the format required: {1}." +#~ msgstr "La data fornita {0} non corrisponde al formato richiesto: {1}." + +#~ msgid "Bad long: {0}" +#~ msgstr "Long non corretto: {0}" #~ msgid "Server versions prior to 8.1 do not support two-phase commit." #~ msgstr "" #~ "Le versioni del server precedenti alla 8.1 non permettono i commit \"two-" #~ "phase\"." -#~ msgid "Invalid flag" -#~ msgstr "Flag non valido" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La class {0} non implementa org.postgresql.util.PGobject." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Il driver non supporta SSL." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Gli array multidimensionali non sono attualmente gestiti." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "Il metodo rand vuole al massimo un argomento (il seme)." +#~ msgid "suspend/resume and join not implemented" +#~ msgstr "Suspend, resume e join non sono implementati" -#~ msgid "Exception: {0}" -#~ msgstr "Eccezione: {0}." +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgstr "" +#~ "Eccezione durante la generazione dello stack trace per: {0} trovata: {1}" #~ msgid "Stack Trace:" #~ msgstr "Stack trace:" -#~ msgid "End of Stack Trace" -#~ msgstr "Fine dello stack trace" +#~ msgid "Transaction interleaving not implemented" +#~ msgstr "L''\"interleaving\" delle transazioni {0} non supportato." -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgid "Could not extract nanoseconds from {0}." +#~ msgstr "Non possibile estrarre i nanosecondi da {0}." + +#~ msgid "The timestamp given {0} does not match the format required: {1}." #~ msgstr "" -#~ "Eccezione durante la generazione dello stack trace per: {0} trovata: {1}" +#~ "La marca temporale fornita {0} non corrisponde al formato richiesto: {1}." -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "Suspend, resume e join non sono implementati" +#~ msgid "Conversion of line failed: {0}." +#~ msgstr "Fallita la conversione di un ``line'': {0}." -#~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." -#~ msgstr "" -#~ "Non possibile invocare setXXX(1,...) per un CallableStatement. Si " -#~ "tratta di un valore restituito che va configurato usando il metodo " -#~ "registerOutParameter()." +#~ msgid "Bad date: {0}" +#~ msgstr "Date non corretto: {0}" + +#~ msgid "Conversion of point failed: {0}." +#~ msgstr "Fallita la conversione di un ``point'': {0}." #~ msgid "" #~ "PostgreSQL only supports a single OUT function return value at index 1." @@ -1824,59 +1825,61 @@ msgstr "La funzione fastpath #~ "PostgreSQL permette di avere un solo valore restituito dalle funzioni, " #~ "utilizzando l''indice 1." -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Fallita la conversione di un ``circle'': {0}." - -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Fallita la conversione di un ``line'': {0}." +#~ msgid "The JVM claims not to support the UTF-8 encoding." +#~ msgstr "La JVM sostiene di non supportare la codifica UTF-8." -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Fallita la conversione di un ``point'': {0}." +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Il valore specificato per il tipo timestamp o date, infinito, non pu " +#~ "essere rappresentato come time." -#~ msgid "No results where returned by the query." -#~ msgstr "Nessun risultato stato restituito dalla query." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Connessione rifiutata: {0}." -#~ msgid "Bad byte: {0}" -#~ msgstr "Byte non corretto: {0}" +#~ msgid "Bad double: {0}" +#~ msgstr "Double non corretto: {0}" #~ msgid "Bad short: {0}" #~ msgstr "Short non corretto: {0}" -#~ msgid "The JVM claims not to support the UTF-8 encoding." -#~ msgstr "La JVM sostiene di non supportare la codifica UTF-8." - -#~ msgid "Bad int: {0}" -#~ msgstr "Int non corretto: {0}" +#~ msgid "Conversion of circle failed: {0}." +#~ msgstr "Fallita la conversione di un ``circle'': {0}." -#~ msgid "Bad long: {0}" -#~ msgstr "Long non corretto: {0}" +#~ msgid "" +#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " +#~ "must be configured with registerOutParameter instead." +#~ msgstr "" +#~ "Non possibile invocare setXXX(1,...) per un CallableStatement. Si " +#~ "tratta di un valore restituito che va configurato usando il metodo " +#~ "registerOutParameter()." #~ msgid "Bad BigDecimal: {0}" #~ msgstr "BigDecimal non corretto: {0}" -#~ msgid "Bad float: {0}" -#~ msgstr "Float non corretto: {0}" - -#~ msgid "Bad double: {0}" -#~ msgstr "Double non corretto: {0}" - -#~ msgid "Bad date: {0}" -#~ msgstr "Date non corretto: {0}" +#~ msgid "Bad byte: {0}" +#~ msgstr "Byte non corretto: {0}" -#~ msgid "The given date {0} does not match the format required: {1}." -#~ msgstr "La data fornita {0} non corrisponde al formato richiesto: {1}." +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Il tentativo di connessione fallito." -#~ msgid "The time given {0} does not match the format required: {1}." -#~ msgstr "L''orario fornito {0} non corrisponde al formato richiesto: {1}." +#, fuzzy +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "La restituzione di chiavi autogenerate non supportata." -#~ msgid "The timestamp given {0} does not match the format required: {1}." -#~ msgstr "" -#~ "La marca temporale fornita {0} non corrisponde al formato richiesto: {1}." +#~ msgid "Bad float: {0}" +#~ msgstr "Float non corretto: {0}" -#~ msgid "Could not extract nanoseconds from {0}." -#~ msgstr "Non possibile estrarre i nanosecondi da {0}." +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "La class {0} non implementa org.postgresql.util.PGobject." #~ msgid "ResultSet holdability of HOLD_CURSORS_OVER_COMMIT is not supported." #~ msgstr "" #~ "Il mantenimento del ResultSet tramite HOLD_CURSOR_OVER_COMMIT non " #~ "supportato." + +#~ msgid "Multi-dimensional arrays are currently not supported." +#~ msgstr "Gli array multidimensionali non sono attualmente gestiti." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index bc1cd02d8b..f86d2cf0b1 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: head-ja\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2010-04-11 22:58+0900\n" "Last-Translator: Hiroshi Saito \n" "Language-Team: PostgreSQL \n" @@ -20,172 +20,119 @@ msgstr "" "X-Poedit-Language: Japanese\n" "X-Poedit-Country: Japan\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "driverconfig.propertiesによる初期設定のロードエラー。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:270 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "SSL接続のセットアップ中に、エラーが起こりました。" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベー" +"ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" +"す。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" -"javaの暗号化アルゴリズムを見つけることができませんでした。X.509 " -"CertificateFactory は利用できません。" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "SSL証明書ファイル {0} を開けませんでした。" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。" +"ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "SSLパスワード入力: " +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "接続試行がタイムアウトしました。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" -"SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "接続試行中に割り込みがありました。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "callbackhandler {0} で、SSL keyファイルを読めませんでした。" +msgid "Method {0} is not yet implemented." +msgstr "{0} メソッドはまだ実装されていません。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 -#, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "SSL keyファイル {0} を復号できませんでした。" +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, fuzzy, java-format +msgid "{0} parameter value must be an integer but was: {1}" +msgstr "unknownLengthパラメータ値は整数でなければなりません" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read SSL key file {0}." -msgstr "SSL keyファイル {0} を読めませんでした。" +msgid "Requested CopyIn but got {0}" +msgstr "CopyInを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "javaの暗号化アルゴリズム {0} を見つけることができませんでした。" +msgid "Requested CopyOut but got {0}" +msgstr "CopyOutを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/copy/CopyManager.java:75 #, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "提供されたpassword callbackクラス {0} は、即応しないかもしれません。" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "SSLルート証明書ファイル {0} を開けませんでした。" +msgid "Requested CopyDual but got {0}" +msgstr "CopyOutを要求しましたが {0} を得ました。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "SSLルート証明書ファイル {0} を読めませんでした。" +msgid "Copying from database failed: {0}" +msgstr "データベースからコピーに失敗しました: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "コピー・ストリームは閉じられました。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." -msgstr "SSL contextを初期化できませんでした。" +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." +msgstr "copyからの読み取りに失敗しました。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" +msgid "Cannot write to copy a byte of value {0}" +msgstr "値{0}のバイトコピーで書き込みができません。" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "SSL error: {0}" -msgstr "SSL エラー: {0}" - -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "提供されたHostnameVerifierクラス {0} は、即応しないかもしれません。" +msgid "A connection could not be made using the requested protocol {0}." +msgstr "要求されたプロトコル {0} を使用して接続することができません。" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。" +msgid "oid type {0} not known and not a number" +msgstr "数値でない、未知のOID型 {0} です。" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "ホスト名 {0} は確認できませんでした。" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "プロトコルエラー。セッション設定は失敗しました。" +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgstr "" +"早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読" +"み込まれました。" -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "GSS認証は失敗しました。" +#: org/postgresql/core/PGStream.java:528 +#, java-format +msgid "Expected an EOF from server, got: {0}" +msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "正しくない関数または手続きは、位置 {0} で文法を逸しました。" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "クエリによって想定しない結果が返されました。" + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "ゼロ・バイトを文字列パラメータ中に含めることはできません。" - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "ゼロ・バイトを識別子に含めることはできません。" - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -216,45 +163,123 @@ msgstr "UTF-8シーケンス違反: 最終値が範囲外です: {0}" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "クエリによって想定しない結果が返されました。" +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "ゼロ・バイトを文字列パラメータ中に含めることはできません。" -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読" -"み込まれました。" -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "ゼロ・バイトを識別子に含めることはできません。" + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " -msgstr "コマンド完了はCOPYを想定しましたが、次の結果を得ました:" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" +"IP接続を受け入れていることを調べて下さい。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" -msgstr "すでに占有している最中のロック取得です。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "接続試行は失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" -msgstr "データベース接続のロック中断を試みます。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "データベース接続でロック待ちの最中に割り込みがありました。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "サーバはSSLをサポートしていません。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "ステートメントのパラメータ値をバインドできません。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "SSL接続のセットアップ中に、エラーが起こりました。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" +"れませんでした。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIP" +"アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" +"使っているかを調べてください。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "プロトコルエラー。セッション設定は失敗しました。" + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "コマンド完了はCOPYを想定しましたが、次の結果を得ました:" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "すでに占有している最中のロック取得です。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "データベース接続のロック中断を試みます。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "データベース接続でロック待ちの最中に割り込みがありました。" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "ステートメントのパラメータ値をバインドできません。" #: org/postgresql/core/v3/QueryExecutorImpl.java:333 #: org/postgresql/core/v3/QueryExecutorImpl.java:485 @@ -398,7 +423,7 @@ msgstr "現在、ドライバはコピー操作をサポートしません。" msgid "Unable to parse the count in command completion tag: {0}." msgstr "コマンド完了タグの更新数を解釈することができません: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -407,7 +432,7 @@ msgstr "" "サーバのclient_encodingパラメータが {0} に変わりました。JDBCドライバは、正し" "い操作のためclient_encodingをUNICODEにすることを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -416,7 +441,7 @@ msgstr "" "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作" "のためISOで開始するDateStyleを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -425,15 +450,6 @@ msgstr "" "サーバのstandard_conforming_stringsパラメータは、{0}として報告されました。" "JDBCドライバは、on または off を想定します。" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -444,11 +460,6 @@ msgstr "パラメータ {0} に値が設定されてません。" msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "接続試行は失敗しました。" - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, fuzzy, java-format msgid "Unexpected packet type during replication: {0}" @@ -459,782 +470,531 @@ msgstr "コピー中の想定外のパケット型です: {0}" msgid "This replication stream has been closed." msgstr "この接続は既に閉じられています。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "無効な sslmode 値です。{0}." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "PooledConnectionは、すでに閉じられています。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." +msgstr "" +"同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。また" +"は、PooledConnectionは既に閉じられています。" + +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "接続は閉じられました。" + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "ステートメントは閉じられました。" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "データソースのセットアップに失敗しました。" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "データソースは閉じられました。" + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "無効な sslmode 値です。{0}." +msgid "Unsupported property name: {0}" +msgstr "サポートされない型の値: {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" -"IP接続を受け入れていることを調べて下さい。" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "サーバはSSLをサポートしていません。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "SSL接続のセットアップ中に、エラーが起こりました。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"The server requested password-based authentication, but no password was " -"provided." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" -"れませんでした。" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIP" -"アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" -"使っているかを調べてください。" +"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"した。" -#: org/postgresql/core/ConnectionFactory.java:57 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "要求されたプロトコル {0} を使用して接続することができません。" +msgid "The fastpath function {0} is unknown." +msgstr "{0} は未知の fastpath 関数です。" + +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 +#, java-format +msgid "Conversion to type {0} failed: {1}." +msgstr "{0} への型変換は失敗しました: {1}." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "数値でない、未知のOID型 {0} です。" +msgid "Cannot tell if path is open or closed: {0}." +msgstr "path が オープンしているか、クローズしているか判別できません: {0}" -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "GSS認証は失敗しました。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字" -"セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" -"ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" +"ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。" -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "moneyの変換に失敗しました。" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "負の値でLOBを削除できません。" -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB は、インデックス {0} までのみ可能です。 " -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "intervalの変換に失敗しました。" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB オフセット開始位置を 1 としてください。" -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "以前に、このLOBに対するfree() は呼ばれました。" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "多すぎる更新結果が返されました。" + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"バッチ投入 {0} {1} は停止しました。getNextExceptionを呼んで原因を見て下さい。" -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "詳細: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Hint: {0}" -msgstr "ヒント: {0}" +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Position: {0}" -msgstr "ポジション: {0}" +msgid "{0} function takes four and only four argument." +msgstr "{0} 関数は、四つの引数のみを用います。" -#: org/postgresql/util/ServerErrorMessage.java:189 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Where: {0}" -msgstr "場所: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "{0} 関数は、二つの引数のみを用います。" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Internal Query: {0}" -msgstr "インターナル・クエリ: {0}" +msgid "{0} function takes one and only one argument." +msgstr "{0} 関数は、単一の引数のみを用います。" -#: org/postgresql/util/ServerErrorMessage.java:199 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Internal Position: {0}" -msgstr "インターナル・ポジション: {0}" +msgid "{0} function takes two or three arguments." +msgstr "{0} 関数は、二つ、または三つの引数を用います。" -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "場所: ファイル: {0}, ルーチン: {1},行: {2}" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 関数は、どのような引数も用いません。" -#: org/postgresql/util/ServerErrorMessage.java:211 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Server SQLState: {0}" -msgstr "サーバ SQLState: {0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "データソースのセットアップに失敗しました。" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "データソースは閉じられました。" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 関数は、三つの引数のみを用います。" -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "サポートされない型の値: {0}." +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, java-format +msgid "Interval {0} not yet implemented" +msgstr "間隔 {0} はまだ実装されていません。" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "PooledConnectionは、すでに閉じられています。" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "savepointは、解放された後で参照することはできません。" -#: org/postgresql/ds/PGPooledConnection.java:314 -msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." -msgstr "" -"同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。また" -"は、PooledConnectionは既に閉じられています。" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "名前の付いたsavepointのidを取得することができません。" -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "接続は閉じられました。" +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "名前のないsavepointの名前を取得することができません。" -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "ステートメントは閉じられました。" +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "配列インデックスは、範囲外です: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" +"不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字" +"セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" +"ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "無効な sslmode 値です。{0}." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatementは、戻りなしで実行されました。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "無効な sslmode 値です。{0}." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatementは、不正な数のパラメータで実行されました。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" +"し、型 {2} が登録されました。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" +"ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" +"て宣言して下さい。" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "サポートされない型の値: {0}." - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "driverconfig.propertiesによる初期設定のロードエラー。" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNullは、結果フェッチ前に呼び出せません。" -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -"セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベー" -"ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" -"す。" +"型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" +"た。" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" +"CallableStatementは宣言されましたが、registerOutParameter(1, ) は" +"呼び出されませんでした。" -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "接続試行がタイムアウトしました。" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "関数出力は登録されませんでした。" -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "接続試行中に割り込みがありました。" +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "実行される前に、CallableStatement から結果を得ることはできません。" -#: org/postgresql/Driver.java:682 +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "サポートされないバイナリエンコーディングです: {0}." + +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "{0} メソッドはまだ実装されていません。" +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "サポートされないstringtypeパラメータ値です: {0}" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "いかなる結果も、クエリによって返されませんでした。" + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "結果がないことを想定しましたが、結果が返されました。" + +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." +msgstr "カスタム型マップはサポートされません。" + +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "{0} への型変換は失敗しました: {1}." +msgid "Failed to create object for: {0}." +msgstr "{0} へのオブジェクト生成に失敗しました。" -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "path が オープンしているか、クローズしているか判別できません: {0}" +msgid "Unable to load the class {0} responsible for the datatype {1}" +msgstr "データ型 {1} に対応するクラス{0} をロードできません。" -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -"トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " -"setSavePoint は、XAトランザクションが有効では利用できません。" +"トランザクションの最中に読み出し専用プロパティを変えることはできません。" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" -msgstr "無効なフラグです。{0}" +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." +msgstr "autoCommit有効時に、明示的なコミットはできません。" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xidはnullではいけません。" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +msgid "This connection has been closed." +msgstr "この接続は既に閉じられています。" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "接続は、別のトランザクションに対応中です。" +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." +msgstr "autoCommit有効時に、明示的なロールバックはできません。" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "停止/再開 は実装されていません。" +#: org/postgresql/jdbc/PgConnection.java:827 +msgid "" +"Cannot change transaction isolation level in the middle of a transaction." +msgstr "トランザクションの最中に隔離レベルを変えることができません。" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"Transaction interleaving は実装されていません。xid={0}, currentXid={1}, " -"state={2}, flags={3}" +msgid "Transaction isolation level {0} not supported." +msgstr "トランザクション隔離レベル{0} はサポートされていません。" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "自動コミットの無効化エラー" +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" +msgstr "接続終了で閉じられませんでした:" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." +msgstr "望む符号化にデータを訳すことができません。" + +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" -"対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, " -"currentXid={2}, preparedXid={3}" +msgid "Unable to find server array type for provided name {0}." +msgstr "提供名 {0} で、サーバの配列型を見つけることができません。" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/PgConnection.java:1312 #, fuzzy, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgid "Invalid elements {0}" +msgstr "無効なフラグです。{0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 +#, fuzzy, java-format +msgid "Invalid timeout ({0}<0)." +msgstr "無効なタイムアウト値です ({0}<0)。" + +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." +msgstr "有効確認の接続" + +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "ClientInfo プロパティ:{0} の設定に失敗しました。" + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." +msgstr "ClientInfo プロパティはサポートされていません。" + +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -"実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" -"なくてはなりません。currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}" +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "未知の ResultSet に対するholdability設定です: {0}" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "トランザクションの準備エラー。prepare xid={0}" +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "自動コミットモードでsavepointを作成できません。" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "回復中にエラー" +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." +msgstr "自動生成キーを返すことはサポートされていません。" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができ" +"ません。" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." +msgstr "名前データ型をシステムカタログで見つけることができません。" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "名前データ型をシステムカタログで見つけることができません。" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" msgstr "" -"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" -"ばなりません。" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "終了の前に COMMIT を呼びました commit xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 -#, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "単一フェーズのCOMMITの最中にエラー commit xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" msgstr "" -"実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりませ" -"ん。xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 -#, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -"準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, " -"currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 -#, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "xmlデータを復号化できません。" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "未知のXMLソースクラス: {0}" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "SQLXMLに対するSAXResultを生成できません。" +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +msgid "" +"Can''t use query methods that take a query string on a PreparedStatement." +msgstr "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。" -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "SQLXMLに対するStAXResultを生成できません。" +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "未知の型の値です。" -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知のXML結果クラス: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "このSQLXMLオブジェクトはすでに解放されています。" - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" -"このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できま" -"せん。" +msgid "Invalid stream length {0}." +msgstr "無効なストリーム長 {0}." -#: org/postgresql/jdbc/PgSQLXML.java:247 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "バイナリxmlデータのエンコード: {0} への変換に失敗しました。" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "DOMResult SQLXMLデータを文字列に変えることができません。" - -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." -msgstr "savepointは、解放された後で参照することはできません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "名前の付いたsavepointのidを取得することができません。" - -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "名前のないsavepointの名前を取得することができません。" - -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "配列インデックスは、範囲外です: {0}" - -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 -#, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" - -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" - -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "多すぎる更新結果が返されました。" - -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format -msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "" -"バッチ投入 {0} {1} は停止しました。getNextExceptionを呼んで原因を見て下さい。" - -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "サポートされないstringtypeパラメータ値です: {0}" - -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "いかなる結果も、クエリによって返されませんでした。" - -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "結果がないことを想定しましたが、結果が返されました。" - -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." -msgstr "カスタム型マップはサポートされません。" - -#: org/postgresql/jdbc/PgConnection.java:587 -#, java-format -msgid "Failed to create object for: {0}." -msgstr "{0} へのオブジェクト生成に失敗しました。" - -#: org/postgresql/jdbc/PgConnection.java:641 -#, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" -msgstr "データ型 {1} に対応するクラス{0} をロードできません。" - -#: org/postgresql/jdbc/PgConnection.java:693 -msgid "" -"Cannot change transaction read-only property in the middle of a transaction." -msgstr "" -"トランザクションの最中に読み出し専用プロパティを変えることはできません。" - -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." -msgstr "autoCommit有効時に、明示的なコミットはできません。" - -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -msgid "This connection has been closed." -msgstr "この接続は既に閉じられています。" - -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." -msgstr "autoCommit有効時に、明示的なロールバックはできません。" - -#: org/postgresql/jdbc/PgConnection.java:827 -msgid "" -"Cannot change transaction isolation level in the middle of a transaction." -msgstr "トランザクションの最中に隔離レベルを変えることができません。" - -#: org/postgresql/jdbc/PgConnection.java:833 -#, java-format -msgid "Transaction isolation level {0} not supported." -msgstr "トランザクション隔離レベル{0} はサポートされていません。" - -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" -msgstr "接続終了で閉じられませんでした:" - -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." -msgstr "望む符号化にデータを訳すことができません。" - -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." -msgstr "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 -#, java-format -msgid "Unable to find server array type for provided name {0}." -msgstr "提供名 {0} で、サーバの配列型を見つけることができません。" - -#: org/postgresql/jdbc/PgConnection.java:1312 -#, fuzzy, java-format -msgid "Invalid elements {0}" -msgstr "無効なフラグです。{0}" - -#: org/postgresql/jdbc/PgConnection.java:1348 -#, fuzzy, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "無効なタイムアウト値です ({0}<0)。" - -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." -msgstr "有効確認の接続" - -#: org/postgresql/jdbc/PgConnection.java:1405 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "ClientInfo プロパティ:{0} の設定に失敗しました。" - -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." -msgstr "ClientInfo プロパティはサポートされていません。" - -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1540 -#, fuzzy -msgid "Network timeout must be a value greater than or equal to 0." -msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1580 -#, java-format -msgid "Unknown ResultSet holdability setting: {0}." -msgstr "未知の ResultSet に対するholdability設定です: {0}" - -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." -msgstr "自動コミットモードでsavepointを作成できません。" - -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "自動生成キーを返すことはサポートされていません。" - -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "クエリの実行により、複数のResultSetが返されました。" - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "このステートメントは閉じられました。" - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "無効なフェッチ方向の定数です: {0}" - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "列インデックスで自動生成キーを返すことはサポートされていません。" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" -"間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができ" -"ません。" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "名前データ型をシステムカタログで見つけることができません。" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "負の値でLOBを削除できません。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB は、インデックス {0} までのみ可能です。 " - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "LOB オフセット開始位置を 1 としてください。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "以前に、このLOBに対するfree() は呼ばれました。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." -msgstr "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "未知の型の値です。" - -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." -msgstr "無効なストリーム長 {0}." - -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVMは、エンコーディング {0} をサポートしません。" @@ -1293,10 +1053,10 @@ msgstr "" msgid "Provided Reader failed." msgstr "提供された Reader は失敗しました。" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" -msgstr "" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." +msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" #: org/postgresql/jdbc/PgResultSet.java:280 msgid "" @@ -1311,8 +1071,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "型 {0} の列値を型 {1} に変換できません。" @@ -1323,6 +1083,12 @@ msgstr "型 {0} の列値を型 {1} に変換できません。" msgid "Can''t use relative move methods while on the insert row." msgstr "行挿入の最中に関連の動作方法を使うことはできません。" +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "無効なフェッチ方向の定数です: {0}" + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "行挿入時に cancelRowUpdates() を呼び出せません。" @@ -1361,8 +1127,8 @@ msgstr "行挿入には、最低でも1つの列の値が必要です。" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVMでサポートされないエンコーディングです: {0}" @@ -1376,7 +1142,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "行を挿入したときに、updateRow() を呼び出すことができません。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1391,29 +1157,29 @@ msgstr "CONCUR_READ_ONLYを伴うResultSetsは更新できません。" msgid "No primary key found for table {0}." msgstr "テーブル {0} の主キーがありません。" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "型 {0} で不正な値 : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet に列名 {0} は見つかりませんでした。" -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1423,46 +1189,124 @@ msgstr "" "のテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より" "多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。" -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "ResultSetは閉じられました。" -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。" -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 msgid "Invalid UUID data." msgstr "無効なUUIDデータです。" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "トランザクション隔離レベル{0} はサポートされていません。" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "xmlデータを復号化できません。" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "未知のXMLソースクラス: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "SQLXMLに対するSAXResultを生成できません。" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "SQLXMLに対するStAXResultを生成できません。" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知のXML結果クラス: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "このSQLXMLオブジェクトはすでに解放されています。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" +"このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できま" +"せん。" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "バイナリxmlデータのエンコード: {0} への変換に失敗しました。" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "DOMResult SQLXMLデータを文字列に変えることができません。" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "クエリの実行により、複数のResultSetが返されました。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "このステートメントは閉じられました。" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "列インデックスで自動生成キーを返すことはサポートされていません。" + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1477,316 +1321,469 @@ msgstr "型 {0} で不正な値 : {1}" msgid "Unsupported binary encoding of {0}." msgstr "サポートされないバイナリエンコーディングです: {0}." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatementは、戻りなしで実行されました。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "無効な sslmode 値です。{0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "ラージオブジェクトAPIの初期化に失敗しました。" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "サポートされない型の値: {0}." + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "SSL エラー: {0}" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "提供されたHostnameVerifierクラス {0} は、即応しないかもしれません。" + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "ホスト名 {0} は確認できませんでした。" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "SSL接続のセットアップ中に、エラーが起こりました。" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" +"javaの暗号化アルゴリズムを見つけることができませんでした。X.509 " +"CertificateFactory は利用できません。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "SSL証明書ファイル {0} を開けませんでした。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "SSLパスワード入力: " + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" +"SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "callbackhandler {0} で、SSL keyファイルを読めませんでした。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "SSL keyファイル {0} を復号できませんでした。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "SSL keyファイル {0} を読めませんでした。" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "javaの暗号化アルゴリズム {0} を見つけることができませんでした。" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, fuzzy, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "提供されたpassword callbackクラス {0} は、即応しないかもしれません。" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatementは、不正な数のパラメータで実行されました。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." +msgstr "SSLルート証明書ファイル {0} を開けませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." -msgstr "" -"CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" -"し、型 {2} が登録されました。" +msgid "Could not read SSL root certificate file {0}." +msgstr "SSLルート証明書ファイル {0} を読めませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "" -"ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" -"て宣言して下さい。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNullは、結果フェッチ前に呼び出せません。" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "SSL contextを初期化できませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 -#, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "" -"型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" -"た。" +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "intervalの変換に失敗しました。" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "moneyの変換に失敗しました。" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -"CallableStatementは宣言されましたが、registerOutParameter(1, ) は" -"呼び出されませんでした。" - -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "関数出力は登録されませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "実行される前に、CallableStatement から結果を得ることはできません。" +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "詳細: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "サポートされないバイナリエンコーディングです: {0}." +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "ヒント: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 関数は、四つの引数のみを用います。" +msgid "Position: {0}" +msgstr "ポジション: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 関数は、二つの引数のみを用います。" +msgid "Where: {0}" +msgstr "場所: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 関数は、単一の引数のみを用います。" +msgid "Internal Query: {0}" +msgstr "インターナル・クエリ: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 関数は、二つ、または三つの引数を用います。" +msgid "Internal Position: {0}" +msgstr "インターナル・ポジション: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 関数は、どのような引数も用いません。" +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "場所: ファイル: {0}, ルーチン: {1},行: {2}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 関数は、三つの引数のみを用います。" +msgid "Server SQLState: {0}" +msgstr "サーバ SQLState: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" +"トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " +"setSavePoint は、XAトランザクションが有効では利用できません。" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "間隔 {0} はまだ実装されていません。" +msgid "Invalid flags {0}" +msgstr "無効なフラグです。{0}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 -#, fuzzy, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "unknownLengthパラメータ値は整数でなければなりません" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xidはnullではいけません。" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "ラージオブジェクトAPIの初期化に失敗しました。" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "接続は、別のトランザクションに対応中です。" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "停止/再開 は実装されていません。" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Copying from database failed: {0}" -msgstr "データベースからコピーに失敗しました: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"Transaction interleaving は実装されていません。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." -msgstr "コピー・ストリームは閉じられました。" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "自動コミットの無効化エラー" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "copyからの読み取りに失敗しました。" +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" +"対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " +"currentXid={2}" + +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Requested CopyIn but got {0}" -msgstr "CopyInを要求しましたが {0} を得ました。" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "Requested CopyOut but got {0}" -msgstr "CopyOutを要求しましたが {0} を得ました。" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" +"実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" +"なくてはなりません。currentXid={0}, prepare xid={1}" -#: org/postgresql/copy/CopyManager.java:75 -#, fuzzy, java-format -msgid "Requested CopyDual but got {0}" -msgstr "CopyOutを要求しましたが {0} を得ました。" +#: org/postgresql/xa/PGXAConnection.java:311 +#, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "値{0}のバイトコピーで書き込みができません。" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "トランザクションの準備エラー。prepare xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "回復中にエラー" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" +"ばなりません。" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "終了の前に COMMIT を呼びました commit xid={0}, state={1}" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "単一フェーズのCOMMITの最中にエラー commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりませ" +"ん。xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "{0} は未知の fastpath 関数です。" +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタが" -#~ "TCP/IP接続を受け入れていることを調べて下さい。" +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "接続URLが不正です。" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "サーバのバージョン 8.0 以前は、savepointをサポートしません。" -#~ msgid "Connection rejected: {0}." -#~ msgstr "接続は拒絶されました: {0}." +#~ msgid "End of Stack Trace" +#~ msgstr "スタック・トレースの終り:" #~ msgid "Backend start-up failed: {0}." #~ msgstr "バックエンドの開始に失敗しました: {0}" -#~ msgid "Copy not implemented for protocol version 2" -#~ msgstr "プロトコルバージョン2でコピーは実装されていません。" +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgstr "スタック・トレース例外生成: {0} 遭遇: {1}" -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "サーバのバージョン 8.0 以前は、savepointをサポートしません。" +#, fuzzy +#~ msgid "Conversion of line failed: {0}." +#~ msgstr "Konnte »{0}« nicht in Typ »line« umwandeln" -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "ラージオブジェクトから文字データの複合化中に想定外のエラーが起きました。" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "接続URLが不正です。" -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "自動生成キーを返すことは 8.2 以上でサポートされます。" +#~ msgid "Invalid flag" +#~ msgstr "無効なフラグ" + +#~ msgid "rand function only takes zero or one argument(the seed)." +#~ msgstr "" +#~ "Die Funktion ''rand'' erwartet kein oder genau ein Argument (den " +#~ "''seed'')." #~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." #~ msgstr "" -#~ "timestamp/date で無限値が見つかりました。これは、時間として表すことができ" -#~ "ません。" +#~ "接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタが" +#~ "TCP/IP接続を受け入れていることを調べて下さい。" -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "2相コミット は、サーバのバージョン 8.1以前はサポートされません。" +#~ msgid "suspend/resume and join not implemented" +#~ msgstr "Anhalten/Fortsetzen und Join sind nicht implementiert." -#~ msgid "Invalid flag" -#~ msgstr "無効なフラグ" +#~ msgid "Stack Trace:" +#~ msgstr "スタック・トレース:" -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "クラス {0} は、org.postgresql.util.PGobject を実装していません。" +#, fuzzy +#~ msgid "Conversion of circle failed: {0}." +#~ msgstr "Konnte »{0}« nicht in Typ »circle« umwandeln" -#~ msgid "The driver does not support SSL." -#~ msgstr "ドライバはSSLをサポートしていません。" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "" +#~ "ラージオブジェクトから文字データの複合化中に想定外のエラーが起きました。" #~ msgid "Exception: {0}" #~ msgstr "例外: {0}." -#~ msgid "Stack Trace:" -#~ msgstr "スタック・トレース:" +#, fuzzy +#~ msgid "Bad float: {0}" +#~ msgstr "Ungültiges Format für Float: {0}" -#~ msgid "End of Stack Trace" -#~ msgstr "スタック・トレースの終り:" +#, fuzzy +#~ msgid "Bad double: {0}" +#~ msgstr "Ungültiges Format für Double: {0}" -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "スタック・トレース例外生成: {0} 遭遇: {1}" +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "自動生成キーを返すことは 8.2 以上でサポートされます。" -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Mehrdimensionale Arrays werden derzeit nicht unterstützt." +#, fuzzy +#~ msgid "Bad byte: {0}" +#~ msgstr "Ungültiges Format für Byte: {0}" -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "" -#~ "Die Funktion ''rand'' erwartet kein oder genau ein Argument (den " -#~ "''seed'')." +#, fuzzy +#~ msgid "No results where returned by the query." +#~ msgstr "Die Abfrage ergab kein Ergebnis." -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "Anhalten/Fortsetzen und Join sind nicht implementiert." +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "2相コミット は、サーバのバージョン 8.1以前はサポートされません。" -#~ msgid "" -#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." -#~ "OTHER) instead." -#~ msgstr "" -#~ "''setNull(i, Types.OTHER)'' wird nicht unterstützt; benutzen Sie " -#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." +#~ msgid "Copy not implemented for protocol version 2" +#~ msgstr "プロトコルバージョン2でコピーは実装されていません。" #~ msgid "" -#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " -#~ "setObject(i,null,type)" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." #~ msgstr "" -#~ "''setObejct(i, null)'' ist nicht unterstützt. Benutzen Sie ''setNull(i, " -#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." +#~ "timestamp/date で無限値が見つかりました。これは、時間として表すことができ" +#~ "ません。" -#~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." -#~ msgstr "" -#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " -#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " -#~ "konfiguriert werden." +#, fuzzy +#~ msgid "Bad date: {0}" +#~ msgstr "Ungültiges Format für Byte: {0}" #~ msgid "" #~ "PostgreSQL only supports a single OUT function return value at index 1." @@ -1795,49 +1792,55 @@ msgstr "{0} は未知の fastpath 関数です。" #~ "für die OUT-Funktion." #, fuzzy -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »circle« umwandeln" - -#, fuzzy -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »line« umwandeln" - -#, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »point« umwandeln" +#~ msgid "Bad BigDecimal: {0}" +#~ msgstr "Ungültiges Format für BigDecimal: {0}" -#, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Die Abfrage ergab kein Ergebnis." +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "クラス {0} は、org.postgresql.util.PGobject を実装していません。" #, fuzzy -#~ msgid "Bad byte: {0}" -#~ msgstr "Ungültiges Format für Byte: {0}" +#~ msgid "Bad long: {0}" +#~ msgstr "Ungültiges Format für Long: {0}" #, fuzzy #~ msgid "Bad short: {0}" #~ msgstr "Ungültiges Format für Short: {0}" +#~ msgid "The driver does not support SSL." +#~ msgstr "ドライバはSSLをサポートしていません。" + #, fuzzy -#~ msgid "Bad int: {0}" -#~ msgstr "Ungültiges Format für Long: {0}" +#~ msgid "Conversion of point failed: {0}." +#~ msgstr "Konnte »{0}« nicht in Typ »point« umwandeln" + +#~ msgid "" +#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " +#~ "setObject(i,null,type)" +#~ msgstr "" +#~ "''setObejct(i, null)'' ist nicht unterstützt. Benutzen Sie ''setNull(i, " +#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." #, fuzzy -#~ msgid "Bad long: {0}" +#~ msgid "Bad int: {0}" #~ msgstr "Ungültiges Format für Long: {0}" -#, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Ungültiges Format für BigDecimal: {0}" +#~ msgid "" +#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " +#~ "must be configured with registerOutParameter instead." +#~ msgstr "" +#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " +#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " +#~ "konfiguriert werden." -#, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Ungültiges Format für Float: {0}" +#~ msgid "Multi-dimensional arrays are currently not supported." +#~ msgstr "Mehrdimensionale Arrays werden derzeit nicht unterstützt." -#, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Ungültiges Format für Double: {0}" +#~ msgid "Connection rejected: {0}." +#~ msgstr "接続は拒絶されました: {0}." -#, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Ungültiges Format für Byte: {0}" +#~ msgid "" +#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." +#~ "OTHER) instead." +#~ msgstr "" +#~ "''setNull(i, Types.OTHER)'' wird nicht unterstützt; benutzen Sie " +#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot index 1d55495f37..8253be27ce 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:25+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,154 +17,138 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -msgid "An error occurred reading the certificate" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "Method {0} is not yet implemented." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/copy/CopyManager.java:53 +#, java-format +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 -#, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "A connection could not be made using the requested protocol {0}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "SSL error: {0}" +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The hostname {0} could not be verified." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." +#: org/postgresql/core/UTF8Encoding.java:66 +#, java-format +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 +#, java-format +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -179,55 +163,89 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:28 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:66 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:135 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:151 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." msgstr "" -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." msgstr "" -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." msgstr "" #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -381,36 +399,27 @@ msgstr "" msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "" - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -421,11 +430,6 @@ msgstr "" msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "" - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -435,245 +439,79 @@ msgstr "" msgid "This replication stream has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, java-format -msgid "Invalid sslmode value: {0}" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, java-format -msgid "Invalid targetServerType value: {0}" +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 +#, java-format +msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/fastpath/Fastpath.java:86 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "" - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "" - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 +#: org/postgresql/fastpath/Fastpath.java:171 #, java-format -msgid "Unsupported property name: {0}" -msgstr "" - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "" - -#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." -msgstr "" - -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "" - -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, java-format -msgid "Invalid server-first-message: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, java-format -msgid "Invalid server-final-message: {0}" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:188 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:196 #, java-format -msgid "Unsupported properties: {0}" -msgstr "" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "" - -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "" - -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." +msgid "The fastpath function {0} is unknown." msgstr "" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "" @@ -683,223 +521,199 @@ msgstr "" msgid "Cannot tell if path is open or closed: {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/jdbc/BatchResultHandler.java:146 #, java-format msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgid "Interval {0} not yet implemented" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 -#, java-format -msgid "Error during one-phase commit. commit xid={0}" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "The array index is out of range: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -#, java-format -msgid "Unknown XML Source class: {0}" +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "Unknown XML Result class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:234 msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:247 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." -msgstr "" - -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "The array index is out of range: {0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 -#, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:146 +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, java-format -msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +msgid "Unsupported type conversion to {1}." msgstr "" #: org/postgresql/jdbc/PgConnection.java:272 @@ -908,6 +722,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "" #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -916,7 +731,6 @@ msgstr "" #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "" @@ -977,8 +791,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" @@ -1033,119 +847,70 @@ msgid "Unknown ResultSet holdability setting: {0}." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" #: org/postgresql/jdbc/PgPreparedStatement.java:106 @@ -1224,9 +989,9 @@ msgstr "" msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1240,8 +1005,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1252,6 +1017,12 @@ msgstr "" msgid "Can''t use relative move methods while on the insert row." msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "" + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" @@ -1286,8 +1057,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1301,7 +1072,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1316,282 +1087,513 @@ msgstr "" msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 +#, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "" + +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, java-format +msgid "Invalid server-first-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, java-format +msgid "Invalid server-final-message: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, java-format +msgid "Unsupported properties: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +msgid "An error occurred reading the certificate" +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "conversion to {0} from {1} not supported" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Unsupported binary encoding of {0}." +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 -#, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "Unsupported type conversion to {1}." +msgid "Detail: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "{0} function takes four and only four argument." +msgid "Hint: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Position: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function takes one and only one argument." +msgid "Where: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Internal Query: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "Internal Position: {0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:206 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "Location: File: {0}, Routine: {1}, Line: {2}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "Interval {0} not yet implemented" +msgid "Server SQLState: {0}" msgstr "" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "Error preparing transaction. prepare xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:182 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java new file mode 100644 index 0000000000..c9456ab0a0 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java @@ -0,0 +1,449 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_bg extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[890]; + t[0] = ""; + t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-12-28 00:01+0100\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Bulgarian\nX-Poedit-Country: BULGARIA\n"; + t[2] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[3] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430 \u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 {0} \u0431\u0435 \u043e\u0442 \u0442\u0438\u043f {1}, \u043e\u0431\u0430\u0447\u0435 \u0442\u0438\u043f {2} \u0431\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d."; + t[6] = "Too many update results were returned."; + t[7] = "\u0422\u0432\u044a\u0440\u0434\u0435 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0431\u044f\u0445\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438 \u043f\u0440\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430."; + t[10] = "There are no rows in this ResultSet."; + t[11] = "\u0412 \u0442\u043e\u0437\u0438 ResultSet \u043d\u044f\u043c\u0430 \u0440\u0435\u0434\u043e\u0432\u0435."; + t[14] = "Detail: {0}"; + t[15] = "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442: {0}"; + t[20] = "Invalid fetch direction constant: {0}."; + t[21] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 \u0437\u0430 fetch \u043f\u043e\u0441\u043e\u043a\u0430\u0442\u0430: {0}."; + t[22] = "No function outputs were registered."; + t[23] = "\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 \u043d\u0435 \u0431\u044f\u0445\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d\u0438."; + t[24] = "The array index is out of range: {0}"; + t[25] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043c\u0430\u0441\u0438\u0432 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442\u0430: {0}"; + t[26] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[27] = "\u0422\u0438\u043f \u043d\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435 {0} \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043b\u0438 \u0441\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043b\u0438 pg_hba.conf \u0444\u0430\u0439\u043b\u0430, \u0434\u0430 \u0432\u043a\u043b\u044e\u0447\u0432\u0430 IP \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u043c\u0440\u0435\u0436\u0430\u0442\u0430, \u0438 \u0447\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0445\u0435\u043c\u0430 \u0437\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435, \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0430 \u043e\u0442 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430."; + t[28] = "The server requested password-based authentication, but no password was provided."; + t[29] = "\u0421\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d\u0435 \u0441 \u043f\u0430\u0440\u043e\u043b\u0430, \u043d\u043e \u043f\u0430\u0440\u043e\u043b\u0430 \u043d\u0435 \u0431\u0435 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0430."; + t[40] = "Large Objects may not be used in auto-commit mode."; + t[41] = "\u0413\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0432 auto-commit \u043c\u043e\u0434\u0443\u0441."; + t[46] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[47] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u0434\u0430 \u0441\u0430 scrollable, \u043d\u043e \u0442\u043e\u0437\u0438 ResultSet \u0435 FORWARD_ONLY."; + t[48] = "Zero bytes may not occur in string parameters."; + t[49] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 \u043d\u0443\u043b\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432 \u043d\u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435."; + t[50] = "The JVM claims not to support the encoding: {0}"; + t[51] = "JVM \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0442\u0430\u0437\u0438 \u043a\u043e\u0434\u043e\u0432\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430: {0}"; + t[54] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[55] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u043d\u0435 \u0431\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430, \u043f\u043e\u0440\u0430\u0434\u0438 \u0432\u0430\u0448\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442. \u041c\u043e\u0436\u0435 \u0431\u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435 java.net.SocketPermission \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0441 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438, \u043a\u044a\u043c \u043a\u043e\u0439\u0442\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u0435 \u0441\u0432\u044a\u0440\u0436\u0435\u0442\u0435."; + t[62] = "Database connection failed when canceling copy operation"; + t[63] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[78] = "Error loading default settings from driverconfig.properties"; + t[79] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 driverconfig.properties"; + t[82] = "Returning autogenerated keys is not supported."; + t[83] = "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[92] = "Unable to find name datatype in the system catalogs."; + t[93] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043c\u0435\u0440\u0438 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0437\u0438."; + t[94] = "Tried to read from inactive copy"; + t[95] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435 \u043f\u0440\u0438 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[96] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[97] = "ResultSet \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u044f\u0432\u0430. \u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0449\u0430 \u0442\u043e\u0437\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435\u043b\u0435\u043a\u0442\u0438\u0440\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u043a\u0430\u043a\u0442\u043e \u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u044a\u0440\u0432\u0438\u0447\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u0432 \u043d\u0435\u044f. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0432\u0438\u0436\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b 5.6 \u043d\u0430 JDBC 2.1 API Specification."; + t[98] = "Cannot cast an instance of {0} to type {1}"; + t[99] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f \u043d\u0430 {0} \u043a\u044a\u043c \u0442\u0438\u043f {1}"; + t[102] = "Requested CopyOut but got {0}"; + t[103] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u043e CopyOut \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e {0}"; + t[106] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[107] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: Prepare \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u043e \u0447\u0440\u0435\u0437 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0437\u0430\u043f\u043e\u0447\u043d\u0430\u0442\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430. currentXid={0}, prepare xid={1}"; + t[108] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[109] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u044f\u0432\u0430\u0442 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0437\u0430\u044f\u0432\u043a\u0430, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043d\u0438\u0437\u043e\u0432\u0435 \u043d\u0430 PreparedStatement."; + t[114] = "Conversion of money failed."; + t[115] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u0430\u043b\u0443\u0442\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435."; + t[118] = "Tried to obtain lock while already holding it"; + t[119] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f \u0434\u043e\u043a\u0430\u0442\u043e \u0432\u0435\u0447\u0435 \u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e"; + t[120] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[121] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u043d\u0435 \u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d, \u0442\u0430\u043a\u0430 \u0447\u0435 \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u043b\u0438\u0447\u0430\u0442 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 \u043d\u0435\u0433\u043e."; + t[122] = "This SQLXML object has already been freed."; + t[123] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0435\u043d."; + t[124] = "Invalid stream length {0}."; + t[125] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 {0} \u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u0438."; + t[130] = "Position: {0}"; + t[131] = "\u041f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[132] = "The server does not support SSL."; + t[133] = "\u0421\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 SSL."; + t[134] = "Got {0} error responses to single copy cancel request"; + t[135] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438 {0} \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u0438 \u0437\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043e \u0438\u0441\u043a\u0430\u043d\u0435 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[136] = "DataSource has been closed."; + t[137] = "\u0418\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u044a\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442."; + t[138] = "Unable to convert DOMResult SQLXML data to a string."; + t[139] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 DOMResult SQLXML \u0434\u0430\u043d\u043d\u0438 \u0432 \u043d\u0438\u0437."; + t[140] = "Failed to initialize LargeObject API"; + t[141] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 LargeObject API"; + t[144] = "Invalid UUID data."; + t[145] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 UUID \u0434\u0430\u043d\u043d\u0438."; + t[148] = "The fastpath function {0} is unknown."; + t[149] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430."; + t[154] = "Connection has been closed."; + t[155] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0431\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[156] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[157] = "\u0422\u0430\u0437\u0438 \u0437\u0430\u044f\u0432\u043a\u0430 \u043d\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430 \u0438\u0437\u0445\u043e\u0434\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440. \u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 '{' ?= call ... '}' \u0437\u0430 \u0434\u0430 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u0442\u0435 \u0442\u0430\u043a\u044a\u0432."; + t[158] = "A connection could not be made using the requested protocol {0}."; + t[159] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0438 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u043e\u043b\u0437\u0432\u0430\u0439\u043a\u0438 \u0438\u0441\u043a\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b {0}."; + t[162] = "The maximum field size must be a value greater than or equal to 0."; + t[163] = "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 \u043f\u043e\u043b\u0435\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[166] = "GSS Authentication failed"; + t[167] = "GSS \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e"; + t[176] = "Unknown XML Result class: {0}"; + t[177] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d XML \u0438\u0437\u0445\u043e\u0434\u044f\u0449 \u043a\u043b\u0430\u0441: {0}"; + t[180] = "Server SQLState: {0}"; + t[181] = "SQL \u0441\u0442\u0430\u0442\u0443\u0441 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430: {0}"; + t[182] = "Unknown Response Type {0}."; + t[183] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f \u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440 {0}."; + t[186] = "Tried to cancel an inactive copy operation"; + t[187] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[190] = "This PooledConnection has already been closed."; + t[191] = "\u0422\u0430\u0437\u0438 PooledConnection \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u0432\u0435\u0447\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[200] = "Multiple ResultSets were returned by the query."; + t[201] = "\u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0432\u044a\u0440\u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e ResultSets."; + t[202] = "Finalizing a Connection that was never closed:"; + t[203] = "\u041f\u0440\u0438\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043a\u043e\u044f\u0442\u043e \u043d\u0435 \u0431\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430:"; + t[204] = "Unsupported Types value: {0}"; + t[205] = "\u041d\u0435\u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u0442\u0438\u043f: {0}"; + t[206] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[207] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0430, \u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430 \u043a\u0430\u0442\u043e registerOutParameter(1, ) "; + t[208] = "Cannot retrieve the name of an unnamed savepoint."; + t[209] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u043d\u0435\u0443\u043f\u043e\u043c\u0435\u043d\u0430\u0442\u0430 savepoint."; + t[220] = "Cannot change transaction read-only property in the middle of a transaction."; + t[221] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442\u0435 \u043f\u0440\u0430\u0432\u0430\u0442\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u043d\u0435\u0439\u043d\u043e\u0442\u043e \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435."; + t[222] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[223] = "\u041f\u0440\u0435\u043a\u0430\u043b\u0435\u043d\u043e \u0433\u043e\u043b\u044f\u043c\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 {0} \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u0442\u043e. \u0422\u043e\u0432\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0435\u043d\u043e \u043e\u0442 \u043f\u0440\u0435\u043a\u0430\u043b\u0435\u043d\u043e \u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 \u043d\u0430 InputStream \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."; + t[224] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[225] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u043d\u0438\u044f\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442: {0}, \u0431\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438: {1}."; + t[226] = "Transaction isolation level {0} not supported."; + t[227] = "\u0418\u0437\u043e\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u043e \u043d\u0438\u0432\u043e \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\u0442\u0435 {0} \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430."; + t[234] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[235] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u0438 ResultSet, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0435\u0434\u0438 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u0438\u043b\u0438 \u0441\u043b\u0435\u0434 \u043a\u0440\u0430\u044f \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435."; + t[238] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[239] = "\u043e\u043f\u0438\u0442\u0430 \u0434\u0430 \u0438\u0437\u0432\u0438\u043a\u0430 end \u0431\u0435\u0437 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430\u0449\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 start. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[242] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[243] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d."; + t[250] = "Conversion to type {0} failed: {1}."; + t[251] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u0442\u0438\u043f {0}: {1}."; + t[252] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[253] = "\u041a\u043b\u0430\u0441\u044a\u0442 SSLSocketFactory \u0432\u0440\u044a\u0449\u0430 {0} \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u0440\u0430\u043d."; + t[254] = "Unable to create SAXResult for SQLXML."; + t[255] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 SAXResult \u0437\u0430 SQLXML."; + t[256] = "Interrupted while attempting to connect."; + t[257] = "\u041e\u043f\u0438\u0442\u0430 \u0437\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u0441\u0432\u043e\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442. "; + t[260] = "Protocol error. Session setup failed."; + t[261] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430 \u0441\u0435\u0441\u0438\u044f\u0442\u0430."; + t[264] = "Database connection failed when starting copy"; + t[265] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[272] = "Cannot call cancelRowUpdates() when on the insert row."; + t[273] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 cancelRowUpdates() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[274] = "Unable to bind parameter values for statement."; + t[275] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430."; + t[280] = "A result was returned when none was expected."; + t[281] = "\u0411\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u0430\u043a\u044a\u0432 \u043d\u0435 \u0431\u0435 \u043e\u0447\u0430\u043a\u0432\u0430\u043d."; + t[282] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[283] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u044a\u0442 standard_conforming_strings \u043f\u0440\u0438 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0431\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0432\u0430\u043d \u043a\u0430\u0442\u043e {0}. JDBC \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u043e\u0447\u0430\u043a\u0432\u0430 \u0442\u043e\u0437\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 \u0434\u0430 \u0431\u044a\u0434\u0435 on \u0438\u043b\u0438 off."; + t[284] = "Unable to translate data into the desired encoding."; + t[285] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0432 \u0436\u0435\u043b\u0430\u043d\u043e\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435."; + t[292] = "PostgreSQL LOBs can only index to: {0}"; + t[293] = "PostgreSQL \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0441\u0430\u043c\u043e \u0434\u043e: {0}"; + t[294] = "Provided InputStream failed."; + t[295] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u0438\u044f InputStream \u043f\u043e\u0442\u043e\u043a \u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u0435\u043d."; + t[296] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[297] = "\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0432 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[304] = "{0} function takes four and only four argument."; + t[305] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0447\u0435\u0442\u0438\u0440\u0438 \u0438 \u0441\u0430\u043c\u043e \u0447\u0435\u0442\u0438\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[306] = "{0} function doesn''t take any argument."; + t[307] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438."; + t[310] = "Got CopyOutResponse from server during an active {0}"; + t[311] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d CopyOutResponse \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e {0}"; + t[322] = "No value specified for parameter {0}."; + t[323] = "\u041d\u044f\u043c\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0437\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 {0}."; + t[324] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[325] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u0435\u043d \u0431\u0430\u0439\u0442 \u0435 {0}: {1}"; + t[326] = "Error disabling autocommit"; + t[327] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0438\u0437\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 autocommit"; + t[328] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[329] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u0431\u0430\u0439\u0442\u0430 {0} \u043e\u0442 \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 {1} \u043d\u0435 \u0435 10xxxxxx: {2}"; + t[330] = "Received CommandComplete ''{0}'' without an active copy operation"; + t[331] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 ''{0}'' \u0431\u0435\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[332] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[333] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043a\u0440\u0430\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0435 \u0438\u0437\u0432\u044a\u043d \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u043d\u0438\u0442\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u0438: {0}"; + t[336] = "Cannot change transaction isolation level in the middle of a transaction."; + t[337] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442\u0435 \u0438\u0437\u043e\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0442\u043e \u043d\u0438\u0432\u043e \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u043d\u0435\u0439\u043d\u043e\u0442\u043e \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435."; + t[340] = "An unexpected result was returned by a query."; + t[341] = "\u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0432\u044a\u0440\u043d\u0430 \u043d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442."; + t[346] = "Conversion of interval failed"; + t[347] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b"; + t[350] = "This ResultSet is closed."; + t[351] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u043f\u043e \u0442\u043e\u0437\u0438 ResultSet \u0441\u0430 \u0431\u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0435\u043d\u0438."; + t[352] = "Read from copy failed."; + t[353] = "\u0427\u0435\u0442\u0435\u043d\u0435 \u043e\u0442 \u043a\u043e\u043f\u0438\u0435\u0442\u043e \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e."; + t[354] = "Unable to load the class {0} responsible for the datatype {1}"; + t[355] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0435 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441 {0}, \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0449 \u0437\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u0438 {1}"; + t[356] = "Failed to convert binary xml data to encoding: {0}."; + t[357] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u0438 XML \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435 \u0441\u044a\u0433\u043b\u0430\u0441\u043d\u043e: {0}."; + t[362] = "Connection attempt timed out."; + t[363] = "\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0438\u0437\u0442\u0435\u0447\u0435 (\u0442\u0430\u0439\u043c\u0430\u0443\u0442)."; + t[364] = "Expected command status BEGIN, got {0}."; + t[365] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 BEGIN, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 {0}."; + t[366] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[367] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: \u0432\u0442\u043e\u0440\u0430\u0442\u0430 \u0444\u0430\u0437\u0430 \u043d\u0430 commit \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u0430 \u043f\u0440\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[372] = "This copy stream is closed."; + t[373] = "\u041f\u043e\u0442\u043e\u043a\u0430 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0435 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u043d."; + t[376] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[377] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 SQL \u0442\u0438\u043f, \u043a\u043e\u0439\u0442\u043e \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 {0}. \u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 setObject() \u0441 \u0442\u043e\u0447\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u0437\u0430 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0442\u0438\u043f\u0430."; + t[378] = "Can''t refresh the insert row."; + t[379] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0434."; + t[382] = "You must specify at least one column value to insert a row."; + t[383] = "\u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u043e\u0441\u043e\u0447\u0438\u0442\u0435 \u043f\u043e\u043d\u0435 \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u043a\u043e\u043b\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0432\u043c\u044a\u043a\u043d\u0435\u0442\u0435 \u0440\u0435\u0434."; + t[388] = "Connection is busy with another transaction"; + t[389] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0435 \u0437\u0430\u0435\u0442\u0430 \u0441 \u0434\u0440\u0443\u0433\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f"; + t[392] = "Bad value for type {0} : {1}"; + t[393] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u0442\u0438\u043f {0} : {1}"; + t[396] = "This statement has been closed."; + t[397] = "\u041a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430 \u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0435\u043d\u0430."; + t[404] = "No primary key found for table {0}."; + t[405] = "\u041d\u044f\u043c\u0430 \u043f\u044a\u0440\u0432\u0438\u0447\u0435\u043d \u043a\u043b\u044e\u0447 \u0437\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 {0}."; + t[406] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[407] = "\u0412 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0435\u0434\u0438 \u043a\u0440\u0430\u044f \u043d\u0430 ResultSet. \u0422\u0443\u043a \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430."; + t[414] = "{0} function takes two or three arguments."; + t[415] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0434\u0432\u0430 \u0438\u043b\u0438 \u0442\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[416] = "{0} function takes three and only three arguments."; + t[417] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0442\u0440\u0438 \u0438 \u0441\u0430\u043c\u043e \u0442\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[418] = "Unable to find server array type for provided name {0}."; + t[419] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043c\u0435\u0440\u0438 \u0442\u0438\u043f\u0430 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0435\u043d \u043c\u0430\u0441\u0438\u0432 \u0437\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u043e\u0442\u043e \u0438\u043c\u0435 {0}."; + t[420] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[421] = "\u0418\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 {0} - \u043d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0438 \u0430 \u0431\u0435 \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u043e \u0446\u044f\u043b\u043e \u0447\u0438\u0441\u043b\u043e."; + t[426] = "Database connection failed when ending copy"; + t[427] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[428] = "Cannot write to copy a byte of value {0}"; + t[429] = "\u041d\u044f\u043c\u0430 \u043f\u0438\u0448\u0435\u0449\u0438 \u043f\u0440\u0430\u0432\u0430, \u0437\u0430 \u0434\u0430 \u043a\u043e\u043f\u0438\u0440\u0430 \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 {0}"; + t[430] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[431] = "\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u043e\u0442 CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438, \u043f\u0440\u0435\u0434\u0438 \u0442\u044f \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430."; + t[432] = "Cannot reference a savepoint after it has been released."; + t[433] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u0430 savepoint, \u0441\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0435 \u0431\u0438\u043b\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0435\u043d\u0430."; + t[434] = "Failed to create object for: {0}."; + t[435] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442 \u0437\u0430: {0}."; + t[438] = "Unexpected packet type during copy: {0}"; + t[439] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0442\u0438\u043f \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435: {0}"; + t[442] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[443] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430 MaxIndexKeys \u043f\u043e\u0440\u0430\u0434\u0438 \u043b\u0438\u043f\u0441\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0434\u0430\u043d\u043d\u0438."; + t[444] = "Tried to end inactive copy"; + t[445] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[450] = "Unexpected copydata from server for {0}"; + t[451] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u043e CopyData \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0437\u0430 {0}"; + t[460] = "Zero bytes may not occur in identifiers."; + t[461] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 \u043d\u0443\u043b\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0438\u0442\u0435."; + t[462] = "Error during one-phase commit. commit xid={0}"; + t[463] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0435\u0434\u043d\u043e-\u0444\u0430\u0437\u043e\u0432 commit. commit xid={0}"; + t[464] = "Ran out of memory retrieving query results."; + t[465] = "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u0430 \u043f\u0430\u043c\u0435\u0442 \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u043d\u0430 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u043e\u0442 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430."; + t[468] = "Unable to create StAXResult for SQLXML"; + t[469] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 StAXResult \u0437\u0430 SQLXML."; + t[470] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[471] = "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435: \u0424\u0430\u0439\u043b: {0}, \u0424\u0443\u043d\u043a\u0446\u0438\u044f: {1}, \u0420\u0435\u0434: {2}"; + t[482] = "A CallableStatement was executed with an invalid number of parameters"; + t[483] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430, \u043d\u043e \u0441 \u043d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d \u0431\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."; + t[486] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[487] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: {0} \u0431\u0430\u0439\u0442\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u0437\u0430 \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 {1} \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442: {2}"; + t[496] = "Interrupted while waiting to obtain lock on database connection"; + t[497] = "\u041f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043f\u0440\u0438 \u0447\u0430\u043a\u0430\u043d\u0435 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438"; + t[502] = "LOB positioning offsets start at 1."; + t[503] = "\u041f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u0438\u044f\u0442 \u043e\u0444\u0441\u0435\u0442 \u043f\u0440\u0438 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u043e\u0442 1."; + t[506] = "Returning autogenerated keys by column index is not supported."; + t[507] = "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u0441\u043f\u0440\u044f\u043c\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[510] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[511] = "\u0412 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u043d\u0430 ResultSet. \u0422\u0443\u043a \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430."; + t[524] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[525] = "\u0421\u043a\u044a\u0441\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0441\u0430\u043c\u043e \u0432\u044a\u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u043b\u0435\u0434 8.3."; + t[526] = "Statement has been closed."; + t[527] = "\u041a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430 \u0435 \u0437\u0430\u0432\u044a\u0440\u0448\u0435\u043d\u0430."; + t[540] = "Database connection failed when writing to copy"; + t[541] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u043e\u043f\u0438\u0442 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[544] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[545] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u044a\u0442 DateStyle \u043f\u0440\u0438 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0431\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d \u043d\u0430 {0}. JDBC \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 DateStyle \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441 ISO \u0437\u0430 \u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e."; + t[546] = "Provided Reader failed."; + t[547] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u0441 \u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0442\u0435\u0446."; + t[550] = "Not on the insert row."; + t[551] = "\u041d\u0435 \u0441\u043c\u0435 \u0432 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[566] = "Unable to decode xml data."; + t[567] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0430 XML \u0434\u0430\u043d\u043d\u0438\u0442\u0435."; + t[596] = "Tried to write to an inactive copy operation"; + t[597] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0438\u0441\u0430\u043d\u0435 \u043f\u0440\u0438 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[606] = "An error occurred while setting up the SSL connection."; + t[607] = "\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 SSL \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430."; + t[614] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[615] = "\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u043d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u0441 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430. \u041c\u043e\u043b\u044f \u0434\u043e\u043a\u0430\u0434\u0432\u0430\u0439\u0442\u0435 \u0442\u043e\u0432\u0430 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. "; + t[618] = "No results were returned by the query."; + t[619] = "\u041d\u044f\u043c\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430."; + t[620] = "ClientInfo property not supported."; + t[621] = "\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 ClientInfo \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430."; + t[622] = "Unexpected error writing large object to database."; + t[623] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u044f\u043c \u043e\u0431\u0435\u043a\u0442 LOB \u0432 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438."; + t[628] = "The JVM claims not to support the {0} encoding."; + t[629] = "JVM \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 {0} \u043a\u043e\u0434\u043e\u0432\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430."; + t[630] = "Unknown XML Source class: {0}"; + t[631] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d XML \u0432\u0445\u043e\u0434\u044f\u0449 \u043a\u043b\u0430\u0441: {0}"; + t[632] = "Interval {0} not yet implemented"; + t[633] = "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044a\u0442 {0} \u043d\u0435 \u0435 \u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0432\u0441\u0435 \u043e\u0449\u0435."; + t[636] = "commit called before end. commit xid={0}, state={1}"; + t[637] = "commit \u0438\u0437\u0432\u0438\u043a\u0430\u043d \u043f\u0440\u0435\u0434\u0438 end. commit xid={0}, state={1}"; + t[638] = "Tried to break lock on database connection"; + t[639] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435\u0442\u043e/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f\u0442\u0430 \u043f\u0440\u0438 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438"; + t[642] = "Missing expected error response to copy cancel request"; + t[643] = "\u041b\u0438\u043f\u0441\u0432\u0430 \u043e\u0447\u0430\u043a\u0432\u0430\u043d \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043f\u0440\u0438 \u0433\u0440\u0435\u0448\u043a\u0430 \u0434\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[644] = "Maximum number of rows must be a value grater than or equal to 0."; + t[645] = "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f\u0442 \u0431\u0440\u043e\u0439 \u0440\u0435\u0434\u043e\u0432\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[652] = "Requested CopyIn but got {0}"; + t[653] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u043e CopyIn \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e {0}"; + t[656] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[657] = "\u041e\u0442\u0447\u0435\u0442\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 \u043e\u0442 \u0442\u0438\u043f {0}, \u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u043e \u043a\u0430\u0442\u043e get{1} (sqltype={2}). "; + t[662] = "Unsupported value for stringtype parameter: {0}"; + t[663] = "\u041d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 StringType \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440: {0}"; + t[664] = "Fetch size must be a value greater to or equal to 0."; + t[665] = "\u0420\u0430\u0437\u043c\u0435\u0440\u0430 \u0437\u0430 fetch size \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c \u0438\u043b\u0438 \u0440\u0430\u0432\u0435\u043d \u043d\u0430 0."; + t[670] = "Cannot tell if path is open or closed: {0}."; + t[671] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0434\u0430\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0435 \u043e\u0442\u0432\u043e\u0440\u0435\u043d \u0438\u043b\u0438 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u043d: {0}."; + t[672] = "Expected an EOF from server, got: {0}"; + t[673] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d \u043a\u0440\u0430\u0439 \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e: {0}"; + t[680] = "Copying from database failed: {0}"; + t[681] = "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043e\u0442 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e: {0}"; + t[682] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[683] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0431\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430, \u0437\u0430\u0449\u043e\u0442\u043e \u043d\u043e\u0432\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0437\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0431\u0435\u0448\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0438\u043b\u0438 PooledConnection \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0435 \u0432\u0435\u0447\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[698] = "Custom type maps are not supported."; + t[699] = "\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0442\u0438\u043f\u043e\u0432\u0438 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[700] = "xid must not be null"; + t[701] = "xid \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 null"; + t[706] = "Internal Position: {0}"; + t[707] = "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[708] = "Error during recover"; + t[709] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435"; + t[712] = "Method {0} is not yet implemented."; + t[713] = "\u041c\u0435\u0442\u043e\u0434\u044a\u0442 {0} \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u0435 \u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d."; + t[714] = "Unexpected command status: {0}."; + t[715] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0441\u0442\u0430\u0442\u0443\u0441 \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430: {0}."; + t[718] = "The column index is out of range: {0}, number of columns: {1}."; + t[719] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430\u0442\u0430 \u0435 \u0438\u0437\u0432\u044a\u043d \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0435\u043d \u043e\u0431\u0445\u0432\u0430\u0442: {0}, \u0431\u0440\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u0438: {1}."; + t[730] = "Unknown ResultSet holdability setting: {0}."; + t[731] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 ResultSet holdability \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430: {0}."; + t[734] = "Cannot call deleteRow() when on the insert row."; + t[735] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[740] = "ResultSet not positioned properly, perhaps you need to call next."; + t[741] = "ResultSet \u043d\u0435 \u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u0430\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0438\u0434\u0432\u0438\u0436\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c next."; + t[742] = "wasNull cannot be call before fetching a result."; + t[743] = "wasNull \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044c\u0434\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d, \u043f\u0440\u0435\u0434\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435\u0442\u043e \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430."; + t[746] = "{0} function takes two and only two arguments."; + t[747] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0434\u0432\u0430 \u0438 \u0441\u0430\u043c\u043e \u0434\u0432\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[750] = "Malformed function or procedure escape syntax at offset {0}."; + t[751] = "\u041d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u0440\u0438 \u043e\u0444\u0441\u0435\u0442 {0}."; + t[752] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[753] = "\u041f\u0440\u0435\u0436\u0434\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u043a\u0440\u0430\u0439 \u043d\u0430 \u0432\u0445\u043e\u0434\u044f\u0449 \u043f\u043e\u0442\u043e\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u0438, \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0438 {0} \u0431\u0430\u0439\u0442\u0430, \u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0442\u0435\u043d\u0438 \u0441\u0430\u043c\u043e {1}."; + t[756] = "Got CopyData without an active copy operation"; + t[757] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e CopyData \u0431\u0435\u0437 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[758] = "Cannot retrieve the id of a named savepoint."; + t[759] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 ID \u043d\u0430 \u0441\u043f\u043e\u043c\u0435\u043d\u0430\u0442\u0430 savepoint."; + t[770] = "Where: {0}"; + t[771] = "\u041a\u044a\u0434\u0435\u0442\u043e: {0}"; + t[778] = "Got CopyInResponse from server during an active {0}"; + t[779] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d CopyInResponse \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e {0}"; + t[780] = "Cannot convert an instance of {0} to type {1}"; + t[781] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 {0} \u0432\u044a\u0432 \u0432\u0438\u0434\u0430 {1}"; + t[784] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[785] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: \u0435\u0434\u043d\u043e-\u0444\u0430\u0437\u043e\u0432 commit \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d \u0447\u0440\u0435\u0437 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0437\u0430\u043f\u043e\u0447\u043d\u0430\u043b"; + t[790] = "Invalid flags {0}"; + t[791] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0444\u043b\u0430\u0433\u043e\u0432\u0435 {0}"; + t[798] = "Query timeout must be a value greater than or equals to 0."; + t[799] = "\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[802] = "Hint: {0}"; + t[803] = "\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u043a\u0430: {0}"; + t[810] = "The array index is out of range: {0}, number of elements: {1}."; + t[811] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043c\u0430\u0441\u0438\u0432 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442\u0430: {0}, \u0431\u0440\u043e\u0439 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438: {1}."; + t[812] = "Internal Query: {0}"; + t[813] = "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430: {0}"; + t[816] = "CommandComplete expected COPY but got: "; + t[817] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 COPY \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e: "; + t[824] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[825] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043a\u0440\u0430\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0435 \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442: {0}"; + t[826] = "Unknown type {0}."; + t[827] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f {0}."; + t[828] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[829] = "ResultSets \u0441 concurrency CONCUR_READ_ONLY \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438."; + t[830] = "The connection attempt failed."; + t[831] = "\u041e\u043f\u0438\u0442\u0430 \u0437\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u0435\u043d."; + t[834] = "{0} function takes one and only one argument."; + t[835] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442."; + t[838] = "suspend/resume not implemented"; + t[839] = "\u0441\u043f\u0438\u0440\u0430\u043d\u0435 / \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430"; + t[840] = "Error preparing transaction. prepare xid={0}"; + t[841] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u044f\u043d\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f. prepare xid={0}"; + t[842] = "The driver currently does not support COPY operations."; + t[843] = "\u0417\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 COPY \u043a\u043e\u043c\u0430\u043d\u0434\u0438."; + t[852] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[853] = "\u0415\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u043d commit \u0438\u043b\u0438 rollback \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430. forget xid={0}"; + t[856] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[857] = "\u0411\u044f\u0445\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438. \u0422\u043e\u0432\u0430 \u043d\u0430\u0439-\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0441\u0435 \u0434\u044a\u043b\u0436\u0438 \u043d\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0438 \u0434\u0430\u043d\u043d\u0438, \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0437\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u043e\u0442 \u0437\u043d\u0430\u0446\u0438 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438. \u0427\u0435\u0441\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 \u0442\u043e\u0432\u0430 \u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 8bit \u0434\u0430\u043d\u043d\u0438 \u0432 SQL_ASCII \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u043d\u0438."; + t[858] = "Cannot establish a savepoint in auto-commit mode."; + t[859] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438 savepoint \u0432 auto-commit \u043c\u043e\u0434\u0443\u0441."; + t[862] = "The column name {0} was not found in this ResultSet."; + t[863] = "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430\u0442\u0430 {0} \u043d\u0435 \u0431\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043e \u0432 \u0442\u043e\u0437\u0438 ResultSet."; + t[864] = "Prepare called before end. prepare xid={0}, state={1}"; + t[865] = "Prepare \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u043e \u043f\u0440\u0435\u0434\u0438 \u043a\u0440\u0430\u044f. prepare xid={0}, state={1}"; + t[866] = "Unknown Types value."; + t[867] = "\u0421\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043e\u0442 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f."; + t[870] = "Cannot call updateRow() when on the insert row."; + t[871] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 updateRow() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[876] = "Database connection failed when reading from copy"; + t[877] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0447\u0435\u0442\u0435\u043d\u0435 \u043e\u0442 \u043a\u043e\u043f\u0438\u0435"; + t[880] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[881] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043f\u0440\u0435\u0434\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[882] = "Can''t use relative move methods while on the insert row."; + t[883] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[884] = "free() was called on this LOB previously"; + t[885] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 free() \u0431\u0435 \u0432\u0435\u0447\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0430 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0433\u043e\u043b\u044f\u043c \u043e\u0431\u0435\u043a\u0442 LOB"; + t[888] = "A CallableStatement was executed with nothing returned."; + t[889] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430, \u043d\u043e \u043d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 445) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 443) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 890) + idx -= 890; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 890 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 890); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 890 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java new file mode 100644 index 0000000000..925002b29c --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java @@ -0,0 +1,227 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_cs extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[314]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2005-08-21 20:00+0200\nLast-Translator: Petr Dittrich \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[2] = "A connection could not be made using the requested protocol {0}."; + t[3] = "Spojen\u00ed nelze vytvo\u0159it s pou\u017eit\u00edm \u017e\u00e1dan\u00e9ho protokolu {0}."; + t[4] = "Malformed function or procedure escape syntax at offset {0}."; + t[5] = "Po\u0161kozen\u00e1 funkce nebo opu\u0161t\u011bn\u00ed procedury na pozici {0}."; + t[8] = "Cannot cast an instance of {0} to type {1}"; + t[9] = "Nemohu p\u0159etypovat instanci {0} na typ {1}"; + t[12] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[13] = "ResultSet nen\u00ed aktualizavateln\u00fd. Dotaz mus\u00ed vyb\u00edrat pouze z jedn\u00e9 tabulky a mus\u00ed obsahovat v\u0161echny prim\u00e1rn\u00ed kl\u00ed\u010de tabulky. Koukni do JDBC 2.1 API Specifikace, sekce 5.6 pro v\u00edce podrobnost\u00ed."; + t[14] = "The JVM claims not to support the {0} encoding."; + t[15] = "JVM tvrd\u00ed, \u017ee nepodporuje kodov\u00e1n\u00ed {0}."; + t[16] = "An I/O error occurred while sending to the backend."; + t[17] = "Vystupn\u011b/v\u00fdstupn\u00ed chyba p\u0159i odes\u00edl\u00e1n\u00ed k backend."; + t[18] = "Statement has been closed."; + t[19] = "Statement byl uzav\u0159en."; + t[20] = "Unknown Types value."; + t[21] = "Nezn\u00e1m\u00e1 hodnota typu."; + t[22] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[23] = "ResultSets se soub\u011b\u017enost\u00ed CONCUR_READ_ONLY nem\u016f\u017ee b\u00fdt aktualizov\u00e1no"; + t[26] = "You must specify at least one column value to insert a row."; + t[27] = "Mus\u00edte vyplnit alespo\u0148 jeden sloupec pro vlo\u017een\u00ed \u0159\u00e1dku."; + t[32] = "No primary key found for table {0}."; + t[33] = "Nenalezen prim\u00e1rn\u00ed kl\u00ed\u010d pro tabulku {0}."; + t[34] = "Cannot establish a savepoint in auto-commit mode."; + t[35] = "Nemohu vytvo\u0159it savepoint v auto-commit modu."; + t[38] = "Can''t use relative move methods while on the insert row."; + t[39] = "Nem\u016f\u017eete pou\u017e\u00edvat relativn\u00ed p\u0159esuny p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[44] = "The column name {0} was not found in this ResultSet."; + t[45] = "Sloupec pojmenovan\u00fd {0} nebyl nalezen v ResultSet."; + t[46] = "This statement has been closed."; + t[47] = "P\u0159\u00edkaz byl uzav\u0159en."; + t[48] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[49] = "T\u0159\u00edda SSLSocketFactory poskytla {0} co\u017e nem\u016f\u017ee b\u00fdt instancionizov\u00e1no."; + t[50] = "Multiple ResultSets were returned by the query."; + t[51] = "V\u00edcen\u00e1sobn\u00fd ResultSet byl vr\u00e1cen dotazem."; + t[52] = "DataSource has been closed."; + t[53] = "DataSource byl uzav\u0159en."; + t[56] = "Error loading default settings from driverconfig.properties"; + t[57] = "Chyba na\u010d\u00edt\u00e1n\u00ed standardn\u00edho nastaven\u00ed z driverconfig.properties"; + t[62] = "Bad value for type {0} : {1}"; + t[63] = "\u0160patn\u00e1 hodnota pro typ {0} : {1}"; + t[66] = "Method {0} is not yet implemented."; + t[67] = "Metoda {0} nen\u00ed implementov\u00e1na."; + t[68] = "The array index is out of range: {0}"; + t[69] = "Index pole mimo rozsah: {0}"; + t[70] = "Unexpected command status: {0}."; + t[71] = "Neo\u010dek\u00e1van\u00fd stav p\u0159\u00edkazu: {0}."; + t[74] = "Expected command status BEGIN, got {0}."; + t[75] = "O\u010dek\u00e1v\u00e1n p\u0159\u00edkaz BEGIN, obdr\u017een {0}."; + t[76] = "Cannot retrieve the id of a named savepoint."; + t[77] = "Nemohu z\u00edskat id nepojmenovan\u00e9ho savepointu."; + t[78] = "Unexpected error writing large object to database."; + t[79] = "Neo\u010dek\u00e1van\u00e1 chyba p\u0159i zapisov\u00e1n\u00ed velk\u00e9ho objektu do datab\u00e1ze."; + t[84] = "Not on the insert row."; + t[85] = "Ne na vkl\u00e1dan\u00e9m \u0159\u00e1dku."; + t[86] = "Returning autogenerated keys is not supported."; + t[87] = "Vr\u00e1cen\u00ed automaticky generovan\u00fdch kl\u00ed\u010d\u016f nen\u00ed podporov\u00e1no."; + t[88] = "The server requested password-based authentication, but no password was provided."; + t[89] = "Server vy\u017eaduje ov\u011b\u0159en\u00ed heslem, ale \u017e\u00e1dn\u00e9 nebylo posl\u00e1no."; + t[98] = "Unable to load the class {0} responsible for the datatype {1}"; + t[99] = "Nemohu na\u010d\u00edst t\u0159\u00eddu {0} odpov\u011bdnou za typ {1}"; + t[100] = "Invalid fetch direction constant: {0}."; + t[101] = "\u0160patn\u00fd sm\u011br \u010dten\u00ed: {0}."; + t[102] = "Conversion of money failed."; + t[103] = "P\u0159evod pen\u011bz selhal."; + t[104] = "Connection has been closed."; + t[105] = "Spojeni bylo uzav\u0159eno."; + t[106] = "Cannot retrieve the name of an unnamed savepoint."; + t[107] = "Nemohu z\u00edskat n\u00e1zev nepojmenovan\u00e9ho savepointu."; + t[108] = "Large Objects may not be used in auto-commit mode."; + t[109] = "Velk\u00e9 objecky nemohou b\u00fdt pou\u017eity v auto-commit modu."; + t[110] = "This ResultSet is closed."; + t[111] = "Tento ResultSet je uzav\u0159en\u00fd."; + t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[117] = "N\u011bco neobvykl\u00e9ho p\u0159inutilo ovlada\u010d selhat. Pros\u00edm nahlaste tuto vyj\u00edmku."; + t[118] = "The server does not support SSL."; + t[119] = "Server nepodporuje SSL."; + t[120] = "Invalid stream length {0}."; + t[121] = "Vadn\u00e1 d\u00e9lka proudu {0}."; + t[126] = "The maximum field size must be a value greater than or equal to 0."; + t[127] = "Maxim\u00e1ln\u00ed velikost pole mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[130] = "Cannot call updateRow() when on the insert row."; + t[131] = "Nemohu volat updateRow() na vlk\u00e1dan\u00e9m \u0159\u00e1dku."; + t[132] = "A CallableStatement was executed with nothing returned."; + t[133] = "CallableStatement byl spu\u0161t\u011bn, le\u010d nic nebylo vr\u00e1ceno."; + t[134] = "Provided Reader failed."; + t[135] = "Selhal poskytnut\u00fd Reader."; + t[146] = "Cannot call deleteRow() when on the insert row."; + t[147] = "Nem\u016f\u017eete volat deleteRow() p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[156] = "Where: {0}"; + t[157] = "Kde: {0}"; + t[158] = "An unexpected result was returned by a query."; + t[159] = "Obdr\u017een neo\u010dek\u00e1van\u00fd v\u00fdsledek dotazu."; + t[160] = "The connection attempt failed."; + t[161] = "Pokus o p\u0159ipojen\u00ed selhal."; + t[162] = "Too many update results were returned."; + t[163] = "Bylo vr\u00e1ceno p\u0159\u00edli\u0161 mnoho v\u00fdsledk\u016f aktualizac\u00ed."; + t[164] = "Unknown type {0}."; + t[165] = "Nezn\u00e1m\u00fd typ {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "Funkce {0} bere pr\u00e1v\u011b dva argumenty."; + t[168] = "{0} function doesn''t take any argument."; + t[169] = "Funkce {0} nebere \u017e\u00e1dn\u00fd argument."; + t[172] = "Unable to find name datatype in the system catalogs."; + t[173] = "Nemohu naj\u00edt n\u00e1zev typu v syst\u00e9mov\u00e9m katalogu."; + t[174] = "Protocol error. Session setup failed."; + t[175] = "Chyba protokolu. Nastaven\u00ed relace selhalo."; + t[176] = "{0} function takes one and only one argument."; + t[177] = "Funkce {0} bere jeden argument."; + t[186] = "The driver currently does not support COPY operations."; + t[187] = "Ovlada\u010d nyn\u00ed nepodporuje p\u0159\u00edkaz COPY."; + t[190] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[191] = "Nalezena vada ve znakov\u00fdch datech. Toto m\u016f\u017ee b\u00fdt zp\u016fsobeno ulo\u017een\u00fdmi daty obsahuj\u00edc\u00edmi znaky, kter\u00e9 jsou z\u00e1vadn\u00e9 pro znakovou sadu nastavenou p\u0159i zakl\u00e1d\u00e1n\u00ed datab\u00e1ze. Nejzn\u00e1mej\u0161\u00ed p\u0159\u00edklad je ukl\u00e1d\u00e1n\u00ed 8bitov\u00fdch dat vSQL_ASCII datab\u00e1zi."; + t[196] = "Fetch size must be a value greater to or equal to 0."; + t[197] = "Nabran\u00e1 velikost mus\u00ed b\u00fdt nez\u00e1porn\u00e1."; + t[204] = "Unsupported Types value: {0}"; + t[205] = "Nepodporovan\u00e1 hodnota typu: {0}"; + t[206] = "Can''t refresh the insert row."; + t[207] = "Nemohu obnovit vkl\u00e1dan\u00fd \u0159\u00e1dek."; + t[210] = "Maximum number of rows must be a value grater than or equal to 0."; + t[211] = "Maxim\u00e1ln\u00ed po\u010det \u0159\u00e1dek mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[216] = "No value specified for parameter {0}."; + t[217] = "Nespecifikov\u00e1na hodnota parametru {0}."; + t[218] = "The array index is out of range: {0}, number of elements: {1}."; + t[219] = "Index pole mimo rozsah: {0}, po\u010det prvk\u016f: {1}."; + t[220] = "Provided InputStream failed."; + t[221] = "Selhal poskytnut\u00fd InputStream."; + t[226] = "Failed to initialize LargeObject API"; + t[227] = "Selhala inicializace LargeObject API"; + t[228] = "Cannot reference a savepoint after it has been released."; + t[229] = "Nemohu z\u00edskat odkaz na savepoint, kdy\u017e byl uvoln\u011bn."; + t[232] = "An error occurred while setting up the SSL connection."; + t[233] = "Nastala chyba p\u0159i nastaven\u00ed SSL spojen\u00ed."; + t[246] = "Detail: {0}"; + t[247] = "Detail: {0}"; + t[248] = "This PooledConnection has already been closed."; + t[249] = "Tento PooledConnection byl uzav\u0159en."; + t[250] = "A result was returned when none was expected."; + t[251] = "Obdr\u017een v\u00fdsledek, ikdy\u017e \u017e\u00e1dn\u00fd nebyl o\u010dek\u00e1v\u00e1n."; + t[254] = "The JVM claims not to support the encoding: {0}"; + t[255] = "JVM tvrd\u00ed, \u017ee nepodporuje kodov\u00e1n\u00ed: {0}"; + t[256] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[257] = "Index parametru mimo rozsah: {0}, po\u010det parametr\u016f {1}."; + t[258] = "LOB positioning offsets start at 1."; + t[259] = "Za\u010d\u00e1tek pozicov\u00e1n\u00ed LOB za\u010d\u00edna na 1."; + t[260] = "{0} function takes two or three arguments."; + t[261] = "Funkce {0} bere dva nebo t\u0159i argumenty."; + t[262] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[263] = "Pr\u00e1v\u011b jste za pozic\u00ed konce ResultSetu. Zde nem\u016f\u017eete volat deleteRow().s"; + t[266] = "Server SQLState: {0}"; + t[267] = "Server SQLState: {0}"; + t[270] = "{0} function takes four and only four argument."; + t[271] = "Funkce {0} bere p\u0159esn\u011b \u010dty\u0159i argumenty."; + t[272] = "Failed to create object for: {0}."; + t[273] = "Selhalo vytvo\u0159en\u00ed objektu: {0}."; + t[274] = "No results were returned by the query."; + t[275] = "Neobdr\u017een \u017e\u00e1dn\u00fd v\u00fdsledek dotazu."; + t[276] = "Position: {0}"; + t[277] = "Pozice: {0}"; + t[278] = "The column index is out of range: {0}, number of columns: {1}."; + t[279] = "Index sloupece je mimo rozsah: {0}, po\u010det sloupc\u016f: {1}."; + t[280] = "Unknown Response Type {0}."; + t[281] = "Nezn\u00e1m\u00fd typ odpov\u011bdi {0}."; + t[284] = "Hint: {0}"; + t[285] = "Rada: {0}"; + t[286] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[287] = "Poloha: Soubor: {0}, Rutina: {1}, \u0158\u00e1dek: {2}"; + t[288] = "Query timeout must be a value greater than or equals to 0."; + t[289] = "\u010casov\u00fd limit dotazu mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[292] = "Unable to translate data into the desired encoding."; + t[293] = "Nemohu p\u0159elo\u017eit data do po\u017eadovan\u00e9ho k\u00f3dov\u00e1n\u00ed."; + t[296] = "Cannot call cancelRowUpdates() when on the insert row."; + t[297] = "Nem\u016f\u017eete volat cancelRowUpdates() p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[298] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[299] = "Ov\u011b\u0159en\u00ed typu {0} nen\u00ed podporov\u00e1no. Zkontrolujte zda konfigura\u010dn\u00ed soubor pg_hba.conf obsahuje klientskou IP adresu \u010di pods\u00ed\u0165 a zda je pou\u017eit\u00e9 ov\u011b\u0159enovac\u00ed sch\u00e9ma podporov\u00e1no ovlada\u010dem."; + t[308] = "There are no rows in this ResultSet."; + t[309] = "\u017d\u00e1dn\u00fd \u0159\u00e1dek v ResultSet."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 157) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 155) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 314) + idx -= 314; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 314 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 314); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 314 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java new file mode 100644 index 0000000000..5dc04a8c12 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java @@ -0,0 +1,339 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_de extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: head-de\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-09-12 14:22+0200\nLast-Translator: Andre Bialojahn \nLanguage-Team: Deutsch\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: German\nX-Poedit-Country: GERMANY\n"; + t[4] = "DataSource has been closed."; + t[5] = "Die Datenquelle wurde geschlossen."; + t[18] = "Where: {0}"; + t[19] = "Wobei: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "Der Verbindungsversuch schlug fehl."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "Die augenblickliche Position ist hinter dem Ende des ResultSets. Dort kann ''deleteRow()'' nicht aufgerufen werden."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "Die Abfrage ergab mehrere ResultSets."; + t[50] = "Too many update results were returned."; + t[51] = "Zu viele Updateergebnisse wurden zur\u00fcckgegeben."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "Ung\u00fcltige UTF-8-Sequenz: das erste Byte ist {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "Der Spaltenname {0} wurde in diesem ResultSet nicht gefunden."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Der Fastpath-Aufruf {0} gab kein Ergebnis zur\u00fcck, jedoch wurde ein Integer erwartet."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Protokollfehler. Die Sitzung konnte nicht gestartet werden."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "Ein CallableStatement wurde deklariert, aber kein Aufruf von ''registerOutParameter(1, )'' erfolgte."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "ResultSets, deren Zugriffsart CONCUR_READ_ONLY ist, k\u00f6nnen nicht aktualisiert werden."; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "Positionsoffsets f\u00fcr LOBs beginnen bei 1."; + t[92] = "Internal Position: {0}"; + t[93] = "Interne Position: {0}"; + t[96] = "free() was called on this LOB previously"; + t[97] = "free() wurde bereits f\u00fcr dieses LOB aufgerufen."; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "Die Nur-Lesen-Eigenschaft einer Transaktion kann nicht w\u00e4hrend der Transaktion ver\u00e4ndert werden."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterst\u00fctzen."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "Die {0}-Funktion akzeptiert kein Argument."; + t[112] = "xid must not be null"; + t[113] = "Die xid darf nicht null sein."; + t[114] = "Connection has been closed."; + t[115] = "Die Verbindung wurde geschlossen."; + t[122] = "The server does not support SSL."; + t[123] = "Der Server unterst\u00fctzt SSL nicht."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "Ung\u00fcltige UTF-8-Sequenz: Byte {0} der {1} Bytesequenz ist nicht 10xxxxxx: {2}"; + t[148] = "Hint: {0}"; + t[149] = "Hinweis: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Unbekannter Typ: {0}."; + t[158] = "Unknown type {0}."; + t[159] = "Unbekannter Typ {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "Die {0}-Funktion erwartet genau zwei Argumente."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Eine Connection wurde finalisiert, die nie geschlossen wurde:"; + t[180] = "The maximum field size must be a value greater than or equal to 0."; + t[181] = "Die maximale Feldgr\u00f6\u00dfe muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "LOBs in PostgreSQL k\u00f6nnen nur auf {0} verweisen."; + t[194] = "Method {0} is not yet implemented."; + t[195] = "Die Methode {0} ist noch nicht implementiert."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "Fehler beim Laden der Voreinstellungen aus driverconfig.properties"; + t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[201] = "Ergebnisse k\u00f6nnen nicht von einem CallableStatement abgerufen werden, bevor es ausgef\u00fchrt wurde."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "LargeObjects (LOB) d\u00fcrfen im Modus ''auto-commit'' nicht verwendet werden."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Unzul\u00e4ssige Richtungskonstante bei fetch: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "Die {0}-Funktion erwartet genau drei Argumente."; + t[226] = "Error during recover"; + t[227] = "Beim Wiederherstellen trat ein Fehler auf."; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "Das ResultSet kann nicht aktualisiert werden, da es entweder vor oder nach dem Ende der Ergebnisse ist."; + t[230] = "The JVM claims not to support the encoding: {0}"; + t[231] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterst\u00fctzen."; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf get{1} (sqltype={2})."; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "Ein Rettungspunkt kann im Modus ''auto-commit'' nicht erstellt werden."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "Die ID eines benamten Rettungspunktes kann nicht ermittelt werden."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "Der Spaltenindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Anzahl Spalten: {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "Etwas Ungew\u00f6hnliches ist passiert, das den Treiber fehlschlagen lie\u00df. Bitte teilen Sie diesen Fehler mit."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "Die Typwandlung f\u00fcr eine Instanz von {0} nach {1} ist nicht m\u00f6glich."; + t[264] = "Unknown Types value."; + t[265] = "Unbekannter Typ."; + t[266] = "Invalid stream length {0}."; + t[267] = "Ung\u00fcltige L\u00e4nge des Datenstroms: {0}."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "Der Name eines namenlosen Rettungpunktes kann nicht ermittelt werden."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "Die Daten konnten nicht in die gew\u00fcnschte Kodierung gewandelt werden."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen."; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "Unzul\u00e4ssiger Wert f\u00fcr den Typ {0} : {1}."; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein Passwort angegeben."; + t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[297] = "Das Abschneiden gro\u00dfer Objekte ist nur in Versionen nach 8.3 implementiert."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "Diese PooledConnection ist bereits geschlossen worden."; + t[302] = "ClientInfo property not supported."; + t[303] = "Die ClientInfo-Eigenschaft ist nicht unterst\u00fctzt."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "Die Fetch-Gr\u00f6\u00dfe muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt werden."; + t[322] = "There are no rows in this ResultSet."; + t[323] = "Es gibt keine Zeilen in diesem ResultSet."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Unerwarteter Befehlsstatus: {0}."; + t[334] = "Not on the insert row."; + t[335] = "Nicht in der Einf\u00fcgezeile."; + t[344] = "Server SQLState: {0}"; + t[345] = "Server SQLState: {0}"; + t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[349] = "Der standard_conforming_strings Parameter des Servers steht auf {0}. Der JDBC-Treiber erwartete on oder off."; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "Der Treiber unterst\u00fctzt derzeit keine COPY-Operationen."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "Der Arrayindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Vorhandene Elemente: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "Anhalten/Fortsetzen ist nicht implementiert."; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "Nicht implementiert: Die einphasige Best\u00e4tigung muss \u00fcber die selbe Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen."; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "''cancelRowUpdates()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "Ein Rettungspunkt kann nicht angesprochen werden, nach dem er entfernt wurde."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Sie m\u00fcssen mindestens einen Spaltenwert angeben, um eine Zeile einzuf\u00fcgen."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "Es konnte kein Wert f\u00fcr MaxIndexKeys gefunden werden, da die Systemkatalogdaten fehlen."; + t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[413] = "Ung\u00fcltige UTF-8-Sequenz: Der letzte Wert ist au\u00dferhalb des zul\u00e4ssigen Bereichs: {0}"; + t[414] = "{0} function takes two or three arguments."; + t[415] = "Die {0}-Funktion erwartet zwei oder drei Argumente."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Beim Schreiben eines LargeObjects (LOB) in die Datenbank trat ein unerwarteter Fehler auf."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "Stringparameter d\u00fcrfen keine Nullbytes enthalten."; + t[444] = "A result was returned when none was expected."; + t[445] = "Die Anweisung lieferte ein Ergebnis obwohl keines erwartet wurde."; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "Das ResultSet kann nicht aktualisiert werden. Die Abfrage, die es erzeugte, darf nur eine Tabelle und muss darin alle Prim\u00e4rschl\u00fcssel ausw\u00e4hlen. Siehe JDBC 2.1 API-Spezifikation, Abschnitt 5.6 f\u00fcr mehr Details."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "Die Nachrichtenl\u00e4nge {0} ist zu gro\u00df. Das kann von sehr gro\u00dfen oder inkorrekten L\u00e4ngenangaben eines InputStream-Parameters herr\u00fchren."; + t[460] = "Statement has been closed."; + t[461] = "Die Anweisung wurde geschlossen."; + t[462] = "No value specified for parameter {0}."; + t[463] = "F\u00fcr den Parameter {0} wurde kein Wert angegeben."; + t[468] = "The array index is out of range: {0}"; + t[469] = "Der Arrayindex ist au\u00dferhalb des g\u00fcltigen Bereichs: {0}."; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "Der Anweisung konnten keine Parameterwerte zugewiesen werden."; + t[476] = "Can''t refresh the insert row."; + t[477] = "Die Einf\u00fcgezeile kann nicht aufgefrischt werden."; + t[480] = "No primary key found for table {0}."; + t[481] = "F\u00fcr die Tabelle {0} konnte kein Prim\u00e4rschl\u00fcssel gefunden werden."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "Die Transaktions-Trennungsstufe kann nicht w\u00e4hrend einer Transaktion ver\u00e4ndert werden."; + t[498] = "Provided InputStream failed."; + t[499] = "Der bereitgestellte InputStream scheiterte."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "Der Parameterindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Es gibt {1} Parameter."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "Der Parameter ''Date Style'' wurde auf dem Server auf {0} ver\u00e4ndert. Der JDBC-Treiber setzt f\u00fcr korrekte Funktion voraus, dass ''Date Style'' mit ''ISO'' beginnt."; + t[508] = "Connection attempt timed out."; + t[509] = "Keine Verbindung innerhalb des Zeitintervalls m\u00f6glich."; + t[512] = "Internal Query: {0}"; + t[513] = "Interne Abfrage: {0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "Der Authentifizierungstyp {0} wird nicht unterst\u00fctzt. Stellen Sie sicher, dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients enth\u00e4lt und dass der Client ein Authentifizierungsschema nutzt, das vom Treiber unterst\u00fctzt wird."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "Intervall {0} ist noch nicht implementiert."; + t[532] = "Conversion of interval failed"; + t[533] = "Die Umwandlung eines Intervalls schlug fehl."; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Das Abfragetimeout muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "Die Verbindung wurde automatisch geschlossen, da entweder eine neue Verbindung f\u00fcr die gleiche PooledConnection ge\u00f6ffnet wurde, oder die PooledConnection geschlossen worden ist.."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "Das ResultSet ist nicht richtig positioniert. Eventuell muss ''next'' aufgerufen werden."; + t[550] = "This statement has been closed."; + t[551] = "Die Anweisung wurde geschlossen."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "Der in SQL f\u00fcr eine Instanz von {0} zu verwendende Datentyp kann nicht abgeleitet werden. Benutzen Sie ''setObject()'' mit einem expliziten Typ, um ihn festzulegen."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "''updateRow()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[562] = "Detail: {0}"; + t[563] = "Detail: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "''deleteRow()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "Die augenblickliche Position ist vor dem Beginn des ResultSets. Dort kann ''deleteRow()'' nicht aufgerufen werden."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "Ung\u00fcltige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Die Antwort weist einen unbekannten Typ auf: {0}."; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "Nichtunterst\u00fctzter Wert f\u00fcr den Stringparameter: {0}"; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "Die Umwandlung in den Typ {0} schlug fehl: {1}."; + t[586] = "Conversion of money failed."; + t[587] = "Die Umwandlung eines W\u00e4hrungsbetrags schlug fehl."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "Die f\u00fcr den Datentyp {1} verantwortliche Klasse {0} konnte nicht geladen werden."; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "Die Fastpath-Funktion {0} ist unbekannt."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "Unzul\u00e4ssige Syntax f\u00fcr ein Funktions- oder Prozedur-Escape an Offset {0}."; + t[612] = "Provided Reader failed."; + t[613] = "Der bereitgestellte Reader scheiterte."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "Die maximale Zeilenzahl muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[616] = "Failed to create object for: {0}."; + t[617] = "Erstellung des Objektes schlug fehl f\u00fcr: {0}."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, jedoch nur {1} gelesen."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Eine Abfrage lieferte ein unerwartetes Resultat."; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "Beim Aufbau der SSL-Verbindung trat ein Fehler auf."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "Ung\u00fcltige UTF-8-Sequenz: {0} Bytes wurden verwendet um einen {1} Bytewert zu kodieren: {2}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht instanziiert werden."; + t[670] = "Position: {0}"; + t[671] = "Position: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Ort: Datei: {0}, Routine: {1}, Zeile: {2}."; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "Es konnte nicht ermittelt werden, ob der Pfad offen oder geschlossen ist: {0}."; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "Die Typwandlung f\u00fcr eine Instanz von {0} nach {1} ist nicht m\u00f6glich."; + t[710] = "{0} function takes four and only four argument."; + t[711] = "Die {0}-Funktion erwartet genau vier Argumente."; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Beim Verbindungsversuch trat eine Unterbrechung auf."; + t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[723] = "Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus verhindert. Sie m\u00fcssen wahrscheinlich der Verbindung zum Datenbankrechner java.net.SocketPermission gew\u00e4hren, um den Rechner auf dem gew\u00e4hlten Port zu erreichen."; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "Die LargeObject-API konnte nicht initialisiert werden."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "Die {0}-Funktion erwartet nur genau ein Argument."; + t[744] = "This ResultSet is closed."; + t[745] = "Dieses ResultSet ist geschlossen."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Ung\u00fcltige Zeichendaten. Das ist h\u00f6chstwahrscheinlich von in der Datenbank gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung vorliegen, als die, in der die Datenbank erstellt wurde. Das h\u00e4ufigste Beispiel daf\u00fcr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen."; + t[752] = "Error disabling autocommit"; + t[753] = "Fehler beim Abschalten von Autocommit."; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Nicht gen\u00fcgend Speicher beim Abholen der Abfrageergebnisse."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "Die R\u00fcckgabe automatisch generierter Schl\u00fcssel wird nicht unterst\u00fctzt,"; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "Die Operation erfordert ein scrollbares ResultSet, dieses jedoch ist FORWARD_ONLY."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "Eine CallableStatement-Funktion wurde ausgef\u00fchrt und der R\u00fcckgabewert {0} war vom Typ {1}. Jedoch wurde der Typ {2} daf\u00fcr registriert."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "Unbekannte Einstellung f\u00fcr die Haltbarkeit des ResultSets: {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "Die Transaktions-Trennungsstufe {0} ist nicht unterst\u00fctzt."; + t[774] = "Zero bytes may not occur in identifiers."; + t[775] = "Nullbytes d\u00fcrfen in Bezeichnern nicht vorkommen."; + t[776] = "No results were returned by the query."; + t[777] = "Die Abfrage lieferte kein Ergebnis."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "Ein CallableStatement wurde ausgef\u00fchrt ohne etwas zur\u00fcckzugeben."; + t[780] = "wasNull cannot be call before fetching a result."; + t[781] = "wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= call ... '}' um das zu tun."; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "Relative Bewegungen k\u00f6nnen in der Einf\u00fcgezeile nicht durchgef\u00fchrt werden."; + t[790] = "A CallableStatement was executed with an invalid number of parameters"; + t[791] = "Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgef\u00fchrt."; + t[792] = "Connection is busy with another transaction"; + t[793] = "Die Verbindung ist derzeit mit einer anderen Transaktion besch\u00e4ftigt."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java new file mode 100644 index 0000000000..eb8051843b --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java @@ -0,0 +1,83 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_es extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[74]; + t[0] = ""; + t[1] = "Project-Id-Version: JDBC PostgreSQL Driver\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-22 16:51-0300\nLast-Translator: Diego Gil \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Spanish\n"; + t[4] = "The column index is out of range: {0}, number of columns: {1}."; + t[5] = "El \u00edndice de la columna est\u00e1 fuera de rango: {0}, n\u00famero de columnas: {1}."; + t[12] = "Unknown Response Type {0}."; + t[13] = "Tipo de respuesta desconocida {0}."; + t[16] = "Protocol error. Session setup failed."; + t[17] = "Error de protocolo. Fall\u00f3 el inicio de la sesi\u00f3n."; + t[20] = "The server requested password-based authentication, but no password was provided."; + t[21] = "El servidor requiere autenticaci\u00f3n basada en contrase\u00f1a, pero no se ha provisto ninguna contrase\u00f1a."; + t[26] = "A result was returned when none was expected."; + t[27] = "Se retorn\u00f3 un resultado cuando no se esperaba ninguno."; + t[28] = "Server SQLState: {0}"; + t[29] = "SQLState del servidor: {0}."; + t[30] = "The array index is out of range: {0}, number of elements: {1}."; + t[31] = "El \u00edndice del arreglo esta fuera de rango: {0}, n\u00famero de elementos: {1}."; + t[32] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[33] = "Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se leyeron {1}."; + t[36] = "The connection attempt failed."; + t[37] = "El intento de conexi\u00f3n fall\u00f3."; + t[38] = "Failed to create object for: {0}."; + t[39] = "Fallo al crear objeto: {0}."; + t[42] = "An error occurred while setting up the SSL connection."; + t[43] = "Ha ocorrido un error mientras se establec\u00eda la conexi\u00f3n SSL."; + t[48] = "No value specified for parameter {0}."; + t[49] = "No se ha especificado un valor para el par\u00e1metro {0}."; + t[50] = "The server does not support SSL."; + t[51] = "Este servidor no soporta SSL."; + t[52] = "An unexpected result was returned by a query."; + t[53] = "Una consulta retorn\u00f3 un resultado inesperado."; + t[60] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[61] = "Algo inusual ha ocurrido que provoc\u00f3 un fallo en el controlador. Por favor reporte esta excepci\u00f3n."; + t[64] = "No results were returned by the query."; + t[65] = "La consulta no retorn\u00f3 ning\u00fan resultado."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 37) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 35) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 74) + idx -= 74; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 74 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 74); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 74 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java new file mode 100644 index 0000000000..2ecefa64d2 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java @@ -0,0 +1,339 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_fr extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: head-fr\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2007-07-27 12:27+0200\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.11.4\nPlural-Forms: nplurals=2; plural=(n > 1);\n"; + t[4] = "DataSource has been closed."; + t[5] = "DataSource a \u00e9t\u00e9 ferm\u00e9e."; + t[18] = "Where: {0}"; + t[19] = "O\u00f9\u00a0: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "La tentative de connexion a \u00e9chou\u00e9."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "Actuellement positionn\u00e9 apr\u00e8s la fin du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "Impossible d''utiliser les fonctions de requ\u00eate qui utilisent une cha\u00eene de caract\u00e8res sur un PreparedStatement."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "Plusieurs ResultSets ont \u00e9t\u00e9 retourn\u00e9s par la requ\u00eate."; + t[50] = "Too many update results were returned."; + t[51] = "Trop de r\u00e9sultats de mise \u00e0 jour ont \u00e9t\u00e9 retourn\u00e9s."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "S\u00e9quence UTF-8 ill\u00e9gale: le premier octet est {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "Le nom de colonne {0} n''a pas \u00e9t\u00e9 trouv\u00e9 dans ce ResultSet."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Appel Fastpath {0} - Aucun r\u00e9sultat n''a \u00e9t\u00e9 retourn\u00e9 et nous attendions un entier."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Erreur de protocole. Ouverture de la session en \u00e9chec."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "Un CallableStatement a \u00e9t\u00e9 d\u00e9clar\u00e9, mais aucun appel \u00e0 registerOutParameter(1, ) n''a \u00e9t\u00e9 fait."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent \u00eatre mis \u00e0 jour."; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "Les d\u00e9calages de position des LOB commencent \u00e0 1."; + t[92] = "Internal Position: {0}"; + t[93] = "Position interne\u00a0: {0}"; + t[96] = "free() was called on this LOB previously"; + t[97] = "free() a \u00e9t\u00e9 appel\u00e9e auparavant sur ce LOB"; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "Impossible de changer la propri\u00e9t\u00e9 read-only d''une transaction au milieu d''une transaction."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "La JVM pr\u00e9tend ne pas supporter l''encodage {0}."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "La fonction {0} n''accepte aucun argument."; + t[112] = "xid must not be null"; + t[113] = "xid ne doit pas \u00eatre nul"; + t[114] = "Connection has been closed."; + t[115] = "La connexion a \u00e9t\u00e9 ferm\u00e9e."; + t[122] = "The server does not support SSL."; + t[123] = "Le serveur ne supporte pas SSL."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "S\u00e9quence UTF-8 ill\u00e9gale: l''octet {0} de la s\u00e9quence d''octet {1} n''est pas 10xxxxxx: {2}"; + t[148] = "Hint: {0}"; + t[149] = "Indice\u00a0: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "Incapable de trouver le type de donn\u00e9e name dans les catalogues syst\u00e8mes."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Valeur de type non support\u00e9e\u00a0: {0}"; + t[158] = "Unknown type {0}."; + t[159] = "Type inconnu\u00a0: {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "La fonction {0} n''accepte que deux et seulement deux arguments."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Destruction d''une connection qui n''a jamais \u00e9t\u00e9 ferm\u00e9e:"; + t[180] = "The maximum field size must be a value greater than or equal to 0."; + t[181] = "La taille maximum des champs doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "Les LOB PostgreSQL peuvent seulement s''indicer \u00e0: {0}"; + t[194] = "Method {0} is not yet implemented."; + t[195] = "La fonction {0} n''est pas encore impl\u00e9ment\u00e9e."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "Erreur de chargement des valeurs par d\u00e9faut depuis driverconfig.properties"; + t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[201] = "Les r\u00e9sultats ne peuvent \u00eatre r\u00e9cup\u00e9r\u00e9s \u00e0 partir d''un CallableStatement avant qu''il ne soit ex\u00e9cut\u00e9."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "Les Large Objects ne devraient pas \u00eatre utilis\u00e9s en mode auto-commit."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "Attendait le statut de commande BEGIN, obtenu {0}."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Constante de direction pour la r\u00e9cup\u00e9ration invalide\u00a0: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "La fonction {0} n''accepte que trois et seulement trois arguments."; + t[226] = "Error during recover"; + t[227] = "Erreur durant la restauration"; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "Impossible de mettre \u00e0 jour le ResultSet car c''est soit avant le d\u00e9but ou apr\u00e8s la fin des r\u00e9sultats."; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "Un param\u00e8tre de type {0} a \u00e9t\u00e9 enregistr\u00e9, mais un appel \u00e0 get{1} (sqltype={2}) a \u00e9t\u00e9 fait."; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "Impossible d''\u00e9tablir un savepoint en mode auto-commit."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "Impossible de retrouver l''identifiant d''un savepoint nomm\u00e9."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "L''indice de la colonne est hors limite\u00a0: {0}, nombre de colonnes\u00a0: {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "Quelque chose d''inhabituel a provoqu\u00e9 l''\u00e9chec du pilote. Veuillez faire un rapport sur cette erreur."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "Impossible de convertir une instance de {0} vers le type {1}"; + t[264] = "Unknown Types value."; + t[265] = "Valeur de Types inconnue."; + t[266] = "Invalid stream length {0}."; + t[267] = "Longueur de flux invalide {0}."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "Impossible de retrouver le nom d''un savepoint sans nom."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "Impossible de traduire les donn\u00e9es dans l''encodage d\u00e9sir\u00e9."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "Attendait une fin de fichier du serveur, re\u00e7u: {0}"; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "Mauvaise valeur pour le type {0}\u00a0: {1}"; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "Le serveur a demand\u00e9 une authentification par mots de passe, mais aucun mot de passe n''a \u00e9t\u00e9 fourni."; + t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[297] = "Le troncage des large objects n''est impl\u00e9ment\u00e9 que dans les serveurs 8.3 et sup\u00e9rieurs."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "Cette PooledConnection a d\u00e9j\u00e0 \u00e9t\u00e9 ferm\u00e9e."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "Fetch size doit \u00eatre une valeur sup\u00e9rieur ou \u00e9gal \u00e0 0."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "Aucune connexion n''a pu \u00eatre \u00e9tablie en utilisant le protocole demand\u00e9 {0}. "; + t[322] = "There are no rows in this ResultSet."; + t[323] = "Il n''y pas pas de lignes dans ce ResultSet."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Statut de commande inattendu\u00a0: {0}."; + t[334] = "Not on the insert row."; + t[335] = "Pas sur la ligne en insertion."; + t[344] = "Server SQLState: {0}"; + t[345] = "SQLState serveur\u00a0: {0}"; + t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[349] = "Le param\u00e8tre serveur standard_conforming_strings a pour valeur {0}. Le driver JDBC attend on ou off."; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "Le pilote ne supporte pas actuellement les op\u00e9rations COPY."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "L''indice du tableau est hors limites\u00a0: {0}, nombre d''\u00e9l\u00e9ments\u00a0: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "suspend/resume pas impl\u00e9ment\u00e9"; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "Pas impl\u00e9ment\u00e9: le commit \u00e0 une phase doit avoir lieu en utilisant la m\u00eame connection que celle o\u00f9 il a commenc\u00e9"; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "Impossible d''appeler cancelRowUpdates() pendant l''insertion d''une ligne."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "Impossible de r\u00e9f\u00e9rencer un savepoint apr\u00e8s qu''il ait \u00e9t\u00e9 lib\u00e9r\u00e9."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Vous devez sp\u00e9cifier au moins une valeur de colonne pour ins\u00e9rer une ligne."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "Incapable de d\u00e9terminer la valeur de MaxIndexKeys en raison de donn\u00e9es manquante dans lecatalogue syst\u00e8me."; + t[412] = "The JVM claims not to support the encoding: {0}"; + t[413] = "La JVM pr\u00e9tend ne pas supporter l''encodage: {0}"; + t[414] = "{0} function takes two or three arguments."; + t[415] = "La fonction {0} n''accepte que deux ou trois arguments."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Erreur inattendue pendant l''\u00e9criture de large object dans la base."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "Z\u00e9ro octets ne devrait pas se produire dans les param\u00e8tres de type cha\u00eene de caract\u00e8res."; + t[444] = "A result was returned when none was expected."; + t[445] = "Un r\u00e9sultat a \u00e9t\u00e9 retourn\u00e9 alors qu''aucun n''\u00e9tait attendu."; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "Le ResultSet n''est pas modifiable. La requ\u00eate qui a g\u00e9n\u00e9r\u00e9 ce r\u00e9sultat doit s\u00e9lectionner seulement une table, et doit s\u00e9lectionner toutes les cl\u00e9s primaires de cette table. Voir la sp\u00e9cification de l''API JDBC 2.1, section 5.6 pour plus de d\u00e9tails."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "La longueur du message de liaison {0} est trop grande. Cela peut \u00eatre caus\u00e9 par des sp\u00e9cification de longueur tr\u00e8s grandes ou incorrectes pour les param\u00e8tres de type InputStream."; + t[460] = "Statement has been closed."; + t[461] = "Statement a \u00e9t\u00e9 ferm\u00e9."; + t[462] = "No value specified for parameter {0}."; + t[463] = "Pas de valeur sp\u00e9cifi\u00e9e pour le param\u00e8tre {0}."; + t[468] = "The array index is out of range: {0}"; + t[469] = "L''indice du tableau est hors limites\u00a0: {0}"; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "Incapable de lier les valeurs des param\u00e8tres pour la commande."; + t[476] = "Can''t refresh the insert row."; + t[477] = "Impossible de rafra\u00eechir la ligne ins\u00e9r\u00e9e."; + t[480] = "No primary key found for table {0}."; + t[481] = "Pas de cl\u00e9 primaire trouv\u00e9e pour la table {0}."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "Impossible de changer le niveau d''isolation des transactions au milieu d''une transaction."; + t[498] = "Provided InputStream failed."; + t[499] = "L''InputStream fourni a \u00e9chou\u00e9."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "L''indice du param\u00e8tre est hors limites\u00a0: {0}, nombre de param\u00e8tres\u00a0: {1}."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "Le param\u00e8tre DateStyle du serveur a \u00e9t\u00e9 chang\u00e9 pour {0}. Le pilote JDBC n\u00e9cessite que DateStyle commence par ISO pour un fonctionnement correct."; + t[508] = "Connection attempt timed out."; + t[509] = "La tentative de connexion a \u00e9chou\u00e9 dans le d\u00e9lai imparti."; + t[512] = "Internal Query: {0}"; + t[513] = "Requ\u00eate interne: {0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "Le type d''authentification {0} n''est pas support\u00e9. V\u00e9rifiez que vous avez configur\u00e9 le fichier pg_hba.conf pour inclure l''adresse IP du client ou le sous-r\u00e9seau et qu''il utilise un sch\u00e9ma d''authentification support\u00e9 par le pilote."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "L''interval {0} n''est pas encore impl\u00e9ment\u00e9"; + t[532] = "Conversion of interval failed"; + t[533] = "La conversion de l''intervalle a \u00e9chou\u00e9"; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Query timeout doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "La connexion a \u00e9t\u00e9 ferm\u00e9e automatiquement car une nouvelle connexion a \u00e9t\u00e9 ouverte pour la m\u00eame PooledConnection ou la PooledConnection a \u00e9t\u00e9 ferm\u00e9e."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "Le ResultSet n''est pas positionn\u00e9 correctement, vous devez peut-\u00eatre appeler next()."; + t[550] = "This statement has been closed."; + t[551] = "Ce statement a \u00e9t\u00e9 ferm\u00e9."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "Impossible de d\u00e9duire le type SQL \u00e0 utiliser pour une instance de {0}. Utilisez setObject() avec une valeur de type explicite pour sp\u00e9cifier le type \u00e0 utiliser."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "Impossible d''appeler updateRow() tant que l''on est sur la ligne ins\u00e9r\u00e9e."; + t[562] = "Detail: {0}"; + t[563] = "D\u00e9tail\u00a0: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "Impossible d''appeler deleteRow() pendant l''insertion d''une ligne."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "Actuellement positionn\u00e9 avant le d\u00e9but du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "S\u00e9quence UTF-8 ill\u00e9gale: la valeur finale est une valeur de remplacement: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Type de r\u00e9ponse inconnu {0}."; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "Valeur non support\u00e9e pour les param\u00e8tre de type cha\u00eene de caract\u00e8res\u00a0: {0}"; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "La conversion vers le type {0} a \u00e9chou\u00e9\u00a0: {1}."; + t[586] = "Conversion of money failed."; + t[587] = "La conversion de money a \u00e9chou\u00e9."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "Incapable de charger la classe {0} responsable du type de donn\u00e9es {1}"; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "La fonction fastpath {0} est inconnue."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "Syntaxe de fonction ou d''\u00e9chappement de proc\u00e9dure malform\u00e9e \u00e0 l''indice {0}."; + t[612] = "Provided Reader failed."; + t[613] = "Le Reader fourni a \u00e9chou\u00e9."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "Le nombre maximum de lignes doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[616] = "Failed to create object for: {0}."; + t[617] = "\u00c9chec \u00e0 la cr\u00e9ation de l''objet pour\u00a0: {0}."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Fin pr\u00e9matur\u00e9e du flux en entr\u00e9e, {0} octets attendus, mais seulement {1} lus."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Un r\u00e9sultat inattendu a \u00e9t\u00e9 retourn\u00e9 par une requ\u00eate."; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "Une erreur s''est produite pendant l''\u00e9tablissement de la connexion SSL."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "S\u00e9quence UTF-8 ill\u00e9gale: {0} octets utilis\u00e9 pour encoder une valeur \u00e0 {1} octets: {2}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "La classe SSLSocketFactory fournie {0} n''a pas pu \u00eatre instanci\u00e9e."; + t[670] = "Position: {0}"; + t[671] = "Position\u00a0: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Localisation\u00a0: Fichier\u00a0: {0}, Routine\u00a0: {1}, Ligne\u00a0: {2}"; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "Impossible de dire si path est ferm\u00e9 ou ouvert\u00a0: {0}."; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "Impossible de convertir une instance de type {0} vers le type {1}"; + t[710] = "{0} function takes four and only four argument."; + t[711] = "La fonction {0} n''accepte que quatre et seulement quatre arguments."; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Interrompu pendant l''\u00e9tablissement de la connexion."; + t[722] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[723] = "S\u00e9quence UTF-8 ill\u00e9gale: la valeur finale est en dehors des limites: {0}"; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "\u00c9chec \u00e0 l''initialisation de l''API LargeObject"; + t[734] = "No function outputs were registered."; + t[735] = "Aucune fonction outputs n''a \u00e9t\u00e9 enregistr\u00e9e."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "La fonction {0} n''accepte qu''un et un seul argument."; + t[744] = "This ResultSet is closed."; + t[745] = "Ce ResultSet est ferm\u00e9."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Des donn\u00e9es de caract\u00e8res invalides ont \u00e9t\u00e9 trouv\u00e9es. C''est probablement caus\u00e9 par le stockage de caract\u00e8res invalides pour le jeu de caract\u00e8res de cr\u00e9ation de la base. L''exemple le plus courant est le stockage de donn\u00e9es 8bit dans une base SQL_ASCII."; + t[750] = "An I/O error occurred while sending to the backend."; + t[751] = "Une erreur d''entr\u00e9e/sortie a eu lieu lors d''envoi vers le serveur."; + t[752] = "Error disabling autocommit"; + t[753] = "Erreur en d\u00e9sactivant autocommit"; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Ai manqu\u00e9 de m\u00e9moire en r\u00e9cup\u00e9rant les r\u00e9sultats de la requ\u00eate."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "Le renvoi des cl\u00e9s automatiquement g\u00e9n\u00e9r\u00e9es n''est pas support\u00e9."; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "L''op\u00e9ration n\u00e9cessite un scrollable ResultSet, mais ce ResultSet est FORWARD_ONLY."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "Une fonction CallableStatement a \u00e9t\u00e9 ex\u00e9cut\u00e9e et le param\u00e8tre en sortie {0} \u00e9tait du type {1} alors que le type {2} \u00e9tait pr\u00e9vu."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "Param\u00e8tre holdability du ResultSet inconnu\u00a0: {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "Le niveau d''isolation de transaction {0} n''est pas support\u00e9."; + t[774] = "Zero bytes may not occur in identifiers."; + t[775] = "Des octects \u00e0 0 ne devraient pas appara\u00eetre dans les identifiants."; + t[776] = "No results were returned by the query."; + t[777] = "Aucun r\u00e9sultat retourn\u00e9 par la requ\u00eate."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "Un CallableStatement a \u00e9t\u00e9 ex\u00e9cut\u00e9 mais n''a rien retourn\u00e9."; + t[780] = "wasNull cannot be call before fetching a result."; + t[781] = "wasNull ne peut pas \u00eatre appel\u00e9 avant la r\u00e9cup\u00e9ration d''un r\u00e9sultat."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Cette requ\u00eate ne d\u00e9clare pas de param\u00e8tre OUT. Utilisez '{' ?= call ... '}' pour en d\u00e9clarer un."; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "Impossible d''utiliser les fonctions de d\u00e9placement relatif pendant l''insertion d''une ligne."; + t[792] = "Connection is busy with another transaction"; + t[793] = "La connection est occup\u00e9e avec une autre transaction"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java new file mode 100644 index 0000000000..69b5189690 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java @@ -0,0 +1,323 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_it extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.2\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2006-06-23 17:25+0200\nLast-Translator: Giuseppe Sacco \nLanguage-Team: Italian \nLanguage: it\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[4] = "DataSource has been closed."; + t[5] = "Questo \u00abDataSource\u00bb \u00e8 stato chiuso."; + t[18] = "Where: {0}"; + t[19] = "Dove: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "Il tentativo di connessione \u00e8 fallito."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "La posizione attuale \u00e8 successiva alla fine del ResultSet. Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb qui."; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "Non si possono utilizzare i metodi \"query\" che hanno come argomento una stringa nel caso di \u00abPreparedStatement\u00bb."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "La query ha restituito \u00abResultSet\u00bb multipli."; + t[50] = "Too many update results were returned."; + t[51] = "Sono stati restituiti troppi aggiornamenti."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "Sequenza UTF-8 illegale: il byte iniziale \u00e8 {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "Colonna denominata \u00ab{0}\u00bb non \u00e8 presente in questo \u00abResultSet\u00bb."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Chiamata Fastpath \u00ab{0}\u00bb: Nessun risultato restituito mentre ci si aspettava un intero."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Errore di protocollo. Impostazione della sessione fallita."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "\u00c8 stato definito un \u00abCallableStatement\u00bb ma non \u00e8 stato invocato il metodo \u00abregisterOutParameter(1, )\u00bb."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "I \u00abResultSet\u00bb in modalit\u00e0 CONCUR_READ_ONLY non possono essere aggiornati."; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "L''offset per la posizione dei LOB comincia da 1."; + t[92] = "Internal Position: {0}"; + t[93] = "Posizione interna: {0}"; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "Non \u00e8 possibile modificare la propriet\u00e0 \u00abread-only\u00bb delle transazioni nel mezzo di una transazione."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "La JVM sostiene di non supportare la codifica {0}."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "Il metodo \u00ab{0}\u00bb non accetta argomenti."; + t[112] = "xid must not be null"; + t[113] = "xid non pu\u00f2 essere NULL"; + t[114] = "Connection has been closed."; + t[115] = "Questo \u00abConnection\u00bb \u00e8 stato chiuso."; + t[122] = "The server does not support SSL."; + t[123] = "Il server non supporta SSL."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "Sequenza UTF-8 illegale: il byte {0} di una sequenza di {1} byte non \u00e8 10xxxxxx: {2}"; + t[148] = "Hint: {0}"; + t[149] = "Suggerimento: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "Non \u00e8 possibile trovare il datatype \u00abname\u00bb nel catalogo di sistema."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Valore di tipo \u00ab{0}\u00bb non supportato."; + t[158] = "Unknown type {0}."; + t[159] = "Tipo sconosciuto {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "Il metodo \u00ab{0}\u00bb accetta due e solo due argomenti."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Finalizzazione di una \u00abConnection\u00bb che non \u00e8 stata chiusa."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "Il massimo valore per l''indice dei LOB di PostgreSQL \u00e8 {0}. "; + t[194] = "Method {0} is not yet implemented."; + t[195] = "Il metodo \u00ab{0}\u00bb non \u00e8 stato ancora implementato."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "Si \u00e8 verificato un errore caricando le impostazioni predefinite da \u00abdriverconfig.properties\u00bb."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "Non \u00e8 possibile impostare i \u00abLarge Object\u00bb in modalit\u00e0 \u00abauto-commit\u00bb."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece \u00e8 {0}."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Costante per la direzione dell''estrazione non valida: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "Il metodo \u00ab{0}\u00bb accetta tre e solo tre argomenti."; + t[226] = "Error during recover"; + t[227] = "Errore durante il ripristino"; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "Non \u00e8 possibile aggiornare il \u00abResultSet\u00bb perch\u00e9 la posizione attuale \u00e8 precedente all''inizio o successiva alla file dei risultati."; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "\u00c8 stato definito il parametro di tipo \u00ab{0}\u00bb, ma poi \u00e8 stato invocato il metodo \u00abget{1}()\u00bb (sqltype={2})."; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "Non \u00e8 possibile impostare i punti di ripristino in modalit\u00e0 \u00abauto-commit\u00bb."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "Non \u00e8 possibile trovare l''id del punto di ripristino indicato."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "Indice di colonna, {0}, \u00e8 maggiore del numero di colonne {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "Qualcosa di insolito si \u00e8 verificato causando il fallimento del driver. Per favore riferire all''autore del driver questa eccezione."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "Non \u00e8 possibile fare il cast di una istanza di \u00ab{0}\u00bb al tipo \u00ab{1}\u00bb."; + t[264] = "Unknown Types value."; + t[265] = "Valore di tipo sconosciuto."; + t[266] = "Invalid stream length {0}."; + t[267] = "La dimensione specificata, {0}, per lo \u00abstream\u00bb non \u00e8 valida."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "Non \u00e8 possibile trovare il nome di un punto di ripristino anonimo."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "Impossibile tradurre i dati nella codifica richiesta."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "Ricevuto dal server \u00ab{0}\u00bb mentre era atteso un EOF"; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "Il valore \u00ab{1}\u00bb non \u00e8 adeguato al tipo \u00ab{0}\u00bb."; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "Il server ha richiesto l''autenticazione con password, ma tale password non \u00e8 stata fornita."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "Questo \u00abPooledConnection\u00bb \u00e8 stato chiuso."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "La dimensione dell''area di \u00abfetch\u00bb deve essere maggiore o eguale a 0."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "Non \u00e8 stato possibile attivare la connessione utilizzando il protocollo richiesto {0}."; + t[322] = "There are no rows in this ResultSet."; + t[323] = "Non ci sono righe in questo \u00abResultSet\u00bb."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Stato del comando non previsto: {0}."; + t[334] = "Not on the insert row."; + t[335] = "Non si \u00e8 in una nuova riga."; + t[344] = "Server SQLState: {0}"; + t[345] = "SQLState del server: {0}"; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "Il driver non supporta al momento l''operazione \u00abCOPY\u00bb."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "L''indice dell''array \u00e8 fuori intervallo: {0}, numero di elementi: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "\u00absuspend\u00bb/\u00abresume\u00bb non implementato"; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa connessione che ha iniziato la transazione."; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "Non \u00e8 possibile invocare \u00abcancelRowUpdates()\u00bb durante l''inserimento di una riga."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "Non \u00e8 possibile utilizzare un punto di ripristino successivamente al suo rilascio."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Per inserire un record si deve specificare almeno il valore di una colonna."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "Non \u00e8 possibile trovare il valore di \u00abMaxIndexKeys\u00bb nel catalogo si sistema."; + t[412] = "The JVM claims not to support the encoding: {0}"; + t[413] = "La JVM sostiene di non supportare la codifica: {0}."; + t[414] = "{0} function takes two or three arguments."; + t[415] = "Il metodo \u00ab{0}\u00bb accetta due o tre argomenti."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Errore inatteso inviando un \u00ablarge object\u00bb al database."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "Byte con valore zero non possono essere contenuti nei parametri stringa."; + t[444] = "A result was returned when none was expected."; + t[445] = "\u00c8 stato restituito un valore nonostante non ne fosse atteso nessuno."; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "Il \u00abResultSet\u00bb non \u00e8 aggiornabile. La query che lo genera deve selezionare una sola tabella e deve selezionarne tutti i campi che ne compongono la chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, per ulteriori dettagli."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "Il messaggio di \u00abbind\u00bb \u00e8 troppo lungo ({0}). Questo pu\u00f2 essere causato da una dimensione eccessiva o non corretta dei parametri dell''\u00abInputStream\u00bb."; + t[460] = "Statement has been closed."; + t[461] = "Questo \u00abStatement\u00bb \u00e8 stato chiuso."; + t[462] = "No value specified for parameter {0}."; + t[463] = "Nessun valore specificato come parametro {0}."; + t[468] = "The array index is out of range: {0}"; + t[469] = "Indice di colonna fuori dall''intervallo ammissibile: {0}"; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "Impossibile fare il \u00abbind\u00bb dei valori passati come parametri per lo statement."; + t[476] = "Can''t refresh the insert row."; + t[477] = "Non \u00e8 possibile aggiornare la riga in inserimento."; + t[480] = "No primary key found for table {0}."; + t[481] = "Non \u00e8 stata trovata la chiave primaria della tabella \u00ab{0}\u00bb."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "Non \u00e8 possibile cambiare il livello di isolamento delle transazioni nel mezzo di una transazione."; + t[498] = "Provided InputStream failed."; + t[499] = "L''\u00abInputStream\u00bb fornito \u00e8 fallito."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "Il parametro indice \u00e8 fuori intervallo: {0}, numero di elementi: {1}."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "Il parametro del server \u00abDateStyle\u00bb \u00e8 stato cambiato in {0}. Il driver JDBC richiede che \u00abDateStyle\u00bb cominci con \u00abISO\u00bb per un corretto funzionamento."; + t[508] = "Connection attempt timed out."; + t[509] = "Il tentativo di connessione \u00e8 scaduto."; + t[512] = "Internal Query: {0}"; + t[513] = "Query interna: {0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "L''autenticazione di tipo {0} non \u00e8 supportata. Verificare che nel file di configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del client, e che lo schema di autenticazione utilizzato sia supportato dal driver."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "L''intervallo \u00ab{0}\u00bb non \u00e8 stato ancora implementato."; + t[532] = "Conversion of interval failed"; + t[533] = "Fallita la conversione di un \u00abinterval\u00bb."; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Il timeout relativo alle query deve essere maggiore o eguale a 0."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "La \u00abConnection\u00bb \u00e8 stata chiusa automaticamente perch\u00e9 una nuova l''ha sostituita nello stesso \u00abPooledConnection\u00bb, oppure il \u00abPooledConnection\u00bb \u00e8 stato chiuso."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "Il \u00abResultSet\u00bb non \u00e8 correttamente posizionato; forse \u00e8 necessario invocare \u00abnext()\u00bb."; + t[550] = "This statement has been closed."; + t[551] = "Questo statement \u00e8 stato chiuso."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "Non \u00e8 possibile identificare il tipo SQL da usare per l''istanza di tipo \u00ab{0}\u00bb. Usare \u00absetObject()\u00bb specificando esplicitamente il tipo da usare per questo valore."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "Non \u00e8 possibile invocare \u00abupdateRow()\u00bb durante l''inserimento di una riga."; + t[562] = "Detail: {0}"; + t[563] = "Dettaglio: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb durante l''inserimento di una riga."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "La posizione attuale \u00e8 precedente all''inizio del ResultSet. Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb qui."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "Sequenza UTF-8 illegale: il valore \u00e8 finale \u00e8 un surrogato: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Risposta di tipo sconosciuto {0}."; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "Il valore per il parametro di tipo string \u00ab{0}\u00bb non \u00e8 supportato."; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "Conversione al tipo {0} fallita: {1}."; + t[586] = "Conversion of money failed."; + t[587] = "Fallita la conversione di un \u00abmoney\u00bb."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "Non \u00e8 possibile caricare la class \u00ab{0}\u00bb per gestire il tipo \u00ab{1}\u00bb."; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "La funzione fastpath \u00ab{0}\u00bb \u00e8 sconosciuta."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "Sequenza di escape definita erroneamente nella funzione o procedura all''offset {0}."; + t[612] = "Provided Reader failed."; + t[613] = "Il \u00abReader\u00bb fornito \u00e8 fallito."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "Il numero massimo di righe deve essere maggiore o eguale a 0."; + t[616] = "Failed to create object for: {0}."; + t[617] = "Fallita la creazione dell''oggetto per: {0}."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Il flusso di input \u00e8 stato interrotto, sono arrivati {1} byte al posto dei {0} attesi."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Un risultato inaspettato \u00e8 stato ricevuto dalla query."; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "Si \u00e8 verificato un errore impostando la connessione SSL."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "Sequenza UTF-8 illegale: {0} byte utilizzati per codificare un valore di {1} byte: {2}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "La classe \u00abSSLSocketFactory\u00bb specificata, \u00ab{0}\u00bb, non pu\u00f2 essere istanziata."; + t[670] = "Position: {0}"; + t[671] = "Posizione: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Individuazione: file: \"{0}\", routine: {1}, linea: {2}"; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "Impossibile stabilire se il percorso \u00e8 aperto o chiuso: {0}."; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "Non \u00e8 possibile convertire una istanza di \u00ab{0}\u00bb nel tipo \u00ab{1}\u00bb"; + t[710] = "{0} function takes four and only four argument."; + t[711] = "Il metodo \u00ab{0}\u00bb accetta quattro e solo quattro argomenti."; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Si \u00e8 verificata una interruzione durante il tentativo di connessione."; + t[722] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[723] = "Sequenza UTF-8 illegale: il valore finale \u00e8 fuori dall''intervallo permesso: {0}"; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "Inizializzazione di LargeObject API fallita."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "Il metodo \u00ab{0}\u00bb accetta un ed un solo argomento."; + t[744] = "This ResultSet is closed."; + t[745] = "Questo \u00abResultSet\u00bb \u00e8 chiuso."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono stati memorizzati dei caratteri che non sono validi per la codifica dei caratteri impostata alla creazione del database. Il caso pi\u00f9 diffuso \u00e8 quello nel quale si memorizzano caratteri a 8bit in un database con codifica SQL_ASCII."; + t[750] = "An I/O error occurred while sending to the backend."; + t[751] = "Si \u00e8 verificato un errore di I/O nella spedizione di dati al server."; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Fine memoria scaricando i risultati della query."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "La restituzione di chiavi autogenerate non \u00e8 supportata."; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "L''operazione richiete un \u00abResultSet\u00bb scorribile mentre questo \u00e8 \u00abFORWARD_ONLY\u00bb."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "\u00c8 stato eseguito un \u00abCallableStatement\u00bb ma il parametro in uscita \u00ab{0}\u00bb era di tipo \u00ab{1}\u00bb al posto di \u00ab{2}\u00bb, che era stato dichiarato."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "Il parametro \u00abholdability\u00bb per il \u00abResultSet\u00bb \u00e8 sconosciuto: {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "Il livello di isolamento delle transazioni \u00ab{0}\u00bb non \u00e8 supportato."; + t[776] = "No results were returned by the query."; + t[777] = "Nessun risultato \u00e8 stato restituito dalla query."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "Un \u00abCallableStatement\u00bb \u00e8 stato eseguito senza produrre alcun risultato. "; + t[780] = "The maximum field size must be a value greater than or equal to 0."; + t[781] = "La dimensione massima del campo deve essere maggiore o eguale a 0."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Questo statement non dichiara il parametro in uscita. Usare \u00ab{ ?= call ... }\u00bb per farlo."; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "Non \u00e8 possibile utilizzare gli spostamenti relativi durante l''inserimento di una riga."; + t[792] = "Connection is busy with another transaction"; + t[793] = "La connessione \u00e8 utilizzata da un''altra transazione"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java new file mode 100644 index 0000000000..d65dbad93c --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java @@ -0,0 +1,503 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_ja extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[1178]; + t[0] = ""; + t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2010-04-11 22:58+0900\nLast-Translator: Hiroshi Saito \nLanguage-Team: PostgreSQL \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: Japanese\nX-Poedit-Country: Japan\n"; + t[6] = "PostgreSQL LOBs can only index to: {0}"; + t[7] = "PostgreSQL LOB \u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 {0} \u307e\u3067\u306e\u307f\u53ef\u80fd\u3067\u3059\u3002 "; + t[14] = "The server does not support SSL."; + t[15] = "\u30b5\u30fc\u30d0\u306fSSL\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002"; + t[22] = "Error disabling autocommit"; + t[23] = "\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u306e\u7121\u52b9\u5316\u30a8\u30e9\u30fc"; + t[24] = "Hint: {0}"; + t[25] = "\u30d2\u30f3\u30c8: {0}"; + t[28] = "Interrupted while attempting to connect."; + t[29] = "\u63a5\u7d9a\u8a66\u884c\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u304c\u3042\u308a\u307e\u3057\u305f\u3002"; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "PreparedStatement\u3067\u30af\u30a8\u30ea\u6587\u5b57\u3092\u6301\u3063\u305f\u30af\u30a8\u30ea\u30e1\u30bd\u30c3\u30c9\u306f\u4f7f\u3048\u307e\u305b\u3093\u3002"; + t[34] = "Got CopyInResponse from server during an active {0}"; + t[35] = "\u6d3b\u52d5\u4e2d\u306e\u30b5\u30fc\u30d0 {0} \u304b\u3089CopyInResponse\u3092\u5f97\u307e\u3057\u305f"; + t[38] = "Cannot rollback when autoCommit is enabled."; + t[39] = "autoCommit\u6709\u52b9\u6642\u306b\u3001\u660e\u793a\u7684\u306a\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[46] = "DataSource has been closed."; + t[47] = "\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[54] = "The fastpath function {0} is unknown."; + t[55] = "{0} \u306f\u672a\u77e5\u306e fastpath \u95a2\u6570\u3067\u3059\u3002"; + t[56] = "The driver currently does not support COPY operations."; + t[57] = "\u73fe\u5728\u3001\u30c9\u30e9\u30a4\u30d0\u306f\u30b3\u30d4\u30fc\u64cd\u4f5c\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u305b\u3093\u3002"; + t[60] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[61] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u6700\u7d42\u5024\u304c\u7bc4\u56f2\u5916\u3067\u3059: {0}"; + t[64] = "Prepare called before end. prepare xid={0}, state={1}"; + t[65] = "\u7d42\u4e86\u524d\u306b\"Prepare\"\u304c\u547c\u3070\u308c\u307e\u3057\u305f prepare xid={0}, state={1}"; + t[66] = "Internal Query: {0}"; + t[67] = "\u30a4\u30f3\u30bf\u30fc\u30ca\u30eb\u30fb\u30af\u30a8\u30ea: {0}"; + t[68] = "An unexpected result was returned by a query."; + t[69] = "\u30af\u30a8\u30ea\u306b\u3088\u3063\u3066\u60f3\u5b9a\u3057\u306a\u3044\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[82] = "Transaction isolation level {0} not supported."; + t[83] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u9694\u96e2\u30ec\u30d9\u30eb{0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[88] = "Requested CopyIn but got {0}"; + t[89] = "CopyIn\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c {0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[90] = "Tried to write to an inactive copy operation"; + t[91] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u64cd\u4f5c\u3067\u66f8\u304d\u8fbc\u307f\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[94] = "{0} function takes four and only four argument."; + t[95] = "{0} \u95a2\u6570\u306f\u3001\u56db\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[98] = "Unable to decode xml data."; + t[99] = "xml\u30c7\u30fc\u30bf\u3092\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3002"; + t[100] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[101] = "\u30b5\u30fc\u30d0\u306estandard_conforming_strings\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001{0}\u3068\u3057\u3066\u5831\u544a\u3055\u308c\u307e\u3057\u305f\u3002JDBC\u30c9\u30e9\u30a4\u30d0\u306f\u3001on \u307e\u305f\u306f off \u3092\u60f3\u5b9a\u3057\u307e\u3059\u3002"; + t[102] = "There are no rows in this ResultSet."; + t[103] = "\u3053\u306eResultSet\u306b\u3044\u304b\u306a\u308b\u884c\u3082\u3042\u308a\u307e\u305b\u3093\u3002"; + t[106] = "Server SQLState: {0}"; + t[107] = "\u30b5\u30fc\u30d0 SQLState: {0}"; + t[108] = "This copy stream is closed."; + t[109] = "\u30b3\u30d4\u30fc\u30fb\u30b9\u30c8\u30ea\u30fc\u30e0\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[120] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[121] = "\u30b5\u30fc\u30d0\u306eDateStyle\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001{0} \u306b\u5909\u308f\u308a\u307e\u3057\u305f\u3002JDBC\u30c9\u30e9\u30a4\u30d0\u306f\u3001\u6b63\u3057\u3044\u64cd\u4f5c\u306e\u305f\u3081ISO\u3067\u958b\u59cb\u3059\u308bDateStyle\u3092\u8981\u6c42\u3057\u307e\u3059\u3002"; + t[122] = "Database connection failed when reading from copy"; + t[123] = "\u30b3\u30d4\u30fc\u304b\u3089\u306e\u8aad\u307f\u53d6\u308a\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[124] = "Provided InputStream failed."; + t[125] = "\u63d0\u4f9b\u3055\u308c\u305f InputStream \u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[142] = "Could not read SSL root certificate file {0}."; + t[143] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[144] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[145] = "ResultSet\u306f\u5909\u66f4\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u7d50\u679c\u30bb\u30c3\u30c8\u3092\u751f\u6210\u3057\u305f\u30af\u30a8\u30ea\u306f\u3001\u305f\u3060\u4e00\u3064\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u9078\u3073\u3001\u305d\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u5168\u3066\u306e\u4e3b\u30ad\u30fc\u3092\u9078\u3070\u306a\u304f\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u3002\u3088\u308a\u591a\u304f\u306e\u8a73\u7d30\u306b\u95a2\u3057\u3066 JDBC 2.1 API\u4ed5\u69d8\u3001\u7ae0 5.6 \u3092\u53c2\u7167\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[152] = "The array index is out of range: {0}"; + t[153] = "\u914d\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3001\u7bc4\u56f2\u5916\u3067\u3059: {0}"; + t[154] = "Unexpected command status: {0}."; + t[155] = "\u60f3\u5b9a\u5916\u306e\u30b3\u30de\u30f3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9: {0}"; + t[156] = "Unknown XML Result class: {0}"; + t[157] = "\u672a\u77e5\u306eXML\u7d50\u679c\u30af\u30e9\u30b9: {0}"; + t[160] = "Unexpected copydata from server for {0}"; + t[161] = "{0} \u306e\u30b5\u30fc\u30d0\u304b\u3089\u306e\u601d\u3044\u304c\u3051\u306a\u3044 copydata \u3067\u3059\u3002"; + t[162] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[163] = "\u65e9\u3059\u304e\u305f\u5165\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u7d42\u4e86\u3067\u3059\u3002{0} \u30d0\u30a4\u30c8\u304c\u60f3\u5b9a\u3055\u308c\u307e\u3057\u305f\u304c\u3001 {1} \u306e\u307f\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"; + t[168] = "Database connection failed when canceling copy operation"; + t[169] = "\u30b3\u30d4\u30fc\u64cd\u4f5c\u53d6\u308a\u6d88\u3057\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[174] = "No primary key found for table {0}."; + t[175] = "\u30c6\u30fc\u30d6\u30eb {0} \u306e\u4e3b\u30ad\u30fc\u304c\u3042\u308a\u307e\u305b\u3093\u3002"; + t[180] = "Enter SSL password: "; + t[181] = "SSL\u30d1\u30b9\u30ef\u30fc\u30c9\u5165\u529b: "; + t[182] = "{0} function takes one and only one argument."; + t[183] = "{0} \u95a2\u6570\u306f\u3001\u5358\u4e00\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[184] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[185] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u521d\u671f\u30d0\u30a4\u30c8\u306f\u3001{0}: {1}"; + t[194] = "Could not find a java cryptographic algorithm: X.509 CertificateFactory not available."; + t[195] = "java\u306e\u6697\u53f7\u5316\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002X.509 CertificateFactory \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[204] = "No value specified for parameter {0}."; + t[205] = "\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306b\u5024\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u307e\u305b\u3093\u3002"; + t[210] = "The hostname {0} could not be verified."; + t[211] = "\u30db\u30b9\u30c8\u540d {0} \u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[216] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[217] = "\u958b\u59cb\u524d\u3082\u3057\u304f\u306f\u7d42\u4e86\u5f8c\u3067\u3042\u308b\u305f\u3081\u3001ResultSet\u3092\u66f4\u65b0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[218] = "SSL error: {0}"; + t[219] = "SSL \u30a8\u30e9\u30fc: {0}"; + t[220] = "{0} function doesn''t take any argument."; + t[221] = "{0} \u95a2\u6570\u306f\u3001\u3069\u306e\u3088\u3046\u306a\u5f15\u6570\u3082\u7528\u3044\u307e\u305b\u3093\u3002"; + t[222] = "Connection is busy with another transaction"; + t[223] = "\u63a5\u7d9a\u306f\u3001\u5225\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306b\u5bfe\u5fdc\u4e2d\u3067\u3059\u3002"; + t[228] = "Transaction control methods setAutoCommit(true), commit, rollback and setSavePoint not allowed while an XA transaction is active."; + t[229] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u5236\u5fa1\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308b setAutoCommit(true), commit, rollback, setSavePoint \u306f\u3001XA\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u304c\u6709\u52b9\u3067\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[234] = "Could not open SSL root certificate file {0}."; + t[235] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[236] = "Received CommandComplete ''{0}'' without an active copy operation"; + t[237] = "\u6d3b\u52d5\u4e2d\u306e\u30b3\u30d4\u30fc\u64cd\u4f5c\u306a\u3057\u3067CommandComplete ''{0}'' \u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002"; + t[242] = "free() was called on this LOB previously"; + t[243] = "\u4ee5\u524d\u306b\u3001\u3053\u306eLOB\u306b\u5bfe\u3059\u308bfree() \u306f\u547c\u3070\u308c\u307e\u3057\u305f\u3002"; + t[244] = "The hostname {0} could not be verified by hostnameverifier {1}."; + t[245] = "\u30db\u30b9\u30c8\u540d {0} \u306f\u3001hostnameverifier {1} \u3067\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[246] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[247] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044 commit/rollback \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002forget xid={0}"; + t[252] = "Got CopyOutResponse from server during an active {0}"; + t[253] = "\u6d3b\u52d5\u4e2d\u306e\u30b5\u30fc\u30d0 {0} \u304b\u3089CopyOutResponse\u3092\u5f97\u307e\u3057\u305f"; + t[258] = "Got {0} error responses to single copy cancel request"; + t[259] = "\u5358\u4e00copy\u53d6\u308a\u6d88\u3057\u8981\u6c42\u306b {0} \u30a8\u30e9\u30fc\u5fdc\u7b54\u3092\u5f97\u307e\u3057\u305f\u3002"; + t[260] = "Read from copy failed."; + t[261] = "copy\u304b\u3089\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[264] = "Query timeout must be a value greater than or equals to 0."; + t[265] = "\u30af\u30a8\u30ea\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[272] = "A result was returned when none was expected."; + t[273] = "\u7d50\u679c\u304c\u306a\u3044\u3053\u3068\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[276] = "Database connection failed when starting copy"; + t[277] = "\u30b3\u30d4\u30fc\u958b\u59cb\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[282] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[283] = "Transaction interleaving \u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[286] = "Invalid stream length {0}."; + t[287] = "\u7121\u52b9\u306a\u30b9\u30c8\u30ea\u30fc\u30e0\u9577 {0}."; + t[300] = "Finalizing a Connection that was never closed:"; + t[301] = "\u63a5\u7d9a\u7d42\u4e86\u3067\u9589\u3058\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f:"; + t[304] = "Cannot convert an instance of {0} to type {1}"; + t[305] = "\u578b {1} \u306b {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"; + t[306] = "A CallableStatement was executed with an invalid number of parameters"; + t[307] = "CallableStatement\u306f\u3001\u4e0d\u6b63\u306a\u6570\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002"; + t[308] = "Could not read SSL key file {0}."; + t[309] = "SSL key\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[310] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[311] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: {0} \u30d0\u30a4\u30c8\u3092\u3001 {1} \u30d0\u30a4\u30c8\u5024\u306e\u30a8\u30f3\u30b3\u30fc\u30c9\u306b\u4f7f\u3044\u307e\u3057\u305f: {2}"; + t[316] = "Unknown ResultSet holdability setting: {0}."; + t[317] = "\u672a\u77e5\u306e ResultSet \u306b\u5bfe\u3059\u308bholdability\u8a2d\u5b9a\u3067\u3059: {0}"; + t[320] = "Unexpected error writing large object to database."; + t[321] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u60f3\u5b9a\u5916\u306e\u30a8\u30e9\u30fc\u304c\u8d77\u304d\u307e\u3057\u305f\u3002"; + t[324] = "Cannot write to copy a byte of value {0}"; + t[325] = "\u5024{0}\u306e\u30d0\u30a4\u30c8\u30b3\u30d4\u30fc\u3067\u66f8\u304d\u8fbc\u307f\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[326] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[327] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u6700\u7d42\u5024\u304c\u30b5\u30ed\u30b2\u30fc\u30c8\u5024\u3067\u3059: {0}"; + t[332] = "Ran out of memory retrieving query results."; + t[333] = "\u30af\u30a8\u30ea\u306e\u7d50\u679c\u53d6\u5f97\u306b\u30e1\u30e2\u30ea\u3092\u4f7f\u3044\u679c\u305f\u3057\u307e\u3057\u305f\u3002"; + t[334] = "The server requested password-based authentication, but no password was provided."; + t[335] = "\u30b5\u30fc\u30d0\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u30fb\u30d9\u30fc\u30b9\u306e\u8a8d\u8a3c\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c\u3001\u3044\u304b\u306a\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[336] = "Large Objects may not be used in auto-commit mode."; + t[337] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u30e2\u30fc\u30c9\u3067\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[338] = "This ResultSet is closed."; + t[339] = "ResultSet\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[340] = "Returning autogenerated keys by column index is not supported."; + t[341] = "\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u81ea\u52d5\u751f\u6210\u30ad\u30fc\u3092\u8fd4\u3059\u3053\u3068\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[348] = "Error during recover"; + t[349] = "\u56de\u5fa9\u4e2d\u306b\u30a8\u30e9\u30fc"; + t[350] = "Cannot truncate LOB to a negative length."; + t[351] = "\u8ca0\u306e\u5024\u3067LOB\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002"; + t[358] = "The column name {0} was not found in this ResultSet."; + t[359] = "ResultSet \u306b\u5217\u540d {0} \u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[372] = "No function outputs were registered."; + t[373] = "\u95a2\u6570\u51fa\u529b\u306f\u767b\u9332\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[374] = "Unknown XML Source class: {0}"; + t[375] = "\u672a\u77e5\u306eXML\u30bd\u30fc\u30b9\u30af\u30e9\u30b9: {0}"; + t[386] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[387] = "CallableStatement\u306f\u5ba3\u8a00\u3055\u308c\u307e\u3057\u305f\u304c\u3001registerOutParameter(1, ) \u306f\u547c\u3073\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[388] = "Connection has been closed."; + t[389] = "\u63a5\u7d9a\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[390] = "The JVM claims not to support the encoding: {0}"; + t[391] = "JVM\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: {0}"; + t[392] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[393] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u305f\u305f\u3081\u3001\u3053\u308c\u4ee5\u4e0a\u64cd\u4f5c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[404] = "Database connection failed when ending copy"; + t[405] = "\u30b3\u30d4\u30fc\u7d42\u4e86\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[414] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[415] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: Prepare\u306f\u3001\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u958b\u59cb\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u63a5\u7d9a\u3067\u4f7f\u308f\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002currentXid={0}, prepare xid={1}"; + t[418] = "{0} function takes three and only three arguments."; + t[419] = "{0} \u95a2\u6570\u306f\u3001\u4e09\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[424] = "Invalid UUID data."; + t[425] = "\u7121\u52b9\u306aUUID\u30c7\u30fc\u30bf\u3067\u3059\u3002"; + t[428] = "commit called before end. commit xid={0}, state={1}"; + t[429] = "\u7d42\u4e86\u306e\u524d\u306b COMMIT \u3092\u547c\u3073\u307e\u3057\u305f commit xid={0}, state={1}"; + t[430] = "Custom type maps are not supported."; + t[431] = "\u30ab\u30b9\u30bf\u30e0\u578b\u30de\u30c3\u30d7\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002"; + t[436] = "Method {0} is not yet implemented."; + t[437] = "{0} \u30e1\u30bd\u30c3\u30c9\u306f\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[442] = "This statement has been closed."; + t[443] = "\u3053\u306e\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[448] = "xid must not be null"; + t[449] = "xid\u306fnull\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002"; + t[454] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[455] = "ResultSet\u306e\u7d42\u308f\u308a\u306e\u5f8c\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u3053\u3067deleteRow()\u3092\u547c\u3076\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[456] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[457] = "Fastpath \u547c\u3073\u51fa\u3057 {0} - \u6574\u6570\u5024\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u3044\u304b\u306a\u308b\u7d50\u679c\u3082\u8fd4\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[464] = "wasNull cannot be call before fetching a result."; + t[465] = "wasNull\u306f\u3001\u7d50\u679c\u30d5\u30a7\u30c3\u30c1\u524d\u306b\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[470] = "Unsupported Types value: {0}"; + t[471] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u578b\u306e\u5024: {0}."; + t[478] = "Unable to find server array type for provided name {0}."; + t[479] = "\u63d0\u4f9b\u540d {0} \u3067\u3001\u30b5\u30fc\u30d0\u306e\u914d\u5217\u578b\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[490] = "Position: {0}"; + t[491] = "\u30dd\u30b8\u30b7\u30e7\u30f3: {0}"; + t[492] = "Conversion to type {0} failed: {1}."; + t[493] = "{0} \u3078\u306e\u578b\u5909\u63db\u306f\u5931\u6557\u3057\u307e\u3057\u305f: {1}."; + t[502] = "Failed to create object for: {0}."; + t[503] = "{0} \u3078\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[504] = "A CallableStatement was executed with nothing returned."; + t[505] = "CallableStatement\u306f\u3001\u623b\u308a\u306a\u3057\u3067\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002"; + t[510] = "Could not read password for SSL key file, console is not available."; + t[511] = "SSL key\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30b3\u30f3\u30bd\u30fc\u30eb\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[514] = "Cannot call cancelRowUpdates() when on the insert row."; + t[515] = "\u884c\u633f\u5165\u6642\u306b cancelRowUpdates() \u3092\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[518] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[519] = "\u9593\u9055\u3063\u305f\u30b7\u30b9\u30c6\u30e0\u30fb\u30ab\u30bf\u30ed\u30b0\u30fb\u30c7\u30fc\u30bf\u306e\u305f\u3081\u306bMaxIndexKeys\u306e\u5024\u3092\u6c7a\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[520] = "Not on the insert row."; + t[521] = "\u633f\u5165\u884c\u304c\u3042\u308a\u307e\u305b\u3093\u3002"; + t[524] = "The column index is out of range: {0}, number of columns: {1}."; + t[525] = "\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u7bc4\u56f2\u5916\u3067\u3059: {0} , \u5217\u306e\u6570: {1}"; + t[538] = "Unknown Response Type {0}."; + t[539] = "\u672a\u77e5\u306e\u5fdc\u7b54\u578b {0} \u3067\u3059\u3002"; + t[540] = "Cannot call deleteRow() when on the insert row."; + t[541] = "\u884c\u633f\u5165\u6642\u306b deleteRow() \u3092\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[544] = "Provided Reader failed."; + t[545] = "\u63d0\u4f9b\u3055\u308c\u305f Reader \u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[552] = "Could not initialize SSL context."; + t[553] = "SSL context\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[554] = "Unable to load the class {0} responsible for the datatype {1}"; + t[555] = "\u30c7\u30fc\u30bf\u578b {1} \u306b\u5bfe\u5fdc\u3059\u308b\u30af\u30e9\u30b9{0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"; + t[558] = "Expected command status BEGIN, got {0}."; + t[559] = "BEGIN\u30b3\u30de\u30f3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001{0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[564] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[565] = "CallableStatement\u6a5f\u80fd\u304c\u5b9f\u884c\u3055\u308c\u3001\u51fa\u529b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u3001\u578b {1} \u3067\u3057\u305f\u3002\u3057\u304b\u3057\u3001\u578b {2} \u304c\u767b\u9332\u3055\u308c\u307e\u3057\u305f\u3002"; + t[572] = "No hstore extension installed."; + t[573] = "hstore \u62e1\u5f35\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u307e\u305b\u3093\u3002"; + t[580] = "Error during one-phase commit. commit xid={0}"; + t[581] = "\u5358\u4e00\u30d5\u30a7\u30fc\u30ba\u306eCOMMIT\u306e\u6700\u4e2d\u306b\u30a8\u30e9\u30fc commit xid={0}"; + t[594] = "Unsupported value for stringtype parameter: {0}"; + t[595] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044stringtype\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3067\u3059: {0}"; + t[600] = "This connection has been closed."; + t[601] = "\u3053\u306e\u63a5\u7d9a\u306f\u65e2\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[608] = "Could not open SSL certificate file {0}."; + t[609] = "SSL\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[612] = "CommandComplete expected COPY but got: "; + t[613] = "\u30b3\u30de\u30f3\u30c9\u5b8c\u4e86\u306fCOPY\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u6b21\u306e\u7d50\u679c\u3092\u5f97\u307e\u3057\u305f:"; + t[616] = "Failed to convert binary xml data to encoding: {0}."; + t[617] = "\u30d0\u30a4\u30ca\u30eaxml\u30c7\u30fc\u30bf\u306e\u30a8\u30f3\u30b3\u30fc\u30c9: {0} \u3078\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[630] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[631] = "\u30c9\u30e9\u30a4\u30d0\u306e\u5931\u6557\u3092\u5f15\u304d\u8d77\u3053\u3059\u7570\u5e38\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u4f8b\u5916\u3092\u5831\u544a\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[636] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[637] = "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fb\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u308a\u3001\u63a5\u7d9a\u8a66\u884c\u306f\u59a8\u3052\u3089\u308c\u307e\u3057\u305f\u3002\u304a\u305d\u3089\u304f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30fb\u30b5\u30fc\u30d0\u30fb\u30db\u30b9\u30c8\u63a5\u7d9a\u306e\u305f\u3081java.net.SocketPermission\u3092\u8a31\u53ef\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"; + t[638] = "Statement has been closed."; + t[639] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[640] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[641] = "\u540c\u3058PooledConnection\u304c\u958b\u304b\u308c\u305f\u306e\u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306f\u81ea\u52d5\u7684\u306b\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002\u307e\u305f\u306f\u3001PooledConnection\u306f\u65e2\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[642] = "Cannot cast an instance of {0} to type {1}"; + t[643] = "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 {0} \u3092\u578b {1} \u3078\u30ad\u30e3\u30b9\u30c8\u3067\u304d\u307e\u305b\u3093"; + t[646] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[647] = "\u64cd\u4f5c\u306f\u3001\u30b9\u30af\u30ed\u30fc\u30eb\u53ef\u80fd\u306aResultSet\u3092\u5fc5\u8981\u3068\u3057\u307e\u3059\u304c\u3001\u3053\u306eResultSet\u306f\u3001 FORWARD_ONLY\u3067\u3059\u3002"; + t[662] = "Zero bytes may not occur in identifiers."; + t[663] = "\u30bc\u30ed\u30fb\u30d0\u30a4\u30c8\u3092\u8b58\u5225\u5b50\u306b\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[664] = "Unable to convert DOMResult SQLXML data to a string."; + t[665] = "DOMResult SQLXML\u30c7\u30fc\u30bf\u3092\u6587\u5b57\u5217\u306b\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[678] = "Cannot change transaction isolation level in the middle of a transaction."; + t[679] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6700\u4e2d\u306b\u9694\u96e2\u30ec\u30d9\u30eb\u3092\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[680] = "Error loading default settings from driverconfig.properties"; + t[681] = "driverconfig.properties\u306b\u3088\u308b\u521d\u671f\u8a2d\u5b9a\u306e\u30ed\u30fc\u30c9\u30a8\u30e9\u30fc\u3002"; + t[686] = "Unable to create SAXResult for SQLXML."; + t[687] = "SQLXML\u306b\u5bfe\u3059\u308bSAXResult\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[692] = "Unable to find name datatype in the system catalogs."; + t[693] = "\u540d\u524d\u30c7\u30fc\u30bf\u578b\u3092\u30b7\u30b9\u30c6\u30e0\u30ab\u30bf\u30ed\u30b0\u3067\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[696] = "oid type {0} not known and not a number"; + t[697] = "\u6570\u5024\u3067\u306a\u3044\u3001\u672a\u77e5\u306eOID\u578b {0} \u3067\u3059\u3002"; + t[700] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; + t[701] = "\u6e96\u5099\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u30b3\u30df\u30c3\u30c8\u30a8\u30e9\u30fc\u3002commit xid={0}, preparedXid={1}, currentXid={2}"; + t[706] = "LOB positioning offsets start at 1."; + t[707] = "LOB \u30aa\u30d5\u30bb\u30c3\u30c8\u958b\u59cb\u4f4d\u7f6e\u3092 1 \u3068\u3057\u3066\u304f\u3060\u3055\u3044\u3002"; + t[712] = "Invalid fetch direction constant: {0}."; + t[713] = "\u7121\u52b9\u306a\u30d5\u30a7\u30c3\u30c1\u65b9\u5411\u306e\u5b9a\u6570\u3067\u3059: {0}"; + t[716] = "Returning autogenerated keys is not supported."; + t[717] = "\u81ea\u52d5\u751f\u6210\u30ad\u30fc\u3092\u8fd4\u3059\u3053\u3068\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[732] = "Cannot commit when autoCommit is enabled."; + t[733] = "autoCommit\u6709\u52b9\u6642\u306b\u3001\u660e\u793a\u7684\u306a\u30b3\u30df\u30c3\u30c8\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[734] = "Loading the SSL certificate {0} into a KeyManager failed."; + t[735] = "SSL\u8a3c\u660e\u66f8 {0} \u306eKeyManager\u3078\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[738] = "ResultSet not positioned properly, perhaps you need to call next."; + t[739] = "\u9069\u5207\u306a\u4f4d\u7f6e\u3092\u6307\u3057\u3066\u3044\u306a\u3044ResultSet\u3067\u3059\u3002\u304a\u305d\u3089\u304f\u3001next\u3092\u547c\u3076\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"; + t[746] = "Interrupted while waiting to obtain lock on database connection"; + t[747] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3067\u30ed\u30c3\u30af\u5f85\u3061\u306e\u6700\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u304c\u3042\u308a\u307e\u3057\u305f\u3002"; + t[754] = "Failed to setup DataSource."; + t[755] = "\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[758] = "Too many update results were returned."; + t[759] = "\u591a\u3059\u304e\u308b\u66f4\u65b0\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[762] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[763] = "CONCUR_READ_ONLY\u3092\u4f34\u3046ResultSets\u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002"; + t[770] = "Internal Position: {0}"; + t[771] = "\u30a4\u30f3\u30bf\u30fc\u30ca\u30eb\u30fb\u30dd\u30b8\u30b7\u30e7\u30f3: {0}"; + t[786] = "Unknown Types value."; + t[787] = "\u672a\u77e5\u306e\u578b\u306e\u5024\u3067\u3059\u3002"; + t[788] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[789] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u521d\u671f\u5316\u3055\u308c\u3066\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u305d\u3053\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"; + t[790] = "Missing expected error response to copy cancel request"; + t[791] = "\u30b3\u30d4\u30fc\u53d6\u308a\u6d88\u3057\u8981\u6c42\u306e\u30a8\u30e9\u30fc\u5fdc\u7b54\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u3002"; + t[792] = "An error occurred while setting up the SSL connection."; + t[793] = "SSL\u63a5\u7d9a\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u4e2d\u306b\u3001\u30a8\u30e9\u30fc\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\u3002"; + t[794] = "Cannot retrieve the id of a named savepoint."; + t[795] = "\u540d\u524d\u306e\u4ed8\u3044\u305fsavepoint\u306eid\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[796] = "Unable to translate data into the desired encoding."; + t[797] = "\u671b\u3080\u7b26\u53f7\u5316\u306b\u30c7\u30fc\u30bf\u3092\u8a33\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[802] = "Failed to initialize LargeObject API"; + t[803] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8API\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[806] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[807] = "\u578b {0} \u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u767b\u9332\u3055\u308c\u307e\u3057\u305f\u304c\u3001get{1} (sqltype={2}) \u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"; + t[814] = "Where: {0}"; + t[815] = "\u5834\u6240: {0}"; + t[826] = "Got CopyData without an active copy operation"; + t[827] = "\u52d5\u4f5c\u4e2d\u306e\u30b3\u30d4\u30fc\u64cd\u4f5c\u306a\u3057\u3067CopyData\u3092\u5f97\u307e\u3057\u305f\u3002"; + t[828] = "Unable to create StAXResult for SQLXML"; + t[829] = "SQLXML\u306b\u5bfe\u3059\u308bStAXResult\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[832] = "Tried to cancel an inactive copy operation"; + t[833] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u64cd\u4f5c\u306e\u53d6\u308a\u6d88\u3057\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[844] = "{0} function takes two or three arguments."; + t[845] = "{0} \u95a2\u6570\u306f\u3001\u4e8c\u3064\u3001\u307e\u305f\u306f\u4e09\u3064\u306e\u5f15\u6570\u3092\u7528\u3044\u307e\u3059\u3002"; + t[846] = "Zero bytes may not occur in string parameters."; + t[847] = "\u30bc\u30ed\u30fb\u30d0\u30a4\u30c8\u3092\u6587\u5b57\u5217\u30d1\u30e9\u30e1\u30fc\u30bf\u4e2d\u306b\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[852] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[853] = "\u30d0\u30a4\u30f3\u30c9\u30e1\u30c3\u30bb\u30fc\u30b8\u9577 {0} \u306f\u9577\u3059\u304e\u307e\u3059\u3002InputStream\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3068\u3066\u3082\u5927\u304d\u306a\u9577\u3055\u3001\u3042\u308b\u3044\u306f\u4e0d\u6b63\u78ba\u306a\u9577\u3055\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002"; + t[854] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[855] = "\u5bfe\u5fdc\u3059\u308b\u958b\u59cb\u547c\u3073\u51fa\u3057\u306a\u3057\u3067\u3001\u7d42\u4e86\u547c\u3073\u51fa\u3057\u307e\u3057\u305f\u3002state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[856] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[857] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: {1} \u30d0\u30a4\u30c8\u30b7\u30fc\u30b1\u30f3\u30b9\u306e {0} \u30d0\u30a4\u30c8 \u306f\u300110xxxxxx \u3067\u3042\u308a\u307e\u305b\u3093: {2}"; + t[860] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[861] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: \u7b2c\u4e8c\u30d5\u30a7\u30fc\u30ba\u306e COMMIT \u306f\u3001\u5f85\u6a5f\u63a5\u7d9a\u3067\u4f7f\u308f\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[878] = "Can''t refresh the insert row."; + t[879] = "\u633f\u5165\u884c\u3092\u56de\u5fa9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[880] = "This SQLXML object has already been freed."; + t[881] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3059\u3067\u306b\u89e3\u653e\u3055\u308c\u3066\u3044\u307e\u3059\u3002"; + t[882] = "Cannot change transaction read-only property in the middle of a transaction."; + t[883] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6700\u4e2d\u306b\u8aad\u307f\u51fa\u3057\u5c02\u7528\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5909\u3048\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[886] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[887] = "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fb\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u7bc4\u56f2\u5916\u3067\u3059: {0} , \u30d1\u30e9\u30e1\u30fc\u30bf\u6570: {1}"; + t[896] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[897] = "\u5b9f\u884c\u3055\u308c\u308b\u524d\u306b\u3001CallableStatement \u304b\u3089\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[898] = "Fetch size must be a value greater to or equal to 0."; + t[899] = "\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[904] = "Maximum number of rows must be a value grater than or equal to 0."; + t[905] = "\u884c\u306e\u6700\u5927\u6570\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[914] = "The connection attempt failed."; + t[915] = "\u63a5\u7d9a\u8a66\u884c\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[926] = "Error preparing transaction. prepare xid={0}"; + t[927] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6e96\u5099\u30a8\u30e9\u30fc\u3002prepare xid={0}"; + t[930] = "Tried to end inactive copy"; + t[931] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u306e\u7d42\u4e86\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[942] = "Expected an EOF from server, got: {0}"; + t[943] = "\u30b5\u30fc\u30d0\u304b\u3089\u306e EOF \u304c\u60f3\u5b9a\u3055\u308c\u307e\u3057\u305f\u304c\u3001{0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[944] = "This PooledConnection has already been closed."; + t[945] = "PooledConnection\u306f\u3001\u3059\u3067\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[946] = "Cannot retrieve the name of an unnamed savepoint."; + t[947] = "\u540d\u524d\u306e\u306a\u3044savepoint\u306e\u540d\u524d\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[948] = "Tried to break lock on database connection"; + t[949] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u30ed\u30c3\u30af\u4e2d\u65ad\u3092\u8a66\u307f\u307e\u3059\u3002"; + t[950] = "Database connection failed when writing to copy"; + t[951] = "\u30b3\u30d4\u30fc\u3078\u306e\u66f8\u304d\u8fbc\u307f\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[952] = "The array index is out of range: {0}, number of elements: {1}."; + t[953] = "\u914d\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3001\u7bc4\u56f2\u5916\u3067\u3059: {0} \u3001\u8981\u7d20\u306e\u6570: {1}"; + t[954] = "Unknown type {0}."; + t[955] = "\u672a\u77e5\u306e\u578b {0}."; + t[956] = "Interval {0} not yet implemented"; + t[957] = "\u9593\u9694 {0} \u306f\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[966] = "No results were returned by the query."; + t[967] = "\u3044\u304b\u306a\u308b\u7d50\u679c\u3082\u3001\u30af\u30a8\u30ea\u306b\u3088\u3063\u3066\u8fd4\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[970] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[971] = "\u63d0\u4f9b\u306eSSLSocketFactory\u30af\u30e9\u30b9 {0} \u306f\u3001\u5373\u5fdc\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002"; + t[972] = "Malformed function or procedure escape syntax at offset {0}."; + t[973] = "\u6b63\u3057\u304f\u306a\u3044\u95a2\u6570\u307e\u305f\u306f\u624b\u7d9a\u304d\u306f\u3001\u4f4d\u7f6e {0} \u3067\u6587\u6cd5\u3092\u9038\u3057\u307e\u3057\u305f\u3002"; + t[978] = "Unable to bind parameter values for statement."; + t[979] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3092\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"; + t[986] = "{0} function takes two and only two arguments."; + t[987] = "{0} \u95a2\u6570\u306f\u3001\u4e8c\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[992] = "A connection could not be made using the requested protocol {0}."; + t[993] = "\u8981\u6c42\u3055\u308c\u305f\u30d7\u30ed\u30c8\u30b3\u30eb {0} \u3092\u4f7f\u7528\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[994] = "Connection attempt timed out."; + t[995] = "\u63a5\u7d9a\u8a66\u884c\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002"; + t[998] = "Protocol error. Session setup failed."; + t[999] = "\u30d7\u30ed\u30c8\u30b3\u30eb\u30a8\u30e9\u30fc\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u8a2d\u5b9a\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1002] = "Multiple ResultSets were returned by the query."; + t[1003] = "\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u306b\u3088\u308a\u3001\u8907\u6570\u306eResultSet\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[1004] = "Detail: {0}"; + t[1005] = "\u8a73\u7d30: {0}"; + t[1006] = "Object is too large to send over the protocol."; + t[1007] = "\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u9001\u4fe1\u3059\u308b\u306b\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002"; + t[1008] = "Requested CopyOut but got {0}"; + t[1009] = "CopyOut\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c {0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[1012] = "Could not find a java cryptographic algorithm: {0}."; + t[1013] = "java\u306e\u6697\u53f7\u5316\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 {0} \u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1018] = "Tried to obtain lock while already holding it"; + t[1019] = "\u3059\u3067\u306b\u5360\u6709\u3057\u3066\u3044\u308b\u6700\u4e2d\u306e\u30ed\u30c3\u30af\u53d6\u5f97\u3067\u3059\u3002"; + t[1020] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[1021] = "ResultSet\u306e\u958b\u59cb\u306e\u524d\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u3053\u3067deleteRow()\u3092\u547c\u3076\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1022] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[1023] = "\u6e96\u5099\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u30a8\u30e9\u30fc rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[1028] = "Validating connection."; + t[1029] = "\u6709\u52b9\u78ba\u8a8d\u306e\u63a5\u7d9a"; + t[1034] = "You must specify at least one column value to insert a row."; + t[1035] = "\u884c\u633f\u5165\u306b\u306f\u3001\u6700\u4f4e\u3067\u3082\uff11\u3064\u306e\u5217\u306e\u5024\u304c\u5fc5\u8981\u3067\u3059\u3002"; + t[1036] = "The JVM claims not to support the {0} encoding."; + t[1037] = "JVM\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u305b\u3093\u3002"; + t[1038] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[1039] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: \u5358\u4e00\u30d5\u30a7\u30fc\u30ba\u306eCOMMIT\u306f\u3001\u958b\u59cb\u6642\u3068\u540c\u3058\u63a5\u7d9a\u3067\u5b9f\u884c\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"; + t[1040] = "Invalid flags {0}"; + t[1041] = "\u7121\u52b9\u306a\u30d5\u30e9\u30b0\u3067\u3059\u3002{0}"; + t[1046] = "Bad value for type {0} : {1}"; + t[1047] = "\u578b {0} \u3067\u4e0d\u6b63\u306a\u5024 : {1}"; + t[1054] = "Cannot establish a savepoint in auto-commit mode."; + t[1055] = "\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u30e2\u30fc\u30c9\u3067savepoint\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1056] = "Could not decrypt SSL key file {0}."; + t[1057] = "SSL key\u30d5\u30a1\u30a4\u30eb {0} \u3092\u5fa9\u53f7\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1064] = "Cannot call updateRow() when on the insert row."; + t[1065] = "\u884c\u3092\u633f\u5165\u3057\u305f\u3068\u304d\u306b\u3001updateRow() \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1068] = "Unexpected packet type during copy: {0}"; + t[1069] = "\u30b3\u30d4\u30fc\u4e2d\u306e\u60f3\u5b9a\u5916\u306e\u30d1\u30b1\u30c3\u30c8\u578b\u3067\u3059: {0}"; + t[1072] = "Conversion of interval failed"; + t[1073] = "interval\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1076] = "GSS Authentication failed"; + t[1077] = "GSS\u8a8d\u8a3c\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1084] = "Tried to read from inactive copy"; + t[1085] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u304b\u3089\u8aad\u307f\u53d6\u308a\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[1088] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[1089] = "\u5834\u6240: \u30d5\u30a1\u30a4\u30eb: {0}, \u30eb\u30fc\u30c1\u30f3: {1},\u884c: {2}"; + t[1098] = "suspend/resume not implemented"; + t[1099] = "\u505c\u6b62/\u518d\u958b \u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[1102] = "Loading the SSL root certificate {0} into a TrustManager failed."; + t[1103] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8 {0} \u306eTrustManager\u3078\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1108] = "Could not read password for SSL key file by callbackhandler {0}."; + t[1109] = "callbackhandler {0} \u3067\u3001SSL key\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1110] = "Copying from database failed: {0}"; + t[1111] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}"; + t[1112] = "Cannot tell if path is open or closed: {0}."; + t[1113] = "path \u304c \u30aa\u30fc\u30d7\u30f3\u3057\u3066\u3044\u308b\u304b\u3001\u30af\u30ed\u30fc\u30ba\u3057\u3066\u3044\u308b\u304b\u5224\u5225\u3067\u304d\u307e\u305b\u3093: {0}"; + t[1116] = "Conversion of money failed."; + t[1117] = "money\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1118] = "Can''t use relative move methods while on the insert row."; + t[1119] = "\u884c\u633f\u5165\u306e\u6700\u4e2d\u306b\u95a2\u9023\u306e\u52d5\u4f5c\u65b9\u6cd5\u3092\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1124] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[1125] = "\u4e0d\u6b63\u306a\u6587\u5b57\u30c7\u30fc\u30bf\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001\u6050\u3089\u304f\u4f5c\u6210\u3055\u308c\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u6587\u5b57\u30bb\u30c3\u30c8\u306b\u3068\u3063\u3066\u7121\u52b9\u3067\u3042\u308b\u6587\u5b57\u3092\u542b\u3080\u30c7\u30fc\u30bf\u304c\u683c\u7d0d\u3055\u308c\u305f\u3053\u3068\u306b\u3088\u3063\u3066\u5f15\u304d\u8d77\u3053\u3055\u308c\u307e\u3059\u3002\u6700\u3082\u4e00\u822c\u7684\u306a\u4f8b\u306f\u3001SQL_ASCII\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3055\u308c\u305f8bit\u30c7\u30fc\u30bf\u7b49\u3067\u3059\u3002"; + t[1126] = "The maximum field size must be a value greater than or equal to 0."; + t[1127] = "\u6700\u5927\u306e\u9805\u76ee\u30b5\u30a4\u30ba\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[1128] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[1129] = "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 {0} \u3067\u4f7f\u3046\u3079\u304dSQL\u578b\u3092\u63a8\u6e2c\u3067\u304d\u307e\u305b\u3093\u3002\u660e\u78ba\u306a\u578b\u5024\u3092\u8a18\u8ff0\u3057\u305f setObject() \u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002"; + t[1136] = "Cannot reference a savepoint after it has been released."; + t[1137] = "savepoint\u306f\u3001\u89e3\u653e\u3055\u308c\u305f\u5f8c\u3067\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1138] = "ClientInfo property not supported."; + t[1139] = "ClientInfo \u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[1152] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[1153] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u3001OUT\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5ba3\u8a00\u3057\u3066\u3044\u307e\u305b\u3093\u3002'{' ?= call ... '}' \u3092\u4f7f\u3063\u3066\u5ba3\u8a00\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[1156] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[1157] = "\u8a8d\u8a3c\u578b {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002pg_hba.conf\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u6210\u3067\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306eIP\u30a2\u30c9\u30ec\u30b9\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3001\u305d\u3057\u3066\u30c9\u30e9\u30a4\u30d0\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u8a8d\u8a3c\u6a5f\u69cb\u3092\u4f7f\u3063\u3066\u3044\u308b\u304b\u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044\u3002"; + t[1162] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[1163] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u9664\u53bb\u306f\u3001\u30b5\u30fc\u30d0\u30d0\u30fc\u30b8\u30e7\u30f3\u304c 8.3 \u4ee5\u4e0a\u3067\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 589) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 587) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 1178) + idx -= 1178; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 1178 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 1178); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 1178 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java new file mode 100644 index 0000000000..73e7f044f6 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java @@ -0,0 +1,49 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_nl extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[36]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-11 23:55-0700\nLast-Translator: Arnout Kuiper \nLanguage-Team: Dutch \nLanguage: nl\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[2] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[3] = "Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze fout AUB: {0}"; + t[8] = "Unknown Types value."; + t[9] = "Onbekende Types waarde."; + t[12] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[13] = "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een integer verwacht hadden."; + t[20] = "The fastpath function {0} is unknown."; + t[21] = "De fastpath functie {0} is onbekend."; + t[22] = "No results were returned by the query."; + t[23] = "Geen resultaten werden teruggegeven door de query."; + t[26] = "An unexpected result was returned by a query."; + t[27] = "Een onverwacht resultaat werd teruggegeven door een query"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 18) << 1; + java.lang.Object found = table[idx]; + if (found != null && msgid.equals(found)) + return table[idx + 1]; + return null; + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 36 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 36); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 36 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java new file mode 100644 index 0000000000..83fbc2d2f3 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java @@ -0,0 +1,185 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_pl extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[346]; + t[0] = ""; + t[1] = "Project-Id-Version: head-pl\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2005-05-22 03:01+0200\nLast-Translator: Jaros\u0142aw Jan Pyszny \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.10\nPlural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"; + t[2] = "The driver currently does not support COPY operations."; + t[3] = "Sterownik nie obs\u0142uguje aktualnie operacji COPY."; + t[4] = "Internal Query: {0}"; + t[5] = "Wewn\u0119trzne Zapytanie: {0}"; + t[6] = "There are no rows in this ResultSet."; + t[7] = "Nie ma \u017cadnych wierszy w tym ResultSet."; + t[8] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[9] = "Znaleziono nieprawid\u0142owy znak. Najprawdopodobniej jest to spowodowane przechowywaniem w bazie znak\u00f3w, kt\u00f3re nie pasuj\u0105 do zestawu znak\u00f3w wybranego podczas tworzenia bazy danych. Najcz\u0119stszy przyk\u0142ad to przechowywanie 8-bitowych znak\u00f3w w bazie o kodowaniu SQL_ASCII."; + t[12] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[13] = "Wywo\u0142anie fastpath {0} - Nie otrzymano \u017cadnego wyniku, a oczekiwano liczby ca\u0142kowitej."; + t[14] = "An error occurred while setting up the SSL connection."; + t[15] = "Wyst\u0105pi\u0142 b\u0142\u0105d podczas ustanawiania po\u0142\u0105czenia SSL."; + t[20] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[21] = "Funkcja CallableStatement zosta\u0142a zadeklarowana, ale nie wywo\u0142ano registerOutParameter (1, )."; + t[24] = "Unexpected command status: {0}."; + t[25] = "Nieoczekiwany status komendy: {0}."; + t[32] = "A connection could not be made using the requested protocol {0}."; + t[33] = "Nie mo\u017cna by\u0142o nawi\u0105za\u0107 po\u0142\u0105czenia stosuj\u0105c \u017c\u0105dany protoko\u0142u {0}."; + t[38] = "Bad value for type {0} : {1}"; + t[39] = "Z\u0142a warto\u015b\u0107 dla typu {0}: {1}"; + t[40] = "Not on the insert row."; + t[41] = "Nie na wstawianym rekordzie."; + t[42] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[43] = "Przedwczesny koniec strumienia wej\u015bciowego, oczekiwano {0} bajt\u00f3w, odczytano tylko {1}."; + t[48] = "Unknown type {0}."; + t[49] = "Nieznany typ {0}."; + t[52] = "The server does not support SSL."; + t[53] = "Serwer nie obs\u0142uguje SSL."; + t[60] = "Cannot call updateRow() when on the insert row."; + t[61] = "Nie mo\u017cna wywo\u0142a\u0107 updateRow() na wstawianym rekordzie."; + t[62] = "Where: {0}"; + t[63] = "Gdzie: {0}"; + t[66] = "Failed to initialize LargeObject API"; + t[67] = "Nie uda\u0142o si\u0119 zainicjowa\u0107 LargeObject API"; + t[72] = "Cannot call cancelRowUpdates() when on the insert row."; + t[73] = "Nie mo\u017cna wywo\u0142a\u0107 cancelRowUpdates() na wstawianym rekordzie."; + t[82] = "Server SQLState: {0}"; + t[83] = "Serwer SQLState: {0}"; + t[92] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[93] = "ResultSet nie jest modyfikowalny (not updateable). Zapytanie, kt\u00f3re zwr\u00f3ci\u0142o ten wynik musi dotyczy\u0107 tylko jednej tabeli oraz musi pobiera\u0107 wszystkie klucze g\u0142\u00f3wne tej tabeli. Zobacz Specyfikacj\u0119 JDBC 2.1 API, rozdzia\u0142 5.6, by uzyska\u0107 wi\u0119cej szczeg\u00f3\u0142\u00f3w."; + t[102] = "Cannot tell if path is open or closed: {0}."; + t[103] = "Nie mo\u017cna stwierdzi\u0107, czy \u015bcie\u017cka jest otwarta czy zamkni\u0119ta: {0}."; + t[108] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[109] = "Indeks parametru jest poza zakresem: {0}, liczba parametr\u00f3w: {1}."; + t[110] = "Unsupported Types value: {0}"; + t[111] = "Nieznana warto\u015b\u0107 Types: {0}"; + t[112] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[113] = "Aktualna pozycja za ko\u0144cem ResultSet. Nie mo\u017cna wywo\u0142a\u0107 deleteRow()."; + t[114] = "This ResultSet is closed."; + t[115] = "Ten ResultSet jest zamkni\u0119ty."; + t[120] = "Conversion of interval failed"; + t[121] = "Konwersja typu interval nie powiod\u0142a si\u0119"; + t[122] = "Unable to load the class {0} responsible for the datatype {1}"; + t[123] = "Nie jest mo\u017cliwe za\u0142adowanie klasy {0} odpowiedzialnej za typ danych {1}"; + t[138] = "Error loading default settings from driverconfig.properties"; + t[139] = "B\u0142\u0105d podczas wczytywania ustawie\u0144 domy\u015blnych z driverconfig.properties"; + t[142] = "The array index is out of range: {0}"; + t[143] = "Indeks tablicy jest poza zakresem: {0}"; + t[146] = "Unknown Types value."; + t[147] = "Nieznana warto\u015b\u0107 Types."; + t[154] = "The maximum field size must be a value greater than or equal to 0."; + t[155] = "Maksymalny rozmiar pola musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[168] = "Detail: {0}"; + t[169] = "Szczeg\u00f3\u0142y: {0}"; + t[170] = "Unknown Response Type {0}."; + t[171] = "Nieznany typ odpowiedzi {0}."; + t[172] = "Maximum number of rows must be a value grater than or equal to 0."; + t[173] = "Maksymalna liczba rekord\u00f3w musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[184] = "Query timeout must be a value greater than or equals to 0."; + t[185] = "Timeout zapytania musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[186] = "Too many update results were returned."; + t[187] = "Zapytanie nie zwr\u00f3ci\u0142o \u017cadnych wynik\u00f3w."; + t[190] = "The connection attempt failed."; + t[191] = "Pr\u00f3ba nawi\u0105zania po\u0142\u0105czenia nie powiod\u0142a si\u0119."; + t[198] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[199] = "Po\u0142\u0105czenie zosta\u0142o zamkni\u0119te automatycznie, poniewa\u017c nowe po\u0142\u0105czenie zosta\u0142o otwarte dla tego samego PooledConnection lub PooledConnection zosta\u0142o zamkni\u0119te."; + t[204] = "Protocol error. Session setup failed."; + t[205] = "B\u0142\u0105d protoko\u0142u. Nie uda\u0142o si\u0119 utworzy\u0107 sesji."; + t[206] = "This PooledConnection has already been closed."; + t[207] = "To PooledConnection zosta\u0142o ju\u017c zamkni\u0119te."; + t[208] = "DataSource has been closed."; + t[209] = "DataSource zosta\u0142o zamkni\u0119te."; + t[212] = "Method {0} is not yet implemented."; + t[213] = "Metoda {0}nie jest jeszcze obs\u0142ugiwana."; + t[216] = "Hint: {0}"; + t[217] = "Wskaz\u00f3wka: {0}"; + t[218] = "No value specified for parameter {0}."; + t[219] = "Nie podano warto\u015bci dla parametru {0}."; + t[222] = "Position: {0}"; + t[223] = "Pozycja: {0}"; + t[226] = "Cannot call deleteRow() when on the insert row."; + t[227] = "Nie mo\u017cna wywo\u0142a\u0107 deleteRow() na wstawianym rekordzie."; + t[240] = "Conversion of money failed."; + t[241] = "Konwersja typu money nie powiod\u0142a si\u0119."; + t[244] = "Internal Position: {0}"; + t[245] = "Wewn\u0119trzna Pozycja: {0}"; + t[248] = "Connection has been closed."; + t[249] = "Po\u0142\u0105czenie zosta\u0142o zamkni\u0119te."; + t[254] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[255] = "Aktualna pozycja przed pocz\u0105tkiem ResultSet. Nie mo\u017cna wywo\u0142a\u0107 deleteRow()."; + t[258] = "Failed to create object for: {0}."; + t[259] = "Nie powiod\u0142o si\u0119 utworzenie obiektu dla: {0}."; + t[262] = "Fetch size must be a value greater to or equal to 0."; + t[263] = "Rozmiar pobierania musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[270] = "No results were returned by the query."; + t[271] = "Zapytanie nie zwr\u00f3ci\u0142o \u017cadnych wynik\u00f3w."; + t[276] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[277] = "Uwierzytelnienie typu {0} nie jest obs\u0142ugiwane. Upewnij si\u0119, \u017ce skonfigurowa\u0142e\u015b plik pg_hba.conf tak, \u017ce zawiera on adres IP lub podsie\u0107 klienta oraz \u017ce u\u017cyta metoda uwierzytelnienia jest wspierana przez ten sterownik."; + t[280] = "Conversion to type {0} failed: {1}."; + t[281] = "Konwersja do typu {0} nie powiod\u0142a si\u0119: {1}."; + t[282] = "A result was returned when none was expected."; + t[283] = "Zwr\u00f3cono wynik zapytania, cho\u0107 nie by\u0142 on oczekiwany."; + t[292] = "Transaction isolation level {0} not supported."; + t[293] = "Poziom izolacji transakcji {0} nie jest obs\u0142ugiwany."; + t[306] = "ResultSet not positioned properly, perhaps you need to call next."; + t[307] = "Z\u0142a pozycja w ResultSet, mo\u017ce musisz wywo\u0142a\u0107 next."; + t[308] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[309] = "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}"; + t[314] = "An unexpected result was returned by a query."; + t[315] = "Zapytanie zwr\u00f3ci\u0142o nieoczekiwany wynik."; + t[316] = "The column index is out of range: {0}, number of columns: {1}."; + t[317] = "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}."; + t[318] = "Expected command status BEGIN, got {0}."; + t[319] = "Spodziewano si\u0119 statusu komendy BEGIN, otrzymano {0}."; + t[320] = "The fastpath function {0} is unknown."; + t[321] = "Funkcja fastpath {0} jest nieznana."; + t[324] = "The server requested password-based authentication, but no password was provided."; + t[325] = "Serwer za\u017c\u0105da\u0142 uwierzytelnienia opartego na ha\u015ble, ale \u017cadne has\u0142o nie zosta\u0142o dostarczone."; + t[332] = "The array index is out of range: {0}, number of elements: {1}."; + t[333] = "Indeks tablicy jest poza zakresem: {0}, liczba element\u00f3w: {1}."; + t[338] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[339] = "Co\u015b niezwyk\u0142ego spowodowa\u0142o pad sterownika. Prosz\u0119, zg\u0142o\u015b ten wyj\u0105tek."; + t[342] = "Zero bytes may not occur in string parameters."; + t[343] = "Zerowe bajty nie mog\u0105 pojawia\u0107 si\u0119 w parametrach typu \u0142a\u0144cuch znakowy."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 173) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 171) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 346) + idx -= 346; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 346 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 346); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 346 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java new file mode 100644 index 0000000000..244df6a3ef --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java @@ -0,0 +1,393 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_pt_BR extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL 8.4\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-31 20:48-0300\nLast-Translator: Euler Taveira de Oliveira \nLanguage-Team: Brazilian Portuguese \nLanguage: pt_BR\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[4] = "DataSource has been closed."; + t[5] = "DataSource foi fechado."; + t[8] = "Invalid flags {0}"; + t[9] = "Marcadores={0} inv\u00e1lidos"; + t[18] = "Where: {0}"; + t[19] = "Onde: {0}"; + t[24] = "Unknown XML Source class: {0}"; + t[25] = "Classe XML Source desconhecida: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "A tentativa de conex\u00e3o falhou."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "Posicionado depois do fim do ResultSet. Voc\u00ea n\u00e3o pode chamar deleteRow() aqui."; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "N\u00e3o pode utilizar m\u00e9todos de consulta que pegam uma consulta de um comando preparado."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "ResultSets m\u00faltiplos foram retornados pela consulta."; + t[50] = "Too many update results were returned."; + t[51] = "Muitos resultados de atualiza\u00e7\u00e3o foram retornados."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "Sequ\u00eancia UTF-8 ilegal: byte inicial \u00e9 {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "A nome da coluna {0} n\u00e3o foi encontrado neste ResultSet."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e n\u00f3s esper\u00e1vamos um inteiro."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Erro de Protocolo. Configura\u00e7\u00e3o da sess\u00e3o falhou."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "Uma fun\u00e7\u00e3o foi declarada mas nenhuma chamada a registerOutParameter (1, ) foi feita."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "ResultSets com CONCUR_READ_ONLY concorrentes n\u00e3o podem ser atualizados."; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "Deslocamentos da posi\u00e7\u00e3o de LOB come\u00e7am em 1."; + t[92] = "Internal Position: {0}"; + t[93] = "Posi\u00e7\u00e3o Interna: {0}"; + t[96] = "free() was called on this LOB previously"; + t[97] = "free() j\u00e1 foi chamado neste LOB"; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "N\u00e3o pode mudar propriedade somente-leitura da transa\u00e7\u00e3o no meio de uma transa\u00e7\u00e3o."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "A JVM reclamou que n\u00e3o suporta a codifica\u00e7\u00e3o {0}."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "fun\u00e7\u00e3o {0} n\u00e3o recebe nenhum argumento."; + t[112] = "xid must not be null"; + t[113] = "xid n\u00e3o deve ser nulo"; + t[114] = "Connection has been closed."; + t[115] = "Conex\u00e3o foi fechada."; + t[122] = "The server does not support SSL."; + t[123] = "O servidor n\u00e3o suporta SSL."; + t[124] = "Custom type maps are not supported."; + t[125] = "Mapeamento de tipos personalizados n\u00e3o s\u00e3o suportados."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "Sequ\u00eancia UTF-8 ilegal: byte {0} da sequ\u00eancia de bytes {1} n\u00e3o \u00e9 10xxxxxx: {2}"; + t[148] = "Hint: {0}"; + t[149] = "Dica: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "N\u00e3o foi poss\u00edvel encontrar tipo de dado name nos cat\u00e1logos do sistema."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Valor de Types n\u00e3o \u00e9 suportado: {0}"; + t[158] = "Unknown type {0}."; + t[159] = "Tipo desconhecido {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "fun\u00e7\u00e3o {0} recebe somente dois argumentos."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Fechando uma Conex\u00e3o que n\u00e3o foi fechada:"; + t[180] = "The maximum field size must be a value greater than or equal to 0."; + t[181] = "O tamanho m\u00e1ximo de um campo deve ser um valor maior ou igual a 0."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "LOBs do PostgreSQL s\u00f3 podem indexar at\u00e9: {0}"; + t[194] = "Method {0} is not yet implemented."; + t[195] = "M\u00e9todo {0} ainda n\u00e3o foi implementado."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "Erro ao carregar configura\u00e7\u00f5es padr\u00e3o do driverconfig.properties"; + t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[201] = "Resultados n\u00e3o podem ser recuperados de uma fun\u00e7\u00e3o antes dela ser executada."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "Objetos Grandes n\u00e3o podem ser usados no modo de efetiva\u00e7\u00e3o autom\u00e1tica (auto-commit)."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "Status do comando BEGIN esperado, recebeu {0}."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Constante de dire\u00e7\u00e3o da busca \u00e9 inv\u00e1lida: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "fun\u00e7\u00e3o {0} recebe tr\u00eas e somente tr\u00eas argumentos."; + t[226] = "This SQLXML object has already been freed."; + t[227] = "Este objeto SQLXML j\u00e1 foi liberado."; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "N\u00e3o pode atualizar o ResultSet porque ele est\u00e1 antes do in\u00edcio ou depois do fim dos resultados."; + t[230] = "The JVM claims not to support the encoding: {0}"; + t[231] = "A JVM reclamou que n\u00e3o suporta a codifica\u00e7\u00e3o: {0}"; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "Par\u00e2metro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) foi feita."; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "N\u00e3o pode estabelecer um savepoint no modo de efetiva\u00e7\u00e3o autom\u00e1tica (auto-commit)."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "N\u00e3o pode recuperar o id de um savepoint com nome."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "O \u00edndice da coluna est\u00e1 fora do intervalo: {0}, n\u00famero de colunas: {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "Alguma coisa n\u00e3o usual ocorreu para causar a falha do driver. Por favor reporte esta exce\u00e7\u00e3o."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "N\u00e3o pode converter uma inst\u00e2ncia de {0} para tipo {1}"; + t[264] = "Unknown Types value."; + t[265] = "Valor de Types desconhecido."; + t[266] = "Invalid stream length {0}."; + t[267] = "Tamanho de dado {0} \u00e9 inv\u00e1lido."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "N\u00e3o pode recuperar o nome de um savepoint sem nome."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "N\u00e3o foi poss\u00edvel traduzir dado para codifica\u00e7\u00e3o desejada."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "Esperado um EOF do servidor, recebido: {0}"; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "Valor inv\u00e1lido para tipo {0} : {1}"; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "O servidor pediu autentica\u00e7\u00e3o baseada em senha, mas nenhuma senha foi fornecida."; + t[286] = "Unable to create SAXResult for SQLXML."; + t[287] = "N\u00e3o foi poss\u00edvel criar SAXResult para SQLXML."; + t[292] = "Error during recover"; + t[293] = "Erro durante recupera\u00e7\u00e3o"; + t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[295] = "tentou executar end sem a chamada ao start correspondente. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[297] = "Truncar objetos grandes s\u00f3 \u00e9 implementado por servidores 8.3 ou superiores."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "Este PooledConnection j\u00e1 foi fechado."; + t[302] = "ClientInfo property not supported."; + t[303] = "propriedade ClientInfo n\u00e3o \u00e9 suportada."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "Tamanho da busca deve ser um valor maior ou igual a 0."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "A conex\u00e3o n\u00e3o pode ser feita usando protocolo informado {0}."; + t[318] = "Unknown XML Result class: {0}"; + t[319] = "Classe XML Result desconhecida: {0}"; + t[322] = "There are no rows in this ResultSet."; + t[323] = "N\u00e3o h\u00e1 nenhum registro neste ResultSet."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Status do comando inesperado: {0}."; + t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[331] = "Efetiva\u00e7\u00e3o/Cancelamento heur\u00edstico n\u00e3o \u00e9 suportado. forget xid={0}"; + t[334] = "Not on the insert row."; + t[335] = "N\u00e3o est\u00e1 inserindo um registro."; + t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[337] = "Este objeto SQLXML j\u00e1 foi inicializado, ent\u00e3o voc\u00ea n\u00e3o pode manipul\u00e1-lo depois."; + t[344] = "Server SQLState: {0}"; + t[345] = "SQLState: {0}"; + t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[349] = "O par\u00e2metro do servidor standard_conforming_strings foi definido como {0}. O driver JDBC espera que seja on ou off."; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "O driver atualmente n\u00e3o suporta opera\u00e7\u00f5es COPY."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "O \u00edndice da matriz est\u00e1 fora do intervalo: {0}, n\u00famero de elementos: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "suspender/recome\u00e7ar n\u00e3o est\u00e1 implementado"; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "N\u00e3o est\u00e1 implementado: efetivada da primeira fase deve ser executada utilizando a mesma conex\u00e3o que foi utilizada para inici\u00e1-la"; + t[380] = "Error during one-phase commit. commit xid={0}"; + t[381] = "Erro durante efetiva\u00e7\u00e3o de uma fase. commit xid={0}"; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "N\u00e3o pode chamar cancelRowUpdates() quando estiver inserindo registro."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "N\u00e3o pode referenciar um savepoint ap\u00f3s ele ser descartado."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Voc\u00ea deve especificar pelo menos uma coluna para inserir um registro."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "N\u00e3o foi poss\u00edvel determinar um valor para MaxIndexKeys por causa de falta de dados no cat\u00e1logo do sistema."; + t[410] = "commit called before end. commit xid={0}, state={1}"; + t[411] = "commit executado antes do end. commit xid={0}, state={1}"; + t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[413] = "Sequ\u00eancia UTF-8 ilegal: valor final est\u00e1 fora do intervalo: {0}"; + t[414] = "{0} function takes two or three arguments."; + t[415] = "fun\u00e7\u00e3o {0} recebe dois ou tr\u00eas argumentos."; + t[428] = "Unable to convert DOMResult SQLXML data to a string."; + t[429] = "N\u00e3o foi poss\u00edvel converter dado SQLXML do DOMResult para uma cadeia de caracteres."; + t[434] = "Unable to decode xml data."; + t[435] = "N\u00e3o foi poss\u00edvel decodificar dado xml."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Erro inesperado ao escrever objeto grande no banco de dados."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "Zero bytes n\u00e3o podem ocorrer em par\u00e2metros de cadeia de caracteres."; + t[444] = "A result was returned when none was expected."; + t[445] = "Um resultado foi retornado quando nenhum era esperado."; + t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "N\u00e3o est\u00e1 implementado: efetiva\u00e7\u00e3o da segunda fase deve ser executada utilizado uma conex\u00e3o ociosa. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "ResultSet n\u00e3o \u00e9 atualiz\u00e1vel. A consulta que gerou esse conjunto de resultados deve selecionar somente uma tabela, e deve selecionar todas as chaves prim\u00e1rias daquela tabela. Veja a especifica\u00e7\u00e3o na API do JDBC 2.1, se\u00e7\u00e3o 5.6 para obter mais detalhes."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "Tamanho de mensagem de liga\u00e7\u00e3o {0} \u00e9 muito longo. Isso pode ser causado por especifica\u00e7\u00f5es de tamanho incorretas ou muito grandes nos par\u00e2metros do InputStream."; + t[460] = "Statement has been closed."; + t[461] = "Comando foi fechado."; + t[462] = "No value specified for parameter {0}."; + t[463] = "Nenhum valor especificado para par\u00e2metro {0}."; + t[468] = "The array index is out of range: {0}"; + t[469] = "O \u00edndice da matriz est\u00e1 fora do intervalo: {0}"; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "N\u00e3o foi poss\u00edvel ligar valores de par\u00e2metro ao comando."; + t[476] = "Can''t refresh the insert row."; + t[477] = "N\u00e3o pode renovar um registro inserido."; + t[480] = "No primary key found for table {0}."; + t[481] = "Nenhuma chave prim\u00e1ria foi encontrada para tabela {0}."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "N\u00e3o pode mudar n\u00edvel de isolamento da transa\u00e7\u00e3o no meio de uma transa\u00e7\u00e3o."; + t[498] = "Provided InputStream failed."; + t[499] = "InputStream fornecido falhou."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "O \u00edndice de par\u00e2metro est\u00e1 fora do intervalo: {0}, n\u00famero de par\u00e2metros: {1}."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "O par\u00e2metro do servidor DateStyle foi alterado para {0}. O driver JDBC requer que o DateStyle come\u00e7e com ISO para opera\u00e7\u00e3o normal."; + t[508] = "Connection attempt timed out."; + t[509] = "Tentativa de conex\u00e3o falhou."; + t[512] = "Internal Query: {0}"; + t[513] = "Consulta Interna: {0}"; + t[514] = "Error preparing transaction. prepare xid={0}"; + t[515] = "Erro ao preparar transa\u00e7\u00e3o. prepare xid={0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "O tipo de autentica\u00e7\u00e3o {0} n\u00e3o \u00e9 suportado. Verifique se voc\u00ea configurou o arquivo pg_hba.conf incluindo a subrede ou endere\u00e7o IP do cliente, e se est\u00e1 utilizando o esquema de autentica\u00e7\u00e3o suportado pelo driver."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "Intervalo {0} ainda n\u00e3o foi implementado"; + t[532] = "Conversion of interval failed"; + t[533] = "Convers\u00e3o de interval falhou"; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Tempo de espera da consulta deve ser um valor maior ou igual a 0."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "Conex\u00e3o foi fechada automaticamente porque uma nova conex\u00e3o foi aberta pelo mesmo PooledConnection ou o PooledConnection foi fechado."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "ResultSet n\u00e3o est\u00e1 posicionado corretamente, talvez voc\u00ea precise chamar next."; + t[546] = "Prepare called before end. prepare xid={0}, state={1}"; + t[547] = "Prepare executado antes do end. prepare xid={0}, state={1}"; + t[548] = "Invalid UUID data."; + t[549] = "dado UUID \u00e9 inv\u00e1lido."; + t[550] = "This statement has been closed."; + t[551] = "Este comando foi fechado."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "N\u00e3o pode inferir um tipo SQL a ser usado para uma inst\u00e2ncia de {0}. Use setObject() com um valor de Types expl\u00edcito para especificar o tipo a ser usado."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "N\u00e3o pode chamar updateRow() quando estiver inserindo registro."; + t[562] = "Detail: {0}"; + t[563] = "Detalhe: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "N\u00e3o pode chamar deleteRow() quando estiver inserindo registro."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "Posicionado antes do in\u00edcio do ResultSet. Voc\u00ea n\u00e3o pode chamar deleteRow() aqui."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "Sequ\u00eancia UTF-8 ilegal: valor final \u00e9 um valor suplementar: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Tipo de Resposta Desconhecido {0}."; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "Valor do par\u00e2metro stringtype n\u00e3o \u00e9 suportado: {0}"; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "Convers\u00e3o para tipo {0} falhou: {1}."; + t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[587] = "Este objeto SQLXML n\u00e3o foi inicializado, ent\u00e3o voc\u00ea n\u00e3o pode recuperar dados dele."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "N\u00e3o foi poss\u00edvel carregar a classe {0} respons\u00e1vel pelo tipo de dado {1}"; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "A fun\u00e7\u00e3o do fastpath {0} \u00e9 desconhecida."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "Sintaxe de escape mal formada da fun\u00e7\u00e3o ou do procedimento no deslocamento {0}."; + t[612] = "Provided Reader failed."; + t[613] = "Reader fornecido falhou."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "N\u00famero m\u00e1ximo de registros deve ser um valor maior ou igual a 0."; + t[616] = "Failed to create object for: {0}."; + t[617] = "Falhou ao criar objeto para: {0}."; + t[620] = "Conversion of money failed."; + t[621] = "Convers\u00e3o de money falhou."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram lidos."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Um resultado inesperado foi retornado pela consulta."; + t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[645] = "Intercala\u00e7\u00e3o de transa\u00e7\u00e3o n\u00e3o est\u00e1 implementado. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "Um erro ocorreu ao estabelecer uma conex\u00e3o SSL."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "Sequ\u00eancia UTF-8 ilegal: {0} bytes utilizados para codificar um valor de {1} bytes: {2}"; + t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[657] = "N\u00e3o est\u00e1 implementado: Prepare deve ser executado utilizando a mesma conex\u00e3o que iniciou a transa\u00e7\u00e3o. currentXid={0}, prepare xid={1}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "A classe SSLSocketFactory forneceu {0} que n\u00e3o p\u00f4de ser instanciado."; + t[662] = "Failed to convert binary xml data to encoding: {0}."; + t[663] = "Falhou ao converter dados xml bin\u00e1rios para codifica\u00e7\u00e3o: {0}."; + t[670] = "Position: {0}"; + t[671] = "Posi\u00e7\u00e3o: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}"; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "N\u00e3o pode dizer se caminho est\u00e1 aberto ou fechado: {0}."; + t[690] = "Unable to create StAXResult for SQLXML"; + t[691] = "N\u00e3o foi poss\u00edvel criar StAXResult para SQLXML"; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "N\u00e3o pode converter uma inst\u00e2ncia de {0} para tipo {1}"; + t[710] = "{0} function takes four and only four argument."; + t[711] = "fun\u00e7\u00e3o {0} recebe somente quatro argumentos."; + t[716] = "Error disabling autocommit"; + t[717] = "Erro ao desabilitar autocommit"; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Interrompido ao tentar se conectar."; + t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[723] = "Sua pol\u00edtica de seguran\u00e7a impediu que a conex\u00e3o pudesse ser estabelecida. Voc\u00ea provavelmente precisa conceder permiss\u00e3o em java.net.SocketPermission para a m\u00e1quina e a porta do servidor de banco de dados que voc\u00ea deseja se conectar."; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "Falhou ao inicializar API de Objetos Grandes"; + t[734] = "No function outputs were registered."; + t[735] = "Nenhum sa\u00edda de fun\u00e7\u00e3o foi registrada."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "fun\u00e7\u00e3o {0} recebe somente um argumento."; + t[744] = "This ResultSet is closed."; + t[745] = "Este ResultSet est\u00e1 fechado."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Caracter inv\u00e1lido foi encontrado. Isso \u00e9 mais comumente causado por dado armazenado que cont\u00e9m caracteres que s\u00e3o inv\u00e1lidos para a codifica\u00e7\u00e3o que foi criado o banco de dados. O exemplo mais comum disso \u00e9 armazenar dados de 8 bits em um banco de dados SQL_ASCII."; + t[752] = "GSS Authentication failed"; + t[753] = "Autentica\u00e7\u00e3o GSS falhou"; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Mem\u00f3ria insuficiente ao recuperar resultados da consulta."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "Retorno de chaves geradas automaticamente n\u00e3o \u00e9 suportado."; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "Opera\u00e7\u00e3o requer um ResultSet rol\u00e1vel, mas este ResultSet \u00e9 FORWARD_ONLY (somente para frente)."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "Uma fun\u00e7\u00e3o foi executada e o par\u00e2metro de retorno {0} era do tipo {1} contudo tipo {2} foi registrado."; + t[764] = "Unable to find server array type for provided name {0}."; + t[765] = "N\u00e3o foi poss\u00edvel encontrar tipo matriz para nome fornecido {0}."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "Defini\u00e7\u00e3o de durabilidade do ResultSet desconhecida: {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "N\u00edvel de isolamento da transa\u00e7\u00e3o {0} n\u00e3o \u00e9 suportado."; + t[774] = "Zero bytes may not occur in identifiers."; + t[775] = "Zero bytes n\u00e3o podem ocorrer em identificadores."; + t[776] = "No results were returned by the query."; + t[777] = "Nenhum resultado foi retornado pela consulta."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "Uma fun\u00e7\u00e3o foi executada e nada foi retornado."; + t[780] = "wasNull cannot be call before fetching a result."; + t[781] = "wasNull n\u00e3o pode ser chamado antes de obter um resultado."; + t[784] = "Returning autogenerated keys by column index is not supported."; + t[785] = "Retorno de chaves geradas automaticamente por \u00edndice de coluna n\u00e3o \u00e9 suportado."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Este comando n\u00e3o declara um par\u00e2metro de sa\u00edda. Utilize '{' ?= chamada ... '}' para declarar um)"; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "N\u00e3o pode utilizar m\u00e9todos de movimenta\u00e7\u00e3o relativos enquanto estiver inserindo registro."; + t[790] = "A CallableStatement was executed with an invalid number of parameters"; + t[791] = "Uma fun\u00e7\u00e3o foi executada com um n\u00famero inv\u00e1lido de par\u00e2metros"; + t[792] = "Connection is busy with another transaction"; + t[793] = "Conex\u00e3o est\u00e1 ocupada com outra transa\u00e7\u00e3o"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java new file mode 100644 index 0000000000..0cd3961b81 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java @@ -0,0 +1,259 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_ru extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[554]; + t[0] = ""; + t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2016-01-07 15:09+0300\nLast-Translator: Vladimir Sitnikov \nLanguage-Team: pgsql-rus \nLanguage: ru_RU\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 1.5.7\n"; + t[4] = "The HostnameVerifier class provided {0} could not be instantiated."; + t[5] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c HostnameVerifier \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[8] = "Unknown Types value."; + t[9] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Types."; + t[12] = "The column name {0} was not found in this ResultSet."; + t[13] = "\u041a\u043e\u043b\u043e\u043d\u043a\u0438 {0} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0432 \u044d\u0442\u043e\u043c ResultSet\u2019\u2019\u0435."; + t[18] = "The array index is out of range: {0}, number of elements: {1}."; + t[19] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[22] = "Error during one-phase commit. commit xid={0}"; + t[23] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0444\u0430\u0437\u043d\u043e\u0439 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. commit xid={0}"; + t[26] = "An error occurred while setting up the SSL connection."; + t[27] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 SSL-\u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[30] = "Failed to create object for: {0}."; + t[31] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u043b\u044f: {0}."; + t[32] = "Zero bytes may not occur in string parameters."; + t[33] = "\u0411\u0430\u0439\u0442 \u0441 \u043a\u043e\u0434\u043e\u043c 0 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0442\u0440\u0435\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445"; + t[34] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[35] = "\u0421\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0435, \u0447\u0442\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u044d\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435."; + t[38] = "Unsupported Types value: {0}"; + t[39] = "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 java.sql.Types \u0442\u0438\u043f: {0}"; + t[52] = "The server requested password-based authentication, but no password was provided."; + t[53] = "\u0421\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e, \u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d."; + t[54] = "Position: {0}"; + t[55] = "\u041f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[60] = "No results were returned by the query."; + t[61] = "\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432."; + t[66] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[67] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u0442.\u043a. \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0447\u0430\u0442\u0430. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[70] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[71] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: {0} bytes used to encode a {1} byte value: {2}"; + t[76] = "Unexpected command status: {0}."; + t[77] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b: {0}."; + t[82] = "Interval {0} not yet implemented"; + t[83] = "\u0418\u043d\u0442\u0435\u0432\u0440\u0432\u0430\u043b {0} \u0435\u0449\u0451 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d"; + t[84] = "Unsupported property name: {0}"; + t[85] = "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f"; + t[90] = "A connection could not be made using the requested protocol {0}."; + t[91] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 {0}"; + t[92] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[93] = "\u0422\u0438\u043f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u0430\u0439\u043b pg_hba.conf \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044c. \u0422\u0430\u043a\u0436\u0435 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0445\u0435\u043c\u0443 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0443\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c."; + t[96] = "Protocol error. Session setup failed."; + t[97] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c."; + t[100] = "The password callback class provided {0} could not be instantiated."; + t[101] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c password callback \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[104] = "suspend/resume not implemented"; + t[105] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 XA suspend/resume \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b"; + t[116] = "Fastpath call {0} - No result was returned and we expected a long."; + t[117] = "\u0412\u044b\u0437\u043e\u0432 fastpath {0} \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b, \u0430 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c long"; + t[130] = "Transaction isolation level {0} not supported."; + t[131] = "\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f."; + t[132] = "Large Objects may not be used in auto-commit mode."; + t[133] = "\u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0432\u0442\u043e-\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f (auto-commit)."; + t[134] = "The driver currently does not support COPY operations."; + t[135] = "\u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 COPY."; + t[136] = "Malformed function or procedure escape syntax at offset {0}."; + t[137] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c SQL \u043a\u043e\u043c\u0430\u043d\u0434\u0443. \u041e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 {0}"; + t[138] = "Zero bytes may not occur in identifiers."; + t[139] = "\u0421\u0438\u043c\u0432\u043e\u043b \u0441 \u043a\u043e\u0434\u043e\u043c 0 \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c"; + t[140] = "The array index is out of range: {0}"; + t[141] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}"; + t[142] = "This SQLXML object has already been freed."; + t[143] = "\u042d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 SQLXML \u0443\u0436\u0435 \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442"; + t[146] = "Unexpected copydata from server for {0}"; + t[147] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b COPY: {0}"; + t[148] = "Connection has been closed."; + t[149] = "\u042d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[150] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[151] = "\u0414\u0443\u0445\u0444\u0430\u0437\u043d\u0430\u044f \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e, \u0435\u0441\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e (state=idle \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0446\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442). commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[160] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[161] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SSLSocketFactory \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[164] = "The SocketFactory class provided {0} could not be instantiated."; + t[165] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SSLSocketFactory \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[166] = "An I/O error occurred while sending to the backend."; + t[167] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0443"; + t[184] = "An error occurred reading the certificate"; + t[185] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430"; + t[196] = "commit called before end. commit xid={0}, state={1}"; + t[197] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f commit \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 end. commit xid={0}, state={1}"; + t[200] = "Finalizing a Connection that was never closed:"; + t[201] = "\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u00ab\u0443\u0442\u0435\u043a\u043b\u043e\u00bb. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f connection.close(). \u0414\u0430\u043b\u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0442\u0435\u043a\u0442\u0440\u0435\u0439\u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435"; + t[202] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[203] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f surrogate \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c: {0}"; + t[210] = "Unknown Response Type {0}."; + t[211] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0430 {0}."; + t[214] = "Expected an EOF from server, got: {0}"; + t[215] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0431\u0430\u0439\u0442 {0}"; + t[220] = "Invalid sslmode value: {0}"; + t[221] = "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 sslmode: {0}"; + t[222] = "Failed to initialize LargeObject API"; + t[223] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 LargeObject API"; + t[226] = "Connection attempt timed out."; + t[227] = "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f"; + t[232] = "An unexpected result was returned by a query."; + t[233] = "\u0417\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0443\u043b \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442."; + t[236] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; + t[237] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. commit xid={0}, preparedXid={1}, currentXid={2}"; + t[242] = "Unknown type {0}."; + t[243] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f {0}."; + t[250] = "Interrupted while waiting to obtain lock on database connection"; + t[251] = "\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 COPY \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c interrupt"; + t[262] = "Invalid targetServerType value: {0}"; + t[263] = "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 targetServerType: {0}"; + t[270] = "A result was returned when none was expected."; + t[271] = "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0451\u043d \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c."; + t[272] = "Detail: {0}"; + t[273] = "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438: {0}"; + t[276] = "The column index is out of range: {0}, number of columns: {1}."; + t[277] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[284] = "This ResultSet is closed."; + t[285] = "ResultSet \u0437\u0430\u043a\u0440\u044b\u0442."; + t[298] = "Requested CopyIn but got {0}"; + t[299] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u0432\u0435\u0442 CopyIn, \u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[302] = "Conversion to type {0} failed: {1}."; + t[303] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a \u0442\u0438\u043f\u0443 {0}: {1}"; + t[306] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[307] = "\u0412 \u043a\u0430\u043a\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438, \u0432 \u0442\u0430\u043a\u043e\u043c \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0439\u0442\u0435 prepare. \u041f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. currentXid={0}, prepare xid={1}"; + t[308] = "Server SQLState: {0}"; + t[309] = "SQLState \u0441\u0435\u0440\u0432\u0435\u0440\u0430: {0}"; + t[314] = "Connection to {0} refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."; + t[315] = "\u041f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 {0} \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0447\u0442\u043e \u0445\u043e\u0441\u0442 \u0438 \u043f\u043e\u0440\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u0447\u0442\u043e postmaster \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 TCP/IP-\u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[318] = "Invalid flags {0}"; + t[319] = "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438 {0}"; + t[326] = "Statement has been closed."; + t[327] = "Statement \u0437\u0430\u043a\u0440\u044b\u0442."; + t[328] = "Too many update results were returned."; + t[329] = "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f."; + t[330] = "The connection attempt failed."; + t[331] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[342] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[343] = "\u041c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435: \u0424\u0430\u0439\u043b {0}, \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430: {1}, \u0421\u0442\u0440\u043e\u043a\u0430: {2}"; + t[344] = "Expected command status BEGIN, got {0}."; + t[345] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b BEGIN, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[346] = "There are no rows in this ResultSet."; + t[347] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443, \u0442.\u043a. \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c ResultSet\u2019\u0435 \u0441\u0442\u0440\u043e\u043a \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435\u0442"; + t[350] = "Where: {0}"; + t[351] = "\u0413\u0434\u0435: {0}"; + t[356] = "Failed to set ClientInfo property: {0}"; + t[357] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e ClientInfo: {0}"; + t[358] = "Conversion of money failed."; + t[359] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0438\u043f\u0430 money."; + t[366] = "Error preparing transaction. prepare xid={0}"; + t[367] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 prepare \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 {0}"; + t[368] = "Invalid timeout ({0}<0)."; + t[369] = "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c: {0}"; + t[374] = "Unsupported value for stringtype parameter: {0}"; + t[375] = "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 stringtype: {0}"; + t[380] = "Requested CopyOut but got {0}"; + t[381] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u0432\u0435\u0442 CopyOut, \u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[382] = "This PooledConnection has already been closed."; + t[383] = "\u042d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[392] = "Could not find a server with specified targetServerType: {0}"; + t[393] = "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c targetServerType: {0}"; + t[402] = "Interrupted while attempting to connect."; + t[403] = "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043d\u0438\u0435\u043c interrupt"; + t[406] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[407] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[410] = "Unable to bind parameter values for statement."; + t[411] = "\u041d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b (PGBindException)"; + t[420] = "Cannot write to copy a byte of value {0}"; + t[421] = "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 byte \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 0..255, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {0}"; + t[422] = "Ran out of memory retrieving query results."; + t[423] = "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c -Xmx \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445"; + t[434] = "Prepare called before end. prepare xid={0}, state={1}"; + t[435] = "\u0412\u044b\u0437\u043e\u0432 prepare \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 end. prepare xid={0}, state={1}"; + t[436] = "Hint: {0}"; + t[437] = "\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430: {0}"; + t[444] = "This copy stream is closed."; + t[445] = "\u041f\u043e\u0442\u043e\u043a \u0443\u0436\u0435 \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442"; + t[450] = "The server does not support SSL."; + t[451] = "\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 SSL."; + t[454] = "Conversion of interval failed"; + t[455] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c PGInterval: {0}"; + t[464] = "No value specified for parameter {0}."; + t[465] = "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 {0}."; + t[466] = "Invalid stream length {0}."; + t[467] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 {0}."; + t[472] = "Unsupported properties: {0}"; + t[473] = "\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f: {0}"; + t[474] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[475] = "\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0431\u0430\u0437\u044b. \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 8-\u0431\u0438\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0430\u0437\u0435 SQL_ASCII."; + t[476] = "Copying from database failed: {0}"; + t[477] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b COPY: {0}"; + t[480] = "This statement has been closed."; + t[481] = "\u042d\u0442\u043e\u0442 Sstatement \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442."; + t[484] = "oid type {0} not known and not a number"; + t[485] = "Oid {0} \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0438\u043b\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c"; + t[490] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[491] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0431\u0430\u0439\u0442 {0} \u0438\u0437 {1} \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043c\u0430\u0441\u043a\u0435 10xxxxxx: {2}"; + t[494] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[495] = "\u0427\u0435\u0440\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c xid={0}, currentXid={1}, state={2}, flags={3}"; + t[506] = "Method {0} is not yet implemented."; + t[507] = "\u041c\u0435\u0442\u043e\u0434 {0} \u0435\u0449\u0451 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d"; + t[514] = "DataSource has been closed."; + t[515] = "DataSource \u0437\u0430\u043a\u0440\u044b\u0442."; + t[518] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[519] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043d\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445: {0}"; + t[520] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[521] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0442\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[522] = "Unable to create SAXResult for SQLXML."; + t[523] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SAXResult \u0434\u043b\u044f SQLXML"; + t[530] = "This connection has been closed."; + t[531] = "\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[538] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[539] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u0438\u0435 {0}: {1}"; + t[544] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[545] = "\u0420\u0430\u043d\u043d\u0435\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c \u0431\u0430\u0439\u0442: {0}, \u043d\u043e \u0441\u0447\u0438\u0442\u0430\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e {1}"; + t[550] = "Unsupported binary encoding of {0}."; + t[551] = "\u0411\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0438\u043f\u0430 {0}"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 277) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 275) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 554) + idx -= 554; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 554 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 554); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 554 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java new file mode 100644 index 0000000000..1afebbfbf4 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java @@ -0,0 +1,391 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_sr extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL 8.1\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-05-26 11:13+0100\nLast-Translator: Bojan \u0160kaljac \nLanguage-Team: Srpski \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Serbian\nX-Poedit-Country: YUGOSLAVIA\n"; + t[4] = "DataSource has been closed."; + t[5] = "DataSource je zatvoren."; + t[8] = "Invalid flags {0}"; + t[9] = "Neva\u017ee\u0107e zastavice {0}"; + t[18] = "Where: {0}"; + t[19] = "Gde: {0}"; + t[24] = "Unknown XML Source class: {0}"; + t[25] = "Nepoznata XML ulazna klasa: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "Poku\u0161aj konektovanja propao."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "Trenutna pozicija posle kraja ResultSet-a. Ne mo\u017eete pozvati deleteRow() na toj poziciji."; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "Ne mo\u017eete da koristite metode za upit koji uzimaju string iz upita u PreparedStatement-u."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "Vi\u0161estruki ResultSet-vi su vra\u0107eni od strane upita."; + t[50] = "Too many update results were returned."; + t[51] = "Previ\u0161e rezultata za a\u017euriranje je vra\u0107eno."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "Ilegalna UTF-8 sekvenca: inicijalni bajt je {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "Ime kolone {0} nije pronadjeno u ResultSet."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Fastpath poziv {0} - Nikakav rezultat nije vra\u0107en a o\u010dekivan je integer."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Gre\u0161ka protokola. Zakazivanje sesije propalo."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, )."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "ResultSets sa osobinom CONCUR_READ_ONLY ne moe\u017ee biti a\u017euriran."; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "LOB pozicija ofset po\u010dinje kod 1."; + t[92] = "Internal Position: {0}"; + t[93] = "Interna pozicija: {0}"; + t[96] = "free() was called on this LOB previously"; + t[97] = "free() je pozvan na ovom LOB-u prethodno"; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "Nije mogu\u0107e izmeniti read-only osobinu transakcije u sred izvr\u0161avanja transakcije."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "JVM tvrdi da ne podr\u017eava {0} encoding."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "Funkcija {0} nema parametara."; + t[112] = "xid must not be null"; + t[113] = "xid ne sme biti null"; + t[114] = "Connection has been closed."; + t[115] = "Konekcija je ve\u0107 zatvorena."; + t[122] = "The server does not support SSL."; + t[123] = "Server ne podr\u017eava SSL."; + t[124] = "Custom type maps are not supported."; + t[125] = "Mape sa korisni\u010dki definisanim tipovima nisu podr\u017eane."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "Ilegalna UTF-8 sekvenca: bajt {0} od {1} bajtova sekvence nije 10xxxxxx: {2}"; + t[148] = "Hint: {0}"; + t[149] = "Nagovest: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "Nije mogu\u0107e prona\u0107i ime tipa podatka u sistemskom katalogu."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Za tip nije podr\u017eana vrednost: {0}"; + t[158] = "Unknown type {0}."; + t[159] = "Nepoznat tip {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "Funkcija {0} prima dva i samo dva parametra."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Dovr\u0161avanje konekcije koja nikada nije zatvorena:"; + t[180] = "The maximum field size must be a value greater than or equal to 0."; + t[181] = "Maksimalna vrednost veli\u010dine polja mora biti vrednost ve\u0107a ili jednaka 0."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "PostgreSQL LOB mogu jedino da ozna\u010davaju: {0}"; + t[194] = "Method {0} is not yet implemented."; + t[195] = "Metod {0} nije jo\u0161 impelemtiran."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "Gre\u0161ka u \u010ditanju standardnih pode\u0161avanja iz driverconfig.properties"; + t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[201] = "Razultat nemo\u017ee da se primi iz CallableStatement pre nego \u0161to se on izvr\u0161i."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "O\u010dekivan status komande je BEGIN, a dobijeno je {0}."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Pogre\u0161na konstanta za direkciju dono\u0161enja: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "Funkcija {0} prima tri i samo tri parametra."; + t[226] = "This SQLXML object has already been freed."; + t[227] = "Ovaj SQLXML je ve\u0107 obrisan."; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "Nije mogu\u0107e a\u017eurirati ResultSet zato \u0161to je ili po\u010detak ili kraj rezultata."; + t[230] = "The JVM claims not to support the encoding: {0}"; + t[231] = "JVM tvrdi da ne podr\u017eava encoding: {0}"; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je izvr\u0161en."; + t[234] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[235] = "Gre\u0161ka prilikom povratka na prethodo pripremljenu transakciju. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "U auto-commit modu nije mogu\u0107e pode\u0161avanje ta\u010dki snimanja."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "Nije mogu\u0107e primiti id imena ta\u010dke snimanja."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "Indeks kolone van osega: {0}, broj kolona: {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "Ne\u0161to neobi\u010dno se dogodilo i drajver je zakazao. Molim prijavite ovaj izuzetak."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "Nije mogu\u0107e kastovati instancu {0} u tip {1}"; + t[264] = "Unknown Types value."; + t[265] = "Nepoznata vrednost za Types."; + t[266] = "Invalid stream length {0}."; + t[267] = "Neva\u017ee\u0107a du\u017eina toka {0}."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "Nije mogu\u0107e izvaditi ime ta\u010dke snimanja koja nema ime."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "Nije mogu\u0107e prevesti podatke u odabrani encoding format."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "O\u010dekivan EOF od servera, a dobijeno: {0}"; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "Pogre\u0161na vrednost za tip {0} : {1}"; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "Server zahteva autentifikaciju baziranu na \u0161ifri, ali \u0161ifra nije prosle\u0111ena."; + t[286] = "Unable to create SAXResult for SQLXML."; + t[287] = "Nije mogu\u0107e kreirati SAXResult za SQLXML."; + t[292] = "Error during recover"; + t[293] = "Gre\u0161ka prilikom oporavljanja."; + t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[295] = "Poku\u0161aj pozivanja kraja pre odgovaraju\u0107eg po\u010detka. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[297] = "Skra\u0107ivanje velikih objekata je implementirano samo u 8.3 i novijim serverima."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "PooledConnection je ve\u0107 zatvoren."; + t[302] = "ClientInfo property not supported."; + t[303] = "ClientInfo property nije podr\u017ean."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "Doneta veli\u010dina mora biti vrednost ve\u0107a ili jednaka 0."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "Konekciju nije mogu\u0107e kreirati uz pomo\u0107 protokola {0}."; + t[318] = "Unknown XML Result class: {0}"; + t[319] = "nepoznata XML klasa rezultata: {0}"; + t[322] = "There are no rows in this ResultSet."; + t[323] = "U ResultSet-u nema redova."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Neo\u010dekivan komandni status: {0}."; + t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[331] = "Heuristi\u010dki commit/rollback nije podr\u017ean. forget xid={0}"; + t[334] = "Not on the insert row."; + t[335] = "Nije mod ubacivanja redova."; + t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[337] = "SQLXML objekat je ve\u0107 inicijalizovan, tako da ga nije mogu\u0107e dodatno menjati."; + t[344] = "Server SQLState: {0}"; + t[345] = "SQLState servera: {0}"; + t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[349] = "Serverov standard_conforming_strings parametar javlja {0}. JDBC drajver ocekuje on ili off."; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "Drajver trenutno ne podr\u017eava COPY operacije."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "Indeks niza je van opsega: {0}, broj elemenata: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "obustavljanje/nastavljanje nije implementirano."; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "Nije implementirano: Commit iz jedne faze mora biti izdat uz kori\u0161tenje iste konekcije koja je kori\u0161tena za startovanje."; + t[380] = "Error during one-phase commit. commit xid={0}"; + t[381] = "Kre\u0161ka prilikom commit-a iz jedne faze. commit xid={0}"; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "Nije mogu\u0107e pozvati cancelRowUpdates() prilikom ubacivanja redova."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "Nije mogu\u0107e referenciranje ta\u010dke snimanja nakon njenog osloba\u0111anja."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Morate specificirati barem jednu vrednost za kolonu da bi ste ubacili red."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "Nije mogu\u0107e odrediti vrednost za MaxIndexKezs zbog nedostatka podataka u sistemskom katalogu."; + t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[413] = "Ilegalna UTF-8 sekvenca: finalna vrednost je van opsega: {0}"; + t[414] = "{0} function takes two or three arguments."; + t[415] = "Funkcija {0} prima dva ili tri parametra."; + t[428] = "Unable to convert DOMResult SQLXML data to a string."; + t[429] = "Nije mogu\u0107e konvertovati DOMResult SQLXML podatke u string."; + t[434] = "Unable to decode xml data."; + t[435] = "Neuspe\u0161no dekodiranje XML podataka."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Neo\u010dekivana gre\u0161ka prilikom upisa velikog objekta u bazu podataka."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "Nula bajtovji se ne smeju pojavljivati u string parametrima."; + t[444] = "A result was returned when none was expected."; + t[445] = "Rezultat vra\u0107en ali nikakav rezultat nije o\u010dekivan."; + t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "Nije implementirano: Dvofazni commit mora biti izdat uz kori\u0161tenje besposlene konekcije. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "ResultSet nije mogu\u0107e a\u017eurirati. Upit koji je generisao ovaj razultat mora selektoati jedino tabelu,i mora selektovati sve primrne klju\u010deve iz te tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za vi\u0161e detalja."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "Du\u017eina vezivne poruke {0} prevelika. Ovo je mo\u017eda rezultat veoma velike ili pogre\u0161ne du\u017eine specifikacije za InputStream parametre."; + t[460] = "Statement has been closed."; + t[461] = "Statemen je ve\u0107 zatvoren."; + t[462] = "No value specified for parameter {0}."; + t[463] = "Nije zadata vrednost za parametar {0}."; + t[468] = "The array index is out of range: {0}"; + t[469] = "Indeks niza je van opsega: {0}"; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "Nije mogu\u0107e na\u0107i vrednost vezivnog parametra za izjavu (statement)."; + t[476] = "Can''t refresh the insert row."; + t[477] = "Nije mogu\u0107e osve\u017eiti uba\u010deni red."; + t[480] = "No primary key found for table {0}."; + t[481] = "Nije prona\u0111en klju\u010d za tabelu {0}."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "Nije mogu\u0107e izmeniti nivo izolacije transakcije u sred izvr\u0161avanja transakcije."; + t[498] = "Provided InputStream failed."; + t[499] = "Pribaljeni InputStream zakazao."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "Index parametra je van opsega: {0}, broj parametara je: {1}."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle po\u010dinje sa ISO za uspe\u0161no zavr\u0161avanje operacije."; + t[508] = "Connection attempt timed out."; + t[509] = "Isteklo je vreme za poku\u0161aj konektovanja."; + t[512] = "Internal Query: {0}"; + t[513] = "Interni upit: {0}"; + t[514] = "Error preparing transaction. prepare xid={0}"; + t[515] = "Gre\u0161ka u pripremanju transakcije. prepare xid={0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "Tip autentifikacije {0} nije podr\u017ean. Proverite dali imate pode\u0161en pg_hba.conf fajl koji uklju\u010duje klijentovu IP adresu ili podmre\u017eu, i da ta mre\u017ea koristi \u0161emu autentifikacije koja je podr\u017eana od strane ovog drajvera."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "Interval {0} jo\u0161 nije implementiran."; + t[532] = "Conversion of interval failed"; + t[533] = "Konverzija intervala propala."; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Tajm-aut mora biti vrednost ve\u0107a ili jednaka 0."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "Konekcija je zatvorena automatski zato \u0161to je nova konekcija otvorena za isti PooledConnection ili je PooledConnection zatvoren."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "ResultSet nije pravilno pozicioniran, mo\u017eda je potrebno da pozovete next."; + t[546] = "Prepare called before end. prepare xid={0}, state={1}"; + t[547] = "Pripremanje poziva pre kraja. prepare xid={0}, state={1}"; + t[548] = "Invalid UUID data."; + t[549] = "Neva\u017ee\u0107a UUID podatak."; + t[550] = "This statement has been closed."; + t[551] = "Statement je zatvoren."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "Nije mogu\u0107e zaklju\u010diti SQL tip koji bi se koristio sa instancom {0}. Koristite setObject() sa zadatim eksplicitnim tipom vrednosti."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "Nije mogu\u0107e pozvati updateRow() prilikom ubacivanja redova."; + t[562] = "Detail: {0}"; + t[563] = "Detalji: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "Nije mogu\u0107e pozvati deleteRow() prilikom ubacivanja redova."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "Trenutna pozicija pre po\u010detka ResultSet-a. Ne mo\u017eete pozvati deleteRow() na toj poziciji."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "Ilegalna UTF-8 sekvenca: finalna vrednost je zamena vrednosti: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Nepoznat tip odziva {0}."; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "Vrednost za parametar tipa string nije podr\u017eana: {0}"; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "Konverzija u tip {0} propala: {1}."; + t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[587] = "SQLXML objekat nije inicijalizovan tako da nije mogu\u0107e preuzimati podatke iz njega."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "Nije mogu\u0107e u\u010ditati kalsu {0} odgovornu za tip podataka {1}"; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "Fastpath funkcija {0} je nepoznata."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "Pogre\u0161na sintaksa u funkciji ili proceduri na poziciji {0}."; + t[612] = "Provided Reader failed."; + t[613] = "Pribavljeni \u010dita\u010d (Reader) zakazao."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "Maksimalni broj redova mora biti vrednosti ve\u0107e ili jednake 0."; + t[616] = "Failed to create object for: {0}."; + t[617] = "Propao poku\u0161aj kreiranja objekta za: {0}."; + t[620] = "Conversion of money failed."; + t[621] = "Konverzija novca (money) propala."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Prevremen zavr\u0161etak ulaznog toka podataka,o\u010dekivano {0} bajtova, a pro\u010ditano samo {1}."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Nepredvi\u0111en rezultat je vra\u0107en od strane upita."; + t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[645] = "Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "Gre\u0161ka se dogodila prilikom pode\u0161avanja SSL konekcije."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "Ilegalna UTF-8 sekvenca: {0} bytes used to encode a {1} byte value: {2}"; + t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[657] = "Nije implementirano: Spremanje mora biti pozvano uz kori\u0161\u0107enje iste konekcije koja se koristi za startovanje transakcije. currentXid={0}, prepare xid={1}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "SSLSocketFactory klasa koju pru\u017ea {0} se nemo\u017ee instancirati."; + t[662] = "Failed to convert binary xml data to encoding: {0}."; + t[663] = "Neuspe\u0161no konvertovanje binarnih XML podataka u kodnu stranu: {0}."; + t[670] = "Position: {0}"; + t[671] = "Pozicija: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}"; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "Nije mogu\u0107e utvrditi dali je putanja otvorena ili zatvorena: {0}."; + t[690] = "Unable to create StAXResult for SQLXML"; + t[691] = "Nije mogu\u0107e kreirati StAXResult za SQLXML"; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "Nije mogu\u0107e konvertovati instancu {0} u tip {1}"; + t[710] = "{0} function takes four and only four argument."; + t[711] = "Funkcija {0} prima \u010detiri i samo \u010detiri parametra."; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Prekinut poku\u0161aj konektovanja."; + t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[723] = "Sigurnosna pode\u0161avanja su spre\u010dila konekciju. Verovatno je potrebno da dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru."; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "Propao poku\u0161aj inicijalizacije LargeObject API-ja."; + t[734] = "No function outputs were registered."; + t[735] = "Nije registrovan nikakv izlaz iz funkcije."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "Funkcija {0} prima jedan i samo jedan parametar."; + t[744] = "This ResultSet is closed."; + t[745] = "ResultSet je zatvoren."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Prona\u0111eni su neva\u017ee\u0107i karakter podaci. Uzrok je najverovatnije to \u0161to pohranjeni podaci sadr\u017ee karaktere koji su neva\u017ee\u0107i u setu karaktera sa kojima je baza kreirana. Npr. \u010cuvanje 8bit podataka u SQL_ASCII bazi podataka."; + t[752] = "Error disabling autocommit"; + t[753] = "Gre\u0161ka u isklju\u010divanju autokomita"; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Nestalo je memorije prilikom preuzimanja rezultata upita."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "Vra\u0107anje autogenerisanih klju\u010deva nije podr\u017eano."; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "Operacija zahteva skrolabilan ResultSet,ali ovaj ResultSet je FORWARD_ONLY."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "CallableStatement funkcija je izvr\u0161ena dok je izlazni parametar {0} tipa {1} a tip {2} je registrovan kao izlazni parametar."; + t[764] = "Unable to find server array type for provided name {0}."; + t[765] = "Neuspe\u0161no nala\u017eenje liste servera za zadato ime {0}."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "Nepoznata ResultSet pode\u0161avanja za mogu\u0107nost dr\u017eanja (holdability): {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "Nivo izolacije transakcije {0} nije podr\u017ean."; + t[774] = "Zero bytes may not occur in identifiers."; + t[775] = "Nula bajtovji se ne smeju pojavljivati u identifikatorima."; + t[776] = "No results were returned by the query."; + t[777] = "Nikakav rezultat nije vra\u0107en od strane upita."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "CallableStatement je izvr\u0161en ali ni\u0161ta nije vre\u0107eno kao rezultat."; + t[780] = "wasNull cannot be call before fetching a result."; + t[781] = "wasNull nemo\u017ee biti pozvan pre zahvatanja rezultata."; + t[784] = "Returning autogenerated keys by column index is not supported."; + t[785] = "Vra\u0107anje autogenerisanih klju\u010deva po kloloni nije podr\u017eano."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Izraz ne deklari\u0161e izlazni parametar. Koristite '{' ?= poziv ... '}' za deklarisanje."; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "Ne mo\u017ee se koristiti metod relativnog pomeranja prilikom ubacivanja redova."; + t[790] = "A CallableStatement was executed with an invalid number of parameters"; + t[791] = "CallableStatement je izvr\u0161en sa neva\u017ee\u0107im brojem parametara"; + t[792] = "Connection is busy with another transaction"; + t[793] = "Konekcija je zauzeta sa drugom transakciom."; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java new file mode 100644 index 0000000000..f5bff02c4c --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java @@ -0,0 +1,393 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_tr extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[794]; + t[0] = ""; + t[1] = "Project-Id-Version: jdbc-tr\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-05-31 21:47+0200\nLast-Translator: Devrim G\u00dcND\u00dcZ \nLanguage-Team: Turkish \nLanguage: tr\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.3.1\nX-Poedit-Language: Turkish\nX-Poedit-Country: TURKEY\n"; + t[4] = "DataSource has been closed."; + t[5] = "DataSource kapat\u0131ld\u0131."; + t[8] = "Invalid flags {0}"; + t[9] = "Ge\u00e7ersiz se\u00e7enekler {0}"; + t[18] = "Where: {0}"; + t[19] = "Where: {0}"; + t[24] = "Unknown XML Source class: {0}"; + t[25] = "Bilinmeyen XML Kaynak S\u0131n\u0131f\u0131: {0}"; + t[26] = "The connection attempt failed."; + t[27] = "Ba\u011flant\u0131 denemesi ba\u015far\u0131s\u0131z oldu."; + t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[29] = "\u015eu an ResultSet sonucundan sonra konumland\u0131. deleteRow() burada \u00e7a\u011f\u0131rabilirsiniz."; + t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[33] = "PreparedStatement ile sorgu sat\u0131r\u0131 alan sorgu y\u00f6ntemleri kullan\u0131lamaz."; + t[36] = "Multiple ResultSets were returned by the query."; + t[37] = "Sorgu taraf\u0131ndan birden fazla ResultSet getirildi."; + t[50] = "Too many update results were returned."; + t[51] = "\u00c7ok fazla g\u00fcncelleme sonucu d\u00f6nd\u00fcr\u00fcld\u00fc."; + t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[59] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: ilk bayt {0}: {1}"; + t[66] = "The column name {0} was not found in this ResultSet."; + t[67] = "Bu ResultSet i\u00e7inde {0} s\u00fctun ad\u0131 bulunamad\u0131."; + t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[71] = "Fastpath call {0} - Integer beklenirken hi\u00e7bir sonu\u00e7 getirilmedi."; + t[74] = "Protocol error. Session setup failed."; + t[75] = "Protokol hatas\u0131. Oturum kurulumu ba\u015far\u0131s\u0131z oldu."; + t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[77] = "CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) tan\u0131t\u0131m\u0131 yap\u0131lmad\u0131."; + t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[79] = "E\u015f zamanlama CONCUR_READ_ONLY olan ResultSet''ler de\u011fi\u015ftirilemez"; + t[90] = "LOB positioning offsets start at 1."; + t[91] = "LOB ba\u011flang\u0131\u00e7 adresi 1Den ba\u015fl\u0131yor"; + t[92] = "Internal Position: {0}"; + t[93] = "Internal Position: {0}"; + t[96] = "free() was called on this LOB previously"; + t[97] = "Bu LOB'da free() daha \u00f6nce \u00e7a\u011f\u0131r\u0131ld\u0131"; + t[100] = "Cannot change transaction read-only property in the middle of a transaction."; + t[101] = "Transaction ortas\u0131nda ge\u00e7erli transactionun read-only \u00f6zell\u011fi de\u011fi\u015ftirilemez."; + t[102] = "The JVM claims not to support the {0} encoding."; + t[103] = "JVM, {0} dil kodlamas\u0131n\u0131 desteklememektedir."; + t[108] = "{0} function doesn''t take any argument."; + t[109] = "{0} fonksiyonu parametre almaz."; + t[112] = "xid must not be null"; + t[113] = "xid null olamaz"; + t[114] = "Connection has been closed."; + t[115] = "Ba\u011flant\u0131 kapat\u0131ld\u0131."; + t[122] = "The server does not support SSL."; + t[123] = "Sunucu SSL desteklemiyor."; + t[124] = "Custom type maps are not supported."; + t[125] = "\u00d6zel tip e\u015fle\u015ftirmeleri desteklenmiyor."; + t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[141] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: {0}/{1} bayt\u0131 10xxxxxx de\u011fildir: {2}"; + t[148] = "Hint: {0}"; + t[149] = "\u0130pucu: {0}"; + t[152] = "Unable to find name datatype in the system catalogs."; + t[153] = "Sistem kataloglar\u0131nda name veri tipi bulunam\u0131yor."; + t[156] = "Unsupported Types value: {0}"; + t[157] = "Ge\u00e7ersiz Types de\u011feri: {0}"; + t[158] = "Unknown type {0}."; + t[159] = "Bilinmeyen tip {0}."; + t[166] = "{0} function takes two and only two arguments."; + t[167] = "{0} fonksiyonunu sadece iki parametre alabilir."; + t[170] = "Finalizing a Connection that was never closed:"; + t[171] = "Kapat\u0131lmam\u0131\u015f ba\u011flant\u0131 sonland\u0131r\u0131l\u0131yor."; + t[180] = "The maximum field size must be a value greater than or equal to 0."; + t[181] = "En b\u00fcy\u00fck alan boyutu s\u0131f\u0131r ya da s\u0131f\u0131rdan b\u00fcy\u00fck bir de\u011fer olmal\u0131."; + t[186] = "PostgreSQL LOBs can only index to: {0}"; + t[187] = "PostgreSQL LOB g\u00f6stergeleri sadece {0} referans edebilir"; + t[194] = "Method {0} is not yet implemented."; + t[195] = "{0} y\u00f6ntemi hen\u00fcz kodlanmad\u0131."; + t[198] = "Error loading default settings from driverconfig.properties"; + t[199] = "driverconfig.properties dosyas\u0131ndan varsay\u0131lan ayarlar\u0131 y\u00fckleme hatas\u0131"; + t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[201] = "CallableStatement \u00e7al\u0131\u015ft\u0131r\u0131lmadan sonu\u00e7lar ondan al\u0131namaz."; + t[202] = "Large Objects may not be used in auto-commit mode."; + t[203] = "Auto-commit bi\u00e7imde large object kullan\u0131lamaz."; + t[208] = "Expected command status BEGIN, got {0}."; + t[209] = "BEGIN komut durumunu beklenirken {0} al\u0131nd\u0131."; + t[218] = "Invalid fetch direction constant: {0}."; + t[219] = "Getirme y\u00f6n\u00fc de\u011fi\u015fmezi ge\u00e7ersiz: {0}."; + t[222] = "{0} function takes three and only three arguments."; + t[223] = "{0} fonksiyonunu sadece \u00fc\u00e7 parametre alabilir."; + t[226] = "This SQLXML object has already been freed."; + t[227] = "Bu SQLXML nesnesi zaten bo\u015falt\u0131lm\u0131\u015f."; + t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[229] = "ResultSet, sonu\u00e7lar\u0131n ilk kayd\u0131ndan \u00f6nce veya son kayd\u0131ndan sonra oldu\u011fu i\u00e7in g\u00fcncelleme yap\u0131lamamaktad\u0131r."; + t[230] = "The JVM claims not to support the encoding: {0}"; + t[231] = "JVM, {0} dil kodlamas\u0131n\u0131 desteklememektedir."; + t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[233] = "{0} tipinde parametre tan\u0131t\u0131ld\u0131, ancak {1} (sqltype={2}) tipinde geri getirmek i\u00e7in \u00e7a\u011fr\u0131 yap\u0131ld\u0131."; + t[234] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[235] = "Haz\u0131rlanm\u0131\u015f transaction rollback hatas\u0131. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[240] = "Cannot establish a savepoint in auto-commit mode."; + t[241] = "Auto-commit bi\u00e7imde savepoint olu\u015fturulam\u0131yor."; + t[242] = "Cannot retrieve the id of a named savepoint."; + t[243] = "Adland\u0131r\u0131lm\u0131\u015f savepointin id de\u011ferine eri\u015filemiyor."; + t[244] = "The column index is out of range: {0}, number of columns: {1}."; + t[245] = "S\u00fctun g\u00e7stergesi kapsam d\u0131\u015f\u0131d\u0131r: {0}, s\u00fctun say\u0131s\u0131: {1}."; + t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[251] = "S\u0131rad\u0131\u015f\u0131 bir durum s\u00fcr\u00fcc\u00fcn\u00fcn hata vermesine sebep oldu. L\u00fctfen bu durumu geli\u015ftiricilere bildirin."; + t[260] = "Cannot cast an instance of {0} to type {1}"; + t[261] = "{0} tipi {1} tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclemiyor"; + t[264] = "Unknown Types value."; + t[265] = "Ge\u00e7ersiz Types de\u011feri."; + t[266] = "Invalid stream length {0}."; + t[267] = "Ge\u00e7ersiz ak\u0131m uzunlu\u011fu {0}."; + t[272] = "Cannot retrieve the name of an unnamed savepoint."; + t[273] = "Ad\u0131 verilmemi\u015f savepointin id de\u011ferine eri\u015filemiyor."; + t[274] = "Unable to translate data into the desired encoding."; + t[275] = "Veri, istenilen dil kodlamas\u0131na \u00e7evrilemiyor."; + t[276] = "Expected an EOF from server, got: {0}"; + t[277] = "Sunucudan EOF beklendi; ama {0} al\u0131nd\u0131."; + t[278] = "Bad value for type {0} : {1}"; + t[279] = "{0} veri tipi i\u00e7in ge\u00e7ersiz de\u011fer : {1}"; + t[280] = "The server requested password-based authentication, but no password was provided."; + t[281] = "Sunucu \u015fifre tabanl\u0131 yetkilendirme istedi; ancak bir \u015fifre sa\u011flanmad\u0131."; + t[286] = "Unable to create SAXResult for SQLXML."; + t[287] = "SQLXML i\u00e7in SAXResult yarat\u0131lamad\u0131."; + t[292] = "Error during recover"; + t[293] = "Kurtarma s\u0131ras\u0131nda hata"; + t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[295] = "start \u00e7a\u011f\u0131r\u0131m\u0131 olmadan end \u00e7a\u011f\u0131r\u0131lm\u0131\u015ft\u0131r. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[297] = "Large objectlerin temizlenmesi 8.3 ve sonraki s\u00fcr\u00fcmlerde kodlanm\u0131\u015ft\u0131r."; + t[298] = "This PooledConnection has already been closed."; + t[299] = "Ge\u00e7erli PooledConnection zaten \u00f6nceden kapat\u0131ld\u0131."; + t[302] = "ClientInfo property not supported."; + t[303] = "Clientinfo property'si desteklenememktedir."; + t[306] = "Fetch size must be a value greater to or equal to 0."; + t[307] = "Fetch boyutu s\u0131f\u0131r veya daha b\u00fcy\u00fck bir de\u011fer olmal\u0131d\u0131r."; + t[312] = "A connection could not be made using the requested protocol {0}."; + t[313] = "\u0130stenilen protokol ile ba\u011flant\u0131 kurulamad\u0131 {0}"; + t[318] = "Unknown XML Result class: {0}"; + t[319] = "Bilinmeyen XML Sonu\u00e7 s\u0131n\u0131f\u0131: {0}."; + t[322] = "There are no rows in this ResultSet."; + t[323] = "Bu ResultSet i\u00e7inde kay\u0131t bulunamad\u0131."; + t[324] = "Unexpected command status: {0}."; + t[325] = "Beklenmeyen komut durumu: {0}."; + t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[331] = "Heuristic commit/rollback desteklenmiyor. forget xid={0}"; + t[334] = "Not on the insert row."; + t[335] = "Insert kayd\u0131 de\u011fil."; + t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[337] = "Bu SQLXML nesnesi daha \u00f6nceden ilklendirilmi\u015ftir; o y\u00fczden daha fazla m\u00fcdahale edilemez."; + t[344] = "Server SQLState: {0}"; + t[345] = "Sunucu SQLState: {0}"; + t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[349] = "\u0130stemcinin client_standard_conforming_strings parametresi {0} olarak raporland\u0131. JDBC s\u00fcr\u00fcc\u00fcs\u00fc on ya da off olarak bekliyordu."; + t[360] = "The driver currently does not support COPY operations."; + t[361] = "Bu sunucu \u015fu a\u015famada COPY i\u015flemleri desteklememktedir."; + t[364] = "The array index is out of range: {0}, number of elements: {1}."; + t[365] = "Dizin g\u00f6stergisi kapsam d\u0131\u015f\u0131d\u0131r: {0}, \u00f6\u011fe say\u0131s\u0131: {1}."; + t[374] = "suspend/resume not implemented"; + t[375] = "suspend/resume desteklenmiyor"; + t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[379] = "Desteklenmiyor: one-phase commit, i\u015flevinde ba\u015flatan ve bitiren ba\u011flant\u0131 ayn\u0131 olmal\u0131d\u0131r"; + t[380] = "Error during one-phase commit. commit xid={0}"; + t[381] = "One-phase commit s\u0131ras\u0131nda hata. commit xid={0}"; + t[398] = "Cannot call cancelRowUpdates() when on the insert row."; + t[399] = "Insert edilmi\u015f kayd\u0131n \u00fczerindeyken cancelRowUpdates() \u00e7a\u011f\u0131r\u0131lamaz."; + t[400] = "Cannot reference a savepoint after it has been released."; + t[401] = "B\u0131rak\u0131ld\u0131ktan sonra savepoint referans edilemez."; + t[402] = "You must specify at least one column value to insert a row."; + t[403] = "Bir sat\u0131r eklemek i\u00e7in en az bir s\u00fctun de\u011ferini belirtmelisiniz."; + t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[405] = "Sistem katalo\u011fu olmad\u0131\u011f\u0131ndan MaxIndexKeys de\u011ferini tespit edilememektedir."; + t[410] = "commit called before end. commit xid={0}, state={1}"; + t[411] = "commit, sondan \u00f6nce \u00e7a\u011f\u0131r\u0131ld\u0131. commit xid={0}, state={1}"; + t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[413] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: son de\u011fer s\u0131ra d\u0131\u015f\u0131d\u0131r: {0}"; + t[414] = "{0} function takes two or three arguments."; + t[415] = "{0} fonksiyonu yaln\u0131z iki veya \u00fc\u00e7 arg\u00fcman alabilir."; + t[428] = "Unable to convert DOMResult SQLXML data to a string."; + t[429] = "DOMResult SQLXML verisini diziye d\u00f6n\u00fc\u015ft\u00fcr\u00fclemedi."; + t[434] = "Unable to decode xml data."; + t[435] = "XML verisinin kodu \u00e7\u00f6z\u00fclemedi."; + t[440] = "Unexpected error writing large object to database."; + t[441] = "Large object veritaban\u0131na yaz\u0131l\u0131rken beklenmeyan hata."; + t[442] = "Zero bytes may not occur in string parameters."; + t[443] = "String parametrelerinde s\u0131f\u0131r bayt olamaz."; + t[444] = "A result was returned when none was expected."; + t[445] = "Hi\u00e7bir sonu\u00e7 kebklenimezken sonu\u00e7 getirildi."; + t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "Desteklenmiyor: 2nd phase commit, at\u0131l bir ba\u011flant\u0131dan ba\u015flat\u0131lmal\u0131d\u0131r. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[451] = "ResultSet de\u011fi\u015ftirilemez. Bu sonucu \u00fcreten sorgu tek bir tablodan sorgulamal\u0131 ve tablonun t\u00fcm primary key alanlar\u0131 belirtmelidir. Daha fazla bilgi i\u00e7in bk. JDBC 2.1 API Specification, section 5.6."; + t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[455] = "Bind mesaj uzunlu\u011fu ({0}) fazla uzun. Bu durum InputStream yaln\u0131\u015f uzunluk belirtimlerden kaynaklanabilir."; + t[460] = "Statement has been closed."; + t[461] = "Komut kapat\u0131ld\u0131."; + t[462] = "No value specified for parameter {0}."; + t[463] = "{0} parametresi i\u00e7in hi\u00e7 bir de\u011fer belirtilmedi."; + t[468] = "The array index is out of range: {0}"; + t[469] = "Dizi g\u00f6stergesi kapsam d\u0131\u015f\u0131d\u0131r: {0}"; + t[474] = "Unable to bind parameter values for statement."; + t[475] = "Komut i\u00e7in parametre de\u011ferlei ba\u011flanamad\u0131."; + t[476] = "Can''t refresh the insert row."; + t[477] = "Inser sat\u0131r\u0131 yenilenemiyor."; + t[480] = "No primary key found for table {0}."; + t[481] = "{0} tablosunda primary key yok."; + t[482] = "Cannot change transaction isolation level in the middle of a transaction."; + t[483] = "Transaction ortas\u0131nda ge\u00e7erli transactionun transaction isolation level \u00f6zell\u011fi de\u011fi\u015ftirilemez."; + t[498] = "Provided InputStream failed."; + t[499] = "Sa\u011flanm\u0131\u015f InputStream ba\u015far\u0131s\u0131z."; + t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[501] = "Dizin g\u00f6stergisi kapsam d\u0131\u015f\u0131d\u0131r: {0}, \u00f6\u011fe say\u0131s\u0131: {1}."; + t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[503] = "Sunucunun DateStyle parametresi {0} olarak de\u011fi\u015ftirildi. JDBC s\u00fcr\u00fcc\u00fcs\u00fc do\u011fru i\u015flemesi i\u00e7in DateStyle tan\u0131m\u0131n\u0131n ISO i\u015fle ba\u015flamas\u0131n\u0131 gerekir."; + t[508] = "Connection attempt timed out."; + t[509] = "Ba\u011flant\u0131 denemesi zaman a\u015f\u0131m\u0131na u\u011frad\u0131."; + t[512] = "Internal Query: {0}"; + t[513] = "Internal Query: {0}"; + t[514] = "Error preparing transaction. prepare xid={0}"; + t[515] = "Transaction haz\u0131rlama hatas\u0131. prepare xid={0}"; + t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[519] = "{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyan\u0131z\u0131 istemcinin IP adresini ya da subnetini i\u00e7erecek \u015fekilde ayarlay\u0131p ayarlamad\u0131\u011f\u0131n\u0131z\u0131 ve s\u00fcr\u00fcc\u00fc taraf\u0131ndan desteklenen yetkilendirme y\u00f6ntemlerinden birisini kullan\u0131p kullanmad\u0131\u011f\u0131n\u0131 kontrol ediniz."; + t[526] = "Interval {0} not yet implemented"; + t[527] = "{0} aral\u0131\u011f\u0131 hen\u00fcz kodlanmad\u0131."; + t[532] = "Conversion of interval failed"; + t[533] = "Interval d\u00f6n\u00fc\u015ft\u00fcrmesi ba\u015far\u0131s\u0131z."; + t[540] = "Query timeout must be a value greater than or equals to 0."; + t[541] = "Sorgu zaman a\u015f\u0131m\u0131 de\u011fer s\u0131f\u0131r veya s\u0131f\u0131rdan b\u00fcy\u00fck bir say\u0131 olmal\u0131d\u0131r."; + t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[543] = "PooledConnection kapat\u0131ld\u0131\u011f\u0131 i\u00e7in veya ayn\u0131 PooledConnection i\u00e7in yeni bir ba\u011flant\u0131 a\u00e7\u0131ld\u0131\u011f\u0131 i\u00e7in ge\u00e7erli ba\u011flant\u0131 otomatik kapat\u0131ld\u0131."; + t[544] = "ResultSet not positioned properly, perhaps you need to call next."; + t[545] = "ResultSet do\u011fru konumlanmam\u0131\u015ft\u0131r, next i\u015flemi \u00e7a\u011f\u0131rman\u0131z gerekir."; + t[546] = "Prepare called before end. prepare xid={0}, state={1}"; + t[547] = "Sondan \u00f6nce prepare \u00e7a\u011f\u0131r\u0131lm\u0131\u015f. prepare xid={0}, state={1}"; + t[548] = "Invalid UUID data."; + t[549] = "Ge\u00e7ersiz UUID verisi."; + t[550] = "This statement has been closed."; + t[551] = "Bu komut kapat\u0131ld\u0131."; + t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[553] = "{0}''nin \u00f6rne\u011fi ile kullan\u0131lacak SQL tip bulunamad\u0131. Kullan\u0131lacak tip belirtmek i\u00e7in kesin Types de\u011ferleri ile setObject() kullan\u0131n."; + t[554] = "Cannot call updateRow() when on the insert row."; + t[555] = "Insert kayd\u0131 \u00fczerinde updateRow() \u00e7a\u011f\u0131r\u0131lamaz."; + t[562] = "Detail: {0}"; + t[563] = "Ayr\u0131nt\u0131: {0}"; + t[566] = "Cannot call deleteRow() when on the insert row."; + t[567] = "Insert kayd\u0131 \u00fczerinde deleteRow() \u00e7a\u011f\u0131r\u0131lamaz."; + t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[569] = "\u015eu an ResultSet ba\u015flangc\u0131\u0131ndan \u00f6nce konumland\u0131. deleteRow() burada \u00e7a\u011f\u0131rabilirsiniz."; + t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[577] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: son de\u011fer yapay bir de\u011ferdir: {0}"; + t[578] = "Unknown Response Type {0}."; + t[579] = "Bilinmeyen yan\u0131t tipi {0}"; + t[582] = "Unsupported value for stringtype parameter: {0}"; + t[583] = "strinftype parametresi i\u00e7in destekleneyen de\u011fer: {0}"; + t[584] = "Conversion to type {0} failed: {1}."; + t[585] = "{0} veri tipine d\u00f6n\u00fc\u015ft\u00fcrme hatas\u0131: {1}."; + t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[587] = "Bu SQLXML nesnesi ilklendirilmemi\u015f; o y\u00fczden ondan veri alamazs\u0131n\u0131z."; + t[600] = "Unable to load the class {0} responsible for the datatype {1}"; + t[601] = "{1} veri tipinden sorumlu {0} s\u0131n\u0131f\u0131 y\u00fcklenemedi"; + t[604] = "The fastpath function {0} is unknown."; + t[605] = "{0} fastpath fonksiyonu bilinmemektedir."; + t[608] = "Malformed function or procedure escape syntax at offset {0}."; + t[609] = "{0} adresinde fonksiyon veya yordamda ka\u00e7\u0131\u015f s\u00f6z dizimi ge\u00e7ersiz."; + t[612] = "Provided Reader failed."; + t[613] = "Sa\u011flanm\u0131\u015f InputStream ba\u015far\u0131s\u0131z."; + t[614] = "Maximum number of rows must be a value grater than or equal to 0."; + t[615] = "En b\u00fcy\u00fck getirilecek sat\u0131r say\u0131s\u0131 s\u0131f\u0131rdan b\u00fcy\u00fck olmal\u0131d\u0131r."; + t[616] = "Failed to create object for: {0}."; + t[617] = "{0} i\u00e7in nesne olu\u015fturma hatas\u0131."; + t[620] = "Conversion of money failed."; + t[621] = "Money d\u00f6n\u00fc\u015ft\u00fcrmesi ba\u015far\u0131s\u0131z."; + t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[623] = "Giri\u015f ak\u0131m\u0131nda beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt al\u0131nd\u0131."; + t[626] = "An unexpected result was returned by a query."; + t[627] = "Sorgu beklenmeyen bir sonu\u00e7 d\u00f6nd\u00fcrd\u00fc."; + t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[645] = "Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[646] = "An error occurred while setting up the SSL connection."; + t[647] = "SSL ba\u011flant\u0131s\u0131 ayarlan\u0131rken bir hata olu\u015ftu."; + t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[655] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: {0} bayt, {1} bayt de\u011feri kodlamak i\u00e7in kullan\u0131lm\u0131\u015f: {2}"; + t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[657] = "Desteklenmiyor: Prepare, transaction ba\u015flatran ba\u011flant\u0131 taraf\u0131ndan \u00e7a\u011f\u0131rmal\u0131d\u0131r. currentXid={0}, prepare xid={1}"; + t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[659] = "SSLSocketFactory {0} ile \u00f6rneklenmedi."; + t[662] = "Failed to convert binary xml data to encoding: {0}."; + t[663] = "xml verisinin \u015fu dil kodlamas\u0131na \u00e7evirilmesi ba\u015far\u0131s\u0131z oldu: {0}"; + t[670] = "Position: {0}"; + t[671] = "Position: {0}"; + t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[677] = "Yer: Dosya: {0}, Yordam: {1}, Sat\u0131r: {2}"; + t[684] = "Cannot tell if path is open or closed: {0}."; + t[685] = "Path\u0131n a\u00e7\u0131k m\u0131 kapal\u0131 oldu\u011funu tespit edilemiyor: {0}."; + t[690] = "Unable to create StAXResult for SQLXML"; + t[691] = "SQLXML i\u00e7in StAXResult yarat\u0131lamad\u0131"; + t[700] = "Cannot convert an instance of {0} to type {1}"; + t[701] = "{0} instance, {1} tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclemiyor"; + t[710] = "{0} function takes four and only four argument."; + t[711] = "{0} fonksiyonunu yaln\u0131z d\u00f6rt parametre alabilir."; + t[718] = "Interrupted while attempting to connect."; + t[719] = "Ba\u011flan\u0131rken kesildi."; + t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[723] = "G\u00fcvenlik politikan\u0131z ba\u011flant\u0131n\u0131n kurulmas\u0131n\u0131 engelledi. java.net.SocketPermission'a veritaban\u0131na ve de ba\u011flanaca\u011f\u0131 porta ba\u011flant\u0131 izni vermelisiniz."; + t[728] = "Failed to initialize LargeObject API"; + t[729] = "LArgeObject API ilklendirme hatas\u0131"; + t[734] = "No function outputs were registered."; + t[735] = "Hi\u00e7bir fonksiyon \u00e7\u0131kt\u0131s\u0131 kaydedilmedi."; + t[736] = "{0} function takes one and only one argument."; + t[737] = "{0} fonksiyonunu yaln\u0131z tek bir parametre alabilir."; + t[744] = "This ResultSet is closed."; + t[745] = "ResultSet kapal\u0131d\u0131r."; + t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[747] = "Ge\u00e7ersiz karakterler bulunmu\u015ftur. Bunun sebebi, verilerde veritaban\u0131n destekledi\u011fi dil kodlamadaki karakterlerin d\u0131\u015f\u0131nda bir karaktere rastlamas\u0131d\u0131r. Bunun en yayg\u0131n \u00f6rne\u011fi 8 bitlik veriyi SQL_ASCII veritaban\u0131nda saklamas\u0131d\u0131r."; + t[752] = "Error disabling autocommit"; + t[753] = "autocommit'i devre d\u0131\u015f\u0131 b\u0131rakma s\u0131ras\u0131nda hata"; + t[754] = "Ran out of memory retrieving query results."; + t[755] = "Sorgu sonu\u00e7lar\u0131 al\u0131n\u0131rken bellek yetersiz."; + t[756] = "Returning autogenerated keys is not supported."; + t[757] = "Otomatik \u00fcretilen de\u011ferlerin getirilmesi desteklenememktedir."; + t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[761] = "\u0130\u015flem, kayd\u0131r\u0131labilen ResultSet gerektirir, ancak bu ResultSet FORWARD_ONLYdir."; + t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[763] = "CallableStatement \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131, ancak {2} tipi kaydedilmesine ra\u011fmen d\u00f6nd\u00fcrme parametresi {0} ve tipi {1} idi."; + t[764] = "Unable to find server array type for provided name {0}."; + t[765] = "Belirtilen {0} ad\u0131 i\u00e7in sunucu array tipi bulunamad\u0131."; + t[768] = "Unknown ResultSet holdability setting: {0}."; + t[769] = "ResultSet tutabilme ayar\u0131 ge\u00e7ersiz: {0}."; + t[772] = "Transaction isolation level {0} not supported."; + t[773] = "Transaction isolation level {0} desteklenmiyor."; + t[774] = "Zero bytes may not occur in identifiers."; + t[775] = "Belirte\u00e7lerde s\u0131f\u0131r bayt olamaz."; + t[776] = "No results were returned by the query."; + t[777] = "Sorgudan hi\u00e7 bir sonu\u00e7 d\u00f6nmedi."; + t[778] = "A CallableStatement was executed with nothing returned."; + t[779] = "CallableStatement \u00e7al\u0131\u015ft\u0131rma sonucunda veri getirilmedi."; + t[780] = "wasNull cannot be call before fetching a result."; + t[781] = "wasNull sonu\u00e7 \u00e7ekmeden \u00f6nce \u00e7a\u011f\u0131r\u0131lamaz."; + t[784] = "Returning autogenerated keys by column index is not supported."; + t[785] = "Kolonlar\u0131n indexlenmesi ile otomatik olarak olu\u015fturulan anahtarlar\u0131n d\u00f6nd\u00fcr\u00fclmesi desteklenmiyor."; + t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[787] = "Bu komut OUT parametresi bildirmemektedir. Bildirmek i\u00e7in '{' ?= call ... '}' kullan\u0131n."; + t[788] = "Can''t use relative move methods while on the insert row."; + t[789] = "Insert kayd\u0131 \u00fczerinde relative move method kullan\u0131lamaz."; + t[790] = "A CallableStatement was executed with an invalid number of parameters"; + t[791] = "CallableStatement ge\u00e7ersiz say\u0131da parametre ile \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131."; + t[792] = "Connection is busy with another transaction"; + t[793] = "Ba\u011flant\u0131, ba\u015fka bir transaction taraf\u0131ndan me\u015fgul ediliyor"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 397) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 395) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 794) + idx -= 794; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 794 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 794); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 794 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java new file mode 100644 index 0000000000..df243b5eac --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java @@ -0,0 +1,277 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_zh_CN extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[578]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-01-31 14:34+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: CHINA\nX-Poedit-SourceCharset: utf-8\n"; + t[6] = "Cannot call cancelRowUpdates() when on the insert row."; + t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; + t[8] = "The server requested password-based authentication, but no password was provided."; + t[9] = "\u670d\u52a1\u5668\u8981\u6c42\u4f7f\u7528\u5bc6\u7801\u9a8c\u8bc1\uff0c\u4f46\u662f\u5bc6\u7801\u5e76\u672a\u63d0\u4f9b\u3002"; + t[12] = "Detail: {0}"; + t[13] = "\u8be6\u7ec6\uff1a{0}"; + t[16] = "Can''t refresh the insert row."; + t[17] = "\u65e0\u6cd5\u91cd\u8bfb\u65b0\u589e\u7684\u6570\u636e\u5217\u3002"; + t[18] = "Connection has been closed."; + t[19] = "Connection \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[24] = "Bad value for type {0} : {1}"; + t[25] = "\u4e0d\u826f\u7684\u7c7b\u578b\u503c {0} : {1}"; + t[34] = "Failed to initialize LargeObject API"; + t[35] = "\u521d\u59cb\u5316 LargeObject API \u5931\u8d25"; + t[36] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[37] = "\u5927\u578b\u5bf9\u8c61\u7684\u622a\u65ad(Truncation)\u4ec5\u88ab\u5b9e\u4f5c\u6267\u884c\u5728 8.3 \u548c\u540e\u6765\u7684\u670d\u52a1\u5668\u3002"; + t[40] = "Cannot retrieve the name of an unnamed savepoint."; + t[41] = "\u65e0\u6cd5\u53d6\u5f97\u672a\u547d\u540d\u50a8\u5b58\u70b9(Savepoint)\u7684\u540d\u79f0\u3002"; + t[46] = "An error occurred while setting up the SSL connection."; + t[47] = "\u8fdb\u884c SSL \u8fde\u7ebf\u65f6\u53d1\u751f\u9519\u8bef\u3002"; + t[50] = "suspend/resume not implemented"; + t[51] = "\u6682\u505c(suspend)/\u518d\u7ee7\u7eed(resume)\u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[60] = "{0} function takes one and only one argument."; + t[61] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e00\u4e2a\u4e14\u4ec5\u6709\u4e00\u4e2a\u5f15\u6570\u3002"; + t[62] = "Conversion to type {0} failed: {1}."; + t[63] = "\u8f6c\u6362\u7c7b\u578b {0} \u5931\u8d25\uff1a{1}\u3002"; + t[66] = "Conversion of money failed."; + t[67] = "money \u8f6c\u6362\u5931\u8d25\u3002"; + t[70] = "A result was returned when none was expected."; + t[71] = "\u4f20\u56de\u9884\u671f\u4e4b\u5916\u7684\u7ed3\u679c\u3002"; + t[80] = "This PooledConnection has already been closed."; + t[81] = "\u8fd9\u4e2a PooledConnection \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[84] = "Multiple ResultSets were returned by the query."; + t[85] = "\u67e5\u8be2\u4f20\u56de\u591a\u4e2a ResultSet\u3002"; + t[90] = "Not on the insert row."; + t[91] = "\u4e0d\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u3002"; + t[94] = "An unexpected result was returned by a query."; + t[95] = "\u4f20\u56de\u975e\u9884\u671f\u7684\u67e5\u8be2\u7ed3\u679c\u3002"; + t[102] = "Internal Query: {0}"; + t[103] = "\u5185\u90e8\u67e5\u8be2\uff1a{0}"; + t[106] = "The array index is out of range: {0}"; + t[107] = "\u9635\u5217\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}"; + t[112] = "Connection attempt timed out."; + t[113] = "Connection \u5c1d\u8bd5\u903e\u65f6\u3002"; + t[114] = "Unable to find name datatype in the system catalogs."; + t[115] = "\u5728\u7cfb\u7edf catalog \u4e2d\u627e\u4e0d\u5230\u540d\u79f0\u6570\u636e\u7c7b\u578b(datatype)\u3002"; + t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[117] = "\u4e0d\u660e\u7684\u539f\u56e0\u5bfc\u81f4\u9a71\u52a8\u7a0b\u5e8f\u9020\u6210\u5931\u8d25\uff0c\u8bf7\u56de\u62a5\u8fd9\u4e2a\u4f8b\u5916\u3002"; + t[120] = "The array index is out of range: {0}, number of elements: {1}."; + t[121] = "\u9635\u5217\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u5143\u7d20\u6570\u91cf\uff1a{1}\u3002"; + t[138] = "Invalid flags {0}"; + t[139] = "\u65e0\u6548\u7684\u65d7\u6807 flags {0}"; + t[146] = "Unexpected error writing large object to database."; + t[147] = "\u5c06\u5927\u578b\u5bf9\u8c61(large object)\u5199\u5165\u6570\u636e\u5e93\u65f6\u53d1\u751f\u4e0d\u660e\u9519\u8bef\u3002"; + t[162] = "Query timeout must be a value greater than or equals to 0."; + t[163] = "\u67e5\u8be2\u903e\u65f6\u7b49\u5019\u65f6\u95f4\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[170] = "Unknown type {0}."; + t[171] = "\u4e0d\u660e\u7684\u7c7b\u578b {0}"; + t[174] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[175] = "\u8fd9\u670d\u52a1\u5668\u7684 standard_conforming_strings \u53c2\u6570\u5df2\u56de\u62a5\u4e3a {0}\uff0cJDBC \u9a71\u52a8\u7a0b\u5e8f\u5df2\u9884\u671f\u5f00\u542f\u6216\u662f\u5173\u95ed\u3002"; + t[176] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[177] = "\u53d1\u73b0\u4e0d\u5408\u6cd5\u7684\u5b57\u5143\uff0c\u53ef\u80fd\u7684\u539f\u56e0\u662f\u6b32\u50a8\u5b58\u7684\u6570\u636e\u4e2d\u5305\u542b\u6570\u636e\u5e93\u7684\u5b57\u5143\u96c6\u4e0d\u652f\u63f4\u7684\u5b57\u7801\uff0c\u5176\u4e2d\u6700\u5e38\u89c1\u4f8b\u5b50\u7684\u5c31\u662f\u5c06 8 \u4f4d\u5143\u6570\u636e\u5b58\u5165\u4f7f\u7528 SQL_ASCII \u7f16\u7801\u7684\u6570\u636e\u5e93\u4e2d\u3002"; + t[178] = "The column index is out of range: {0}, number of columns: {1}."; + t[179] = "\u680f\u4f4d\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u680f\u4f4d\u6570\uff1a{1}\u3002"; + t[180] = "The connection attempt failed."; + t[181] = "\u5c1d\u8bd5\u8fde\u7ebf\u5df2\u5931\u8d25\u3002"; + t[182] = "No value specified for parameter {0}."; + t[183] = "\u672a\u8bbe\u5b9a\u53c2\u6570\u503c {0} \u7684\u5185\u5bb9\u3002"; + t[190] = "Provided Reader failed."; + t[191] = "\u63d0\u4f9b\u7684 Reader \u5df2\u5931\u8d25\u3002"; + t[194] = "Unsupported value for stringtype parameter: {0}"; + t[195] = "\u5b57\u7b26\u7c7b\u578b\u53c2\u6570\u503c\u672a\u88ab\u652f\u6301\uff1a{0}"; + t[198] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[199] = "\u5df2\u7ecf\u5ba3\u544a CallableStatement \u51fd\u5f0f\uff0c\u4f46\u662f\u5c1a\u672a\u547c\u53eb registerOutParameter (1, ) \u3002"; + t[204] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[205] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u7b2c\u4e00\u7b14\u6570\u636e\u4e4b\u524d\u547c\u53eb deleteRow()\u3002"; + t[214] = "The maximum field size must be a value greater than or equal to 0."; + t[215] = "\u6700\u5927\u680f\u4f4d\u5bb9\u91cf\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[216] = "Fetch size must be a value greater to or equal to 0."; + t[217] = "\u6570\u636e\u8bfb\u53d6\u7b14\u6570(fetch size)\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[220] = "PostgreSQL LOBs can only index to: {0}"; + t[221] = "PostgreSQL LOBs \u4ec5\u80fd\u7d22\u5f15\u5230\uff1a{0}"; + t[224] = "The JVM claims not to support the encoding: {0}"; + t[225] = "JVM \u58f0\u660e\u5e76\u4e0d\u652f\u63f4\u7f16\u7801\uff1a{0} \u3002"; + t[226] = "Interval {0} not yet implemented"; + t[227] = "\u9694\u7edd {0} \u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[238] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[239] = "Fastpath \u547c\u53eb {0} - \u6ca1\u6709\u4f20\u56de\u503c\uff0c\u4e14\u5e94\u8be5\u4f20\u56de\u4e00\u4e2a\u6574\u6570\u3002"; + t[246] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[247] = "ResultSets \u4e0e\u5e76\u53d1\u540c\u4f5c(Concurrency) CONCUR_READ_ONLY \u4e0d\u80fd\u88ab\u66f4\u65b0\u3002"; + t[250] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[251] = "\u8fd9\u4e2a statement \u672a\u5ba3\u544a OUT \u53c2\u6570\uff0c\u4f7f\u7528 '{' ?= call ... '}' \u5ba3\u544a\u4e00\u4e2a\u3002"; + t[256] = "Cannot reference a savepoint after it has been released."; + t[257] = "\u65e0\u6cd5\u53c2\u7167\u5df2\u7ecf\u88ab\u91ca\u653e\u7684\u50a8\u5b58\u70b9\u3002"; + t[260] = "Unsupported Types value: {0}"; + t[261] = "\u672a\u88ab\u652f\u6301\u7684\u7c7b\u578b\u503c\uff1a{0}"; + t[266] = "Protocol error. Session setup failed."; + t[267] = "\u901a\u8baf\u534f\u5b9a\u9519\u8bef\uff0cSession \u521d\u59cb\u5316\u5931\u8d25\u3002"; + t[274] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[275] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u6700\u540e\u4e00\u7b14\u6570\u636e\u4e4b\u540e\u547c\u53eb deleteRow()\u3002"; + t[278] = "Internal Position: {0}"; + t[279] = "\u5185\u90e8\u4f4d\u7f6e\uff1a{0}"; + t[280] = "Zero bytes may not occur in identifiers."; + t[281] = "\u5728\u6807\u8bc6\u8bc6\u522b\u7b26\u4e2d\u4e0d\u5b58\u5728\u96f6\u4f4d\u5143\u7ec4\u3002"; + t[288] = "{0} function doesn''t take any argument."; + t[289] = "{0} \u51fd\u5f0f\u65e0\u6cd5\u53d6\u5f97\u4efb\u4f55\u7684\u5f15\u6570\u3002"; + t[300] = "This statement has been closed."; + t[301] = "\u8fd9\u4e2a statement \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[318] = "Cannot establish a savepoint in auto-commit mode."; + t[319] = "\u5728\u81ea\u52a8\u786e\u8ba4\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u65e0\u6cd5\u5efa\u7acb\u50a8\u5b58\u70b9(Savepoint)\u3002"; + t[320] = "Position: {0}"; + t[321] = "\u4f4d\u7f6e\uff1a{0}"; + t[322] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[323] = "\u4e0d\u53ef\u66f4\u65b0\u7684 ResultSet\u3002\u7528\u6765\u4ea7\u751f\u8fd9\u4e2a ResultSet \u7684 SQL \u547d\u4ee4\u53ea\u80fd\u64cd\u4f5c\u4e00\u4e2a\u6570\u636e\u8868\uff0c\u5e76\u4e14\u5fc5\u9700\u9009\u62e9\u6240\u6709\u4e3b\u952e\u680f\u4f4d\uff0c\u8be6\u7ec6\u8bf7\u53c2\u9605 JDBC 2.1 API \u89c4\u683c\u4e66 5.6 \u8282\u3002"; + t[330] = "This ResultSet is closed."; + t[331] = "\u8fd9\u4e2a ResultSet \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[338] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[339] = "\u5df2\u6ce8\u518c\u53c2\u6570\u7c7b\u578b {0}\uff0c\u4f46\u662f\u53c8\u547c\u53eb\u4e86get{1}(sqltype={2})\u3002"; + t[342] = "Transaction isolation level {0} not supported."; + t[343] = "\u4e0d\u652f\u63f4\u4ea4\u6613\u9694\u7edd\u7b49\u7ea7 {0} \u3002"; + t[344] = "Statement has been closed."; + t[345] = "Sstatement \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[352] = "Server SQLState: {0}"; + t[353] = "\u670d\u52a1\u5668 SQLState\uff1a{0}"; + t[354] = "No primary key found for table {0}."; + t[355] = "{0} \u6570\u636e\u8868\u4e2d\u672a\u627e\u5230\u4e3b\u952e(Primary key)\u3002"; + t[362] = "Cannot convert an instance of {0} to type {1}"; + t[363] = "\u65e0\u6cd5\u8f6c\u6362 {0} \u5230\u7c7b\u578b {1} \u7684\u5b9e\u4f8b"; + t[364] = "DataSource has been closed."; + t[365] = "DataSource \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[368] = "The column name {0} was not found in this ResultSet."; + t[369] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u680f\u4f4d\u540d\u79f0 {0}\u3002"; + t[372] = "ResultSet not positioned properly, perhaps you need to call next."; + t[373] = "\u67e5\u8be2\u7ed3\u679c\u6307\u6807\u4f4d\u7f6e\u4e0d\u6b63\u786e\uff0c\u60a8\u4e5f\u8bb8\u9700\u8981\u547c\u53eb ResultSet \u7684 next() \u65b9\u6cd5\u3002"; + t[378] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[379] = "\u65e0\u6cd5\u66f4\u65b0 ResultSet\uff0c\u53ef\u80fd\u5728\u7b2c\u4e00\u7b14\u6570\u636e\u4e4b\u524d\u6216\u6700\u672a\u7b14\u6570\u636e\u4e4b\u540e\u3002"; + t[380] = "Method {0} is not yet implemented."; + t[381] = "\u8fd9\u4e2a {0} \u65b9\u6cd5\u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[382] = "{0} function takes two or three arguments."; + t[383] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u4e2a\u6216\u4e09\u4e2a\u5f15\u6570\u3002"; + t[384] = "The JVM claims not to support the {0} encoding."; + t[385] = "JVM \u58f0\u660e\u5e76\u4e0d\u652f\u63f4 {0} \u7f16\u7801\u3002"; + t[396] = "Unknown Response Type {0}."; + t[397] = "\u4e0d\u660e\u7684\u56de\u5e94\u7c7b\u578b {0}\u3002"; + t[398] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[399] = "\u53c2\u6570\u7d22\u5f15\u8d85\u51fa\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u53c2\u6570\u603b\u6570\uff1a{1}\u3002"; + t[400] = "Where: {0}"; + t[401] = "\u5728\u4f4d\u7f6e\uff1a{0}"; + t[406] = "Cannot call deleteRow() when on the insert row."; + t[407] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[414] = "{0} function takes four and only four argument."; + t[415] = "{0} \u51fd\u5f0f\u53d6\u5f97\u56db\u4e2a\u4e14\u4ec5\u6709\u56db\u4e2a\u5f15\u6570\u3002"; + t[416] = "Unable to translate data into the desired encoding."; + t[417] = "\u65e0\u6cd5\u5c06\u6570\u636e\u8f6c\u6210\u76ee\u6807\u7f16\u7801\u3002"; + t[424] = "Can''t use relative move methods while on the insert row."; + t[425] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u4f7f\u7528\u76f8\u5bf9\u4f4d\u7f6e move \u65b9\u6cd5\u3002"; + t[434] = "Invalid stream length {0}."; + t[435] = "\u65e0\u6548\u7684\u4e32\u6d41\u957f\u5ea6 {0}."; + t[436] = "The driver currently does not support COPY operations."; + t[437] = "\u9a71\u52a8\u7a0b\u5e8f\u76ee\u524d\u4e0d\u652f\u63f4 COPY \u64cd\u4f5c\u3002"; + t[440] = "Maximum number of rows must be a value grater than or equal to 0."; + t[441] = "\u6700\u5927\u6570\u636e\u8bfb\u53d6\u7b14\u6570\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[446] = "Failed to create object for: {0}."; + t[447] = "\u4e3a {0} \u5efa\u7acb\u5bf9\u8c61\u5931\u8d25\u3002"; + t[448] = "{0} function takes three and only three arguments."; + t[449] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e09\u4e2a\u4e14\u4ec5\u6709\u4e09\u4e2a\u5f15\u6570\u3002"; + t[450] = "Conversion of interval failed"; + t[451] = "\u9694\u7edd(Interval)\u8f6c\u6362\u5931\u8d25\u3002"; + t[452] = "Cannot tell if path is open or closed: {0}."; + t[453] = "\u65e0\u6cd5\u5f97\u77e5 path \u662f\u5f00\u542f\u6216\u5173\u95ed\uff1a{0}\u3002"; + t[460] = "Provided InputStream failed."; + t[461] = "\u63d0\u4f9b\u7684 InputStream \u5df2\u5931\u8d25\u3002"; + t[462] = "Invalid fetch direction constant: {0}."; + t[463] = "\u65e0\u6548\u7684 fetch \u65b9\u5411\u5e38\u6570\uff1a{0}\u3002"; + t[472] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[473] = "\u4e8b\u7269\u4ea4\u6613\u9694\u7edd(Transaction interleaving)\u672a\u88ab\u5b9e\u4f5c\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[474] = "{0} function takes two and only two arguments."; + t[475] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u4e2a\u4e14\u4ec5\u6709\u4e8c\u4e2a\u5f15\u6570\u3002"; + t[476] = "There are no rows in this ResultSet."; + t[477] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u6570\u636e\u5217\u3002"; + t[478] = "Zero bytes may not occur in string parameters."; + t[479] = "\u5b57\u7b26\u53c2\u6570\u4e0d\u80fd\u6709 0 \u4e2a\u4f4d\u5143\u7ec4\u3002"; + t[480] = "Cannot call updateRow() when on the insert row."; + t[481] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[482] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[483] = "Connection \u5df2\u81ea\u52a8\u7ed3\u675f\uff0c\u56e0\u4e3a\u4e00\u4e2a\u65b0\u7684 PooledConnection \u8fde\u7ebf\u88ab\u5f00\u542f\u6216\u8005\u6216 PooledConnection \u5df2\u88ab\u5173\u95ed\u3002"; + t[488] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[489] = "\u4e00\u4e2a CallableStatement \u6267\u884c\u51fd\u5f0f\u540e\u8f93\u51fa\u7684\u53c2\u6570\u7c7b\u578b\u4e3a {1} \u503c\u4e3a {0}\uff0c\u4f46\u662f\u5df2\u6ce8\u518c\u7684\u7c7b\u578b\u662f {2}\u3002"; + t[494] = "Cannot cast an instance of {0} to type {1}"; + t[495] = "\u4e0d\u80fd\u8f6c\u6362\u4e00\u4e2a {0} \u5b9e\u4f8b\u5230\u7c7b\u578b {1}"; + t[498] = "Cannot retrieve the id of a named savepoint."; + t[499] = "\u65e0\u6cd5\u53d6\u5f97\u5df2\u547d\u540d\u50a8\u5b58\u70b9\u7684 id\u3002"; + t[500] = "Cannot change transaction read-only property in the middle of a transaction."; + t[501] = "\u4e0d\u80fd\u5728\u4e8b\u7269\u4ea4\u6613\u8fc7\u7a0b\u4e2d\u6539\u53d8\u4e8b\u7269\u4ea4\u6613\u552f\u8bfb\u5c5e\u6027\u3002"; + t[502] = "The server does not support SSL."; + t[503] = "\u670d\u52a1\u5668\u4e0d\u652f\u63f4 SSL \u8fde\u7ebf\u3002"; + t[510] = "A connection could not be made using the requested protocol {0}."; + t[511] = "\u65e0\u6cd5\u4ee5\u8981\u6c42\u7684\u901a\u8baf\u534f\u5b9a {0} \u5efa\u7acb\u8fde\u7ebf\u3002"; + t[512] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[513] = "\u4e0d\u652f\u63f4 {0} \u9a8c\u8bc1\u7c7b\u578b\u3002\u8bf7\u6838\u5bf9\u60a8\u5df2\u7ecf\u7ec4\u6001 pg_hba.conf \u6587\u4ef6\u5305\u542b\u5ba2\u6237\u7aef\u7684IP\u4f4d\u5740\u6216\u7f51\u8def\u533a\u6bb5\uff0c\u4ee5\u53ca\u9a71\u52a8\u7a0b\u5e8f\u6240\u652f\u63f4\u7684\u9a8c\u8bc1\u67b6\u6784\u6a21\u5f0f\u5df2\u88ab\u652f\u63f4\u3002"; + t[514] = "Malformed function or procedure escape syntax at offset {0}."; + t[515] = "\u4e0d\u6b63\u786e\u7684\u51fd\u5f0f\u6216\u7a0b\u5e8f escape \u8bed\u6cd5\u4e8e {0}\u3002"; + t[516] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[517] = "\u8fd9\u670d\u52a1\u5668\u7684 DateStyle \u53c2\u6570\u88ab\u66f4\u6539\u6210 {0}\uff0cJDBC \u9a71\u52a8\u7a0b\u5e8f\u8bf7\u6c42\u9700\u8981 DateStyle \u4ee5 ISO \u5f00\u5934\u4ee5\u6b63\u786e\u5de5\u4f5c\u3002"; + t[518] = "No results were returned by the query."; + t[519] = "\u67e5\u8be2\u6ca1\u6709\u4f20\u56de\u4efb\u4f55\u7ed3\u679c\u3002"; + t[520] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[521] = "\u4f4d\u7f6e\uff1a\u6587\u4ef6\uff1a{0}\uff0c\u5e38\u5f0f\uff1a{1}\uff0c\u884c\uff1a{2}"; + t[526] = "Hint: {0}"; + t[527] = "\u5efa\u8bae\uff1a{0}"; + t[528] = "A CallableStatement was executed with nothing returned."; + t[529] = "\u4e00\u4e2a CallableStatement \u6267\u884c\u51fd\u5f0f\u540e\u6ca1\u6709\u4f20\u56de\u503c\u3002"; + t[530] = "Unknown ResultSet holdability setting: {0}."; + t[531] = "\u672a\u77e5\u7684 ResultSet \u53ef\u9002\u7528\u7684\u8bbe\u7f6e\uff1a{0}\u3002"; + t[540] = "Cannot change transaction isolation level in the middle of a transaction."; + t[541] = "\u4e0d\u80fd\u5728\u4e8b\u52a1\u4ea4\u6613\u8fc7\u7a0b\u4e2d\u6539\u53d8\u4e8b\u7269\u4ea4\u6613\u9694\u7edd\u7b49\u7ea7\u3002"; + t[544] = "The fastpath function {0} is unknown."; + t[545] = "\u4e0d\u660e\u7684 fastpath \u51fd\u5f0f {0}\u3002"; + t[546] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[547] = "\u5728 PreparedStatement \u4e0a\u4e0d\u80fd\u4f7f\u7528\u83b7\u53d6\u67e5\u8be2\u5b57\u7b26\u7684\u67e5\u8be2\u65b9\u6cd5\u3002"; + t[556] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[557] = "\u64cd\u4f5c\u8981\u6c42\u53ef\u5377\u52a8\u7684 ResultSet\uff0c\u4f46\u6b64 ResultSet \u662f FORWARD_ONLY\u3002"; + t[564] = "Unknown Types value."; + t[565] = "\u4e0d\u660e\u7684\u7c7b\u578b\u503c\u3002"; + t[570] = "Large Objects may not be used in auto-commit mode."; + t[571] = "\u5927\u578b\u5bf9\u8c61\u65e0\u6cd5\u88ab\u4f7f\u7528\u5728\u81ea\u52a8\u786e\u8ba4\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u3002"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 289) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 287) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 578) + idx -= 578; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 578 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 578); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 578 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java new file mode 100644 index 0000000000..fb72bb5bb9 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java @@ -0,0 +1,277 @@ +/* Automatically generated by GNU msgfmt. Do not modify! */ +package org.postgresql.translation; +public class messages_zh_TW extends java.util.ResourceBundle { + private static final java.lang.String[] table; + static { + java.lang.String[] t = new java.lang.String[578]; + t[0] = ""; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-01-21 16:50+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: TAIWAN\nX-Poedit-SourceCharset: utf-8\n"; + t[6] = "Cannot call cancelRowUpdates() when on the insert row."; + t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; + t[8] = "The server requested password-based authentication, but no password was provided."; + t[9] = "\u4f3a\u670d\u5668\u8981\u6c42\u4f7f\u7528\u5bc6\u78bc\u9a57\u8b49\uff0c\u4f46\u662f\u5bc6\u78bc\u4e26\u672a\u63d0\u4f9b\u3002"; + t[12] = "Detail: {0}"; + t[13] = "\u8a73\u7d30\uff1a{0}"; + t[16] = "Can''t refresh the insert row."; + t[17] = "\u7121\u6cd5\u91cd\u8b80\u65b0\u589e\u7684\u8cc7\u6599\u5217\u3002"; + t[18] = "Connection has been closed."; + t[19] = "Connection \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[24] = "Bad value for type {0} : {1}"; + t[25] = "\u4e0d\u826f\u7684\u578b\u5225\u503c {0} : {1}"; + t[34] = "Failed to initialize LargeObject API"; + t[35] = "\u521d\u59cb\u5316 LargeObject API \u5931\u6557"; + t[36] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[37] = "\u5927\u578b\u7269\u4ef6\u7684\u622a\u65b7(Truncation)\u50c5\u88ab\u5be6\u4f5c\u57f7\u884c\u5728 8.3 \u548c\u5f8c\u4f86\u7684\u4f3a\u670d\u5668\u3002"; + t[40] = "Cannot retrieve the name of an unnamed savepoint."; + t[41] = "\u7121\u6cd5\u53d6\u5f97\u672a\u547d\u540d\u5132\u5b58\u9ede(Savepoint)\u7684\u540d\u7a31\u3002"; + t[46] = "An error occurred while setting up the SSL connection."; + t[47] = "\u9032\u884c SSL \u9023\u7dda\u6642\u767c\u751f\u932f\u8aa4\u3002"; + t[50] = "suspend/resume not implemented"; + t[51] = "\u66ab\u505c(suspend)/\u518d\u7e7c\u7e8c(resume)\u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[60] = "{0} function takes one and only one argument."; + t[61] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e00\u500b\u4e14\u50c5\u6709\u4e00\u500b\u5f15\u6578\u3002"; + t[62] = "Conversion to type {0} failed: {1}."; + t[63] = "\u8f49\u63db\u578b\u5225 {0} \u5931\u6557\uff1a{1}\u3002"; + t[66] = "Conversion of money failed."; + t[67] = "money \u8f49\u63db\u5931\u6557\u3002"; + t[70] = "A result was returned when none was expected."; + t[71] = "\u50b3\u56de\u9810\u671f\u4e4b\u5916\u7684\u7d50\u679c\u3002"; + t[80] = "This PooledConnection has already been closed."; + t[81] = "\u9019\u500b PooledConnection \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[84] = "Multiple ResultSets were returned by the query."; + t[85] = "\u67e5\u8a62\u50b3\u56de\u591a\u500b ResultSet\u3002"; + t[90] = "Not on the insert row."; + t[91] = "\u4e0d\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u3002"; + t[94] = "An unexpected result was returned by a query."; + t[95] = "\u50b3\u56de\u975e\u9810\u671f\u7684\u67e5\u8a62\u7d50\u679c\u3002"; + t[102] = "Internal Query: {0}"; + t[103] = "\u5167\u90e8\u67e5\u8a62\uff1a{0}"; + t[106] = "The array index is out of range: {0}"; + t[107] = "\u9663\u5217\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}"; + t[112] = "Connection attempt timed out."; + t[113] = "Connection \u5617\u8a66\u903e\u6642\u3002"; + t[114] = "Unable to find name datatype in the system catalogs."; + t[115] = "\u5728\u7cfb\u7d71 catalog \u4e2d\u627e\u4e0d\u5230\u540d\u7a31\u8cc7\u6599\u985e\u578b(datatype)\u3002"; + t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[117] = "\u4e0d\u660e\u7684\u539f\u56e0\u5c0e\u81f4\u9a45\u52d5\u7a0b\u5f0f\u9020\u6210\u5931\u6557\uff0c\u8acb\u56de\u5831\u9019\u500b\u4f8b\u5916\u3002"; + t[120] = "The array index is out of range: {0}, number of elements: {1}."; + t[121] = "\u9663\u5217\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u5143\u7d20\u6578\u91cf\uff1a{1}\u3002"; + t[138] = "Invalid flags {0}"; + t[139] = "\u7121\u6548\u7684\u65d7\u6a19 {0}"; + t[146] = "Unexpected error writing large object to database."; + t[147] = "\u5c07\u5927\u578b\u7269\u4ef6(large object)\u5beb\u5165\u8cc7\u6599\u5eab\u6642\u767c\u751f\u4e0d\u660e\u932f\u8aa4\u3002"; + t[162] = "Query timeout must be a value greater than or equals to 0."; + t[163] = "\u67e5\u8a62\u903e\u6642\u7b49\u5019\u6642\u9593\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[170] = "Unknown type {0}."; + t[171] = "\u4e0d\u660e\u7684\u578b\u5225 {0}"; + t[174] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; + t[175] = "\u9019\u4f3a\u670d\u5668\u7684 standard_conforming_strings \u53c3\u6578\u5df2\u56de\u5831\u70ba {0}\uff0cJDBC \u9a45\u52d5\u7a0b\u5f0f\u5df2\u9810\u671f\u958b\u555f\u6216\u662f\u95dc\u9589\u3002"; + t[176] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[177] = "\u767c\u73fe\u4e0d\u5408\u6cd5\u7684\u5b57\u5143\uff0c\u53ef\u80fd\u7684\u539f\u56e0\u662f\u6b32\u5132\u5b58\u7684\u8cc7\u6599\u4e2d\u5305\u542b\u8cc7\u6599\u5eab\u7684\u5b57\u5143\u96c6\u4e0d\u652f\u63f4\u7684\u5b57\u78bc\uff0c\u5176\u4e2d\u6700\u5e38\u898b\u4f8b\u5b50\u7684\u5c31\u662f\u5c07 8 \u4f4d\u5143\u8cc7\u6599\u5b58\u5165\u4f7f\u7528 SQL_ASCII \u7de8\u78bc\u7684\u8cc7\u6599\u5eab\u4e2d\u3002"; + t[178] = "The column index is out of range: {0}, number of columns: {1}."; + t[179] = "\u6b04\u4f4d\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u6b04\u4f4d\u6578\uff1a{1}\u3002"; + t[180] = "The connection attempt failed."; + t[181] = "\u5617\u8a66\u9023\u7dda\u5df2\u5931\u6557\u3002"; + t[182] = "No value specified for parameter {0}."; + t[183] = "\u672a\u8a2d\u5b9a\u53c3\u6578\u503c {0} \u7684\u5167\u5bb9\u3002"; + t[190] = "Provided Reader failed."; + t[191] = "\u63d0\u4f9b\u7684 Reader \u5df2\u5931\u6557\u3002"; + t[194] = "Unsupported value for stringtype parameter: {0}"; + t[195] = "\u5b57\u4e32\u578b\u5225\u53c3\u6578\u503c\u672a\u88ab\u652f\u6301\uff1a{0}"; + t[198] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[199] = "\u5df2\u7d93\u5ba3\u544a CallableStatement \u51fd\u5f0f\uff0c\u4f46\u662f\u5c1a\u672a\u547c\u53eb registerOutParameter (1, ) \u3002"; + t[204] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[205] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u7b2c\u4e00\u7b46\u8cc7\u6599\u4e4b\u524d\u547c\u53eb deleteRow()\u3002"; + t[214] = "The maximum field size must be a value greater than or equal to 0."; + t[215] = "\u6700\u5927\u6b04\u4f4d\u5bb9\u91cf\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[216] = "Fetch size must be a value greater to or equal to 0."; + t[217] = "\u8cc7\u6599\u8b80\u53d6\u7b46\u6578(fetch size)\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[220] = "PostgreSQL LOBs can only index to: {0}"; + t[221] = "PostgreSQL LOBs \u50c5\u80fd\u7d22\u5f15\u5230\uff1a{0}"; + t[224] = "The JVM claims not to support the encoding: {0}"; + t[225] = "JVM \u8072\u660e\u4e26\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0} \u3002"; + t[226] = "Interval {0} not yet implemented"; + t[227] = "\u9694\u7d55 {0} \u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[238] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[239] = "Fastpath \u547c\u53eb {0} - \u6c92\u6709\u50b3\u56de\u503c\uff0c\u4e14\u61c9\u8a72\u50b3\u56de\u4e00\u500b\u6574\u6578\u3002"; + t[246] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[247] = "ResultSets \u8207\u4e26\u767c\u540c\u4f5c(Concurrency) CONCUR_READ_ONLY \u4e0d\u80fd\u88ab\u66f4\u65b0\u3002"; + t[250] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[251] = "\u9019\u500b statement \u672a\u5ba3\u544a OUT \u53c3\u6578\uff0c\u4f7f\u7528 '{' ?= call ... '}' \u5ba3\u544a\u4e00\u500b\u3002"; + t[256] = "Cannot reference a savepoint after it has been released."; + t[257] = "\u7121\u6cd5\u53c3\u7167\u5df2\u7d93\u88ab\u91cb\u653e\u7684\u5132\u5b58\u9ede\u3002"; + t[260] = "Unsupported Types value: {0}"; + t[261] = "\u672a\u88ab\u652f\u6301\u7684\u578b\u5225\u503c\uff1a{0}"; + t[266] = "Protocol error. Session setup failed."; + t[267] = "\u901a\u8a0a\u5354\u5b9a\u932f\u8aa4\uff0cSession \u521d\u59cb\u5316\u5931\u6557\u3002"; + t[274] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; + t[275] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u6700\u5f8c\u4e00\u7b46\u8cc7\u6599\u4e4b\u5f8c\u547c\u53eb deleteRow()\u3002"; + t[278] = "Internal Position: {0}"; + t[279] = "\u5167\u90e8\u4f4d\u7f6e\uff1a{0}"; + t[280] = "Zero bytes may not occur in identifiers."; + t[281] = "\u5728\u6a19\u8b58\u8b58\u5225\u7b26\u4e2d\u4e0d\u5b58\u5728\u96f6\u4f4d\u5143\u7d44\u3002"; + t[288] = "{0} function doesn''t take any argument."; + t[289] = "{0} \u51fd\u5f0f\u7121\u6cd5\u53d6\u5f97\u4efb\u4f55\u7684\u5f15\u6578\u3002"; + t[300] = "This statement has been closed."; + t[301] = "\u9019\u500b statement \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[318] = "Cannot establish a savepoint in auto-commit mode."; + t[319] = "\u5728\u81ea\u52d5\u78ba\u8a8d\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u7121\u6cd5\u5efa\u7acb\u5132\u5b58\u9ede(Savepoint)\u3002"; + t[320] = "Position: {0}"; + t[321] = "\u4f4d\u7f6e\uff1a{0}"; + t[322] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[323] = "\u4e0d\u53ef\u66f4\u65b0\u7684 ResultSet\u3002\u7528\u4f86\u7522\u751f\u9019\u500b ResultSet \u7684 SQL \u547d\u4ee4\u53ea\u80fd\u64cd\u4f5c\u4e00\u500b\u8cc7\u6599\u8868\uff0c\u4e26\u4e14\u5fc5\u9700\u9078\u64c7\u6240\u6709\u4e3b\u9375\u6b04\u4f4d\uff0c\u8a73\u7d30\u8acb\u53c3\u95b1 JDBC 2.1 API \u898f\u683c\u66f8 5.6 \u7bc0\u3002"; + t[330] = "This ResultSet is closed."; + t[331] = "\u9019\u500b ResultSet \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[338] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[339] = "\u5df2\u8a3b\u518a\u53c3\u6578\u578b\u5225 {0}\uff0c\u4f46\u662f\u53c8\u547c\u53eb\u4e86get{1}(sqltype={2})\u3002"; + t[342] = "Transaction isolation level {0} not supported."; + t[343] = "\u4e0d\u652f\u63f4\u4ea4\u6613\u9694\u7d55\u7b49\u7d1a {0} \u3002"; + t[344] = "Statement has been closed."; + t[345] = "Sstatement \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[352] = "Server SQLState: {0}"; + t[353] = "\u4f3a\u670d\u5668 SQLState\uff1a{0}"; + t[354] = "No primary key found for table {0}."; + t[355] = "{0} \u8cc7\u6599\u8868\u4e2d\u672a\u627e\u5230\u4e3b\u9375(Primary key)\u3002"; + t[362] = "Cannot convert an instance of {0} to type {1}"; + t[363] = "\u7121\u6cd5\u8f49\u63db {0} \u5230\u985e\u578b {1} \u7684\u5be6\u4f8b"; + t[364] = "DataSource has been closed."; + t[365] = "DataSource \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[368] = "The column name {0} was not found in this ResultSet."; + t[369] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u6b04\u4f4d\u540d\u7a31 {0}\u3002"; + t[372] = "ResultSet not positioned properly, perhaps you need to call next."; + t[373] = "\u67e5\u8a62\u7d50\u679c\u6307\u6a19\u4f4d\u7f6e\u4e0d\u6b63\u78ba\uff0c\u60a8\u4e5f\u8a31\u9700\u8981\u547c\u53eb ResultSet \u7684 next() \u65b9\u6cd5\u3002"; + t[378] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[379] = "\u7121\u6cd5\u66f4\u65b0 ResultSet\uff0c\u53ef\u80fd\u5728\u7b2c\u4e00\u7b46\u8cc7\u6599\u4e4b\u524d\u6216\u6700\u672a\u7b46\u8cc7\u6599\u4e4b\u5f8c\u3002"; + t[380] = "Method {0} is not yet implemented."; + t[381] = "\u9019\u500b {0} \u65b9\u6cd5\u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[382] = "{0} function takes two or three arguments."; + t[383] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u500b\u6216\u4e09\u500b\u5f15\u6578\u3002"; + t[384] = "The JVM claims not to support the {0} encoding."; + t[385] = "JVM \u8072\u660e\u4e26\u4e0d\u652f\u63f4 {0} \u7de8\u78bc\u3002"; + t[396] = "Unknown Response Type {0}."; + t[397] = "\u4e0d\u660e\u7684\u56de\u61c9\u985e\u578b {0}\u3002"; + t[398] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[399] = "\u53c3\u6578\u7d22\u5f15\u8d85\u51fa\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u53c3\u6578\u7e3d\u6578\uff1a{1}\u3002"; + t[400] = "Where: {0}"; + t[401] = "\u5728\u4f4d\u7f6e\uff1a{0}"; + t[406] = "Cannot call deleteRow() when on the insert row."; + t[407] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[414] = "{0} function takes four and only four argument."; + t[415] = "{0} \u51fd\u5f0f\u53d6\u5f97\u56db\u500b\u4e14\u50c5\u6709\u56db\u500b\u5f15\u6578\u3002"; + t[416] = "Unable to translate data into the desired encoding."; + t[417] = "\u7121\u6cd5\u5c07\u8cc7\u6599\u8f49\u6210\u76ee\u6a19\u7de8\u78bc\u3002"; + t[424] = "Can''t use relative move methods while on the insert row."; + t[425] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u4f7f\u7528\u76f8\u5c0d\u4f4d\u7f6e move \u65b9\u6cd5\u3002"; + t[434] = "Invalid stream length {0}."; + t[435] = "\u7121\u6548\u7684\u4e32\u6d41\u9577\u5ea6 {0}."; + t[436] = "The driver currently does not support COPY operations."; + t[437] = "\u9a45\u52d5\u7a0b\u5f0f\u76ee\u524d\u4e0d\u652f\u63f4 COPY \u64cd\u4f5c\u3002"; + t[440] = "Maximum number of rows must be a value grater than or equal to 0."; + t[441] = "\u6700\u5927\u8cc7\u6599\u8b80\u53d6\u7b46\u6578\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[446] = "Failed to create object for: {0}."; + t[447] = "\u70ba {0} \u5efa\u7acb\u7269\u4ef6\u5931\u6557\u3002"; + t[448] = "{0} function takes three and only three arguments."; + t[449] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e09\u500b\u4e14\u50c5\u6709\u4e09\u500b\u5f15\u6578\u3002"; + t[450] = "Conversion of interval failed"; + t[451] = "\u9694\u7d55(Interval)\u8f49\u63db\u5931\u6557\u3002"; + t[452] = "Cannot tell if path is open or closed: {0}."; + t[453] = "\u7121\u6cd5\u5f97\u77e5 path \u662f\u958b\u555f\u6216\u95dc\u9589\uff1a{0}\u3002"; + t[460] = "Provided InputStream failed."; + t[461] = "\u63d0\u4f9b\u7684 InputStream \u5df2\u5931\u6557\u3002"; + t[462] = "Invalid fetch direction constant: {0}."; + t[463] = "\u7121\u6548\u7684 fetch \u65b9\u5411\u5e38\u6578\uff1a{0}\u3002"; + t[472] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[473] = "\u4e8b\u7269\u4ea4\u6613\u9694\u7d55(Transaction interleaving)\u672a\u88ab\u5be6\u4f5c\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[474] = "{0} function takes two and only two arguments."; + t[475] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u500b\u4e14\u50c5\u6709\u4e8c\u500b\u5f15\u6578\u3002"; + t[476] = "There are no rows in this ResultSet."; + t[477] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u8cc7\u6599\u5217\u3002"; + t[478] = "Zero bytes may not occur in string parameters."; + t[479] = "\u5b57\u4e32\u53c3\u6578\u4e0d\u80fd\u6709 0 \u500b\u4f4d\u5143\u7d44\u3002"; + t[480] = "Cannot call updateRow() when on the insert row."; + t[481] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[482] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[483] = "Connection \u5df2\u81ea\u52d5\u7d50\u675f\uff0c\u56e0\u70ba\u4e00\u500b\u65b0\u7684 PooledConnection \u9023\u7dda\u88ab\u958b\u555f\u6216\u8005\u6216 PooledConnection \u5df2\u88ab\u95dc\u9589\u3002"; + t[488] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[489] = "\u4e00\u500b CallableStatement \u57f7\u884c\u51fd\u5f0f\u5f8c\u8f38\u51fa\u7684\u53c3\u6578\u578b\u5225\u70ba {1} \u503c\u70ba {0}\uff0c\u4f46\u662f\u5df2\u8a3b\u518a\u7684\u578b\u5225\u662f {2}\u3002"; + t[494] = "Cannot cast an instance of {0} to type {1}"; + t[495] = "\u4e0d\u80fd\u8f49\u63db\u4e00\u500b {0} \u5be6\u4f8b\u5230\u578b\u5225 {1}"; + t[498] = "Cannot retrieve the id of a named savepoint."; + t[499] = "\u7121\u6cd5\u53d6\u5f97\u5df2\u547d\u540d\u5132\u5b58\u9ede\u7684 id\u3002"; + t[500] = "Cannot change transaction read-only property in the middle of a transaction."; + t[501] = "\u4e0d\u80fd\u5728\u4e8b\u7269\u4ea4\u6613\u904e\u7a0b\u4e2d\u6539\u8b8a\u4e8b\u7269\u4ea4\u6613\u552f\u8b80\u5c6c\u6027\u3002"; + t[502] = "The server does not support SSL."; + t[503] = "\u4f3a\u670d\u5668\u4e0d\u652f\u63f4 SSL \u9023\u7dda\u3002"; + t[510] = "A connection could not be made using the requested protocol {0}."; + t[511] = "\u7121\u6cd5\u4ee5\u8981\u6c42\u7684\u901a\u8a0a\u5354\u5b9a {0} \u5efa\u7acb\u9023\u7dda\u3002"; + t[512] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[513] = "\u4e0d\u652f\u63f4 {0} \u9a57\u8b49\u578b\u5225\u3002\u8acb\u6838\u5c0d\u60a8\u5df2\u7d93\u7d44\u614b pg_hba.conf \u6a94\u6848\u5305\u542b\u5ba2\u6236\u7aef\u7684IP\u4f4d\u5740\u6216\u7db2\u8def\u5340\u6bb5\uff0c\u4ee5\u53ca\u9a45\u52d5\u7a0b\u5f0f\u6240\u652f\u63f4\u7684\u9a57\u8b49\u67b6\u69cb\u6a21\u5f0f\u5df2\u88ab\u652f\u63f4\u3002"; + t[514] = "Malformed function or procedure escape syntax at offset {0}."; + t[515] = "\u4e0d\u6b63\u78ba\u7684\u51fd\u5f0f\u6216\u7a0b\u5e8f escape \u8a9e\u6cd5\u65bc {0}\u3002"; + t[516] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[517] = "\u9019\u4f3a\u670d\u5668\u7684 DateStyle \u53c3\u6578\u88ab\u66f4\u6539\u6210 {0}\uff0cJDBC \u9a45\u52d5\u7a0b\u5f0f\u8acb\u6c42\u9700\u8981 DateStyle \u4ee5 ISO \u958b\u982d\u4ee5\u6b63\u78ba\u5de5\u4f5c\u3002"; + t[518] = "No results were returned by the query."; + t[519] = "\u67e5\u8a62\u6c92\u6709\u50b3\u56de\u4efb\u4f55\u7d50\u679c\u3002"; + t[520] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[521] = "\u4f4d\u7f6e\uff1a\u6a94\u6848\uff1a{0}\uff0c\u5e38\u5f0f\uff1a{1}\uff0c\u884c\uff1a{2}"; + t[526] = "Hint: {0}"; + t[527] = "\u5efa\u8b70\uff1a{0}"; + t[528] = "A CallableStatement was executed with nothing returned."; + t[529] = "\u4e00\u500b CallableStatement \u57f7\u884c\u51fd\u5f0f\u5f8c\u6c92\u6709\u50b3\u56de\u503c\u3002"; + t[530] = "Unknown ResultSet holdability setting: {0}."; + t[531] = "\u672a\u77e5\u7684 ResultSet \u53ef\u9069\u7528\u7684\u8a2d\u7f6e\uff1a{0}\u3002"; + t[540] = "Cannot change transaction isolation level in the middle of a transaction."; + t[541] = "\u4e0d\u80fd\u5728\u4e8b\u52d9\u4ea4\u6613\u904e\u7a0b\u4e2d\u6539\u8b8a\u4e8b\u7269\u4ea4\u6613\u9694\u7d55\u7b49\u7d1a\u3002"; + t[544] = "The fastpath function {0} is unknown."; + t[545] = "\u4e0d\u660e\u7684 fastpath \u51fd\u5f0f {0}\u3002"; + t[546] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[547] = "\u5728 PreparedStatement \u4e0a\u4e0d\u80fd\u4f7f\u7528\u7372\u53d6\u67e5\u8a62\u5b57\u4e32\u7684\u67e5\u8a62\u65b9\u6cd5\u3002"; + t[556] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[557] = "\u64cd\u4f5c\u8981\u6c42\u53ef\u6372\u52d5\u7684 ResultSet\uff0c\u4f46\u6b64 ResultSet \u662f FORWARD_ONLY\u3002"; + t[564] = "Unknown Types value."; + t[565] = "\u4e0d\u660e\u7684\u578b\u5225\u503c\u3002"; + t[570] = "Large Objects may not be used in auto-commit mode."; + t[571] = "\u5927\u578b\u7269\u4ef6\u7121\u6cd5\u88ab\u4f7f\u7528\u5728\u81ea\u52d5\u78ba\u8a8d\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u3002"; + table = t; + } + public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { + int hash_val = msgid.hashCode() & 0x7fffffff; + int idx = (hash_val % 289) << 1; + { + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + int incr = ((hash_val % 287) + 1) << 1; + for (;;) { + idx += incr; + if (idx >= 578) + idx -= 578; + java.lang.Object found = table[idx]; + if (found == null) + return null; + if (msgid.equals(found)) + return table[idx + 1]; + } + } + public java.util.Enumeration getKeys () { + return + new java.util.Enumeration() { + private int idx = 0; + { while (idx < 578 && table[idx] == null) idx += 2; } + public boolean hasMoreElements () { + return (idx < 578); + } + public java.lang.Object nextElement () { + java.lang.Object key = table[idx]; + do idx += 2; while (idx < 578 && table[idx] == null); + return key; + } + }; + } + public java.util.ResourceBundle getParent () { + return parent; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/translation/nl.po b/pgjdbc/src/main/java/org/postgresql/translation/nl.po index 768aa2db14..bfa8306359 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/nl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-11 23:55-0700\n" "Last-Translator: Arnout Kuiper \n" "Language-Team: Dutch \n" @@ -15,155 +15,142 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze " +"fout AUB: {0}" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/Driver.java:416 #, fuzzy -msgid "An error occurred reading the certificate" +msgid "Connection attempt timed out." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/Driver.java:429 +#, fuzzy +msgid "Interrupted while attempting to connect." msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:682 +#, fuzzy, java-format +msgid "Method {0} is not yet implemented." +msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#, java-format +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:51 +#, fuzzy, java-format +msgid "Copying from database failed: {0}" +msgstr "Conversie van lseg faalde - {0}" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "A connection could not be made using the requested protocol {0}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The password callback class provided {0} could not be instantiated." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 -#, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Een onverwacht resultaat werd teruggegeven door een query" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "SSL error: {0}" +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "" - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -178,55 +165,98 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "" -#: org/postgresql/core/UTF8Encoding.java:28 -#, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" -msgstr "" +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#, fuzzy, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "De kolom index is buiten bereik." -#: org/postgresql/core/UTF8Encoding.java:66 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 -#, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, en " +"dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " +"aanzet." -#: org/postgresql/core/UTF8Encoding.java:135 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +#, fuzzy +msgid "The connection attempt failed." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:151 -#, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Een onverwacht resultaat werd teruggegeven door een query" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#, fuzzy +msgid "An error occurred while setting up the SSL connection." +msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, fuzzy, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Het authenticatie type {0} wordt niet ondersteund. Controleer dat het IP " +"adres of subnet van de client is geconfigureerd in de pg_hba.conf file, en " +"dat het een authenticatie protocol gebruikt dat door de driver ondersteund " +"wordt." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." msgstr "" #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -383,36 +413,27 @@ msgstr "" msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, fuzzy, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "De kolom index is buiten bereik." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, fuzzy, java-format msgid "No value specified for parameter {0}." @@ -423,12 +444,6 @@ msgstr "Geen waarde opgegeven voor parameter {0}." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "De kolom index is buiten bereik." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -#, fuzzy -msgid "The connection attempt failed." -msgstr "De poging om verbinding the maken faalde omdat {0}" - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -439,471 +454,487 @@ msgstr "" msgid "This replication stream has been closed." msgstr "De poging om verbinding the maken faalde omdat {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, java-format -msgid "Invalid sslmode value: {0}" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Onbekende Types waarde." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -"Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, en " -"dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " -"aanzet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -#, fuzzy -msgid "An error occurred while setting up the SSL connection." -msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Het authenticatie type {0} wordt niet ondersteund. Controleer dat het IP " -"adres of subnet van de client is geconfigureerd in de pg_hba.conf file, en " -"dat het een authenticatie protocol gebruikt dat door de driver ondersteund " -"wordt." +msgid "Unsupported property name: {0}" +msgstr "Onbekende Types waarde." -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." +#: org/postgresql/fastpath/Fastpath.java:86 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/util/PGmoney.java:62 -#, fuzzy -msgid "Conversion of money failed." -msgstr "Conversie van money faalde - {0}." - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/util/PGInterval.java:152 -#, fuzzy -msgid "Conversion of interval failed" -msgstr "Conversie van money faalde - {0}." +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "" +"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " +"integer verwacht hadden." -#: org/postgresql/util/ServerErrorMessage.java:45 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format +msgid "The fastpath function {0} is unknown." +msgstr "De fastpath functie {0} is onbekend." + +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 +#, fuzzy, java-format +msgid "Conversion to type {0} failed: {1}." +msgstr "Conversie van line faalde - {0}" + +#: org/postgresql/geometric/PGpath.java:70 +#, fuzzy, java-format +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Kan niet zeggen of path open of gesloten is." + +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Hint: {0}" +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:189 +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +#, fuzzy +msgid "Too many update results were returned." +msgstr "Geen resultaten werden teruggegeven door de query." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format +msgid "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "Batch invoer {0} {1} werd afgebroken." + +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Where: {0}" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Internal Query: {0}" +msgid "{0} function takes four and only four argument." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:199 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Internal Position: {0}" +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:211 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Server SQLState: {0}" +msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 +#, java-format +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Onbekende Types waarde." +msgid "Interval {0} not yet implemented" +msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 -msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "" +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, fuzzy, java-format +msgid "The array index is out of range: {0}" +msgstr "De kolom index is buiten bereik." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +#, fuzzy +msgid "A CallableStatement was executed with nothing returned." +msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/PgCallableStatement.java:145 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Onbekende Types waarde." - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/jdbc/PgCallableStatement.java:424 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" -"Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze " -"fout AUB: {0}" - -#: org/postgresql/Driver.java:416 -#, fuzzy -msgid "Connection attempt timed out." -msgstr "De poging om verbinding the maken faalde omdat {0}" - -#: org/postgresql/Driver.java:429 -#, fuzzy -msgid "Interrupted while attempting to connect." -msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." - -#: org/postgresql/Driver.java:682 -#, fuzzy, java-format -msgid "Method {0} is not yet implemented." -msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 -#, fuzzy, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Conversie van line faalde - {0}" - -#: org/postgresql/geometric/PGpath.java:70 -#, fuzzy, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Kan niet zeggen of path open of gesloten is." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Onbekende Types waarde." + +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format -msgid "Invalid flags {0}" +msgid "Unsupported value for stringtype parameter: {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Geen resultaten werden teruggegeven door de query." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -#, fuzzy -msgid "suspend/resume not implemented" -msgstr "Deze methode is nog niet geimplementeerd" +#: org/postgresql/jdbc/PgConnection.java:587 +#, fuzzy, java-format +msgid "Failed to create object for: {0}." +msgstr "Kon geen object aanmaken voor {0} {1}" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "De poging om verbinding the maken faalde omdat {0}" + +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +"Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 +#, java-format +msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/jdbc/PgConnection.java:1312 #, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "Kon geen object aanmaken voor {0} {1}" + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 -#, java-format -msgid "Error during one-phase commit. commit xid={0}" +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 -#, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -#, java-format -msgid "Unknown XML Source class: {0}" +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Kon geen object aanmaken voor {0} {1}" - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 +msgid "" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, java-format -msgid "Unknown XML Result class: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:247 -#, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, fuzzy, java-format -msgid "The array index is out of range: {0}" -msgstr "De kolom index is buiten bereik." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" +msgstr "" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 -#, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" #: org/postgresql/jdbc/PgParameterMetaData.java:83 @@ -911,727 +942,706 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "De kolom index is buiten bereik." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -#, fuzzy -msgid "Too many update results were returned." -msgstr "Geen resultaten werden teruggegeven door de query." - -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "Batch invoer {0} {1} werd afgebroken." - -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Geen resultaten werden teruggegeven door de query." - -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "" +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#, java-format +msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 -#, fuzzy, java-format -msgid "Failed to create object for: {0}." -msgstr "Kon geen object aanmaken voor {0} {1}" - -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" +msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 -msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#, fuzzy, java-format +msgid "Unknown type {0}." +msgstr "Onbekend antwoord type {0}" + +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -#, fuzzy -msgid "This connection has been closed." -msgstr "De poging om verbinding the maken faalde omdat {0}" +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#, java-format +msgid "Cannot cast an instance of {0} to type {1}" +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#, fuzzy, java-format +msgid "Unsupported Types value: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#, java-format msgid "" -"Cannot change transaction isolation level in the middle of a transaction." +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 -#, java-format -msgid "Transaction isolation level {0} not supported." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." +#: org/postgresql/jdbc/PgResultSet.java:280 +msgid "" +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, java-format -msgid "Unable to find server array type for provided name {0}." +msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 -#, java-format -msgid "Invalid elements {0}" +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 #, java-format -msgid "Invalid timeout ({0}<0)." +msgid "Invalid fetch direction constant: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "Kon geen object aanmaken voor {0} {1}" - -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." +#: org/postgresql/jdbc/PgResultSet.java:912 +msgid "" +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 -msgid "Network timeout must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." +#: org/postgresql/jdbc/PgResultSet.java:922 +#, fuzzy +msgid "There are no rows in this ResultSet." +msgstr "De kolom naam {0} is niet gevonden." + +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." +msgid "The JVM claims not to support the encoding: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:235 -#, fuzzy -msgid "Multiple ResultSets were returned by the query." -msgstr "Geen resultaten werden teruggegeven door de query." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 +msgid "" +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 +#, java-format +msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:2595 +#, fuzzy, java-format +msgid "The column name {0} was not found in this ResultSet." +msgstr "De kolom naam {0} is niet gevonden." -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." +#: org/postgresql/jdbc/PgResultSet.java:2731 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 +#, java-format +msgid "conversion to {0} from {1} not supported" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "Kon geen object aanmaken voor {0} {1}" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 +#: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/jdbc/PgStatement.java:235 +#, fuzzy +msgid "Multiple ResultSets were returned by the query." +msgstr "Geen resultaten werden teruggegeven door de query." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Onbekende Types waarde." +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "Invalid stream length {0}." +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 #, java-format -msgid "The JVM claims not to support the {0} encoding." +msgid "Unsupported binary encoding of {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 -#, fuzzy, java-format -msgid "Unknown type {0}." -msgstr "Onbekend antwoord type {0}" - -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" -msgstr "" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 #, fuzzy, java-format -msgid "Unsupported Types value: {0}" +msgid "Invalid server-final-message: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "Cannot convert an instance of {0} to type {1}" +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 -#, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +#, fuzzy +msgid "Failed to initialize LargeObject API" +msgstr "Kon LargeObject API niet initialiseren" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Onbekende Types waarde." + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "Cannot cast to boolean: \"{0}\"" +msgid "SSL error: {0}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:280 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/ssl/MakeSSL.java:84 #, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +msgid "" +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:918 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:922 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 #, fuzzy -msgid "There are no rows in this ResultSet." -msgstr "De kolom naam {0} is niet gevonden." +msgid "An error occurred reading the certificate" +msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 #, java-format -msgid "The JVM claims not to support the encoding: {0}" +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "No primary key found for table {0}." +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "Bad value for type {0} : {1}" +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 -#, fuzzy, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "De kolom naam {0} is niet gevonden." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/util/PGInterval.java:152 +#, fuzzy +msgid "Conversion of interval failed" +msgstr "Conversie van money faalde - {0}." + +#: org/postgresql/util/PGmoney.java:62 +#, fuzzy +msgid "Conversion of money failed." +msgstr "Conversie van money faalde - {0}." + +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "conversion to {0} from {1} not supported" +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" +msgid "Detail: {0}" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "Unsupported binary encoding of {0}." +msgid "Hint: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -#, fuzzy -msgid "A CallableStatement was executed with nothing returned." -msgstr "Callable Statements worden op dit moment niet ondersteund." +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -#, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "Callable Statements worden op dit moment niet ondersteund." +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "Internal Query: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Server SQLState: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Onbekende Types waarde." - -#: org/postgresql/jdbc/EscapedFunctions.java:240 -#, java-format -msgid "{0} function takes four and only four argument." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +#, fuzzy +msgid "suspend/resume not implemented" +msgstr "Deze methode is nog niet geimplementeerd" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 -#, java-format -msgid "{0} function takes one and only one argument." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes two or three arguments." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Deze methode is nog niet geimplementeerd" - -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -#, fuzzy -msgid "Failed to initialize LargeObject API" -msgstr "Kon LargeObject API niet initialiseren" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:311 +#, java-format +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 -#, fuzzy, java-format -msgid "Copying from database failed: {0}" -msgstr "Conversie van lseg faalde - {0}" - -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 -#, java-format -msgid "Requested CopyDual but got {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." - -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " -"integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "De fastpath functie {0} is onbekend." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" + +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "De poging om verbinding the maken faalde omdat {0}" + +#, fuzzy +#~ msgid "Bad int: {0}" +#~ msgstr "Foute Long {0}" #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1641,54 +1651,46 @@ msgstr "De fastpath functie {0} is onbekend." #~ "en dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " #~ "aanzet." -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "De poging om verbinding the maken faalde omdat {0}" - -#, fuzzy -#~ msgid "Conversion of box failed: {0}." -#~ msgstr "Conversie van box faalde - {0}" - #, fuzzy #~ msgid "Conversion of circle failed: {0}." #~ msgstr "Conversie van circle faalde - {0}" #, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Conversie van point faalde - {0}" +#~ msgid "Bad byte: {0}" +#~ msgstr "Foute Byte {0}" #, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Geen resultaten werden teruggegeven door de query." +#~ msgid "Bad float: {0}" +#~ msgstr "Foute Float {0}" #, fuzzy -#~ msgid "Bad byte: {0}" +#~ msgid "Bad date: {0}" #~ msgstr "Foute Byte {0}" #, fuzzy -#~ msgid "Bad short: {0}" -#~ msgstr "Foute Short {0}" +#~ msgid "Bad double: {0}" +#~ msgstr "Foute Double {0}" #, fuzzy -#~ msgid "Bad int: {0}" +#~ msgid "Bad long: {0}" #~ msgstr "Foute Long {0}" #, fuzzy -#~ msgid "Bad long: {0}" -#~ msgstr "Foute Long {0}" +#~ msgid "Bad short: {0}" +#~ msgstr "Foute Short {0}" #, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Foute BigDecimal {0}" +#~ msgid "No results where returned by the query." +#~ msgstr "Geen resultaten werden teruggegeven door de query." #, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Foute Float {0}" +#~ msgid "Conversion of box failed: {0}." +#~ msgstr "Conversie van box faalde - {0}" #, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Foute Double {0}" +#~ msgid "Conversion of point failed: {0}." +#~ msgstr "Conversie van point faalde - {0}" #, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Foute Byte {0}" +#~ msgid "Bad BigDecimal: {0}" +#~ msgstr "Foute BigDecimal {0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pl.po b/pgjdbc/src/main/java/org/postgresql/translation/pl.po index 5bc61e3c5a..c8f8b16e48 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: head-pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2005-05-22 03:01+0200\n" "Last-Translator: Jarosław Jan Pyszny \n" "Language-Team: \n" @@ -22,155 +22,141 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Metoda {0}nie jest jeszcze obsługiwana." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, java-format -msgid "The password callback class provided {0} could not be instantiated." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Ten ResultSet jest zamknięty." + +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Nie można było nawiązać połączenia stosując żądany protokołu {0}." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +#: org/postgresql/core/PGStream.java:486 +#, java-format +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Przedwczesny koniec strumienia wejściowego, oczekiwano {0} bajtów, odczytano " +"tylko {1}." -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "SSL error: {0}" +msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Zapytanie zwróciło nieoczekiwany wynik." + +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The hostname {0} could not be verified." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Błąd protokołu. Nie udało się utworzyć sesji." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 +#, java-format +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -186,57 +172,97 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy." -#: org/postgresql/core/UTF8Encoding.java:28 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" -msgstr "" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}." -#: org/postgresql/core/UTF8Encoding.java:66 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 #, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" +msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 -#, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/core/UTF8Encoding.java:135 -#, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " +"port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#: org/postgresql/core/UTF8Encoding.java:151 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Próba nawiązania połączenia nie powiodła się." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Zapytanie zwróciło nieoczekiwany wynik." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Serwer nie obsługuje SSL." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." msgstr "" -"Przedwczesny koniec strumienia wejściowego, oczekiwano {0} bajtów, odczytano " -"tylko {1}." +"Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie " +"zostało dostarczone." -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"Uwierzytelnienie typu {0} nie jest obsługiwane. Upewnij się, że " +"skonfigurowałeś plik pg_hba.conf tak, że zawiera on adres IP lub podsieć " +"klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten " +"sterownik." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Błąd protokołu. Nie udało się utworzyć sesji." #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -393,36 +419,27 @@ msgstr "Sterownik nie obsługuje aktualnie operacji COPY." msgid "Unable to parse the count in command completion tag: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -433,11 +450,6 @@ msgstr "Nie podano wartości dla parametru {0}." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Próba nawiązania połączenia nie powiodła się." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -448,635 +460,799 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Połączenie zostało zamknięte." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, java-format -msgid "Invalid sslmode value: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "To PooledConnection zostało już zamknięte." + +#: org/postgresql/ds/PGPooledConnection.java:314 +msgid "" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." +msgstr "" +"Połączenie zostało zamknięte automatycznie, ponieważ nowe połączenie zostało " +"otwarte dla tego samego PooledConnection lub PooledConnection zostało " +"zamknięte." + +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Połączenie zostało zamknięte." + +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." +msgstr "" + +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource zostało zamknięte." + +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" +msgid "Unsupported property name: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " -"port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "Could not find a server with specified targetServerType: {0}" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Serwer nie obsługuje SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"The server requested password-based authentication, but no password was " -"provided." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie " -"zostało dostarczone." +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Uwierzytelnienie typu {0} nie jest obsługiwane. Upewnij się, że " -"skonfigurowałeś plik pg_hba.conf tak, że zawiera on adres IP lub podsieć " -"klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten " -"sterownik." +"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " +"całkowitej." -#: org/postgresql/core/ConnectionFactory.java:57 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Nie można było nawiązać połączenia stosując żądany protokołu {0}." +msgid "The fastpath function {0} is unknown." +msgstr "Funkcja fastpath {0} jest nieznana." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Conversion to type {0} failed: {1}." +msgstr "Konwersja do typu {0} nie powiodła się: {1}." + +#: org/postgresql/geometric/PGpath.java:70 +#, java-format +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Nie można stwierdzić, czy ścieżka jest otwarta czy zamknięta: {0}." + +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"Znaleziono nieprawidłowy znak. Najprawdopodobniej jest to spowodowane " -"przechowywaniem w bazie znaków, które nie pasują do zestawu znaków wybranego " -"podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-" -"bitowych znaków w bazie o kodowaniu SQL_ASCII." -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Konwersja typu money nie powiodła się." +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#, java-format +msgid "PostgreSQL LOBs can only index to: {0}" msgstr "" -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Konwersja typu interval nie powiodła się" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Zapytanie nie zwróciło żadnych wyników." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" +"Zadanie wsadowe {0} {1} zostało przerwane. Wywołaj getNextException by " +"poznać przyczynę." -#: org/postgresql/util/ServerErrorMessage.java:176 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "Detail: {0}" -msgstr "Szczegóły: {0}" +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "Hint: {0}" -msgstr "Wskazówka: {0}" +msgid "{0} function takes four and only four argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Position: {0}" -msgstr "Pozycja: {0}" +msgid "{0} function takes two and only two arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:189 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Where: {0}" -msgstr "Gdzie: {0}" +msgid "{0} function takes one and only one argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:195 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Internal Query: {0}" -msgstr "Wewnętrzne Zapytanie: {0}" +msgid "{0} function takes two or three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:199 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Internal Position: {0}" -msgstr "Wewnętrzna Pozycja: {0}" +msgid "{0} function doesn''t take any argument." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}" +msgid "{0} function takes three and only three arguments." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:211 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, fuzzy, java-format +msgid "Interval {0} not yet implemented" +msgstr "Metoda {0}nie jest jeszcze obsługiwana." + +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "" + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "Server SQLState: {0}" -msgstr "Serwer SQLState: {0}" +msgid "The array index is out of range: {0}" +msgstr "Indeks tablicy jest poza zakresem: {0}" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}." + +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" +"Znaleziono nieprawidłowy znak. Najprawdopodobniej jest to spowodowane " +"przechowywaniem w bazie znaków, które nie pasują do zestawu znaków wybranego " +"podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-" +"bitowych znaków w bazie o kodowaniu SQL_ASCII." -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource zostało zamknięte." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "" -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "To PooledConnection zostało już zamknięte." +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -"Połączenie zostało zamknięte automatycznie, ponieważ nowe połączenie zostało " -"otwarte dla tego samego PooledConnection lub PooledConnection zostało " -"zamknięte." -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Połączenie zostało zamknięte." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." msgstr "" +"Funkcja CallableStatement została zadeklarowana, ale nie wywołano " +"registerOutParameter (1, )." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:703 #, fuzzy, java-format -msgid "Invalid server-first-message: {0}" +msgid "Unsupported type conversion to {1}." msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jdbc/PgConnection.java:272 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" +msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Zapytanie nie zwróciło żadnych wyników." + +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Zwrócono wynik zapytania, choć nie był on oczekiwany." + +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "Failed to create object for: {0}." +msgstr "Nie powiodło się utworzenie obiektu dla: {0}." + +#: org/postgresql/jdbc/PgConnection.java:641 +#, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" +"Nie jest możliwe załadowanie klasy {0} odpowiedzialnej za typ danych {1}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +#: org/postgresql/jdbc/PgConnection.java:693 +msgid "" +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." +msgstr "" -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "Połączenie zostało zamknięte." -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 -msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek." +#: org/postgresql/jdbc/PgConnection.java:833 +#, java-format +msgid "Transaction isolation level {0} not supported." +msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "" +#: org/postgresql/jdbc/PgConnection.java:878 +#, fuzzy +msgid "Finalizing a Connection that was never closed:" +msgstr "Połączenie zostało zamknięte." -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "Rozmiar pobierania musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metoda {0}nie jest jeszcze obsługiwana." +msgid "Unable to find server array type for provided name {0}." +msgstr "" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/jdbc/PgConnection.java:1312 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Konwersja do typu {0} nie powiodła się: {1}." +msgid "Invalid elements {0}" +msgstr "" -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/PgConnection.java:1348 #, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Nie można stwierdzić, czy ścieżka jest otwarta czy zamknięta: {0}." +msgid "Invalid timeout ({0}<0)." +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "Nie powiodło się utworzenie obiektu dla: {0}." + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Timeout zapytania musi być wartością dodatnią lub 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" +#: org/postgresql/jdbc/PgConnection.java:1580 +#, java-format +msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, fuzzy, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -"Poziom izolacji transakcji {0} nie jest obsługiwany. xid={0}, " -"currentXid={1}, state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Nieznana wartość Types." + +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "Nie powiodło się utworzenie obiektu dla: {0}." +msgid "Unknown type {0}." +msgstr "Nieznany typ {0}." -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format -msgid "Unknown XML Result class: {0}" +msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "To PooledConnection zostało już zamknięte." +#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#, java-format +msgid "Unsupported Types value: {0}" +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." +#: org/postgresql/jdbc/PgResultSet.java:280 +msgid "" +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 +#, java-format +msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Indeks tablicy jest poza zakresem: {0}" +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." +msgstr "" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}." +msgid "Invalid fetch direction constant: {0}." +msgstr "" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "Nie można wywołać cancelRowUpdates() na wstawianym rekordzie." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Zapytanie nie zwróciło żadnych wyników." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "Nie można wywołać deleteRow() na wstawianym rekordzie." -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -"Zadanie wsadowe {0} {1} zostało przerwane. Wywołaj getNextException by " -"poznać przyczynę." +"Aktualna pozycja przed początkiem ResultSet. Nie można wywołać deleteRow()." -#: org/postgresql/jdbc/PgConnection.java:272 -#, fuzzy, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." +msgstr "Aktualna pozycja za końcem ResultSet. Nie można wywołać deleteRow()." -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Zapytanie nie zwróciło żadnych wyników." +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Nie ma żadnych wierszy w tym ResultSet." -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "Zwrócono wynik zapytania, choć nie był on oczekiwany." +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Nie na wstawianym rekordzie." -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format -msgid "Failed to create object for: {0}." -msgstr "Nie powiodło się utworzenie obiektu dla: {0}." +msgid "The JVM claims not to support the encoding: {0}" +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:641 -#, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -"Nie jest możliwe załadowanie klasy {0} odpowiedzialnej za typ danych {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." +msgstr "Nie można wywołać updateRow() na wstawianym rekordzie." + +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -#, fuzzy -msgid "This connection has been closed." -msgstr "Połączenie zostało zamknięte." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 +#, java-format +msgid "Bad value for type {0} : {1}" +msgstr "Zła wartość dla typu {0}: {1}" + +#: org/postgresql/jdbc/PgResultSet.java:2595 +#, java-format +msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" -"Cannot change transaction isolation level in the middle of a transaction." +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" +"ResultSet nie jest modyfikowalny (not updateable). Zapytanie, które zwróciło " +"ten wynik musi dotyczyć tylko jednej tabeli oraz musi pobierać wszystkie " +"klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by " +"uzyskać więcej szczegółów." -#: org/postgresql/jdbc/PgConnection.java:833 -#, java-format -msgid "Transaction isolation level {0} not supported." -msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "Ten ResultSet jest zamknięty." -#: org/postgresql/jdbc/PgConnection.java:878 -#, fuzzy -msgid "Finalizing a Connection that was never closed:" -msgstr "Połączenie zostało zamknięte." +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." +msgstr "Zła pozycja w ResultSet, może musisz wywołać next." -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." -msgstr "Rozmiar pobierania musi być wartością dodatnią lub 0." - -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 -#, java-format -msgid "Unable to find server array type for provided name {0}." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 +#, fuzzy, java-format +msgid "conversion to {0} from {1} not supported" +msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." -#: org/postgresql/jdbc/PgConnection.java:1312 -#, java-format -msgid "Invalid elements {0}" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "" - -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 -#, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." msgstr "Nie powiodło się utworzenie obiektu dla: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgSQLXML.java:225 #, fuzzy -msgid "Network timeout must be a value greater than or equal to 0." -msgstr "Timeout zapytania musi być wartością dodatnią lub 0." - -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." -msgstr "" +msgid "This SQLXML object has already been freed." +msgstr "To PooledConnection zostało już zamknięte." -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" #: org/postgresql/jdbc/PgStatement.java:235 @@ -1103,554 +1279,392 @@ msgstr "Maksymalny rozmiar pola musi być wartością dodatnią lub 0." msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - #: org/postgresql/jdbc/PgStatement.java:1145 #: org/postgresql/jdbc/PgStatement.java:1173 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Zła wartość dla typu {0}: {1}" -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Nieznana wartość Types." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." -msgstr "" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "The JVM claims not to support the {0} encoding." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 -#, java-format -msgid "Unknown type {0}." -msgstr "Nieznany typ {0}." - -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." -msgstr "" +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Nie udało się zainicjować LargeObject API" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 -#, java-format -msgid "Unsupported Types value: {0}" +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Cannot convert an instance of {0} to type {1}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." +msgid "SSL error: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format -msgid "Cannot cast to boolean: \"{0}\"" +msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:280 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 -#, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "Nie można wywołać cancelRowUpdates() na wstawianym rekordzie." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "Nie można wywołać deleteRow() na wstawianym rekordzie." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -"Aktualna pozycja przed początkiem ResultSet. Nie można wywołać deleteRow()." -#: org/postgresql/jdbc/PgResultSet.java:918 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." -msgstr "Aktualna pozycja za końcem ResultSet. Nie można wywołać deleteRow()." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:922 -msgid "There are no rows in this ResultSet." -msgstr "Nie ma żadnych wierszy w tym ResultSet." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." -msgstr "Nie na wstawianym rekordzie." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "The JVM claims not to support the encoding: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." -msgstr "Nie można wywołać updateRow() na wstawianym rekordzie." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "No primary key found for table {0}." +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Bad value for type {0} : {1}" -msgstr "Zła wartość dla typu {0}: {1}" +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "The column name {0} was not found in this ResultSet." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -"ResultSet nie jest modyfikowalny (not updateable). Zapytanie, które zwróciło " -"ten wynik musi dotyczyć tylko jednej tabeli oraz musi pobierać wszystkie " -"klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by " -"uzyskać więcej szczegółów." -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." -msgstr "Ten ResultSet jest zamknięty." +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Konwersja typu interval nie powiodła się" -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "Zła pozycja w ResultSet, może musisz wywołać next." +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Konwersja typu money nie powiodła się." -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 -#, fuzzy, java-format -msgid "conversion to {0} from {1} not supported" -msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Szczegóły: {0}" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Zła wartość dla typu {0}: {1}" +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Wskazówka: {0}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 -#, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Nieznana wartość Types: {0}" +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Pozycja: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "" +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Gdzie: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Wewnętrzne Zapytanie: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Wewnętrzna Pozycja: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "" +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." -msgstr "" +msgid "Server SQLState: {0}" +msgstr "Serwer SQLState: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "" - -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -"Funkcja CallableStatement została zadeklarowana, ale nie wywołano " -"registerOutParameter (1, )." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Nieznana wartość Types: {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"Poziom izolacji transakcji {0} nie jest obsługiwany. xid={0}, " +"currentXid={1}, state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:240 -#, java-format -msgid "{0} function takes four and only four argument." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes one and only one argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function doesn''t take any argument." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes three and only three arguments." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, fuzzy, java-format -msgid "Interval {0} not yet implemented" -msgstr "Metoda {0}nie jest jeszcze obsługiwana." - -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Nie udało się zainicjować LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Ten ResultSet jest zamknięty." - -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 -#, java-format -msgid "Requested CopyIn but got {0}" +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." - -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "" -"Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " -"całkowitej." +#~ msgid "The driver does not support SSL." +#~ msgstr "Sterownik nie wspiera SSL." -#: org/postgresql/fastpath/Fastpath.java:302 -#, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Funkcja fastpath {0} jest nieznana." +#~ msgid "Exception: {0}" +#~ msgstr "Wyjątek: {0}" + +#~ msgid "Stack Trace:" +#~ msgstr "Ślad stosu:" + +#~ msgid "End of Stack Trace" +#~ msgstr "Koniec śladu stosu" #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1659,33 +1673,21 @@ msgstr "Funkcja fastpath {0} jest nieznana." #~ "Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " #~ "port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Próba nawiązania połączenia nie powiodła się." - #~ msgid "Connection rejected: {0}." #~ msgstr "Połączenie odrzucone: {0}." -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Start serwera się nie powiódł: {0}." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Klasa {0} nie implementuje org.postgresql.util.PGobject." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Sterownik nie wspiera SSL." - #~ msgid "Multi-dimensional arrays are currently not supported." #~ msgstr "Wielowymiarowe tablice nie są aktualnie obsługiwane." -#~ msgid "Exception: {0}" -#~ msgstr "Wyjątek: {0}" +#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" +#~ msgstr "Ślad stosu utworzony dla wyjątku: {0} napotkanego: {1}" -#~ msgid "Stack Trace:" -#~ msgstr "Ślad stosu:" +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "Klasa {0} nie implementuje org.postgresql.util.PGobject." -#~ msgid "End of Stack Trace" -#~ msgstr "Koniec śladu stosu" +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Start serwera się nie powiódł: {0}." -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Ślad stosu utworzony dla wyjątku: {0} napotkanego: {1}" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Próba nawiązania połączenia nie powiodła się." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po index 3e4c66a418..06b0b847ff 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-31 20:48-0300\n" "Last-Translator: Euler Taveira de Oliveira \n" "Language-Team: Brazilian Portuguese \n" @@ -17,171 +17,124 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Erro ao carregar configurações padrão do driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"Sua política de segurança impediu que a conexão pudesse ser estabelecida. " +"Você provavelmente precisa conceder permissão em java.net.SocketPermission " +"para a máquina e a porta do servidor de banco de dados que você deseja se " +"conectar." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Alguma coisa não usual ocorreu para causar a falha do driver. Por favor " +"reporte esta exceção." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Tentativa de conexão falhou." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Interrompido ao tentar se conectar." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Método {0} ainda não foi implementado." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "Este ResultSet está fechado." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." +msgid "A connection could not be made using the requested protocol {0}." +msgstr "A conexão não pode ser feita usando protocolo informado {0}." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram " +"lidos." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Erro de Protocolo. Configuração da sessão falhou." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "Autenticação GSS falhou" +msgid "Expected an EOF from server, got: {0}" +msgstr "Esperado um EOF do servidor, recebido: {0}" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" "Sintaxe de escape mal formada da função ou do procedimento no deslocamento " "{0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Um resultado inesperado foi retornado pela consulta." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "Zero bytes não podem ocorrer em parâmetros de cadeia de caracteres." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Zero bytes não podem ocorrer em identificadores." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -213,72 +166,151 @@ msgstr "Sequência UTF-8 ilegal: valor final está fora do intervalo: {0}" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "Sequência UTF-8 ilegal: valor final é um valor suplementar: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Um resultado inesperado foi retornado pela consulta." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Zero bytes não podem ocorrer em parâmetros de cadeia de caracteres." -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram " -"lidos." -#: org/postgresql/core/PGStream.java:528 -#, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Esperado um EOF do servidor, recebido: {0}" +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Zero bytes não podem ocorrer em identificadores." -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" +"O índice da coluna está fora do intervalo: {0}, número de colunas: {1}." -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " +"o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -#, fuzzy -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "Interrompido ao tentar se conectar." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "Não foi possível ligar valores de parâmetro ao comando." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 -#: org/postgresql/util/StreamWrapper.java:130 -#, fuzzy -msgid "An I/O error occurred while sending to the backend." -msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "A tentativa de conexão falhou." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected command status BEGIN, got {0}." -msgstr "Status do comando BEGIN esperado, recebeu {0}." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 -#: org/postgresql/jdbc/PgResultSet.java:1778 -#, java-format -msgid "Unexpected command status: {0}." -msgstr "Status do comando inesperado: {0}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "O servidor não suporta SSL." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 -#, fuzzy +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"O servidor pediu autenticação baseada em senha, mas nenhuma senha foi " +"fornecida." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"O tipo de autenticação {0} não é suportado. Verifique se você configurou o " +"arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está " +"utilizando o esquema de autenticação suportado pelo driver." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Erro de Protocolo. Configuração da sessão falhou." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#, fuzzy +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "Interrompido ao tentar se conectar." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "Não foi possível ligar valores de parâmetro ao comando." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +#: org/postgresql/core/v3/QueryExecutorImpl.java:559 +#: org/postgresql/core/v3/QueryExecutorImpl.java:602 +#: org/postgresql/core/v3/QueryExecutorImpl.java:729 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/util/StreamWrapper.java:130 +#, fuzzy +msgid "An I/O error occurred while sending to the backend." +msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:534 +#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#, java-format +msgid "Expected command status BEGIN, got {0}." +msgstr "Status do comando BEGIN esperado, recebeu {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/jdbc/PgResultSet.java:1778 +#, java-format +msgid "Unexpected command status: {0}." +msgstr "Status do comando inesperado: {0}." + +#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." @@ -399,7 +431,7 @@ msgstr "" "Não foi possível interpretar o contador de atualização na marcação de " "comando completo: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -408,7 +440,7 @@ msgstr "" "O parâmetro do servidor client_encoding foi alterado para {0}. O driver JDBC " "requer que o client_encoding seja UNICODE para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -417,7 +449,7 @@ msgstr "" "O parâmetro do servidor DateStyle foi alterado para {0}. O driver JDBC " "requer que o DateStyle começe com ISO para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -426,16 +458,6 @@ msgstr "" "O parâmetro do servidor standard_conforming_strings foi definido como {0}. O " "driver JDBC espera que seja on ou off." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "" -"O índice da coluna está fora do intervalo: {0}, número de colunas: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -447,11 +469,6 @@ msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "" "O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "A tentativa de conexão falhou." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -462,663 +479,836 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Conexão foi fechada." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Tamanho de dado {0} é inválido." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Tamanho de dado {0} é inválido." +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Este PooledConnection já foi fechado." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " -"o postmaster está aceitando conexões TCP/IP." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" +"Conexão foi fechada automaticamente porque uma nova conexão foi aberta pelo " +"mesmo PooledConnection ou o PooledConnection foi fechado." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "O servidor não suporta SSL." +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Conexão foi fechada." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Comando foi fechado." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -"O servidor pediu autenticação baseada em senha, mas nenhuma senha foi " -"fornecida." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource foi fechado." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"O tipo de autenticação {0} não é suportado. Verifique se você configurou o " -"arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está " -"utilizando o esquema de autenticação suportado pelo driver." +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 +#, fuzzy, java-format +msgid "Unsupported property name: {0}" +msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "A conexão não pode ser feita usando protocolo informado {0}." +#: org/postgresql/fastpath/Fastpath.java:86 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "oid type {0} not known and not a number" +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 +#: org/postgresql/fastpath/Fastpath.java:171 +#, fuzzy, java-format msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -"Caracter inválido foi encontrado. Isso é mais comumente causado por dado " -"armazenado que contém caracteres que são inválidos para a codificação que " -"foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de " -"8 bits em um banco de dados SQL_ASCII." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Conversão de money falhou." +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Conversão de interval falhou" - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" +"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " +"um inteiro." -#: org/postgresql/util/ServerErrorMessage.java:176 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Detail: {0}" -msgstr "Detalhe: {0}" +msgid "The fastpath function {0} is unknown." +msgstr "A função do fastpath {0} é desconhecida." -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "Hint: {0}" -msgstr "Dica: {0}" +msgid "Conversion to type {0} failed: {1}." +msgstr "Conversão para tipo {0} falhou: {1}." -#: org/postgresql/util/ServerErrorMessage.java:185 +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "Position: {0}" -msgstr "Posição: {0}" +msgid "Cannot tell if path is open or closed: {0}." +msgstr "Não pode dizer se caminho está aberto ou fechado: {0}." -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Onde: {0}" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "Autenticação GSS falhou" -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Consulta Interna: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" +"Truncar objetos grandes só é implementado por servidores 8.3 ou superiores." -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "Posição Interna: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:206 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "LOBs do PostgreSQL só podem indexar até: {0}" -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "Deslocamentos da posição de LOB começam em 1." -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() já foi chamado neste LOB" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource foi fechado." +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Muitos resultados de atualização foram retornados." -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 +#: org/postgresql/jdbc/BatchResultHandler.java:146 #, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Valor de Types não é suportado: {0}" - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Este PooledConnection já foi fechado." - -#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Conexão foi fechada automaticamente porque uma nova conexão foi aberta pelo " -"mesmo PooledConnection ou o PooledConnection foi fechado." +"Entrada em lote {0} {1} foi abortada. Chame getNextException para ver a " +"causa." -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Conexão foi fechada." +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Comando foi fechado." +#: org/postgresql/jdbc/EscapedFunctions.java:240 +#, java-format +msgid "{0} function takes four and only four argument." +msgstr "função {0} recebe somente quatro argumentos." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 +#, java-format +msgid "{0} function takes two and only two arguments." +msgstr "função {0} recebe somente dois argumentos." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 +#, java-format +msgid "{0} function takes one and only one argument." +msgstr "função {0} recebe somente um argumento." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Tamanho de dado {0} é inválido." +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "função {0} recebe dois ou três argumentos." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Tamanho de dado {0} é inválido." +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." +msgstr "função {0} não recebe nenhum argumento." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "função {0} recebe três e somente três argumentos." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, java-format +msgid "Interval {0} not yet implemented" +msgstr "Intervalo {0} ainda não foi implementado" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Valor de Types não é suportado: {0}" +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." +msgstr "Não pode referenciar um savepoint após ele ser descartado." -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Erro ao carregar configurações padrão do driverconfig.properties" +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "Não pode recuperar o id de um savepoint com nome." -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "Não pode recuperar o nome de um savepoint sem nome." + +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#, java-format +msgid "The array index is out of range: {0}" +msgstr "O índice da matriz está fora do intervalo: {0}" + +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" +"O índice da matriz está fora do intervalo: {0}, número de elementos: {1}." -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Sua política de segurança impediu que a conexão pudesse ser estabelecida. " -"Você provavelmente precisa conceder permissão em java.net.SocketPermission " -"para a máquina e a porta do servidor de banco de dados que você deseja se " -"conectar." +"Caracter inválido foi encontrado. Isso é mais comumente causado por dado " +"armazenado que contém caracteres que são inválidos para a codificação que " +"foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de " +"8 bits em um banco de dados SQL_ASCII." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "Uma função foi executada e nada foi retornado." + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "Uma função foi executada com um número inválido de parâmetros" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -"Alguma coisa não usual ocorreu para causar a falha do driver. Por favor " -"reporte esta exceção." +"Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} " +"contudo tipo {2} foi registrado." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Tentativa de conexão falhou." +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... " +"'}' para declarar um)" -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Interrompido ao tentar se conectar." +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull não pode ser chamado antes de obter um resultado." -#: org/postgresql/Driver.java:682 +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Método {0} ainda não foi implementado." +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" +"Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) " +"foi feita." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 -#, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Conversão para tipo {0} falhou: {1}." +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, " +") foi feita." -#: org/postgresql/geometric/PGpath.java:70 -#, java-format -msgid "Cannot tell if path is open or closed: {0}." -msgstr "Não pode dizer se caminho está aberto ou fechado: {0}." +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Nenhum saída de função foi registrada." -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/jdbc/PgCallableStatement.java:436 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" +"Resultados não podem ser recuperados de uma função antes dela ser executada." -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Valor de Types não é suportado: {0}" + +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format -msgid "Invalid flags {0}" -msgstr "Marcadores={0} inválidos" +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "Valor do parâmetro stringtype não é suportado: {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid não deve ser nulo" +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Nenhum resultado foi retornado pela consulta." -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "Conexão está ocupada com outra transação" +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Um resultado foi retornado quando nenhum era esperado." -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "suspender/recomeçar não está implementado" +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." +msgstr "Mapeamento de tipos personalizados não são suportados." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"Intercalação de transação não está implementado. xid={0}, currentXid={1}, " -"state={2}, flags={3}" +msgid "Failed to create object for: {0}." +msgstr "Falhou ao criar objeto para: {0}." -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "Erro ao desabilitar autocommit" +#: org/postgresql/jdbc/PgConnection.java:641 +#, java-format +msgid "Unable to load the class {0} responsible for the datatype {1}" +msgstr "" +"Não foi possível carregar a classe {0} responsável pelo tipo de dado {1}" -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -"tentou executar end sem a chamada ao start correspondente. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +"Não pode mudar propriedade somente-leitura da transação no meio de uma " +"transação." -#: org/postgresql/xa/PGXAConnection.java:297 -#, fuzzy, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." msgstr "" -"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +#, fuzzy +msgid "This connection has been closed." +msgstr "Conexão foi fechada." + +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format +#: org/postgresql/jdbc/PgConnection.java:827 msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +"Cannot change transaction isolation level in the middle of a transaction." msgstr "" -"Não está implementado: Prepare deve ser executado utilizando a mesma conexão " -"que iniciou a transação. currentXid={0}, prepare xid={1}" +"Não pode mudar nível de isolamento da transação no meio de uma transação." -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Prepare executado antes do end. prepare xid={0}, state={1}" +msgid "Transaction isolation level {0} not supported." +msgstr "Nível de isolamento da transação {0} não é suportado." -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" +msgstr "Fechando uma Conexão que não foi fechada:" + +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." +msgstr "Não foi possível traduzir dado para codificação desejada." + +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "Tamanho da busca deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Erro ao preparar transação. prepare xid={0}" +msgid "Unable to find server array type for provided name {0}." +msgstr "Não foi possível encontrar tipo matriz para nome fornecido {0}." -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Erro durante recuperação" +#: org/postgresql/jdbc/PgConnection.java:1312 +#, fuzzy, java-format +msgid "Invalid elements {0}" +msgstr "Marcadores={0} inválidos" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/jdbc/PgConnection.java:1348 #, fuzzy, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "Invalid timeout ({0}<0)." +msgstr "Tamanho de dado {0} é inválido." + +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." msgstr "" -"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgConnection.java:1405 +#, fuzzy, java-format +msgid "Failed to set ClientInfo property: {0}" +msgstr "Falhou ao criar objeto para: {0}." + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." +msgstr "propriedade ClientInfo não é suportada." + +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgConnection.java:1540 +#, fuzzy +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." msgstr "" -"Não está implementado: efetivada da primeira fase deve ser executada " -"utilizando a mesma conexão que foi utilizada para iniciá-la" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "commit executado antes do end. commit xid={0}, state={1}" +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "Definição de durabilidade do ResultSet desconhecida: {0}." -#: org/postgresql/xa/PGXAConnection.java:498 -#, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Erro durante efetivação de uma fase. commit xid={0}" +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "" +"Não pode estabelecer um savepoint no modo de efetivação automática (auto-" +"commit)." -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." +msgstr "Retorno de chaves geradas automaticamente não é suportado." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -"Não está implementado: efetivação da segunda fase deve ser executada " -"utilizado uma conexão ociosa. commit xid={0}, currentXid={1}, state={2], " -"transactionState={3}" +"Não foi possível determinar um valor para MaxIndexKeys por causa de falta de " +"dados no catálogo do sistema." -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." +msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" msgstr "" -"Erro ao cancelar transação preparada. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 -#, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "Não foi possível decodificar dado xml." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 -#, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Classe XML Source desconhecida: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Não foi possível criar SAXResult para SQLXML." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Não foi possível criar StAXResult para SQLXML" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Classe XML Result desconhecida: {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "Este objeto SQLXML já foi liberado." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" +msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" -"Este objeto SQLXML não foi inicializado, então você não pode recuperar dados " -"dele." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "Falhou ao converter dados xml binários para codificação: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" -"Não foi possível converter dado SQLXML do DOMResult para uma cadeia de " -"caracteres." +"O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." -#: org/postgresql/jdbc/PgSQLXML.java:287 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -"Este objeto SQLXML já foi inicializado, então você não pode manipulá-lo " -"depois." +"Não pode utilizar métodos de consulta que pegam uma consulta de um comando " +"preparado." -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." -msgstr "Não pode referenciar um savepoint após ele ser descartado." +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Valor de Types desconhecido." + +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#, java-format +msgid "Invalid stream length {0}." +msgstr "Tamanho de dado {0} é inválido." + +#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#, java-format +msgid "The JVM claims not to support the {0} encoding." +msgstr "A JVM reclamou que não suporta a codificação {0}." + +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." +msgstr "InputStream fornecido falhou." -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." -msgstr "Não pode recuperar o id de um savepoint com nome." +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#, java-format +msgid "Unknown type {0}." +msgstr "Tipo desconhecido {0}." -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "Não pode recuperar o nome de um savepoint sem nome." +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." +msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format -msgid "The array index is out of range: {0}" -msgstr "O índice da matriz está fora do intervalo: {0}" +msgid "Cannot cast an instance of {0} to type {1}" +msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgPreparedStatement.java:682 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "" -"O índice da matriz está fora do intervalo: {0}, número de elementos: {1}." +msgid "Unsupported Types value: {0}" +msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 +#: org/postgresql/jdbc/PgPreparedStatement.java:894 #, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgid "Cannot convert an instance of {0} to type {1}" +msgstr "Não pode converter uma instância de {0} para tipo {1}" + +#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#, java-format +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" -"O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." +"Não pode inferir um tipo SQL a ser usado para uma instância de {0}. Use " +"setObject() com um valor de Types explícito para especificar o tipo a ser " +"usado." -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Muitos resultados de atualização foram retornados." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." +msgstr "Erro inesperado ao escrever objeto grande no banco de dados." -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." +msgstr "Reader fornecido falhou." + +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:280 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -"Entrada em lote {0} {1} foi abortada. Chame getNextException para ver a " -"causa." +"Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY " +"(somente para frente)." -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "Valor do parâmetro stringtype não é suportado: {0}" +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 +#, fuzzy, java-format +msgid "Cannot convert the column of type {0} to requested type {1}." +msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Nenhum resultado foi retornado pela consulta." +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." +msgstr "" +"Não pode utilizar métodos de movimentação relativos enquanto estiver " +"inserindo registro." -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "Um resultado foi retornado quando nenhum era esperado." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Constante de direção da busca é inválida: {0}." -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." -msgstr "Mapeamento de tipos personalizados não são suportados." +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "Não pode chamar cancelRowUpdates() quando estiver inserindo registro." -#: org/postgresql/jdbc/PgConnection.java:587 -#, java-format -msgid "Failed to create object for: {0}." -msgstr "Falhou ao criar objeto para: {0}." +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "Não pode chamar deleteRow() quando estiver inserindo registro." -#: org/postgresql/jdbc/PgConnection.java:641 -#, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" +#: org/postgresql/jdbc/PgResultSet.java:912 +msgid "" +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -"Não foi possível carregar a classe {0} responsável pelo tipo de dado {1}" +"Posicionado antes do início do ResultSet. Você não pode chamar deleteRow() " +"aqui." -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgResultSet.java:918 msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -"Não pode mudar propriedade somente-leitura da transação no meio de uma " -"transação." +"Posicionado depois do fim do ResultSet. Você não pode chamar deleteRow() " +"aqui." -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Não há nenhum registro neste ResultSet." -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -#, fuzzy -msgid "This connection has been closed." -msgstr "Conexão foi fechada." +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "Não está inserindo um registro." -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." +msgstr "Você deve especificar pelo menos uma coluna para inserir um registro." -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 +#, java-format +msgid "The JVM claims not to support the encoding: {0}" +msgstr "A JVM reclamou que não suporta a codificação: {0}" + +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." +msgstr "Não pode renovar um registro inserido." + +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." +msgstr "Não pode chamar updateRow() quando estiver inserindo registro." + +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" -"Cannot change transaction isolation level in the middle of a transaction." +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -"Não pode mudar nível de isolamento da transação no meio de uma transação." - -#: org/postgresql/jdbc/PgConnection.java:833 -#, java-format -msgid "Transaction isolation level {0} not supported." -msgstr "Nível de isolamento da transação {0} não é suportado." +"Não pode atualizar o ResultSet porque ele está antes do início ou depois do " +"fim dos resultados." -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" -msgstr "Fechando uma Conexão que não foi fechada:" +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +msgstr "" +"ResultSets com CONCUR_READ_ONLY concorrentes não podem ser atualizados." -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." -msgstr "Não foi possível traduzir dado para codificação desejada." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." +msgstr "Nenhuma chave primária foi encontrada para tabela {0}." -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." -msgstr "Tamanho da busca deve ser um valor maior ou igual a 0." +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 +#, java-format +msgid "Bad value for type {0} : {1}" +msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format -msgid "Unable to find server array type for provided name {0}." -msgstr "Não foi possível encontrar tipo matriz para nome fornecido {0}." +msgid "The column name {0} was not found in this ResultSet." +msgstr "A nome da coluna {0} não foi encontrado neste ResultSet." -#: org/postgresql/jdbc/PgConnection.java:1312 -#, fuzzy, java-format -msgid "Invalid elements {0}" -msgstr "Marcadores={0} inválidos" +#: org/postgresql/jdbc/PgResultSet.java:2731 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." +msgstr "" +"ResultSet não é atualizável. A consulta que gerou esse conjunto de " +"resultados deve selecionar somente uma tabela, e deve selecionar todas as " +"chaves primárias daquela tabela. Veja a especificação na API do JDBC 2.1, " +"seção 5.6 para obter mais detalhes." -#: org/postgresql/jdbc/PgConnection.java:1348 -#, fuzzy, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "Tamanho de dado {0} é inválido." +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "Este ResultSet está fechado." -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" +"ResultSet não está posicionado corretamente, talvez você precise chamar next." -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." +msgstr "dado UUID é inválido." + +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "Falhou ao criar objeto para: {0}." +msgid "conversion to {0} from {1} not supported" +msgstr "Nível de isolamento da transação {0} não é suportado." + +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Não foi possível decodificar dado xml." -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." -msgstr "propriedade ClientInfo não é suportada." +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Classe XML Source desconhecida: {0}" -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." -msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Não foi possível criar SAXResult para SQLXML." -#: org/postgresql/jdbc/PgConnection.java:1540 -#, fuzzy -msgid "Network timeout must be a value greater than or equal to 0." -msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Não foi possível criar StAXResult para SQLXML" -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." -msgstr "" +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Classe XML Result desconhecida: {0}" -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Este objeto SQLXML já foi liberado." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" +"Este objeto SQLXML não foi inicializado, então você não pode recuperar dados " +"dele." -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." -msgstr "Definição de durabilidade do ResultSet desconhecida: {0}." +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "Falhou ao converter dados xml binários para codificação: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -"Não pode estabelecer um savepoint no modo de efetivação automática (auto-" -"commit)." +"Não foi possível converter dado SQLXML do DOMResult para uma cadeia de " +"caracteres." -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." -msgstr "Retorno de chaves geradas automaticamente não é suportado." +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" +"Este objeto SQLXML já foi inicializado, então você não pode manipulá-lo " +"depois." #: org/postgresql/jdbc/PgStatement.java:235 msgid "Multiple ResultSets were returned by the query." @@ -1144,12 +1334,6 @@ msgstr "O tamanho máximo de um campo deve ser um valor maior ou igual a 0." msgid "This statement has been closed." msgstr "Este comando foi fechado." -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Constante de direção da busca é inválida: {0}." - #: org/postgresql/jdbc/PgStatement.java:1145 #: org/postgresql/jdbc/PgStatement.java:1173 msgid "Returning autogenerated keys by column index is not supported." @@ -1157,591 +1341,390 @@ msgstr "" "Retorno de chaves geradas automaticamente por índice de coluna não é " "suportado." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" -"Não foi possível determinar um valor para MaxIndexKeys por causa de falta de " -"dados no catálogo do sistema." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 +#, fuzzy, java-format +msgid "Bad value for type timestamp/date/time: {1}" +msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Truncar objetos grandes só é implementado por servidores 8.3 ou superiores." +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, fuzzy, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 -#, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "LOBs do PostgreSQL só podem indexar até: {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "Deslocamentos da posição de LOB começam em 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "free() já foi chamado neste LOB" - -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -"Não pode utilizar métodos de consulta que pegam uma consulta de um comando " -"preparado." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Valor de Types desconhecido." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "The JVM claims not to support the {0} encoding." -msgstr "A JVM reclamou que não suporta a codificação {0}." +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." -msgstr "InputStream fornecido falhou." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 -#, java-format -msgid "Unknown type {0}." -msgstr "Tipo desconhecido {0}." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Falhou ao inicializar API de Objetos Grandes" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" +"Objetos Grandes não podem ser usados no modo de efetivação automática (auto-" +"commit)." -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 -#, java-format -msgid "Cannot cast an instance of {0} to type {1}" -msgstr "Não pode converter uma instância de {0} para tipo {1}" - -#: org/postgresql/jdbc/PgPreparedStatement.java:682 -#, java-format -msgid "Unsupported Types value: {0}" +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 -#, java-format -msgid "Cannot convert an instance of {0} to type {1}" -msgstr "Não pode converter uma instância de {0} para tipo {1}" - -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." -msgstr "" -"Não pode inferir um tipo SQL a ser usado para uma instância de {0}. Use " -"setObject() com um valor de Types explícito para especificar o tipo a ser " -"usado." - -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." -msgstr "Erro inesperado ao escrever objeto grande no banco de dados." - -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." -msgstr "Reader fornecido falhou." +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "Cannot cast to boolean: \"{0}\"" -msgstr "" - -#: org/postgresql/jdbc/PgResultSet.java:280 -msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +msgid "SSL error: {0}" msgstr "" -"Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY " -"(somente para frente)." -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/ssl/MakeSSL.java:78 #, fuzzy, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." -msgstr "Não pode converter uma instância de {0} para tipo {1}" +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -"Não pode utilizar métodos de movimentação relativos enquanto estiver " -"inserindo registro." -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "Não pode chamar cancelRowUpdates() quando estiver inserindo registro." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." -msgstr "Não pode chamar deleteRow() quando estiver inserindo registro." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"Posicionado antes do início do ResultSet. Você não pode chamar deleteRow() " -"aqui." -#: org/postgresql/jdbc/PgResultSet.java:918 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -"Posicionado depois do fim do ResultSet. Você não pode chamar deleteRow() " -"aqui." -#: org/postgresql/jdbc/PgResultSet.java:922 -msgid "There are no rows in this ResultSet." -msgstr "Não há nenhum registro neste ResultSet." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." -msgstr "Não está inserindo um registro." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." -msgstr "Você deve especificar pelo menos uma coluna para inserir um registro." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 -#, java-format -msgid "The JVM claims not to support the encoding: {0}" -msgstr "A JVM reclamou que não suporta a codificação: {0}" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." -msgstr "Não pode renovar um registro inserido." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." -msgstr "Não pode chamar updateRow() quando estiver inserindo registro." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -"Não pode atualizar o ResultSet porque ele está antes do início ou depois do " -"fim dos resultados." -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -"ResultSets com CONCUR_READ_ONLY concorrentes não podem ser atualizados." -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "No primary key found for table {0}." -msgstr "Nenhuma chave primária foi encontrada para tabela {0}." +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 #, java-format -msgid "Bad value for type {0} : {1}" -msgstr "Valor inválido para tipo {0} : {1}" +msgid "Could not decrypt SSL key file {0}." +msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 #, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "A nome da coluna {0} não foi encontrado neste ResultSet." - -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +msgid "Could not read SSL key file {0}." msgstr "" -"ResultSet não é atualizável. A consulta que gerou esse conjunto de " -"resultados deve selecionar somente uma tabela, e deve selecionar todas as " -"chaves primárias daquela tabela. Veja a especificação na API do JDBC 2.1, " -"seção 5.6 para obter mais detalhes." - -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." -msgstr "Este ResultSet está fechado." -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -"ResultSet não está posicionado corretamente, talvez você precise chamar next." - -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." -msgstr "dado UUID é inválido." - -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 -#, fuzzy, java-format -msgid "conversion to {0} from {1} not supported" -msgstr "Nível de isolamento da transação {0} não é suportado." - -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 -#, fuzzy, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, fuzzy, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Valor de Types não é suportado: {0}" - -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "Uma função foi executada e nada foi retornado." - -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "Uma função foi executada com um número inválido de parâmetros" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." -msgstr "" -"Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} " -"contudo tipo {2} foi registrado." - -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +msgid "Could not open SSL root certificate file {0}." msgstr "" -"Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... " -"'}' para declarar um)" - -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull não pode ser chamado antes de obter um resultado." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +msgid "Could not read SSL root certificate file {0}." msgstr "" -"Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) " -"foi feita." -#: org/postgresql/jdbc/PgCallableStatement.java:424 -msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." msgstr "" -"Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, " -") foi feita." - -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "Nenhum saída de função foi registrada." -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -"Resultados não podem ser recuperados de uma função antes dela ser executada." -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Valor de Types não é suportado: {0}" +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Conversão de interval falhou" -#: org/postgresql/jdbc/EscapedFunctions.java:240 -#, java-format -msgid "{0} function takes four and only four argument." -msgstr "função {0} recebe somente quatro argumentos." +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Conversão de money falhou." -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/util/ServerErrorMessage.java:45 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "função {0} recebe somente dois argumentos." +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/util/ServerErrorMessage.java:176 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "função {0} recebe somente um argumento." +msgid "Detail: {0}" +msgstr "Detalhe: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "função {0} recebe dois ou três argumentos." +msgid "Hint: {0}" +msgstr "Dica: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "função {0} não recebe nenhum argumento." +msgid "Position: {0}" +msgstr "Posição: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/util/ServerErrorMessage.java:189 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "função {0} recebe três e somente três argumentos." +msgid "Where: {0}" +msgstr "Onde: {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/util/ServerErrorMessage.java:195 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Intervalo {0} ainda não foi implementado" +msgid "Internal Query: {0}" +msgstr "Consulta Interna: {0}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/util/ServerErrorMessage.java:199 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" -msgstr "" +msgid "Internal Position: {0}" +msgstr "Posição Interna: {0}" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Falhou ao inicializar API de Objetos Grandes" +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -"Objetos Grandes não podem ser usados no modo de efetivação automática (auto-" -"commit)." -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "Copying from database failed: {0}" -msgstr "" +msgid "Invalid flags {0}" +msgstr "Marcadores={0} inválidos" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "Este ResultSet está fechado." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid não deve ser nulo" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." -msgstr "" +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Conexão está ocupada com outra transação" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspender/recomeçar não está implementado" + +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Intercalação de transação não está implementado. xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Erro ao desabilitar autocommit" + +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"tentou executar end sem a chamada ao start correspondente. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/copy/CopyManager.java:75 -#, java-format -msgid "Requested CopyDual but got {0}" +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" +"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:307 +#, java-format +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +"Não está implementado: Prepare deve ser executado utilizando a mesma conexão " +"que iniciou a transação. currentXid={0}, prepare xid={1}" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Prepare executado antes do end. prepare xid={0}, state={1}" + +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Erro ao preparar transação. prepare xid={0}" -#: org/postgresql/fastpath/Fastpath.java:165 +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Erro durante recuperação" + +#: org/postgresql/xa/PGXAConnection.java:438 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +"Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " -"um inteiro." +"Não está implementado: efetivada da primeira fase deve ser executada " +"utilizando a mesma conexão que foi utilizada para iniciá-la" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "A função do fastpath {0} é desconhecida." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +msgstr "" -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Conexão negada. Verifique se o nome da máquina e a porta estão corretos e " -#~ "se o postmaster está aceitando conexões TCP/IP." +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit executado antes do end. commit xid={0}, state={1}" -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "A tentativa de conexão falhou." +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Erro durante efetivação de uma fase. commit xid={0}" -#~ msgid "Connection rejected: {0}." -#~ msgstr "Conexão negada: {0}." +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Não está implementado: efetivação da segunda fase deve ser executada " +"utilizado uma conexão ociosa. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Inicialização do processo servidor falhou: {0}." +#: org/postgresql/xa/PGXAConnection.java:550 +#, fuzzy, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Erro ao cancelar transação preparada. commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Versões do servidor anteriores a 8.0 não suportam savepoints." +#: org/postgresql/xa/PGXAConnection.java:567 +#, java-format +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}" #~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "Erro inesperado ao decodificar caracter de um objeto grande." @@ -1752,6 +1735,11 @@ msgstr "A função do fastpath {0} é desconhecida." #~ "Retorno de chaves geradas automaticamente só é suportado por servidores " #~ "8.2 ou mais recentes." +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Versões do servidor anteriores a 8.1 não suportam efetivação em duas " +#~ "fases." + #~ msgid "" #~ "Infinite value found for timestamp/date. This cannot be represented as " #~ "time." @@ -1759,13 +1747,28 @@ msgstr "A função do fastpath {0} é desconhecida." #~ "Valor infinito encontrado em timestamp/date. Isto não pode ser " #~ "representado como tempo." -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." #~ msgstr "" -#~ "Versões do servidor anteriores a 8.1 não suportam efetivação em duas " -#~ "fases." +#~ "Conexão negada. Verifique se o nome da máquina e a porta estão corretos e " +#~ "se o postmaster está aceitando conexões TCP/IP." + +#~ msgid "Connection rejected: {0}." +#~ msgstr "Conexão negada: {0}." + +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Versões do servidor anteriores a 8.0 não suportam savepoints." #~ msgid "Invalid flag" #~ msgstr "Marcador inválido" #~ msgid "The class {0} does not implement org.postgresql.util.PGobject." #~ msgstr "A classe {0} não implementa org.postgresql.util.PGobject." + +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Inicialização do processo servidor falhou: {0}." + +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "A tentativa de conexão falhou." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index 7d575b16cb..d326e1be6f 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2016-01-07 15:09+0300\n" "Last-Translator: Vladimir Sitnikov \n" "Language-Team: pgsql-rus \n" @@ -23,170 +23,123 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.7\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 -msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:270 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" - -# key: postgresql.con.sslfail -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -msgid "An error occurred reading the certificate" -msgstr "Ошибка при чтении сертификата" - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +# key: postgresql.unusual +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 -#, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 -#, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Случилось что-то необычное, что заставило драйвер произвести ошибку. " +"Пожалуйста сообщите это исключение." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." -msgstr "" +# key: postgresql.con.failed +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Закончилось время ожидания" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 -#, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." -msgstr "" +# key: postgresql.con.sslfail +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Подключение прервано получаением interrupt" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +# key: postgresql.unimplemented +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not decrypt SSL key file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Метод {0} ещё не реализован" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not read SSL key file {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "Requested CopyIn but got {0}" +msgstr "Ожидался ответ CopyIn, а получен {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "Невозможно создать password callback с помощью указанного класса {0}" +msgid "Requested CopyOut but got {0}" +msgstr "Ожидался ответ CopyOut, а получен {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/CopyManager.java:75 +#, fuzzy, java-format +msgid "Requested CopyDual but got {0}" +msgstr "Ожидался ответ CopyOut, а получен {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +# key: postgresql.geo.box +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read SSL root certificate file {0}." -msgstr "" +msgid "Copying from database failed: {0}" +msgstr "Ошибка при обработке ответа команды COPY: {0}" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 -#, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +msgid "This copy stream is closed." +msgstr "Поток уже был закрыт" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" +msgid "Cannot write to copy a byte of value {0}" +msgstr "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "SSL error: {0}" -msgstr "" +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Невозможно установить соединение с помощью протокола {0}" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "Невозможно создать HostnameVerifier с помощью указанного класса {0}" +msgid "oid type {0} not known and not a number" +msgstr "Oid {0} не известен или не является числом" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Раннее завершение входного потока, ожидалось байт: {0}, но считано только {1}" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -# key: postgresql.con.setup -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Ошибка протокола. Установление сессии не удалось." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +msgid "Expected an EOF from server, got: {0}" msgstr "" +"Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Невозможно разобрать SQL команду. Ошибка на позиции {0}" +# key: postgresql.unexpected +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Запрос вернул неожиданный результат." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "Байт с кодом 0 не может втречаться в строковых параметрах" - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Символ с кодом 0 в идентификаторах не допустим" - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -222,53 +175,136 @@ msgstr "" "Неверная последовательность UTF-8: финальное значение является surrogate " "значением: {0}" -# key: postgresql.unexpected -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Запрос вернул неожиданный результат." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Байт с кодом 0 не может втречаться в строковых параметрах" -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" -"Раннее завершение входного потока, ожидалось байт: {0}, но считано только {1}" -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Символ с кодом 0 в идентификаторах не допустим" + +# key: postgresql.res.colrange +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "" -"Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}" +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/core/v3/CopyInImpl.java:47 -msgid "CopyIn copy direction can't receive data" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Неверное значение targetServerType: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 -msgid "Tried to obtain lock while already holding it" +# key: postgresql.con.refused +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"Подсоединение по адресу {0} отклонено. Проверьте что хост и порт указаны " +"правильно и что postmaster принимает TCP/IP-подсоединения." -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 -msgid "Tried to break lock on database connection" -msgstr "" +# key: postgresql.con.failed +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Ошибка при попытке подсоединения." -# key: postgresql.con.sslfail -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 -msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "Ожидание COPY блокировки прервано получением interrupt" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#, java-format +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "Не удалось найти сервер с указанным значением targetServerType: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 -msgid "Unable to bind parameter values for statement." -msgstr "" -"Не в состоянии ассоциировать значения параметров для команды " -"(PGBindException)" +# key: postgresql.con.sslnotsupported +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Сервер не поддерживает SSL." -# key: postgresql.con.ioerror -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 +# key: postgresql.con.sslfail +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Ошибка при установке SSL-подсоединения." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Сервер запросил парольную аутентификацию, но пароль не был указан." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" +msgstr "" + +# key: postgresql.con.auth +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Тип аутентификации {0} не поддерживается. Проверьте если вы сконфигурировали " +"файл pg_hba.conf чтобы включить IP-адреса клиентов или подсеть. Также " +"удостовертесь что он использует схему аутентификации поддерживаемую " +"драйвером." + +# key: postgresql.con.setup +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Ошибка протокола. Установление сессии не удалось." + +#: org/postgresql/core/v3/CopyInImpl.java:47 +msgid "CopyIn copy direction can't receive data" +msgstr "" + +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +msgid "Tried to obtain lock while already holding it" +msgstr "" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +msgid "Tried to break lock on database connection" +msgstr "" + +# key: postgresql.con.sslfail +#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +msgid "Interrupted while waiting to obtain lock on database connection" +msgstr "Ожидание COPY блокировки прервано получением interrupt" + +#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +msgid "Unable to bind parameter values for statement." +msgstr "" +"Не в состоянии ассоциировать значения параметров для команды " +"(PGBindException)" + +# key: postgresql.con.ioerror +#: org/postgresql/core/v3/QueryExecutorImpl.java:333 +#: org/postgresql/core/v3/QueryExecutorImpl.java:485 #: org/postgresql/core/v3/QueryExecutorImpl.java:559 #: org/postgresql/core/v3/QueryExecutorImpl.java:602 #: org/postgresql/core/v3/QueryExecutorImpl.java:729 @@ -412,37 +448,27 @@ msgstr "Драйвер в данный момент не поддерживат msgid "Unable to parse the count in command completion tag: {0}." msgstr "Не удалось узнать количество обновлённых строк по ответу {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -# key: postgresql.res.colrange -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}" - # key: postgresql.prep.param #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format @@ -455,12 +481,6 @@ msgstr "Не указано значение для параметра {0}." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" -# key: postgresql.con.failed -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Ошибка при попытке подсоединения." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -471,679 +491,808 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Соединение уже было закрыто" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Неверное значение sslmode: {0}" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Неверное значение targetServerType: {0}" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "Это соединение уже было закрыто" -# key: postgresql.con.refused -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, java-format +#: org/postgresql/ds/PGPooledConnection.java:314 msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." +"Connection has been closed automatically because a new connection was opened " +"for the same PooledConnection or the PooledConnection has been closed." msgstr "" -"Подсоединение по адресу {0} отклонено. Проверьте что хост и порт указаны " -"правильно и что postmaster принимает TCP/IP-подсоединения." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "Не удалось найти сервер с указанным значением targetServerType: {0}" -# key: postgresql.con.sslnotsupported -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Сервер не поддерживает SSL." - -# key: postgresql.con.sslfail -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Ошибка при установке SSL-подсоединения." +#: org/postgresql/ds/PGPooledConnection.java:315 +msgid "Connection has been closed." +msgstr "Это соединение уже было закрыто" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Сервер запросил парольную аутентификацию, но пароль не был указан." +#: org/postgresql/ds/PGPooledConnection.java:420 +msgid "Statement has been closed." +msgstr "Statement закрыт." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -# key: postgresql.con.auth -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Тип аутентификации {0} не поддерживается. Проверьте если вы сконфигурировали " -"файл pg_hba.conf чтобы включить IP-адреса клиентов или подсеть. Также " -"удостовертесь что он использует схему аутентификации поддерживаемую " -"драйвером." +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource закрыт." -#: org/postgresql/core/ConnectionFactory.java:57 +# key: postgresql.prep.type +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Невозможно установить соединение с помощью протокола {0}" +msgid "Unsupported property name: {0}" +msgstr "Свойство {0} не поддерживается" -#: org/postgresql/core/Oid.java:116 +#: org/postgresql/fastpath/Fastpath.java:86 #, java-format -msgid "oid type {0} not known and not a number" -msgstr "Oid {0} не известен или не является числом" - -# key: postgresql.con.invalidchar -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Найдены неверные символьные данные. Причиной этого скорее всего являются " -"хранимые данные содержащие символы не соответствующие набору символов базы. " -"Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII." - -# key: postgresql.money -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Ошибка при преобразовании типа money." -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." +# key: postgresql.fp.expint +#: org/postgresql/fastpath/Fastpath.java:163 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -# key: postgresql.money -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Невозможно обработать PGInterval: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:45 +#: org/postgresql/fastpath/Fastpath.java:171 #, java-format msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" -# key: postgresql.error.detail -#: org/postgresql/util/ServerErrorMessage.java:176 +# key: postgresql.stat.result +#: org/postgresql/fastpath/Fastpath.java:188 #, java-format -msgid "Detail: {0}" -msgstr "Подробности: {0}" +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Вызов fastpath {0} ничего не вернул, а ожидалось long" -# key: postgresql.error.hint -#: org/postgresql/util/ServerErrorMessage.java:181 +#: org/postgresql/fastpath/Fastpath.java:196 #, java-format -msgid "Hint: {0}" -msgstr "Подсказка: {0}" +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "" -# key: postgresql.error.position -#: org/postgresql/util/ServerErrorMessage.java:185 +# key: postgresql.fp.unknown +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Position: {0}" -msgstr "Позиция: {0}" +msgid "The fastpath function {0} is unknown." +msgstr "" -# key: postgresql.error.where -#: org/postgresql/util/ServerErrorMessage.java:189 +# key: postgresql.geo.lseg +#: org/postgresql/geometric/PGbox.java:77 +#: org/postgresql/geometric/PGcircle.java:74 +#: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 +#: org/postgresql/geometric/PGpoint.java:76 #, java-format -msgid "Where: {0}" -msgstr "Где: {0}" +msgid "Conversion to type {0} failed: {1}." +msgstr "Ошибка при преобразовании к типу {0}: {1}" -#: org/postgresql/util/ServerErrorMessage.java:195 +# key: postgresql.geo.path +#: org/postgresql/geometric/PGpath.java:70 #, java-format -msgid "Internal Query: {0}" +msgid "Cannot tell if path is open or closed: {0}." msgstr "" -# key: postgresql.error.position -#: org/postgresql/util/ServerErrorMessage.java:199 -#, fuzzy, java-format -msgid "Internal Position: {0}" -msgstr "Позиция: {0}" - -# key: postgresql.error.location -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Местонахождение: Файл {0}, Процедура: {1}, Строка: {2}" +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState сервера: {0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:78 +msgid "" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource закрыт." - -# key: postgresql.prep.type -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Unsupported property name: {0}" -msgstr "Свойство {0} не поддерживается" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "Это соединение уже было закрыто" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:314 +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "" + +# key: postgresql.stat.noresult +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Возвращено слишком много результатов обновления." + +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, java-format msgid "" -"Connection has been closed automatically because a new connection was opened " -"for the same PooledConnection or the PooledConnection has been closed." +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:315 -msgid "Connection has been closed." -msgstr "Это соединение уже было закрыто" +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 +#, java-format +msgid "Cannot cast to boolean: \"{0}\"" +msgstr "" -#: org/postgresql/ds/PGPooledConnection.java:420 -msgid "Statement has been closed." -msgstr "Statement закрыт." +#: org/postgresql/jdbc/EscapedFunctions.java:240 +#, java-format +msgid "{0} function takes four and only four argument." +msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 +#, java-format +msgid "{0} function takes two and only two arguments." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 +#, java-format +msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 -#, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Неверное значение sslmode: {0}" +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 +#, java-format +msgid "{0} function takes two or three arguments." +msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 -#, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Неверное значение sslmode: {0}" +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 +#, java-format +msgid "{0} function doesn''t take any argument." +msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +# key: postgresql.unimplemented +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, java-format +msgid "Interval {0} not yet implemented" +msgstr "Интеврвал {0} ещё не реализован" + +#: org/postgresql/jdbc/PSQLSavepoint.java:37 +#: org/postgresql/jdbc/PSQLSavepoint.java:51 +#: org/postgresql/jdbc/PSQLSavepoint.java:69 +msgid "Cannot reference a savepoint after it has been released." msgstr "" -# key: postgresql.prep.type -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/jdbc/PSQLSavepoint.java:42 +msgid "Cannot retrieve the id of a named savepoint." +msgstr "" + +#: org/postgresql/jdbc/PSQLSavepoint.java:56 +msgid "Cannot retrieve the name of an unnamed savepoint." +msgstr "" + +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 #, java-format -msgid "Unsupported properties: {0}" -msgstr "Указанные свойства не поддерживаются: {0}" +msgid "The array index is out of range: {0}" +msgstr "Индекс массива вне диапазона: {0}" -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#, java-format +msgid "The array index is out of range: {0}, number of elements: {1}." +msgstr "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}" + +# key: postgresql.con.invalidchar +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" +"Найдены неверные символьные данные. Причиной этого скорее всего являются " +"хранимые данные содержащие символы не соответствующие набору символов базы. " +"Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII." -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +# key: postgresql.call.noreturnval +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" -# key: postgresql.unusual -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." msgstr "" -"Случилось что-то необычное, что заставило драйвер произвести ошибку. " -"Пожалуйста сообщите это исключение." -# key: postgresql.con.failed -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Закончилось время ожидания" +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" -# key: postgresql.con.sslfail -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Подключение прервано получаением interrupt" +# key: postgresql.call.wrongget +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" -# key: postgresql.unimplemented -#: org/postgresql/Driver.java:682 +# key: postgresql.call.noreturntype +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +# key: postgresql.prep.type +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Бинарная передача не поддерживается для типа {0}" + +# key: postgresql.prep.type +#: org/postgresql/jdbc/PgConnection.java:272 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Метод {0} ещё не реализован" +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "Неподдерживаемое значение для параметра stringtype: {0}" -# key: postgresql.geo.lseg -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 -#: org/postgresql/geometric/PGcircle.java:74 -#: org/postgresql/geometric/PGcircle.java:82 -#: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 +# key: postgresql.stat.noresult +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/TypeInfoCache.java:411 +#: org/postgresql/jdbc/TypeInfoCache.java:484 +#: org/postgresql/jdbc/TypeInfoCache.java:489 +#: org/postgresql/jdbc/TypeInfoCache.java:526 +#: org/postgresql/jdbc/TypeInfoCache.java:531 +msgid "No results were returned by the query." +msgstr "Запрос не вернул результатов." + +# key: postgresql.stat.result +#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgStatement.java:254 +msgid "A result was returned when none was expected." +msgstr "Результат возвращён когда его не ожидалось." + +#: org/postgresql/jdbc/PgConnection.java:545 +msgid "Custom type maps are not supported." +msgstr "" + +# key: postgresql.con.creobj +#: org/postgresql/jdbc/PgConnection.java:587 #, java-format -msgid "Conversion to type {0} failed: {1}." -msgstr "Ошибка при преобразовании к типу {0}: {1}" +msgid "Failed to create object for: {0}." +msgstr "Ошибка при создании объект для: {0}." -# key: postgresql.geo.path -#: org/postgresql/geometric/PGpath.java:70 +#: org/postgresql/jdbc/PgConnection.java:641 #, java-format -msgid "Cannot tell if path is open or closed: {0}." +msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/jdbc/PgConnection.java:693 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" -msgstr "Неверные флаги {0}" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/PgConnection.java:756 +msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/PgConnection.java:767 +#: org/postgresql/jdbc/PgConnection.java:1384 +#: org/postgresql/jdbc/PgConnection.java:1428 +msgid "This connection has been closed." +msgstr "Соединение уже было закрыто" + +#: org/postgresql/jdbc/PgConnection.java:777 +msgid "Cannot rollback when autoCommit is enabled." msgstr "" -# key: postgresql.unimplemented -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "Операции XA suspend/resume не реализованы" +#: org/postgresql/jdbc/PgConnection.java:827 +msgid "" +"Cannot change transaction isolation level in the middle of a transaction." +msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/jdbc/PgConnection.java:833 #, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgid "Transaction isolation level {0} not supported." +msgstr "Уровень изоляции транзакций {0} не поддерживается." + +#: org/postgresql/jdbc/PgConnection.java:878 +msgid "Finalizing a Connection that was never closed:" msgstr "" -"Чередование транзакций в одном соединении не поддерживается. Предыдущую " -"транзакцию нужно завершить xid={0}, currentXid={1}, state={2}, flags={3}" +"Соединение «утекло». Проверьте, что в коде приложения вызывается connection." +"close(). Далее следует стектрейс того места, где создавалось проблемное " +"соединение" -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" +#: org/postgresql/jdbc/PgConnection.java:945 +msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +# key: postgresql.input.fetch.gt0 +#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 +msgid "Fetch size must be a value greater to or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1289 +#: org/postgresql/jdbc/PgConnection.java:1330 #, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" +msgid "Unable to find server array type for provided name {0}." msgstr "" -"Невозможно завершить транзакцию, т.к. транзакция не была начата. state={0}, " -"start xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/jdbc/PgConnection.java:1312 #, fuzzy, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgid "Invalid elements {0}" +msgstr "Неверные флаги {0}" + +#: org/postgresql/jdbc/PgConnection.java:1348 +#, java-format +msgid "Invalid timeout ({0}<0)." +msgstr "Значение таймаута должно быть неотрицательным: {0}" + +#: org/postgresql/jdbc/PgConnection.java:1372 +msgid "Validating connection." msgstr "" -"Ошибка при откате подготовленной транзакции. rollback xid={0}, " -"preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +# key: postgresql.con.creobj +#: org/postgresql/jdbc/PgConnection.java:1405 #, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +msgid "Failed to set ClientInfo property: {0}" +msgstr "Невозможно установить свойство ClientInfo: {0}" + +#: org/postgresql/jdbc/PgConnection.java:1415 +msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/jdbc/PgConnection.java:1441 +msgid "One ore more ClientInfo failed." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1540 +msgid "Network timeout must be a value greater than or equal to 0." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1552 +msgid "Unable to set network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1563 +msgid "Unable to get network timeout." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1580 #, java-format +msgid "Unknown ResultSet holdability setting: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgConnection.java:1598 +#: org/postgresql/jdbc/PgConnection.java:1619 +msgid "Cannot establish a savepoint in auto-commit mode." +msgstr "" + +# key: postgresql.con.isolevel +#: org/postgresql/jdbc/PgConnection.java:1685 +msgid "Returning autogenerated keys is not supported." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" +"Unable to determine a value for MaxIndexKeys due to missing system catalog " +"data." msgstr "" -"В каком соединении транзакцию начинали, в таком и вызывайте prepare. По-" -"другому не работает. currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 +msgid "Unable to find name datatype in the system catalogs." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +msgid "Unable to find keywords in the system catalogs." +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "oid" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" msgstr "" -"Вызов prepare должен происходить только после вызова end. prepare xid={0}, " -"state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Ошибка при выполнении prepare для транзакции {0}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +msgid "typtype" +msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +msgid "proargtypes" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format -msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +msgid "adsrc" msgstr "" -"Ошибка при откате подготовленной транзакции. rollback xid={0}, " -"preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 -#, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +msgid "attidentity" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +msgid "rolname" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 -#, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +msgid "relacl" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 -#, java-format -msgid "commit called before end. commit xid={0}, state={1}" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +msgid "attacl" msgstr "" -"Операция commit должна вызываться только после операции end. commit xid={0}, " -"state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +# key: postgresql.arr.range +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Ошибка при однофазной фиксации транзакции. commit xid={0}" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:127 +#: org/postgresql/jdbc/PgPreparedStatement.java:139 +#: org/postgresql/jdbc/PgPreparedStatement.java:1035 msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +"Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -"Духфазная фиксация работает только, если соединение неактивно (state=idle и " -"транзакцция отсутствует). commit xid={0}, currentXid={1}, state={2], " -"transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +# key: postgresql.prep.type +#: org/postgresql/jdbc/PgPreparedStatement.java:249 +msgid "Unknown Types value." +msgstr "Неизвестное значение Types." + +#: org/postgresql/jdbc/PgPreparedStatement.java:382 +#: org/postgresql/jdbc/PgPreparedStatement.java:439 +#: org/postgresql/jdbc/PgPreparedStatement.java:1191 +#: org/postgresql/jdbc/PgPreparedStatement.java:1490 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" -"Ошибка при фиксации подготовленной транзакции. commit xid={0}, " -"preparedXid={1}, currentXid={2}" +msgid "Invalid stream length {0}." +msgstr "Неверная длина потока {0}." -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/PgPreparedStatement.java:411 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." +#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgResultSet.java:1122 +#: org/postgresql/jdbc/PgResultSet.java:1156 +msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:150 +# key: postgresql.con.type +#: org/postgresql/jdbc/PgPreparedStatement.java:460 +#: org/postgresql/jdbc/PgPreparedStatement.java:1096 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -# key: postgresql.con.creobj -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Невозможно создать SAXResult для SQLXML" +msgid "Unknown type {0}." +msgstr "Неизвестный тип {0}." -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" +#: org/postgresql/jdbc/PgPreparedStatement.java:477 +msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/PgPreparedStatement.java:619 +#: org/postgresql/jdbc/PgPreparedStatement.java:642 +#: org/postgresql/jdbc/PgPreparedStatement.java:652 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format -msgid "Unknown XML Result class: {0}" +msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "Этот объект SQLXML уже был закрыт" +# key: postgresql.prep.type +#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#, java-format +msgid "Unsupported Types value: {0}" +msgstr "Неподдерживаемый java.sql.Types тип: {0}" -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." +#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#, java-format +msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/PgPreparedStatement.java:968 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." +msgid "" +"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " +"with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." +#: org/postgresql/jdbc/PgPreparedStatement.java:1133 +#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." +#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgResultSet.java:1210 +msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:37 -#: org/postgresql/jdbc/PSQLSavepoint.java:51 -#: org/postgresql/jdbc/PSQLSavepoint.java:69 -msgid "Cannot reference a savepoint after it has been released." +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:42 -msgid "Cannot retrieve the id of a named savepoint." +#: org/postgresql/jdbc/PgResultSet.java:280 +msgid "" +"Operation requires a scrollable ResultSet, but this ResultSet is " +"FORWARD_ONLY." msgstr "" -#: org/postgresql/jdbc/PSQLSavepoint.java:56 -msgid "Cannot retrieve the name of an unnamed savepoint." +#: org/postgresql/jdbc/PgResultSet.java:492 +#: org/postgresql/jdbc/PgResultSet.java:532 +#: org/postgresql/jdbc/PgResultSet.java:556 +#: org/postgresql/jdbc/PgResultSet.java:594 +#: org/postgresql/jdbc/PgResultSet.java:624 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 +#, java-format +msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 -#, java-format -msgid "The array index is out of range: {0}" -msgstr "Индекс массива вне диапазона: {0}" +#: org/postgresql/jdbc/PgResultSet.java:838 +#: org/postgresql/jdbc/PgResultSet.java:859 +#: org/postgresql/jdbc/PgResultSet.java:1832 +msgid "Can''t use relative move methods while on the insert row." +msgstr "" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 #, java-format -msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}" +msgid "Invalid fetch direction constant: {0}." +msgstr "" -# key: postgresql.arr.range -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" +#: org/postgresql/jdbc/PgResultSet.java:889 +msgid "Cannot call cancelRowUpdates() when on the insert row." +msgstr "" -# key: postgresql.stat.noresult -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Возвращено слишком много результатов обновления." +# key: postgresql.updateable.oninsertrow +#: org/postgresql/jdbc/PgResultSet.java:905 +msgid "Cannot call deleteRow() when on the insert row." +msgstr "" -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, java-format +# key: postgresql.updateable.beforestartdelete +#: org/postgresql/jdbc/PgResultSet.java:912 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Currently positioned before the start of the ResultSet. You cannot call " +"deleteRow() here." msgstr "" -# key: postgresql.prep.type -#: org/postgresql/jdbc/PgConnection.java:272 -#, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "Неподдерживаемое значение для параметра stringtype: {0}" +# key: postgresql.updateable.afterlastdelete +#: org/postgresql/jdbc/PgResultSet.java:918 +msgid "" +"Currently positioned after the end of the ResultSet. You cannot call " +"deleteRow() here." +msgstr "" -# key: postgresql.stat.noresult -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 -#: org/postgresql/jdbc/TypeInfoCache.java:411 -#: org/postgresql/jdbc/TypeInfoCache.java:484 -#: org/postgresql/jdbc/TypeInfoCache.java:489 -#: org/postgresql/jdbc/TypeInfoCache.java:526 -#: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 -msgid "No results were returned by the query." -msgstr "Запрос не вернул результатов." +#: org/postgresql/jdbc/PgResultSet.java:922 +msgid "There are no rows in this ResultSet." +msgstr "Невозможно удалить строку, т.к. в текущем ResultSet’е строк вообще нет" -# key: postgresql.stat.result -#: org/postgresql/jdbc/PgConnection.java:441 -#: org/postgresql/jdbc/PgStatement.java:254 -msgid "A result was returned when none was expected." -msgstr "Результат возвращён когда его не ожидалось." +# key: postgresql.updateable.notoninsertrow +#: org/postgresql/jdbc/PgResultSet.java:963 +msgid "Not on the insert row." +msgstr "" -#: org/postgresql/jdbc/PgConnection.java:545 -msgid "Custom type maps are not supported." +#: org/postgresql/jdbc/PgResultSet.java:965 +msgid "You must specify at least one column value to insert a row." +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:1119 +#: org/postgresql/jdbc/PgResultSet.java:1754 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 +#, java-format +msgid "The JVM claims not to support the encoding: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgResultSet.java:1261 +msgid "Can''t refresh the insert row." msgstr "" -# key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:587 -#, java-format -msgid "Failed to create object for: {0}." -msgstr "Ошибка при создании объект для: {0}." - -#: org/postgresql/jdbc/PgConnection.java:641 -#, java-format -msgid "Unable to load the class {0} responsible for the datatype {1}" +#: org/postgresql/jdbc/PgResultSet.java:1328 +msgid "Cannot call updateRow() when on the insert row." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgResultSet.java:1335 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" -"Cannot change transaction read-only property in the middle of a transaction." +"Cannot update the ResultSet because it is either before the start or after " +"the end of the results." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 -msgid "Cannot commit when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:1535 +msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 -msgid "This connection has been closed." -msgstr "Соединение уже было закрыто" - -#: org/postgresql/jdbc/PgConnection.java:777 -msgid "Cannot rollback when autoCommit is enabled." +#: org/postgresql/jdbc/PgResultSet.java:1603 +#, java-format +msgid "No primary key found for table {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 -msgid "" -"Cannot change transaction isolation level in the middle of a transaction." +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 +#: org/postgresql/jdbc/PgResultSet.java:2809 +#: org/postgresql/jdbc/PgResultSet.java:2815 +#: org/postgresql/jdbc/PgResultSet.java:2840 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 +#, java-format +msgid "Bad value for type {0} : {1}" msgstr "" -# key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format -msgid "Transaction isolation level {0} not supported." -msgstr "Уровень изоляции транзакций {0} не поддерживается." +msgid "The column name {0} was not found in this ResultSet." +msgstr "Колонки {0} не найдено в этом ResultSet’’е." -#: org/postgresql/jdbc/PgConnection.java:878 -msgid "Finalizing a Connection that was never closed:" +# key: postgresql.updateable.notupdateable +#: org/postgresql/jdbc/PgResultSet.java:2731 +msgid "" +"ResultSet is not updateable. The query that generated this result set must " +"select only one table, and must select all primary keys from that table. See " +"the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -"Соединение «утекло». Проверьте, что в коде приложения вызывается connection." -"close(). Далее следует стектрейс того места, где создавалось проблемное " -"соединение" -#: org/postgresql/jdbc/PgConnection.java:945 -msgid "Unable to translate data into the desired encoding." -msgstr "" +#: org/postgresql/jdbc/PgResultSet.java:2743 +msgid "This ResultSet is closed." +msgstr "ResultSet закрыт." -# key: postgresql.input.fetch.gt0 -#: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 -#: org/postgresql/jdbc/PgResultSet.java:1817 -msgid "Fetch size must be a value greater to or equal to 0." +# key: postgresql.res.nextrequired +#: org/postgresql/jdbc/PgResultSet.java:2774 +msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 -#, java-format -msgid "Unable to find server array type for provided name {0}." +#: org/postgresql/jdbc/PgResultSet.java:3095 +msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +# key: postgresql.con.isolevel +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format -msgid "Invalid elements {0}" -msgstr "Неверные флаги {0}" - -#: org/postgresql/jdbc/PgConnection.java:1348 -#, java-format -msgid "Invalid timeout ({0}<0)." -msgstr "Значение таймаута должно быть неотрицательным: {0}" +msgid "conversion to {0} from {1} not supported" +msgstr "Уровень изоляции транзакций {0} не поддерживается." -#: org/postgresql/jdbc/PgConnection.java:1372 -msgid "Validating connection." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." msgstr "" -# key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format -msgid "Failed to set ClientInfo property: {0}" -msgstr "Невозможно установить свойство ClientInfo: {0}" - -#: org/postgresql/jdbc/PgConnection.java:1415 -msgid "ClientInfo property not supported." +msgid "Unknown XML Source class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 -msgid "One ore more ClientInfo failed." -msgstr "" +# key: postgresql.con.creobj +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Невозможно создать SAXResult для SQLXML" -#: org/postgresql/jdbc/PgConnection.java:1540 -msgid "Network timeout must be a value greater than or equal to 0." +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 -msgid "Unable to set network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 -msgid "Unable to get network timeout." +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Этот объект SQLXML уже был закрыт" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgSQLXML.java:247 #, java-format -msgid "Unknown ResultSet holdability setting: {0}." +msgid "Failed to convert binary xml data to encoding: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 -msgid "Cannot establish a savepoint in auto-commit mode." +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." msgstr "" -# key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:1685 -msgid "Returning autogenerated keys is not supported." +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." msgstr "" # key: postgresql.stat.noresult @@ -1174,582 +1323,435 @@ msgstr "" msgid "This statement has been closed." msgstr "Этот Sstatement был закрыт." -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "" - #: org/postgresql/jdbc/PgStatement.java:1145 #: org/postgresql/jdbc/PgStatement.java:1173 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 -msgid "" -"Unable to determine a value for MaxIndexKeys due to missing system catalog " -"data." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 -msgid "Unable to find name datatype in the system catalogs." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "oid" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 -msgid "typtype" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 -msgid "proargtypes" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 -msgid "adsrc" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 -msgid "attidentity" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 -msgid "rolname" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -msgid "relacl" -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 -msgid "attacl" -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/TimestampUtils.java:355 +#: org/postgresql/jdbc/TimestampUtils.java:423 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" +msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "" +# key: postgresql.prep.type +#: org/postgresql/jdbc/TimestampUtils.java:858 +#: org/postgresql/jdbc/TimestampUtils.java:915 +#: org/postgresql/jdbc/TimestampUtils.java:961 +#: org/postgresql/jdbc/TimestampUtils.java:1010 +#, java-format +msgid "Unsupported binary encoding of {0}." +msgstr "Бинарная передача не поддерживается для типа {0}" -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 -#: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 -msgid "" -"Can''t use query methods that take a query string on a PreparedStatement." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -# key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:249 -msgid "Unknown Types value." -msgstr "Неизвестное значение Types." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 -#, java-format -msgid "Invalid stream length {0}." -msgstr "Неверная длина потока {0}." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "The JVM claims not to support the {0} encoding." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 -#: org/postgresql/jdbc/PgResultSet.java:1122 -#: org/postgresql/jdbc/PgResultSet.java:1156 -msgid "Provided InputStream failed." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -# key: postgresql.con.type -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 -#, java-format -msgid "Unknown type {0}." -msgstr "Неизвестный тип {0}." +# key: postgresql.lo.init +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Ошибка при инициализации LargeObject API" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 -msgid "No hstore extension installed." +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." msgstr "" +"Большие объекты не могут использоваться в режиме авто-подтверждения (auto-" +"commit)." -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +# key: postgresql.prep.type +#: org/postgresql/osgi/PGDataSourceFactory.java:82 #, java-format -msgid "Cannot cast an instance of {0} to type {1}" -msgstr "" +msgid "Unsupported properties: {0}" +msgstr "Указанные свойства не поддерживаются: {0}" -# key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/ssl/MakeSSL.java:52 #, java-format -msgid "Unsupported Types value: {0}" -msgstr "Неподдерживаемый java.sql.Types тип: {0}" +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "Невозможно создать SSLSocketFactory с помощью указанного класса {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format -msgid "Cannot convert an instance of {0} to type {1}" +msgid "SSL error: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/ssl/MakeSSL.java:78 #, java-format -msgid "" -"Can''t infer the SQL type to use for an instance of {0}. Use setObject() " -"with an explicit Types value to specify the type to use." -msgstr "" +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "Невозможно создать HostnameVerifier с помощью указанного класса {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 -msgid "Unexpected error writing large object to database." +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 -#: org/postgresql/jdbc/PgResultSet.java:1210 -msgid "Provided Reader failed." +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:280 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"Operation requires a scrollable ResultSet, but this ResultSet is " -"FORWARD_ONLY." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:492 -#: org/postgresql/jdbc/PgResultSet.java:532 -#: org/postgresql/jdbc/PgResultSet.java:556 -#: org/postgresql/jdbc/PgResultSet.java:594 -#: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 -#, java-format -msgid "Cannot convert the column of type {0} to requested type {1}." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +msgid "" +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:838 -#: org/postgresql/jdbc/PgResultSet.java:859 -#: org/postgresql/jdbc/PgResultSet.java:1832 -msgid "Can''t use relative move methods while on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:889 -msgid "Cannot call cancelRowUpdates() when on the insert row." -msgstr "" +# key: postgresql.con.sslfail +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +msgid "An error occurred reading the certificate" +msgstr "Ошибка при чтении сертификата" -# key: postgresql.updateable.oninsertrow -#: org/postgresql/jdbc/PgResultSet.java:905 -msgid "Cannot call deleteRow() when on the insert row." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" msgstr "" -# key: postgresql.updateable.beforestartdelete -#: org/postgresql/jdbc/PgResultSet.java:912 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 msgid "" -"Currently positioned before the start of the ResultSet. You cannot call " -"deleteRow() here." +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -# key: postgresql.updateable.afterlastdelete -#: org/postgresql/jdbc/PgResultSet.java:918 -msgid "" -"Currently positioned after the end of the ResultSet. You cannot call " -"deleteRow() here." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:922 -msgid "There are no rows in this ResultSet." -msgstr "Невозможно удалить строку, т.к. в текущем ResultSet’е строк вообще нет" +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" -# key: postgresql.updateable.notoninsertrow -#: org/postgresql/jdbc/PgResultSet.java:963 -msgid "Not on the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:965 -msgid "You must specify at least one column value to insert a row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1119 -#: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 #, java-format -msgid "The JVM claims not to support the encoding: {0}" +msgid "Could not read password for SSL key file by callbackhandler {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1261 -msgid "Can''t refresh the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1328 -msgid "Cannot call updateRow() when on the insert row." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 -msgid "" -"Cannot update the ResultSet because it is either before the start or after " -"the end of the results." +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:1535 -msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." -msgstr "" +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "Невозможно создать password callback с помощью указанного класса {0}" -#: org/postgresql/jdbc/PgResultSet.java:1603 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "No primary key found for table {0}." +msgid "Could not open SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "Bad value for type {0} : {1}" +msgid "Could not read SSL root certificate file {0}." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "The column name {0} was not found in this ResultSet." -msgstr "Колонки {0} не найдено в этом ResultSet’’е." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -# key: postgresql.updateable.notupdateable -#: org/postgresql/jdbc/PgResultSet.java:2725 -msgid "" -"ResultSet is not updateable. The query that generated this result set must " -"select only one table, and must select all primary keys from that table. See " -"the JDBC 2.1 API Specification, section 5.6 for more details." +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2737 -msgid "This ResultSet is closed." -msgstr "ResultSet закрыт." +# key: postgresql.money +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Невозможно обработать PGInterval: {0}" -# key: postgresql.res.nextrequired -#: org/postgresql/jdbc/PgResultSet.java:2768 -msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "" +# key: postgresql.money +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Ошибка при преобразовании типа money." -#: org/postgresql/jdbc/PgResultSet.java:3089 -msgid "Invalid UUID data." +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -# key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 -#, fuzzy, java-format -msgid "conversion to {0} from {1} not supported" -msgstr "Уровень изоляции транзакций {0} не поддерживается." +# key: postgresql.error.detail +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Подробности: {0}" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +# key: postgresql.error.hint +#: org/postgresql/util/ServerErrorMessage.java:181 #, java-format -msgid "Bad value for type timestamp/date/time: {1}" -msgstr "" +msgid "Hint: {0}" +msgstr "Подсказка: {0}" -# key: postgresql.prep.type -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +# key: postgresql.error.position +#: org/postgresql/util/ServerErrorMessage.java:185 #, java-format -msgid "Unsupported binary encoding of {0}." -msgstr "Бинарная передача не поддерживается для типа {0}" +msgid "Position: {0}" +msgstr "Позиция: {0}" -# key: postgresql.call.noreturnval -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." +# key: postgresql.error.where +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Где: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" +# key: postgresql.error.position +#: org/postgresql/util/ServerErrorMessage.java:199 +#, fuzzy, java-format +msgid "Internal Position: {0}" +msgstr "Позиция: {0}" + +# key: postgresql.error.location +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Местонахождение: Файл {0}, Процедура: {1}, Строка: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState сервера: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." -msgstr "" +msgid "Invalid flags {0}" +msgstr "Неверные флаги {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -# key: postgresql.call.wrongget -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 -#, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "" +# key: postgresql.unimplemented +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "Операции XA suspend/resume не реализованы" -# key: postgresql.call.noreturntype -#: org/postgresql/jdbc/PgCallableStatement.java:424 +# key: postgresql.con.isolevel +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 +#, java-format msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Чередование транзакций в одном соединении не поддерживается. Предыдущую " +"транзакцию нужно завершить xid={0}, currentXid={1}, state={2}, flags={3}" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/xa/PGXAConnection.java:261 +#, java-format msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"Невозможно завершить транзакцию, т.к. транзакция не была начата. state={0}, " +"start xid={1}, currentXid={2}, preparedXid={3}" -# key: postgresql.prep.type -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/xa/PGXAConnection.java:297 #, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Бинарная передача не поддерживается для типа {0}" - -#: org/postgresql/jdbc/EscapedFunctions.java:240 -#, java-format -msgid "{0} function takes four and only four argument." +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" +"Ошибка при откате подготовленной транзакции. rollback xid={0}, " +"preparedXid={1}, currentXid={2}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function takes two and only two arguments." +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes one and only one argument." +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"В каком соединении транзакцию начинали, в таком и вызывайте prepare. По-" +"другому не работает. currentXid={0}, prepare xid={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "{0} function takes two or three arguments." +msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" +"Вызов prepare должен происходить только после вызова end. prepare xid={0}, " +"state={1}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Ошибка при выполнении prepare для транзакции {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 -#, java-format -msgid "{0} function takes three and only three arguments." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" msgstr "" -# key: postgresql.unimplemented -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "Интеврвал {0} ещё не реализован" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Ошибка при откате подготовленной транзакции. rollback xid={0}, " +"preparedXid={1}, currentXid={2}" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -# key: postgresql.lo.init -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Ошибка при инициализации LargeObject API" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -"Большие объекты не могут использоваться в режиме авто-подтверждения (auto-" -"commit)." -# key: postgresql.geo.box -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Copying from database failed: {0}" -msgstr "Ошибка при обработке ответа команды COPY: {0}" - -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -msgid "This copy stream is closed." -msgstr "Поток уже был закрыт" - -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 -#, java-format -msgid "Requested CopyIn but got {0}" -msgstr "Ожидался ответ CopyIn, а получен {0}" - -#: org/postgresql/copy/CopyManager.java:64 -#, java-format -msgid "Requested CopyOut but got {0}" -msgstr "Ожидался ответ CopyOut, а получен {0}" - -#: org/postgresql/copy/CopyManager.java:75 -#, fuzzy, java-format -msgid "Requested CopyDual but got {0}" -msgstr "Ожидался ответ CopyOut, а получен {0}" - -#: org/postgresql/copy/PGCopyOutputStream.java:71 -#, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}" - -#: org/postgresql/fastpath/Fastpath.java:80 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" +"Операция commit должна вызываться только после операции end. commit xid={0}, " +"state={1}" -# key: postgresql.fp.expint -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "" +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Ошибка при однофазной фиксации транзакции. commit xid={0}" -#: org/postgresql/fastpath/Fastpath.java:165 -#, java-format +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" +"Духфазная фиксация работает только, если соединение неактивно (state=idle и " +"транзакцция отсутствует). commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -# key: postgresql.stat.result -#: org/postgresql/fastpath/Fastpath.java:182 -#, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Вызов fastpath {0} ничего не вернул, а ожидалось long" - -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" +"Ошибка при фиксации подготовленной транзакции. commit xid={0}, " +"preparedXid={1}, currentXid={2}" -# key: postgresql.fp.unknown -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." +msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" -# key: postgresql.con.refused -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Подсоединение отклонено. Проверьте что хост и порт указаны правильно и " -#~ "что postmaster принимает TCP/IP-подсоединения." +# key: postgresql.con.backend +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "Запуск бэкенда не удался: {0}." # key: postgresql.con.failed #~ msgid "The connection url is invalid." #~ msgstr "Неверное значение connection url" +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "Класс {0} не реализует org.postgresql.util.PGobject." + # key: postgresql.con.misc #~ msgid "Connection rejected: {0}." #~ msgstr "Подсоединение отвергнуто: {0}." -# key: postgresql.con.backend -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Запуск бэкенда не удался: {0}." +# key: postgresql.con.refused +#~ msgid "" +#~ "Connection refused. Check that the hostname and port are correct and that " +#~ "the postmaster is accepting TCP/IP connections." +#~ msgstr "" +#~ "Подсоединение отклонено. Проверьте что хост и порт указаны правильно и " +#~ "что postmaster принимает TCP/IP-подсоединения." #~ msgid "Copy not implemented for protocol version 2" #~ msgstr "Команда COPY не реализована для протокола версии 2" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Класс {0} не реализует org.postgresql.util.PGobject." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/sr.po b/pgjdbc/src/main/java/org/postgresql/translation/sr.po index 7b45c1e36c..c5885c8839 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/sr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/sr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-05-26 11:13+0100\n" "Last-Translator: Bojan Škaljac \n" "Language-Team: Srpski \n" @@ -19,169 +19,120 @@ msgstr "" "X-Poedit-Language: Serbian\n" "X-Poedit-Country: YUGOSLAVIA\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "Greška u čitanju standardnih podešavanja iz driverconfig.properties" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da " +"dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj " +"izuzetak." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Isteklo je vreme za pokušaj konektovanja." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Prekinut pokušaj konektovanja." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "Metod {0} nije još impelemtiran." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "ResultSet je zatvoren." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." +msgid "A connection could not be made using the requested protocol {0}." +msgstr "Konekciju nije moguće kreirati uz pomoć protokola {0}." -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Prevremen završetak ulaznog toka podataka,očekivano {0} bajtova, a pročitano " +"samo {1}." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Greška protokola. Zakazivanje sesije propalo." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "" +msgid "Expected an EOF from server, got: {0}" +msgstr "Očekivan EOF od servera, a dobijeno: {0}" -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Pogrešna sintaksa u funkciji ili proceduri na poziciji {0}." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Nepredviđen rezultat je vraćen od strane upita." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "Nula bajtovji se ne smeju pojavljivati u string parametrima." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Nula bajtovji se ne smeju pojavljivati u identifikatorima." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -211,30 +162,107 @@ msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je van opsega: {0}" msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "Ilegalna UTF-8 sekvenca: finalna vrednost je zamena vrednosti: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Nepredviđen rezultat je vraćen od strane upita." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "Nula bajtovji se ne smeju pojavljivati u string parametrima." -#: org/postgresql/core/PGStream.java:486 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Nula bajtovji se ne smeju pojavljivati u identifikatorima." + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Indeks kolone van osega: {0}, broj kolona: {1}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Prevremen završetak ulaznog toka podataka,očekivano {0} bajtova, a pročitano " -"samo {1}." +"Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " +"postmaster podržava TCP/IP konekcije." -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Pokušaj konektovanja propao." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Očekivan EOF od servera, a dobijeno: {0}" +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Server ne podržava SSL." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "" +"Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"Tip autentifikacije {0} nije podržan. Proverite dali imate podešen pg_hba." +"conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža " +"koristi šemu autentifikacije koja je podržana od strane ovog drajvera." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Greška protokola. Zakazivanje sesije propalo." + #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -402,7 +430,7 @@ msgstr "" "Neuspešno prekidanje prebrojavanja ažurivanja u tagu zakompletiranje " "komandi: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -411,7 +439,7 @@ msgstr "" "Serverov client_encoding parametar je promenjen u {0}.JDBC darajver zahteva " "UNICODE client_encoding za uspešno izvršavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -420,7 +448,7 @@ msgstr "" "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle " "počinje sa ISO za uspešno završavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -429,15 +457,6 @@ msgstr "" "Serverov standard_conforming_strings parametar javlja {0}. JDBC drajver " "ocekuje on ili off." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Indeks kolone van osega: {0}, broj kolona: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -448,11 +467,6 @@ msgstr "Nije zadata vrednost za parametar {0}." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Pokušaj konektovanja propao." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -463,164 +477,6 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Konekcija je već zatvorena." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Nevažeća dužina toka {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Nevažeća dužina toka {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " -"postmaster podržava TCP/IP konekcije." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Server ne podržava SSL." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "" -"Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"Tip autentifikacije {0} nije podržan. Proverite dali imate podešen pg_hba." -"conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža " -"koristi šemu autentifikacije koja je podržana od strane ovog drajvera." - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "Konekciju nije moguće kreirati uz pomoć protokola {0}." - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"Pronađeni su nevažeći karakter podaci. Uzrok je najverovatnije to što " -"pohranjeni podaci sadrže karaktere koji su nevažeći u setu karaktera sa " -"kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi " -"podataka." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Konverzija novca (money) propala." - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Konverzija intervala propala." - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "Detalji: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "Nagovest: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "Pozicija: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Gde: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Interni upit: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "Interna pozicija: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "SQLState servera: {0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource je zatvoren." - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Za tip nije podržana vrednost: {0}" - #: org/postgresql/ds/PGPooledConnection.java:118 msgid "This PooledConnection has already been closed." msgstr "PooledConnection je već zatvoren." @@ -641,83 +497,66 @@ msgstr "Konekcija je već zatvorena." msgid "Statement has been closed." msgstr "Statemen je već zatvoren." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource je zatvoren." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Nevažeća dužina toka {0}." +msgid "Unsupported property name: {0}" +msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Nevažeća dužina toka {0}." - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 -#, java-format -msgid "SCRAM authentication failed, server returned error: {0}" +msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" +#: org/postgresql/fastpath/Fastpath.java:163 +#, java-format +msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:171 #, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Za tip nije podržana vrednost: {0}" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "Greška u čitanju standardnih podešavanja iz driverconfig.properties" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." msgstr "" +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -"Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da " -"dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru." +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." msgstr "" -"Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj " -"izuzetak." - -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Isteklo je vreme za pokušaj konektovanja." - -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Prekinut pokušaj konektovanja." +"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "Metod {0} nije još impelemtiran." +msgid "The fastpath function {0} is unknown." +msgstr "Fastpath funkcija {0} je nepoznata." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "Konverzija u tip {0} propala: {1}." @@ -727,205 +566,115 @@ msgstr "Konverzija u tip {0} propala: {1}." msgid "Cannot tell if path is open or closed: {0}." msgstr "Nije moguće utvrditi dali je putanja otvorena ili zatvorena: {0}." -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" +"Skraćivanje velikih objekata je implementirano samo u 8.3 i novijim " +"serverima." -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" -msgstr "Nevažeće zastavice {0}" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid ne sme biti null" - -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "Konekcija je zauzeta sa drugom transakciom." - -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "obustavljanje/nastavljanje nije implementirano." - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, " -"state={2}, flags={3}" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "Greška u isključivanju autokomita" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" -"Pokušaj pozivanja kraja pre odgovarajućeg početka. state={0}, start xid={1}, " -"currentXid={2}, preparedXid={3}" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, fuzzy, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" -"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " -"xid={0}, preparedXid={1}, currentXid={2}" - -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" -"Nije implementirano: Spremanje mora biti pozvano uz korišćenje iste " -"konekcije koja se koristi za startovanje transakcije. currentXid={0}, " -"prepare xid={1}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB mogu jedino da označavaju: {0}" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Pripremanje poziva pre kraja. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB pozicija ofset počinje kod 1." -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Greška u pripremanju transakcije. prepare xid={0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "free() je pozvan na ovom LOB-u prethodno" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Greška prilikom oporavljanja." +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Previše rezultata za ažuriranje je vraćeno." -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " -"xid={0}, preparedXid={1}, currentXid={2}" +"Smeša prijava {0} {1} je odbačena. Pozovite getNextException da proverite " +"rezlog." -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -"Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste " -"konekcije koja je korištena za startovanje." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:487 -#, fuzzy, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "commit pozvan pre kraja." +msgid "{0} function takes four and only four argument." +msgstr "Funkcija {0} prima četiri i samo četiri parametra." -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "Kreška prilikom commit-a iz jedne faze. commit xid={0}" - -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" -"Nije implementirano: Dvofazni commit mora biti izdat uz korištenje " -"besposlene konekcije. commit xid={0}, currentXid={1}, state={2], " -"transactionState={3}" - -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" -"Greška prilikom povratka na prethodo pripremljenu transakciju. commit " -"xid={0}, preparedXid={1}, currentXid={2}" +msgid "{0} function takes two and only two arguments." +msgstr "Funkcija {0} prima dva i samo dva parametra." -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Heuristički commit/rollback nije podržan. forget xid={0}" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "Neuspešno dekodiranje XML podataka." +msgid "{0} function takes one and only one argument." +msgstr "Funkcija {0} prima jedan i samo jedan parametar." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Nepoznata XML ulazna klasa: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "Nije moguće kreirati SAXResult za SQLXML." - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "Nije moguće kreirati StAXResult za SQLXML" +msgid "{0} function takes two or three arguments." +msgstr "Funkcija {0} prima dva ili tri parametra." -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Unknown XML Result class: {0}" -msgstr "nepoznata XML klasa rezultata: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "Ovaj SQLXML je već obrisan." - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" -"SQLXML objekat nije inicijalizovan tako da nije moguće preuzimati podatke iz " -"njega." +msgid "{0} function doesn''t take any argument." +msgstr "Funkcija {0} nema parametara." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "Neuspešno konvertovanje binarnih XML podataka u kodnu stranu: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "Nije moguće konvertovati DOMResult SQLXML podatke u string." +msgid "{0} function takes three and only three arguments." +msgstr "Funkcija {0} prima tri i samo tri parametra." -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" -"SQLXML objekat je već inicijalizovan, tako da ga nije moguće dodatno menjati." +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 +#, java-format +msgid "Interval {0} not yet implemented" +msgstr "Interval {0} još nije implementiran." #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -951,23 +700,83 @@ msgstr "Indeks niza je van opsega: {0}" msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Indeks niza je van opsega: {0}, broj elemenata: {1}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." - -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Previše rezultata za ažuriranje je vraćeno." - -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "" -"Smeša prijava {0} {1} je odbačena. Pozovite getNextException da proverite " -"rezlog." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"Pronađeni su nevažeći karakter podaci. Uzrok je najverovatnije to što " +"pohranjeni podaci sadrže karaktere koji su nevažeći u setu karaktera sa " +"kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi " +"podataka." + +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat." + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement je izvršen sa nevažećim brojem parametara" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." +msgstr "" +"CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} " +"a tip {2} je registrovan kao izlazni parametar." + +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za " +"deklarisanje." + +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull nemože biti pozvan pre zahvatanja rezultata." + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" +"Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je " +"izvršen." + +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, " +")." + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Nije registrovan nikakv izlaz iz funkcije." + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" +"Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši." + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Za tip nije podržana vrednost: {0}" #: org/postgresql/jdbc/PgConnection.java:272 #, java-format @@ -975,6 +784,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "Vrednost za parametar tipa string nije podržana: {0}" #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -983,7 +793,6 @@ msgstr "Vrednost za parametar tipa string nije podržana: {0}" #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Nikakav rezultat nije vraćen od strane upita." @@ -1049,8 +858,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "Nije moguće prevesti podatke u odabrani encoding format." #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Doneta veličina mora biti vrednost veća ili jednaka 0." @@ -1115,43 +924,7 @@ msgstr "U auto-commit modu nije moguće podešavanje tački snimanja." msgid "Returning autogenerated keys is not supported." msgstr "Vraćanje autogenerisanih ključeva nije podržano." -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "Višestruki ResultSet-vi su vraćeni od strane upita." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "Maksimalni broj redova mora biti vrednosti veće ili jednake 0." - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "" -"Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0." - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "Statement je zatvoren." - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Pogrešna konstanta za direkciju donošenja: {0}." - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "Vraćanje autogenerisanih ključeva po kloloni nije podržano." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." @@ -1159,73 +932,58 @@ msgstr "" "Nije moguće odrediti vrednost za MaxIndexKezs zbog nedostatka podataka u " "sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "Nije moguće pronaći ime tipa podatka u sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Nije moguće pronaći ime tipa podatka u sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "" -"Skraćivanje velikih objekata je implementirano samo u 8.3 i novijim " -"serverima." - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB mogu jedino da označavaju: {0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "LOB pozicija ofset počinje kod 1." - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "free() je pozvan na ovom LOB-u prethodno" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1307,9 +1065,9 @@ msgstr "Neočekivana greška prilikom upisa velikog objekta u bazu podataka." msgid "Provided Reader failed." msgstr "Pribavljeni čitač (Reader) zakazao." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1324,8 +1082,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nije moguće konvertovati instancu {0} u tip {1}" @@ -1337,6 +1095,12 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" "Ne može se koristiti metod relativnog pomeranja prilikom ubacivanja redova." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Pogrešna konstanta za direkciju donošenja: {0}." + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Nije moguće pozvati cancelRowUpdates() prilikom ubacivanja redova." @@ -1376,8 +1140,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM tvrdi da ne podržava encoding: {0}" @@ -1391,7 +1155,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Nije moguće pozvati updateRow() prilikom ubacivanja redova." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1407,29 +1171,29 @@ msgstr "ResultSets sa osobinom CONCUR_READ_ONLY ne moeže biti ažuriran." msgid "No primary key found for table {0}." msgstr "Nije pronađen ključ za tabelu {0}." -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Pogrešna vrednost za tip {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Ime kolone {0} nije pronadjeno u ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1440,46 +1204,126 @@ msgstr "" "tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za više " "detalja." -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "ResultSet je zatvoren." -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet nije pravilno pozicioniran, možda je potrebno da pozovete next." -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 msgid "Invalid UUID data." msgstr "Nevažeća UUID podatak." -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Nivo izolacije transakcije {0} nije podržan." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "Neuspešno dekodiranje XML podataka." + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Nepoznata XML ulazna klasa: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "Nije moguće kreirati SAXResult za SQLXML." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "Nije moguće kreirati StAXResult za SQLXML" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "nepoznata XML klasa rezultata: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Ovaj SQLXML je već obrisan." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" +"SQLXML objekat nije inicijalizovan tako da nije moguće preuzimati podatke iz " +"njega." + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "Neuspešno konvertovanje binarnih XML podataka u kodnu stranu: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "Nije moguće konvertovati DOMResult SQLXML podatke u string." + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" +"SQLXML objekat je već inicijalizovan, tako da ga nije moguće dodatno menjati." + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Višestruki ResultSet-vi su vraćeni od strane upita." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "Maksimalni broj redova mora biti vrednosti veće ili jednake 0." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "" +"Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Statement je zatvoren." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "Vraćanje autogenerisanih ključeva po kloloni nije podržano." + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1494,218 +1338,387 @@ msgstr "Pogrešna vrednost za tip {0} : {1}" msgid "Unsupported binary encoding of {0}." msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement je izvršen sa nevažećim brojem parametara" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Nevažeća dužina toka {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} " -"a tip {2} je registrovan kao izlazni parametar." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za " -"deklarisanje." -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull nemože biti pozvan pre zahvatanja rezultata." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "Propao pokušaj inicijalizacije LargeObject API-ja." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Za tip nije podržana vrednost: {0}" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." + +#: org/postgresql/ssl/MakeSSL.java:67 #, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 +#, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je " -"izvršen." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -"CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, " -")." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "Nije registrovan nikakv izlaz iz funkcije." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." msgstr "" -"Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Za tip nije podržana vrednost: {0}" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "SSLSocketFactory klasa koju pruža {0} se nemože instancirati." -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "Funkcija {0} prima četiri i samo četiri parametra." +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "Funkcija {0} prima dva i samo dva parametra." +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "Funkcija {0} prima jedan i samo jedan parametar." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Konverzija intervala propala." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Konverzija novca (money) propala." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Detalji: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "Nagovest: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Pozicija: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Gde: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Interni upit: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Interna pozicija: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "SQLState servera: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "Funkcija {0} prima dva ili tri parametra." +msgid "Invalid flags {0}" +msgstr "Nevažeće zastavice {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "Funkcija {0} nema parametara." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid ne sme biti null" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 -#, java-format -msgid "{0} function takes three and only three arguments." -msgstr "Funkcija {0} prima tri i samo tri parametra." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Konekcija je zauzeta sa drugom transakciom." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "Interval {0} još nije implementiran." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "obustavljanje/nastavljanje nije implementirano." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "Propao pokušaj inicijalizacije LargeObject API-ja." - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "Greška u isključivanju autokomita" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"Pokušaj pozivanja kraja pre odgovarajućeg početka. state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "ResultSet je zatvoren." - -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" +"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"Nije implementirano: Spremanje mora biti pozvano uz korišćenje iste " +"konekcije koja se koristi za startovanje transakcije. currentXid={0}, " +"prepare xid={1}" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Requested CopyDual but got {0}" -msgstr "" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Pripremanje poziva pre kraja. prepare xid={0}, state={1}" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "Cannot write to copy a byte of value {0}" -msgstr "" +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Greška u pripremanju transakcije. prepare xid={0}" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Greška prilikom oporavljanja." + +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." +"Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:479 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste " +"konekcije koja je korištena za startovanje." + +#: org/postgresql/xa/PGXAConnection.java:483 +#, java-format +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:182 +#: org/postgresql/xa/PGXAConnection.java:487 #, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit pozvan pre kraja." + +#: org/postgresql/xa/PGXAConnection.java:498 +#, java-format +msgid "Error during one-phase commit. commit xid={0}" +msgstr "Kreška prilikom commit-a iz jedne faze. commit xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." +"Nije implementirano: Dvofazni commit mora biti izdat uz korištenje " +"besposlene konekcije. commit xid={0}, currentXid={1}, state={2], " +"transactionState={3}" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -"Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." +"Greška prilikom povratka na prethodo pripremljenu transakciju. commit " +"xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "Fastpath funkcija {0} je nepoznata." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristički commit/rollback nije podržan. forget xid={0}" + +#~ msgid "Exception: {0}" +#~ msgstr "Izuzetak: {0}" + +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Beskonačna vrednost je pronađena za tipestamp/date. To se nemože " +#~ "predstaviti kao vreme." #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1714,68 +1727,58 @@ msgstr "Fastpath funkcija {0} je nepoznata." #~ "Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " #~ "postmaster podržava TCP/IP konekcije." -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Pokušaj konektovanja propao." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Konekcija odbačena: {0}." - #~ msgid "Backend start-up failed: {0}." #~ msgstr "Pozadinsko startovanje propalo: {0}." -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Verzije servera manje od 8.0 ne podržavaju tačke snimanja." +#~ msgid "End of Stack Trace" +#~ msgstr "Kraj traga steka." #~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "" #~ "Neočekivana greška prilikom dekodiranja karaktera iz velikog objekta." -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Vraćanje autogenerisanih ključeva je podržano samo za verzije servera od " -#~ "8.2 pa na dalje." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Beskonačna vrednost je pronađena za tipestamp/date. To se nemože " -#~ "predstaviti kao vreme." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "Verzije servera pre 8.1 verzije ne podržavaju commit iz dve faze." +#~ msgid "Stack Trace:" +#~ msgstr "Trag steka:" -#~ msgid "Invalid flag" -#~ msgstr "Nevažeća zastavica (flag)" +#~ msgid "suspend/resume and join not implemented" +#~ msgstr "obustavljanje/nastavljanje i spajanje nije implementirano." -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Klasa {0} ne implementira org.postgresql.util.PGobject." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Konekcija odbačena: {0}." #~ msgid "Query returning autogenerated keys didn't return anything." #~ msgstr "Upit koji vraća autogenerisane ključeve nije vratio rezultat." -#~ msgid "The driver does not support SSL." -#~ msgstr "Ovaj drajver ne podržava SSL." +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Pokušaj konektovanja propao." #~ msgid "Multi-dimensional arrays are currently not supported." #~ msgstr "Multidimenzionalni nizovi nisu trenutno podržani." -#~ msgid "Exception: {0}" -#~ msgstr "Izuzetak: {0}" - -#~ msgid "Stack Trace:" -#~ msgstr "Trag steka:" - -#~ msgid "End of Stack Trace" -#~ msgstr "Kraj traga steka." +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Verzije servera manje od 8.0 ne podržavaju tačke snimanja." #~ msgid "Exception generating stacktrace for: {0} encountered: {1}" #~ msgstr "Izuzetak u generisanju traga steka za: {0} nailazak na: {1}" +#~ msgid "The driver does not support SSL." +#~ msgstr "Ovaj drajver ne podržava SSL." + +#~ msgid "Invalid flag" +#~ msgstr "Nevažeća zastavica (flag)" + +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "Klasa {0} ne implementira org.postgresql.util.PGobject." + +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Vraćanje autogenerisanih ključeva je podržano samo za verzije servera od " +#~ "8.2 pa na dalje." + +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "Verzije servera pre 8.1 verzije ne podržavaju commit iz dve faze." + #~ msgid "rand function only takes zero or one argument(the seed)." #~ msgstr "Slučajna funkcija ne prima parametre ili prima samo argument(seme)." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "obustavljanje/nastavljanje i spajanje nije implementirano." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/tr.po b/pgjdbc/src/main/java/org/postgresql/translation/tr.po index b07cba47ce..5e694f4167 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/tr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: jdbc-tr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-05-31 21:47+0200\n" "Last-Translator: Devrim GÜNDÜZ \n" "Language-Team: Turkish \n" @@ -19,169 +19,121 @@ msgstr "" "X-Poedit-Language: Turkish\n" "X-Poedit-Country: TURKEY\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." -msgstr "" +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" +msgstr "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" +"Güvenlik politikanız bağlantının kurulmasını engelledi. java.net." +"SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni " +"vermelisiniz." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." msgstr "" +"Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu " +"geliştiricilere bildirin." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." - -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" -msgstr "" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Bağlantı denemesi zaman aşımına uğradı." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." +msgstr "Bağlanırken kesildi." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/Driver.java:682 #, java-format -msgid "Could not open SSL certificate file {0}." -msgstr "" +msgid "Method {0} is not yet implemented." +msgstr "{0} yöntemi henüz kodlanmadı." -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " -msgstr "" - -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#: org/postgresql/copy/CopyManager.java:64 #, java-format -msgid "Could not decrypt SSL key file {0}." +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/CopyManager.java:75 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format -msgid "The password callback class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 -#, java-format -msgid "Could not open SSL root certificate file {0}." -msgstr "" +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "ResultSet kapalıdır." -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 -#, java-format -msgid "Could not read SSL root certificate file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" - -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." +msgid "A connection could not be made using the requested protocol {0}." +msgstr "İstenilen protokol ile bağlantı kurulamadı {0}" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "SSL error: {0}" +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "SSLSocketFactory {0} ile örneklenmedi." - -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" +"Giriş akımında beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt " +"alındı." -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "Protokol hatası. Oturum kurulumu başarısız oldu." - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" -msgstr "" +msgid "Expected an EOF from server, got: {0}" +msgstr "Sunucudan EOF beklendi; ama {0} alındı." -#: org/postgresql/core/Parser.java:933 +#: org/postgresql/core/Parser.java:1006 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "{0} adresinde fonksiyon veya yordamda kaçış söz dizimi geçersiz." +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "Sorgu beklenmeyen bir sonuç döndürdü." + #: org/postgresql/core/SocketFactoryFactory.java:41 #, fuzzy, java-format msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "SSLSocketFactory {0} ile örneklenmedi." -#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 -msgid "Zero bytes may not occur in string parameters." -msgstr "String parametrelerinde sıfır bayt olamaz." - -#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 -msgid "No IOException expected from StringBuffer or StringBuilder" -msgstr "" - -#: org/postgresql/core/Utils.java:159 -msgid "Zero bytes may not occur in identifiers." -msgstr "Belirteçlerde sıfır bayt olamaz." - #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" @@ -212,30 +164,107 @@ msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer sıra dışıdır: {0} msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "Geçersiz UTF-8 çoklu bayt karakteri: son değer yapay bir değerdir: {0}" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "Sorgu beklenmeyen bir sonuç döndürdü." +#: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 +msgid "Zero bytes may not occur in string parameters." +msgstr "String parametrelerinde sıfır bayt olamaz." -#: org/postgresql/core/PGStream.java:486 +#: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 +msgid "No IOException expected from StringBuffer or StringBuilder" +msgstr "" + +#: org/postgresql/core/Utils.java:159 +msgid "Zero bytes may not occur in identifiers." +msgstr "Belirteçlerde sıfır bayt olamaz." + +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format +msgid "" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" -"Giriş akımında beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt " -"alındı." +"Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " +"postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "Bağlantı denemesi başarısız oldu." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Expected an EOF from server, got: {0}" -msgstr "Sunucudan EOF beklendi; ama {0} alındı." +msgid "Could not find a server with specified targetServerType: {0}" +msgstr "" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "Sunucu SSL desteklemiyor." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#, java-format +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." +msgstr "" +"{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyanızı " +"istemcinin IP adresini ya da subnetini içerecek şekilde ayarlayıp " +"ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme " +"yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "Protokol hatası. Oturum kurulumu başarısız oldu." + #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -395,7 +424,7 @@ msgstr "Bu sunucu şu aşamada COPY işlemleri desteklememktedir." msgid "Unable to parse the count in command completion tag: {0}." msgstr "Komut tamamlama etiketinde update sayısı yorumlanamıyor: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -405,7 +434,7 @@ msgstr "" "sürücüsünün doğru çalışması için client_encoding parameteresinin UNICODE " "olması gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -414,7 +443,7 @@ msgstr "" "Sunucunun DateStyle parametresi {0} olarak değiştirildi. JDBC sürücüsü doğru " "işlemesi için DateStyle tanımının ISO işle başlamasını gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -423,15 +452,6 @@ msgstr "" "İstemcinin client_standard_conforming_strings parametresi {0} olarak " "raporlandı. JDBC sürücüsü on ya da off olarak bekliyordu." -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}." - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -442,11 +462,6 @@ msgstr "{0} parametresi için hiç bir değer belirtilmedi." msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "Bağlantı denemesi başarısız oldu." - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -457,164 +472,6 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Bağlantı kapatıldı." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "Geçersiz akım uzunluğu {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "Geçersiz akım uzunluğu {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " -"postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "Sunucu SSL desteklemiyor." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyanızı " -"istemcinin IP adresini ya da subnetini içerecek şekilde ayarlayıp " -"ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme " -"yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz." - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "İstenilen protokol ile bağlantı kurulamadı {0}" - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"Geçersiz karakterler bulunmuştur. Bunun sebebi, verilerde veritabanın " -"desteklediği dil kodlamadaki karakterlerin dışında bir karaktere " -"rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII " -"veritabanında saklamasıdır." - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "Money dönüştürmesi başarısız." - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "Interval dönüştürmesi başarısız." - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "Ayrıntı: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "İpucu: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "Where: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "Internal Query: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "Internal Position: {0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "Yer: Dosya: {0}, Yordam: {1}, Satır: {2}" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "Sunucu SQLState: {0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource kapatıldı." - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "Geçersiz Types değeri: {0}" - #: org/postgresql/ds/PGPooledConnection.java:118 msgid "This PooledConnection has already been closed." msgstr "Geçerli PooledConnection zaten önceden kapatıldı." @@ -635,84 +492,61 @@ msgstr "Bağlantı kapatıldı." msgid "Statement has been closed." msgstr "Komut kapatıldı." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource kapatıldı." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "Geçersiz akım uzunluğu {0}." +msgid "Unsupported property name: {0}" +msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "Geçersiz akım uzunluğu {0}." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:171 #, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "Geçersiz Types değeri: {0}" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" -"Güvenlik politikanız bağlantının kurulmasını engelledi. java.net." -"SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni " -"vermelisiniz." - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "" -"Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu " -"geliştiricilere bildirin." +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Bağlantı denemesi zaman aşımına uğradı." +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "Bağlanırken kesildi." +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "{0} yöntemi henüz kodlanmadı." +msgid "The fastpath function {0} is unknown." +msgstr "{0} fastpath fonksiyonu bilinmemektedir." -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "{0} veri tipine dönüştürme hatası: {1}." @@ -722,202 +556,113 @@ msgstr "{0} veri tipine dönüştürme hatası: {1}." msgid "Cannot tell if path is open or closed: {0}." msgstr "Pathın açık mı kapalı olduğunu tespit edilemiyor: {0}." -#: org/postgresql/xa/PGXAConnection.java:128 -msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 -#, java-format -msgid "Invalid flags {0}" -msgstr "Geçersiz seçenekler {0}" - -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" -msgstr "xid null olamaz" - -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" -msgstr "Bağlantı, başka bir transaction tarafından meşgul ediliyor" - -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "suspend/resume desteklenmiyor" - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, " -"flags={3}" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "autocommit'i devre dışı bırakma sırasında hata" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" -"start çağırımı olmadan end çağırılmıştır. state={0}, start xid={1}, " -"currentXid={2}, preparedXid={3}" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, fuzzy, java-format +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" -"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "Large objectlerin temizlenmesi 8.3 ve sonraki sürümlerde kodlanmıştır." -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" -"Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından " -"çağırmalıdır. currentXid={0}, prepare xid={1}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOB göstergeleri sadece {0} referans edebilir" -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "Sondan önce prepare çağırılmış. prepare xid={0}, state={1}" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." +msgstr "LOB bağlangıç adresi 1Den başlıyor" -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "Transaction hazırlama hatası. prepare xid={0}" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" +msgstr "Bu LOB'da free() daha önce çağırıldı" -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" -msgstr "Kurtarma sırasında hata" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." +msgstr "Çok fazla güncelleme sonucu döndürüldü." -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." msgstr "" -"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"Tpilı iş girişi {0} {1} durduruldu. Nedenini görmek için getNextException " +"fonksiyonu çağırın." -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -"Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı " -"aynı olmalıdır" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} fonksiyonunu yalnız dört parametre alabilir." -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "commit, sondan önce çağırıldı. commit xid={0}, state={1}" +msgid "{0} function takes two and only two arguments." +msgstr "{0} fonksiyonunu sadece iki parametre alabilir." -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "One-phase commit sırasında hata. commit xid={0}" - -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" -"Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" - -#: org/postgresql/xa/PGXAConnection.java:550 -#, fuzzy, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" -"Hazırlanmış transaction rollback hatası. commit xid={0}, preparedXid={1}, " -"currentXid={2}" +msgid "{0} function takes one and only one argument." +msgstr "{0} fonksiyonunu yalnız tek bir parametre alabilir." -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "Heuristic commit/rollback desteklenmiyor. forget xid={0}" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "XML verisinin kodu çözülemedi." +msgid "{0} function takes two or three arguments." +msgstr "{0} fonksiyonu yalnız iki veya üç argüman alabilir." -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "Bilinmeyen XML Kaynak Sınıfı: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -msgid "Unable to create SAXResult for SQLXML." -msgstr "SQLXML için SAXResult yaratılamadı." - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "SQLXML için StAXResult yaratılamadı" +msgid "{0} function doesn''t take any argument." +msgstr "{0} fonksiyonu parametre almaz." -#: org/postgresql/jdbc/PgSQLXML.java:213 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Unknown XML Result class: {0}" -msgstr "Bilinmeyen XML Sonuç sınıfı: {0}." - -#: org/postgresql/jdbc/PgSQLXML.java:225 -msgid "This SQLXML object has already been freed." -msgstr "Bu SQLXML nesnesi zaten boşaltılmış." - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "Bu SQLXML nesnesi ilklendirilmemiş; o yüzden ondan veri alamazsınız." +msgid "{0} function takes three and only three arguments." +msgstr "{0} fonksiyonunu sadece üç parametre alabilir." -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "xml verisinin şu dil kodlamasına çevirilmesi başarısız oldu: {0}" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "DOMResult SQLXML verisini diziye dönüştürülemedi." - -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" -"Bu SQLXML nesnesi daha önceden ilklendirilmiştir; o yüzden daha fazla " -"müdahale edilemez." +msgid "Interval {0} not yet implemented" +msgstr "{0} aralığı henüz kodlanmadı." #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -943,23 +688,82 @@ msgstr "Dizi göstergesi kapsam dışıdır: {0}" msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." - -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." -msgstr "Çok fazla güncelleme sonucu döndürüldü." - -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." msgstr "" -"Tpilı iş girişi {0} {1} durduruldu. Nedenini görmek için getNextException " -"fonksiyonu çağırın." +"Geçersiz karakterler bulunmuştur. Bunun sebebi, verilerde veritabanın " +"desteklediği dil kodlamadaki karakterlerin dışında bir karaktere " +"rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII " +"veritabanında saklamasıdır." + +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "CallableStatement çalıştırma sonucunda veri getirilmedi." + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "CallableStatement geçersiz sayıda parametre ile çalıştırıldı." + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." +msgstr "" +"CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen " +"döndürme parametresi {0} ve tipi {1} idi." + +#: org/postgresql/jdbc/PgCallableStatement.java:202 +msgid "" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "" +"Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... " +"'}' kullanın." + +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "wasNull sonuç çekmeden önce çağırılamaz." + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 +#, java-format +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "" +"{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri " +"getirmek için çağrı yapıldı." + +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) " +"tanıtımı yapılmadı." + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "Hiçbir fonksiyon çıktısı kaydedilmedi." + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz." + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "Geçersiz Types değeri: {0}" #: org/postgresql/jdbc/PgConnection.java:272 #, java-format @@ -967,6 +771,7 @@ msgid "Unsupported value for stringtype parameter: {0}" msgstr "strinftype parametresi için destekleneyen değer: {0}" #: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -975,7 +780,6 @@ msgstr "strinftype parametresi için destekleneyen değer: {0}" #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "Sorgudan hiç bir sonuç dönmedi." @@ -1040,8 +844,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "Veri, istenilen dil kodlamasına çevrilemiyor." #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Fetch boyutu sıfır veya daha büyük bir değer olmalıdır." @@ -1105,115 +909,65 @@ msgstr "Auto-commit biçimde savepoint oluşturulamıyor." msgid "Returning autogenerated keys is not supported." msgstr "Otomatik üretilen değerlerin getirilmesi desteklenememktedir." -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "Sorgu tarafından birden fazla ResultSet getirildi." - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır." - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı." - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "Bu komut kapatıldı." - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "Getirme yönü değişmezi geçersiz: {0}." - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" -"Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların " -"döndürülmesi desteklenmiyor." - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" "Sistem kataloğu olmadığından MaxIndexKeys değerini tespit edilememektedir." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "Sistem kataloglarında name veri tipi bulunamıyor." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "Sistem kataloglarında name veri tipi bulunamıyor." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "Large objectlerin temizlenmesi 8.3 ve sonraki sürümlerde kodlanmıştır." - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB göstergeleri sadece {0} referans edebilir" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "LOB bağlangıç adresi 1Den başlıyor" - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "Bu LOB'da free() daha önce çağırıldı" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1293,9 +1047,9 @@ msgstr "Large object veritabanına yazılırken beklenmeyan hata." msgid "Provided Reader failed." msgstr "Sağlanmış InputStream başarısız." -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1311,8 +1065,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "{0} instance, {1} tipine dönüştürülemiyor" @@ -1323,6 +1077,12 @@ msgstr "{0} instance, {1} tipine dönüştürülemiyor" msgid "Can''t use relative move methods while on the insert row." msgstr "Insert kaydı üzerinde relative move method kullanılamaz." +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "Getirme yönü değişmezi geçersiz: {0}." + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "Insert edilmiş kaydın üzerindeyken cancelRowUpdates() çağırılamaz." @@ -1361,8 +1121,8 @@ msgstr "Bir satır eklemek için en az bir sütun değerini belirtmelisiniz." #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM, {0} dil kodlamasını desteklememektedir." @@ -1376,7 +1136,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Insert kaydı üzerinde updateRow() çağırılamaz." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1393,29 +1153,29 @@ msgstr "Eş zamanlama CONCUR_READ_ONLY olan ResultSet''ler değiştirilemez" msgid "No primary key found for table {0}." msgstr "{0} tablosunda primary key yok." -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "{0} veri tipi için geçersiz değer : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Bu ResultSet içinde {0} sütun adı bulunamadı." -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1425,45 +1185,125 @@ msgstr "" "sorgulamalı ve tablonun tüm primary key alanları belirtmelidir. Daha fazla " "bilgi için bk. JDBC 2.1 API Specification, section 5.6." -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "ResultSet kapalıdır." -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "ResultSet doğru konumlanmamıştır, next işlemi çağırmanız gerekir." -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 msgid "Invalid UUID data." msgstr "Geçersiz UUID verisi." -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Transaction isolation level {0} desteklenmiyor." +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "XML verisinin kodu çözülemedi." + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "Bilinmeyen XML Kaynak Sınıfı: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +msgid "Unable to create SAXResult for SQLXML." +msgstr "SQLXML için SAXResult yaratılamadı." + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "SQLXML için StAXResult yaratılamadı" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, java-format +msgid "Unknown XML Result class: {0}" +msgstr "Bilinmeyen XML Sonuç sınıfı: {0}." + +#: org/postgresql/jdbc/PgSQLXML.java:225 +msgid "This SQLXML object has already been freed." +msgstr "Bu SQLXML nesnesi zaten boşaltılmış." + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "Bu SQLXML nesnesi ilklendirilmemiş; o yüzden ondan veri alamazsınız." + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "xml verisinin şu dil kodlamasına çevirilmesi başarısız oldu: {0}" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "DOMResult SQLXML verisini diziye dönüştürülemedi." + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" +"Bu SQLXML nesnesi daha önceden ilklendirilmiştir; o yüzden daha fazla " +"müdahale edilemez." + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "Sorgu tarafından birden fazla ResultSet getirildi." + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır." + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı." + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "Bu komut kapatıldı." + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" +"Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların " +"döndürülmesi desteklenmiyor." + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1478,212 +1318,385 @@ msgstr "{0} veri tipi için geçersiz değer : {1}" msgid "Unsupported binary encoding of {0}." msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatement çalıştırma sonucunda veri getirilmedi." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatement geçersiz sayıda parametre ile çalıştırıldı." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "Geçersiz akım uzunluğu {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 #, java-format -msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -"CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen " -"döndürme parametresi {0} ve tipi {1} idi." -#: org/postgresql/jdbc/PgCallableStatement.java:202 -msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" msgstr "" -"Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... " -"'}' kullanın." -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." -msgstr "wasNull sonuç çekmeden önce çağırılamaz." +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "LArgeObject API ilklendirme hatası" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "Auto-commit biçimde large object kullanılamaz." + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "Geçersiz Types değeri: {0}" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, fuzzy, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri " -"getirmek için çağrı yapıldı." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"The system property containing the server's SSL certificate must not be " +"empty." msgstr "" -"CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) " -"tanıtımı yapılmadı." -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." -msgstr "Hiçbir fonksiyon çıktısı kaydedilmedi." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz." +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 #, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "Geçersiz Types değeri: {0}" +msgid "The password callback class provided {0} could not be instantiated." +msgstr "SSLSocketFactory {0} ile örneklenmedi." -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} fonksiyonunu yalnız dört parametre alabilir." +msgid "Could not open SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} fonksiyonunu sadece iki parametre alabilir." +msgid "Could not read SSL root certificate file {0}." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} fonksiyonunu yalnız tek bir parametre alabilir." +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "Interval dönüştürmesi başarısız." + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "Money dönüştürmesi başarısız." + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" +msgstr "" + +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "Ayrıntı: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "İpucu: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "Where: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "Internal Query: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "Internal Position: {0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "Yer: Dosya: {0}, Yordam: {1}, Satır: {2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 +#, java-format +msgid "Server SQLState: {0}" +msgstr "Sunucu SQLState: {0}" + +#: org/postgresql/xa/PGXAConnection.java:128 +msgid "" +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." +msgstr "" + +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} fonksiyonu yalnız iki veya üç argüman alabilir." +msgid "Invalid flags {0}" +msgstr "Geçersiz seçenekler {0}" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 -#, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} fonksiyonu parametre almaz." +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" +msgstr "xid null olamaz" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 -#, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} fonksiyonunu sadece üç parametre alabilir." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" +msgstr "Bağlantı, başka bir transaction tarafından meşgul ediliyor" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 -#, java-format -msgid "Interval {0} not yet implemented" -msgstr "{0} aralığı henüz kodlanmadı." +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "suspend/resume desteklenmiyor" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" +"Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, " +"flags={3}" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "LArgeObject API ilklendirme hatası" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "Auto-commit biçimde large object kullanılamaz." +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "autocommit'i devre dışı bırakma sırasında hata" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" msgstr "" +"start çağırımı olmadan end çağırılmıştır. state={0}, start xid={1}, " +"currentXid={2}, preparedXid={3}" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "ResultSet kapalıdır." +#: org/postgresql/xa/PGXAConnection.java:297 +#, fuzzy, java-format +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" +"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:300 +#, java-format +msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" msgstr "" +"Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından " +"çağırmalıdır. currentXid={0}, prepare xid={1}" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "Sondan önce prepare çağırılmış. prepare xid={0}, state={1}" + +#: org/postgresql/xa/PGXAConnection.java:331 +#, java-format +msgid "Error preparing transaction. prepare xid={0}" +msgstr "Transaction hazırlama hatası. prepare xid={0}" + +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "Kurtarma sırasında hata" + +#: org/postgresql/xa/PGXAConnection.java:438 +#, java-format +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" +"Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:471 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" +msgstr "" +"Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı " +"aynı olmalıdır" + +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Cannot write to copy a byte of value {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +#: org/postgresql/xa/PGXAConnection.java:487 +#, java-format +msgid "commit called before end. commit xid={0}, state={1}" +msgstr "commit, sondan önce çağırıldı. commit xid={0}, state={1}" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +msgid "Error during one-phase commit. commit xid={0}" +msgstr "One-phase commit sırasında hata. commit xid={0}" -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format +#: org/postgresql/xa/PGXAConnection.java:517 msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." - -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" +msgstr "" +"Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/fastpath/Fastpath.java:190 +#: org/postgresql/xa/PGXAConnection.java:550 #, fuzzy, java-format msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" +"Hazırlanmış transaction rollback hatası. commit xid={0}, preparedXid={1}, " +"currentXid={2}" -#: org/postgresql/fastpath/Fastpath.java:302 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "The fastpath function {0} is unknown." -msgstr "{0} fastpath fonksiyonu bilinmemektedir." +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "Heuristic commit/rollback desteklenmiyor. forget xid={0}" + +#~ msgid "Exception: {0}" +#~ msgstr "İstisna: {0}" + +#~ msgid "" +#~ "Infinite value found for timestamp/date. This cannot be represented as " +#~ "time." +#~ msgstr "" +#~ "Timestamp veri tipinde sonsuz değer bulunmuştur. Buna uygun bir gösterim " +#~ "yoktur." #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1692,68 +1705,58 @@ msgstr "{0} fastpath fonksiyonu bilinmemektedir." #~ "Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " #~ "postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Bağlantı denemesi başarısız oldu." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Bağlantı reddedildi {0}" - #~ msgid "Backend start-up failed: {0}." #~ msgstr "Backend başlaması başarısız oldu: {0}" -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Sunucunun 8.0''dan önceki sürümler savepoint desteklememektedir." +#~ msgid "End of Stack Trace" +#~ msgstr "Stack Trace Sonu" #~ msgid "Unexpected error while decoding character data from a large object." #~ msgstr "Large-object nesnesinden karakter veriyi çözerken beklenmeyen hata." -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Otomatik üretilen anahtarların döndürülmesi sadece 8.2 ve üzerindeki " -#~ "sürümlerdeki sunucularda desteklenmektedir." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Timestamp veri tipinde sonsuz değer bulunmuştur. Buna uygun bir gösterim " -#~ "yoktur." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Sunucunun 8.1''den önceki sürümler two-phase commit desteklememektedir." +#~ msgid "Stack Trace:" +#~ msgstr "Stack Trace:" -#~ msgid "Invalid flag" -#~ msgstr "Geçersiz seçenek" +#~ msgid "suspend/resume and join not implemented" +#~ msgstr "suspend/resume ve join desteklenmemektedir" -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "{0} sınıfı org.postgresql.util.PGobject implemente etmiyor." +#~ msgid "Connection rejected: {0}." +#~ msgstr "Bağlantı reddedildi {0}" #~ msgid "Query returning autogenerated keys didn't return anything." #~ msgstr "Otomatik üretilen anahtarları döndüren sorgu birşey döndürmedi." -#~ msgid "The driver does not support SSL." -#~ msgstr "Sürücü SSL desteklememktedir." - -#~ msgid "Exception: {0}" -#~ msgstr "İstisna: {0}" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "Bağlantı denemesi başarısız oldu." -#~ msgid "Stack Trace:" -#~ msgstr "Stack Trace:" +#~ msgid "Multi-dimensional arrays are currently not supported." +#~ msgstr "Çok boyutlu matrisler şu aşamada seteklenmemektedir." -#~ msgid "End of Stack Trace" -#~ msgstr "Stack Trace Sonu" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "Sunucunun 8.0''dan önceki sürümler savepoint desteklememektedir." #~ msgid "Exception generating stacktrace for: {0} encountered: {1}" #~ msgstr "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Çok boyutlu matrisler şu aşamada seteklenmemektedir." +#~ msgid "The driver does not support SSL." +#~ msgstr "Sürücü SSL desteklememktedir." + +#~ msgid "Invalid flag" +#~ msgstr "Geçersiz seçenek" + +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "{0} sınıfı org.postgresql.util.PGobject implemente etmiyor." + +#~ msgid "" +#~ "Returning autogenerated keys is only supported for 8.2 and later servers." +#~ msgstr "" +#~ "Otomatik üretilen anahtarların döndürülmesi sadece 8.2 ve üzerindeki " +#~ "sürümlerdeki sunucularda desteklenmektedir." + +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "" +#~ "Sunucunun 8.1''den önceki sürümler two-phase commit desteklememektedir." #~ msgid "rand function only takes zero or one argument(the seed)." #~ msgstr "rand fonksiyonu yalnız sıfır veya bir (seed) argüman alabilir." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "suspend/resume ve join desteklenmemektedir" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po index 09ecda85a3..051e7cc6d8 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-01-31 14:34+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,155 +18,139 @@ msgstr "" "X-Poedit-Country: CHINA\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "不明的原因导致驱动程序造成失败,请回报这个例外。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "进行 SSL 连线时发生错误。" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Connection 尝试逾时。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:682 +#, java-format +msgid "Method {0} is not yet implemented." +msgstr "这个 {0} 方法尚未被实作。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "这个 ResultSet 已经被关闭。" + +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "A connection could not be made using the requested protocol {0}." +msgstr "无法以要求的通讯协定 {0} 建立连线。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The password callback class provided {0} could not be instantiated." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "不正确的函式或程序 escape 语法于 {0}。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." -msgstr "" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "传回非预期的查询结果。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "SSL error: {0}" +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "通讯协定错误,Session 初始化失败。" - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/Parser.java:933 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "不正确的函式或程序 escape 语法于 {0}。" - -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -181,55 +165,92 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "在标识识别符中不存在零位元组。" -#: org/postgresql/core/UTF8Encoding.java:28 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "栏位索引超过许可范围:{0},栏位数:{1}。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "无效的串流长度 {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "无效的串流长度 {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#: org/postgresql/core/UTF8Encoding.java:66 -#, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "尝试连线已失败。" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:135 -#, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "服务器不支援 SSL 连线。" -#: org/postgresql/core/UTF8Encoding.java:151 -#, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "进行 SSL 连线时发生错误。" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "传回非预期的查询结果。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "服务器要求使用密码验证,但是密码并未提供。" -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网" +"路区段,以及驱动程序所支援的验证架构模式已被支援。" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "通讯协定错误,Session 初始化失败。" #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -386,7 +407,7 @@ msgstr "驱动程序目前不支援 COPY 操作。" msgid "Unable to parse the count in command completion tag: {0}." msgstr "无法解读命令完成标签中的更新计数:{0}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -395,7 +416,7 @@ msgstr "" "这服务器的 client_encoding 参数被改成 {0},JDBC 驱动程序请求需要 " "client_encoding 为 UNICODE 以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -404,7 +425,7 @@ msgstr "" "这服务器的 DateStyle 参数被更改成 {0},JDBC 驱动程序请求需要 DateStyle 以 " "ISO 开头以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -413,15 +434,6 @@ msgstr "" "这服务器的 standard_conforming_strings 参数已回报为 {0},JDBC 驱动程序已预期" "开启或是关闭。" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "栏位索引超过许可范围:{0},栏位数:{1}。" - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -432,11 +444,6 @@ msgstr "未设定参数值 {0} 的内容。" msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "参数索引超出许可范围:{0},参数总数:{1}。" -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "尝试连线已失败。" - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -447,162 +454,9 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Connection 已经被关闭。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "无效的串流长度 {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "无效的串流长度 {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "服务器不支援 SSL 连线。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "进行 SSL 连线时发生错误。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "服务器要求使用密码验证,但是密码并未提供。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网" -"路区段,以及驱动程序所支援的验证架构模式已被支援。" - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "无法以要求的通讯协定 {0} 建立连线。" - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码," -"其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。" - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "money 转换失败。" - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "隔绝(Interval)转换失败。" - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "详细:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "建议:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "在位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "内部查询:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "内部位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "位置:文件:{0},常式:{1},行:{2}" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "服务器 SQLState:{0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource 已经被关闭。" - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "未被支持的类型值:{0}" - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "这个 PooledConnection 已经被关闭。" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "这个 PooledConnection 已经被关闭。" #: org/postgresql/ds/PGPooledConnection.java:314 msgid "" @@ -620,79 +474,61 @@ msgstr "Connection 已经被关闭。" msgid "Statement has been closed." msgstr "Sstatement 已经被关闭。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource 已经被关闭。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "无效的串流长度 {0}." +msgid "Unsupported property name: {0}" +msgstr "未被支持的类型值:{0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "无效的串流长度 {0}." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:171 #, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "未被支持的类型值:{0}" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "不明的原因导致驱动程序造成失败,请回报这个例外。" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Connection 尝试逾时。" +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "这个 {0} 方法尚未被实作。" +msgid "The fastpath function {0} is unknown." +msgstr "不明的 fastpath 函式 {0}。" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "转换类型 {0} 失败:{1}。" @@ -702,188 +538,111 @@ msgstr "转换类型 {0} 失败:{1}。" msgid "Cannot tell if path is open or closed: {0}." msgstr "无法得知 path 是开启或关闭:{0}。" -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Invalid flags {0}" -msgstr "无效的旗标 flags {0}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOBs 仅能索引到:{0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "暂停(suspend)/再继续(resume)尚未被实作。" - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"事物交易隔绝(Transaction interleaving)未被实作。xid={0}, currentXid={1}, " -"state={2}, flags={3}" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "批次处理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} 函式取得四个且仅有四个引数。" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "{0} 函式取得二个且仅有二个引数。" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "{0} 函式取得一个且仅有一个引数。" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "{0} 函式取得二个或三个引数。" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 函式无法取得任何的引数。" -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "为 {0} 建立对象失败。" - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知的 ResultSet 可适用的设置:{0}。" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "这个 PooledConnection 已经被关闭。" - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 函式取得三个且仅有三个引数。" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "隔绝 {0} 尚未被实作。" #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -909,37 +668,93 @@ msgstr "阵列索引超过许可范围:{0}" msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "阵列索引超过许可范围:{0},元素数量:{1}。" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "参数索引超出许可范围:{0},参数总数:{1}。" +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码," +"其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。" -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "一个 CallableStatement 执行函式后没有传回值。" + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "一个 CallableStatement 已执行包括一个无效的参数数值" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的" +"类型是 {2}。" -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "批次处理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "字符类型参数值未被支持:{0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " +") 。" + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "未被支持的类型值:{0}" + +#: org/postgresql/jdbc/PgConnection.java:272 +#, java-format +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "字符类型参数值未被支持:{0}" + +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 #: org/postgresql/jdbc/TypeInfoCache.java:411 #: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "查询没有传回任何结果。" @@ -1001,8 +816,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "无法将数据转成目标编码。" #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "数据读取笔数(fetch size)必须大于或等于 0。" @@ -1066,112 +881,64 @@ msgstr "在自动确认事物交易模式无法建立储存点(Savepoint)。" msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "查询传回多个 ResultSet。" - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "最大数据读取笔数必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "查询逾时等候时间必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大栏位容量必须大于或等于 0。" - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "这个 statement 已经被关闭。" - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "无效的 fetch 方向常数:{0}。" - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "在系统 catalog 中找不到名称数据类型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "在系统 catalog 中找不到名称数据类型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOBs 仅能索引到:{0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "参数索引超出许可范围:{0},参数总数:{1}。" #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1249,9 +1016,9 @@ msgstr "将大型对象(large object)写入数据库时发生不明错误。" msgid "Provided Reader failed." msgstr "提供的 Reader 已失败。" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1265,8 +1032,8 @@ msgstr "操作要求可卷动的 ResultSet,但此 ResultSet 是 FORWARD_ONLY #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "无法转换 {0} 到类型 {1} 的实例" @@ -1277,6 +1044,12 @@ msgstr "无法转换 {0} 到类型 {1} 的实例" msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的数据列上使用相对位置 move 方法。" +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "无效的 fetch 方向常数:{0}。" + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "不能在新增的数据列上呼叫 cancelRowUpdates()。" @@ -1311,8 +1084,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 声明并不支援编码:{0} 。" @@ -1326,7 +1099,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的数据列上呼叫 deleteRow()。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1341,29 +1114,29 @@ msgstr "ResultSets 与并发同作(Concurrency) CONCUR_READ_ONLY 不能被更新 msgid "No primary key found for table {0}." msgstr "{0} 数据表中未找到主键(Primary key)。" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的类型值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet 中找不到栏位名称 {0}。" -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1372,46 +1145,124 @@ msgstr "" "不可更新的 ResultSet。用来产生这个 ResultSet 的 SQL 命令只能操作一个数据表," "并且必需选择所有主键栏位,详细请参阅 JDBC 2.1 API 规格书 5.6 节。" -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "这个 ResultSet 已经被关闭。" -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 #, fuzzy msgid "Invalid UUID data." msgstr "无效的旗标" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "不支援交易隔绝等级 {0} 。" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "为 {0} 建立对象失败。" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知的 ResultSet 可适用的设置:{0}。" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "这个 PooledConnection 已经被关闭。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "查询传回多个 ResultSet。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "最大数据读取笔数必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "查询逾时等候时间必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大栏位容量必须大于或等于 0。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "这个 statement 已经被关闭。" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1426,209 +1277,373 @@ msgstr "不良的类型值 {0} : {1}" msgid "Unsupported binary encoding of {0}." msgstr "未被支持的类型值:{0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "一个 CallableStatement 执行函式后没有传回值。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -#, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "一个 CallableStatement 已执行包括一个无效的参数数值" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "无效的串流长度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "无效的串流长度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "初始化 LargeObject API 失败" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "大型对象无法被使用在自动确认事物交易模式。" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "未被支持的类型值:{0}" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的" -"类型是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "进行 SSL 连线时发生错误。" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "隔绝(Interval)转换失败。" + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "money 转换失败。" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "详细:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "建议:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "在位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "内部查询:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "内部位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "位置:文件:{0},常式:{1},行:{2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。" +msgid "Server SQLState: {0}" +msgstr "服务器 SQLState:{0}" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -"已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " -") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "无效的旗标 flags {0}" + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "未被支持的类型值:{0}" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "暂停(suspend)/再继续(resume)尚未被实作。" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 函式取得四个且仅有四个引数。" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"事物交易隔绝(Transaction interleaving)未被实作。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 函式取得二个且仅有二个引数。" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 函式取得一个且仅有一个引数。" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 函式取得二个或三个引数。" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 函式无法取得任何的引数。" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 函式取得三个且仅有三个引数。" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "隔绝 {0} 尚未被实作。" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "初始化 LargeObject API 失败" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "大型对象无法被使用在自动确认事物交易模式。" +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "这个 ResultSet 已经被关闭。" +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "从大型对象(large object)解码字元数据时发生错误。" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +#~ msgid "Invalid flag" +#~ msgstr "无效的旗标" -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "8.1 版之前的服务器不支援二段式提交(Two-Phase Commit)。" -#: org/postgresql/fastpath/Fastpath.java:302 -#, java-format -msgid "The fastpath function {0} is unknown." -msgstr "不明的 fastpath 函式 {0}。" +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "类别 {0} 未实做 org.postgresql.util.PGobject。" #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1636,44 +1651,32 @@ msgstr "不明的 fastpath 函式 {0}。" #~ msgstr "" #~ "连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "尝试连线已失败。" +#~ msgid "Exception: {0}" +#~ msgstr "例外:{0}" #~ msgid "Connection rejected: {0}." #~ msgstr "连线已被拒绝:{0}。" -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "后端启动失败:{0}。" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "8.0 版之前的服务器不支援储存点(SavePints)。" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "从大型对象(large object)解码字元数据时发生错误。" +#~ msgid "End of Stack Trace" +#~ msgstr "堆叠追纵结束" #, fuzzy #~ msgid "" #~ "Returning autogenerated keys is only supported for 8.2 and later servers." #~ msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "8.1 版之前的服务器不支援二段式提交(Two-Phase Commit)。" - -#~ msgid "Invalid flag" -#~ msgstr "无效的旗标" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "类别 {0} 未实做 org.postgresql.util.PGobject。" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "8.0 版之前的服务器不支援储存点(SavePints)。" #~ msgid "The driver does not support SSL." #~ msgstr "驱动程序不支援 SSL 连线。" -#~ msgid "Exception: {0}" -#~ msgstr "例外:{0}" - #~ msgid "Stack Trace:" #~ msgstr "堆叠追纵:" -#~ msgid "End of Stack Trace" -#~ msgstr "堆叠追纵结束" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "尝试连线已失败。" + +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "后端启动失败:{0}。" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po index 764d3cddb6..4d8485c2de 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-10 23:24+0300\n" +"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-01-21 16:50+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,155 +18,139 @@ msgstr "" "X-Poedit-Country: TAIWAN\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 -msgid "The sslfactoryarg property may not be empty." +#: org/postgresql/Driver.java:214 +msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 -msgid "" -"The environment variable containing the server's SSL certificate must not be " -"empty." +#: org/postgresql/Driver.java:226 +msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/Driver.java:270 msgid "" -"The system property containing the server's SSL certificate must not be " -"empty." +"Your security policy has prevented the connection from being attempted. You " +"probably need to grant the connect java.net.SocketPermission to the database " +"server host and port that you wish to connect to." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"The sslfactoryarg property must start with the prefix file:, classpath:, " -"env:, sys:, or -----BEGIN CERTIFICATE-----." -msgstr "" +"Something unusual has occurred to cause the driver to fail. Please report " +"this exception." +msgstr "不明的原因導致驅動程式造成失敗,請回報這個例外。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 -#, fuzzy -msgid "An error occurred reading the certificate" -msgstr "進行 SSL 連線時發生錯誤。" +#: org/postgresql/Driver.java:416 +msgid "Connection attempt timed out." +msgstr "Connection 嘗試逾時。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 -msgid "No X509TrustManager found" +#: org/postgresql/Driver.java:429 +msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 -msgid "" -"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " -"available." -msgstr "" +#: org/postgresql/Driver.java:682 +#, java-format +msgid "Method {0} is not yet implemented." +msgstr "這個 {0} 方法尚未被實作。" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 #, java-format -msgid "Could not open SSL certificate file {0}." +msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#: org/postgresql/copy/CopyManager.java:53 #, java-format -msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 -msgid "Enter SSL password: " +#: org/postgresql/copy/CopyManager.java:64 +#, java-format +msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 -msgid "Could not read password for SSL key file, console is not available." +#: org/postgresql/copy/CopyManager.java:75 +#, java-format +msgid "Requested CopyDual but got {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format -msgid "Could not read password for SSL key file by callbackhandler {0}." +msgid "Copying from database failed: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 -#, java-format -msgid "Could not decrypt SSL key file {0}." +#: org/postgresql/copy/PGCopyInputStream.java:67 +#: org/postgresql/copy/PGCopyOutputStream.java:94 +#, fuzzy +msgid "This copy stream is closed." +msgstr "這個 ResultSet 已經被關閉。" + +#: org/postgresql/copy/PGCopyInputStream.java:110 +msgid "Read from copy failed." msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format -msgid "Could not read SSL key file {0}." +msgid "Cannot write to copy a byte of value {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#: org/postgresql/core/ConnectionFactory.java:57 #, java-format -msgid "Could not find a java cryptographic algorithm: {0}." -msgstr "" +msgid "A connection could not be made using the requested protocol {0}." +msgstr "無法以要求的通訊協定 {0} 建立連線。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#: org/postgresql/core/Oid.java:128 #, java-format -msgid "The password callback class provided {0} could not be instantiated." +msgid "oid type {0} not known and not a number" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#: org/postgresql/core/PGStream.java:486 #, java-format -msgid "Could not open SSL root certificate file {0}." +msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#: org/postgresql/core/PGStream.java:528 #, java-format -msgid "Could not read SSL root certificate file {0}." +msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#: org/postgresql/core/Parser.java:1006 #, java-format -msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "" +msgid "Malformed function or procedure escape syntax at offset {0}." +msgstr "不正確的函式或程序 escape 語法於 {0}。" -#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 -msgid "Could not initialize SSL context." -msgstr "" +#: org/postgresql/core/SetupQueryRunner.java:64 +msgid "An unexpected result was returned by a query." +msgstr "傳回非預期的查詢結果。" -#: org/postgresql/ssl/MakeSSL.java:52 +#: org/postgresql/core/SocketFactoryFactory.java:41 #, java-format -msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgid "The SocketFactory class provided {0} could not be instantiated." msgstr "" -#: org/postgresql/ssl/MakeSSL.java:67 +#: org/postgresql/core/UTF8Encoding.java:28 #, java-format -msgid "SSL error: {0}" +msgid "" +"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:78 +#: org/postgresql/core/UTF8Encoding.java:66 #, java-format -msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:84 +#: org/postgresql/core/UTF8Encoding.java:102 +#: org/postgresql/core/UTF8Encoding.java:129 #, java-format -msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" msgstr "" -#: org/postgresql/ssl/MakeSSL.java:93 +#: org/postgresql/core/UTF8Encoding.java:135 #, java-format -msgid "The hostname {0} could not be verified." -msgstr "" - -#: org/postgresql/gss/GssAction.java:126 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2640 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2650 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2659 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:655 -msgid "Protocol error. Session setup failed." -msgstr "通訊協定錯誤,Session 初始化失敗。" - -#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 -#: org/postgresql/gss/MakeGSS.java:74 -msgid "GSS Authentication failed" +msgid "Illegal UTF-8 sequence: final value is out of range: {0}" msgstr "" -#: org/postgresql/core/Parser.java:933 -#, java-format -msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "不正確的函式或程序 escape 語法於 {0}。" - -#: org/postgresql/core/SocketFactoryFactory.java:41 +#: org/postgresql/core/UTF8Encoding.java:151 #, java-format -msgid "The SocketFactory class provided {0} could not be instantiated." +msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" msgstr "" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 @@ -181,55 +165,92 @@ msgstr "" msgid "Zero bytes may not occur in identifiers." msgstr "在標識識別符中不存在零位元組。" -#: org/postgresql/core/UTF8Encoding.java:28 +#: org/postgresql/core/v3/CompositeParameterList.java:33 +#: org/postgresql/core/v3/SimpleParameterList.java:54 +#: org/postgresql/core/v3/SimpleParameterList.java:65 +#: org/postgresql/jdbc/PgResultSet.java:2757 +#: org/postgresql/jdbc/PgResultSetMetaData.java:494 #, java-format +msgid "The column index is out of range: {0}, number of columns: {1}." +msgstr "欄位索引超過許可範圍:{0},欄位數:{1}。" + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#, fuzzy, java-format +msgid "Invalid sslmode value: {0}" +msgstr "無效的串流長度 {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#, fuzzy, java-format +msgid "Invalid targetServerType value: {0}" +msgstr "無效的串流長度 {0}." + +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#, fuzzy, java-format msgid "" -"Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" +"Connection to {0} refused. Check that the hostname and port are correct and " +"that the postmaster is accepting TCP/IP connections." msgstr "" +"連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#: org/postgresql/core/UTF8Encoding.java:66 -#, java-format -msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 +msgid "The connection attempt failed." +msgstr "嘗試連線已失敗。" -#: org/postgresql/core/UTF8Encoding.java:102 -#: org/postgresql/core/UTF8Encoding.java:129 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 #, java-format -msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" +msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/UTF8Encoding.java:135 -#, java-format -msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +msgid "The server does not support SSL." +msgstr "伺服器不支援 SSL 連線。" -#: org/postgresql/core/UTF8Encoding.java:151 -#, java-format -msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +msgid "An error occurred while setting up the SSL connection." +msgstr "進行 SSL 連線時發生錯誤。" -#: org/postgresql/core/SetupQueryRunner.java:64 -msgid "An unexpected result was returned by a query." -msgstr "傳回非預期的查詢結果。" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +msgid "" +"The server requested password-based authentication, but no password was " +"provided." +msgstr "伺服器要求使用密碼驗證,但是密碼並未提供。" -#: org/postgresql/core/PGStream.java:486 -#, java-format -msgid "Premature end of input stream, expected {0} bytes, but only read {1}." +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +msgid "" +"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " +"pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/PGStream.java:528 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 #, java-format -msgid "Expected an EOF from server, got: {0}" +msgid "" +"The authentication type {0} is not supported. Check that you have configured " +"the pg_hba.conf file to include the client''s IP address or subnet, and that " +"it is using an authentication scheme supported by the driver." msgstr "" +"不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網" +"路區段,以及驅動程式所支援的驗證架構模式已被支援。" -#: org/postgresql/core/v3/CopyOperationImpl.java:54 -msgid "CommandComplete expected COPY but got: " -msgstr "" +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/gss/GssAction.java:126 +msgid "Protocol error. Session setup failed." +msgstr "通訊協定錯誤,Session 初始化失敗。" #: org/postgresql/core/v3/CopyInImpl.java:47 msgid "CopyIn copy direction can't receive data" msgstr "" +#: org/postgresql/core/v3/CopyOperationImpl.java:54 +msgid "CommandComplete expected COPY but got: " +msgstr "" + #: org/postgresql/core/v3/QueryExecutorImpl.java:161 msgid "Tried to obtain lock while already holding it" msgstr "" @@ -386,7 +407,7 @@ msgstr "驅動程式目前不支援 COPY 操作。" msgid "Unable to parse the count in command completion tag: {0}." msgstr "無法解讀命令完成標籤中的更新計數:{0}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2603 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -395,7 +416,7 @@ msgstr "" "這伺服器的 client_encoding 參數被改成 {0},JDBC 驅動程式請求需要 " "client_encoding 為 UNICODE 以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2611 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -404,7 +425,7 @@ msgstr "" "這伺服器的 DateStyle 參數被更改成 {0},JDBC 驅動程式請求需要 DateStyle 以 " "ISO 開頭以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2624 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -413,15 +434,6 @@ msgstr "" "這伺服器的 standard_conforming_strings 參數已回報為 {0},JDBC 驅動程式已預期" "開啟或是關閉。" -#: org/postgresql/core/v3/SimpleParameterList.java:54 -#: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/core/v3/CompositeParameterList.java:33 -#: org/postgresql/jdbc/PgResultSetMetaData.java:493 -#: org/postgresql/jdbc/PgResultSet.java:2751 -#, java-format -msgid "The column index is out of range: {0}, number of columns: {1}." -msgstr "欄位索引超過許可範圍:{0},欄位數:{1}。" - #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format msgid "No value specified for parameter {0}." @@ -432,11 +444,6 @@ msgstr "未設定參數值 {0} 的內容。" msgid "Added parameters index out of range: {0}, number of columns: {1}." msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" -#: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 -msgid "The connection attempt failed." -msgstr "嘗試連線已失敗。" - #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 #, java-format msgid "Unexpected packet type during replication: {0}" @@ -447,162 +454,9 @@ msgstr "" msgid "This replication stream has been closed." msgstr "Connection 已經被關閉。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 -#, fuzzy, java-format -msgid "Invalid sslmode value: {0}" -msgstr "無效的串流長度 {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 -#, fuzzy, java-format -msgid "Invalid targetServerType value: {0}" -msgstr "無效的串流長度 {0}." - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 -#, fuzzy, java-format -msgid "" -"Connection to {0} refused. Check that the hostname and port are correct and " -"that the postmaster is accepting TCP/IP connections." -msgstr "" -"連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 -#, java-format -msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:366 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:379 -msgid "The server does not support SSL." -msgstr "伺服器不支援 SSL 連線。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:393 -msgid "An error occurred while setting up the SSL connection." -msgstr "進行 SSL 連線時發生錯誤。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:494 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:521 -msgid "" -"The server requested password-based authentication, but no password was " -"provided." -msgstr "伺服器要求使用密碼驗證,但是密碼並未提供。" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:624 -msgid "" -"SCRAM authentication is not supported by this driver. You need JDK >= 8 and " -"pgjdbc >= 42.2.0 (not \".jre\" vesions)" -msgstr "" - -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:648 -#, java-format -msgid "" -"The authentication type {0} is not supported. Check that you have configured " -"the pg_hba.conf file to include the client''s IP address or subnet, and that " -"it is using an authentication scheme supported by the driver." -msgstr "" -"不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網" -"路區段,以及驅動程式所支援的驗證架構模式已被支援。" - -#: org/postgresql/core/ConnectionFactory.java:57 -#, java-format -msgid "A connection could not be made using the requested protocol {0}." -msgstr "無法以要求的通訊協定 {0} 建立連線。" - -#: org/postgresql/core/Oid.java:116 -#, java-format -msgid "oid type {0} not known and not a number" -msgstr "" - -#: org/postgresql/util/HStoreConverter.java:43 -#: org/postgresql/util/HStoreConverter.java:74 -#: org/postgresql/jdbc/PgArray.java:210 -#: org/postgresql/jdbc/PgResultSet.java:1924 -msgid "" -"Invalid character data was found. This is most likely caused by stored data " -"containing characters that are invalid for the character set the database " -"was created in. The most common example of this is storing 8bit data in a " -"SQL_ASCII database." -msgstr "" -"發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼," -"其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。" - -#: org/postgresql/util/PGmoney.java:62 -msgid "Conversion of money failed." -msgstr "money 轉換失敗。" - -#: org/postgresql/util/StreamWrapper.java:56 -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 -msgid "Object is too large to send over the protocol." -msgstr "" - -#: org/postgresql/util/PGInterval.java:152 -msgid "Conversion of interval failed" -msgstr "隔絕(Interval)轉換失敗。" - -#: org/postgresql/util/ServerErrorMessage.java:45 -#, java-format -msgid "" -" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " -"readable, please check database logs and/or host, port, dbname, user, " -"password, pg_hba.conf)" -msgstr "" - -#: org/postgresql/util/ServerErrorMessage.java:176 -#, java-format -msgid "Detail: {0}" -msgstr "詳細:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:181 -#, java-format -msgid "Hint: {0}" -msgstr "建議:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:185 -#, java-format -msgid "Position: {0}" -msgstr "位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:189 -#, java-format -msgid "Where: {0}" -msgstr "在位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:195 -#, java-format -msgid "Internal Query: {0}" -msgstr "內部查詢:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:199 -#, java-format -msgid "Internal Position: {0}" -msgstr "內部位置:{0}" - -#: org/postgresql/util/ServerErrorMessage.java:206 -#, java-format -msgid "Location: File: {0}, Routine: {1}, Line: {2}" -msgstr "位置:檔案:{0},常式:{1},行:{2}" - -#: org/postgresql/util/ServerErrorMessage.java:211 -#, java-format -msgid "Server SQLState: {0}" -msgstr "伺服器 SQLState:{0}" - -#: org/postgresql/ds/PGPoolingDataSource.java:269 -msgid "Failed to setup DataSource." -msgstr "" - -#: org/postgresql/ds/PGPoolingDataSource.java:371 -msgid "DataSource has been closed." -msgstr "DataSource 已經被關閉。" - -#: org/postgresql/ds/common/BaseDataSource.java:1132 -#: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format -msgid "Unsupported property name: {0}" -msgstr "未被支持的型別值:{0}" - -#: org/postgresql/ds/PGPooledConnection.java:118 -msgid "This PooledConnection has already been closed." -msgstr "這個 PooledConnection 已經被關閉。" +#: org/postgresql/ds/PGPooledConnection.java:118 +msgid "This PooledConnection has already been closed." +msgstr "這個 PooledConnection 已經被關閉。" #: org/postgresql/ds/PGPooledConnection.java:314 msgid "" @@ -620,79 +474,61 @@ msgstr "Connection 已經被關閉。" msgid "Statement has been closed." msgstr "Sstatement 已經被關閉。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 -msgid "No SCRAM mechanism(s) advertised by the server" +#: org/postgresql/ds/PGPoolingDataSource.java:269 +msgid "Failed to setup DataSource." msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 -msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +#: org/postgresql/ds/PGPoolingDataSource.java:371 +msgid "DataSource has been closed." +msgstr "DataSource 已經被關閉。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/ds/common/BaseDataSource.java:1132 +#: org/postgresql/ds/common/BaseDataSource.java:1142 #, fuzzy, java-format -msgid "Invalid server-first-message: {0}" -msgstr "無效的串流長度 {0}." +msgid "Unsupported property name: {0}" +msgstr "未被支持的型別值:{0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/fastpath/Fastpath.java:86 #, fuzzy, java-format -msgid "Invalid server-final-message: {0}" -msgstr "無效的串流長度 {0}." +msgid "Fastpath call {0} - No result was returned and we expected a numeric." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/fastpath/Fastpath.java:163 #, java-format -msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" - -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 -msgid "Invalid server SCRAM signature" -msgstr "" +msgid "Fastpath call {0} - No result was returned and we expected an integer." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#: org/postgresql/fastpath/Fastpath.java:171 #, fuzzy, java-format -msgid "Unsupported properties: {0}" -msgstr "未被支持的型別值:{0}" - -#: org/postgresql/Driver.java:214 -msgid "Error loading default settings from driverconfig.properties" -msgstr "" - -#: org/postgresql/Driver.java:226 -msgid "Properties for the driver contains a non-string value for the key " -msgstr "" - -#: org/postgresql/Driver.java:270 -msgid "" -"Your security policy has prevented the connection from being attempted. You " -"probably need to grant the connect java.net.SocketPermission to the database " -"server host and port that you wish to connect to." -msgstr "" - -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 msgid "" -"Something unusual has occurred to cause the driver to fail. Please report " -"this exception." -msgstr "不明的原因導致驅動程式造成失敗,請回報這個例外。" +"Fastpath call {0} - No result was returned or wrong size while expecting an " +"integer." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/Driver.java:416 -msgid "Connection attempt timed out." -msgstr "Connection 嘗試逾時。" +#: org/postgresql/fastpath/Fastpath.java:188 +#, fuzzy, java-format +msgid "Fastpath call {0} - No result was returned and we expected a long." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/Driver.java:429 -msgid "Interrupted while attempting to connect." -msgstr "" +#: org/postgresql/fastpath/Fastpath.java:196 +#, fuzzy, java-format +msgid "" +"Fastpath call {0} - No result was returned or wrong size while expecting a " +"long." +msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/Driver.java:682 +#: org/postgresql/fastpath/Fastpath.java:308 #, java-format -msgid "Method {0} is not yet implemented." -msgstr "這個 {0} 方法尚未被實作。" +msgid "The fastpath function {0} is unknown." +msgstr "不明的 fastpath 函式 {0}。" -#: org/postgresql/geometric/PGlseg.java:70 -#: org/postgresql/geometric/PGline.java:107 -#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGbox.java:77 #: org/postgresql/geometric/PGcircle.java:74 #: org/postgresql/geometric/PGcircle.java:82 +#: org/postgresql/geometric/PGline.java:107 +#: org/postgresql/geometric/PGline.java:116 +#: org/postgresql/geometric/PGlseg.java:70 #: org/postgresql/geometric/PGpoint.java:76 -#: org/postgresql/geometric/PGbox.java:77 #, java-format msgid "Conversion to type {0} failed: {1}." msgstr "轉換型別 {0} 失敗:{1}。" @@ -702,188 +538,111 @@ msgstr "轉換型別 {0} 失敗:{1}。" msgid "Cannot tell if path is open or closed: {0}." msgstr "無法得知 path 是開啟或關閉:{0}。" -#: org/postgresql/xa/PGXAConnection.java:128 +#: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 +#: org/postgresql/gss/MakeGSS.java:74 +msgid "GSS Authentication failed" +msgstr "" + +#: org/postgresql/jdbc/AbstractBlobClob.java:78 msgid "" -"Transaction control methods setAutoCommit(true), commit, rollback and " -"setSavePoint not allowed while an XA transaction is active." +"Truncation of large objects is only implemented in 8.3 and later servers." +msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" + +#: org/postgresql/jdbc/AbstractBlobClob.java:83 +msgid "Cannot truncate LOB to a negative length." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/jdbc/AbstractBlobClob.java:90 +#: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format -msgid "Invalid flags {0}" -msgstr "無效的旗標 {0}" +msgid "PostgreSQL LOBs can only index to: {0}" +msgstr "PostgreSQL LOBs 僅能索引到:{0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 -msgid "xid must not be null" +#: org/postgresql/jdbc/AbstractBlobClob.java:230 +msgid "LOB positioning offsets start at 1." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 -msgid "Connection is busy with another transaction" +#: org/postgresql/jdbc/AbstractBlobClob.java:246 +msgid "free() was called on this LOB previously" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 -msgid "suspend/resume not implemented" -msgstr "暫停(suspend)/再繼續(resume)尚未被實作。" - -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 -#, java-format -msgid "" -"Invalid protocol state requested. Attempted transaction interleaving is not " -"supported. xid={0}, currentXid={1}, state={2}, flags={3}" -msgstr "" -"事物交易隔絕(Transaction interleaving)未被實作。xid={0}, currentXid={1}, " -"state={2}, flags={3}" - -#: org/postgresql/xa/PGXAConnection.java:224 -msgid "Error disabling autocommit" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:261 -#, java-format -msgid "" -"tried to call end without corresponding start call. state={0}, start " -"xid={1}, currentXid={2}, preparedXid={3}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:297 -#, java-format -msgid "" -"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:300 -#, java-format -msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:307 -#, java-format -msgid "" -"Not implemented: Prepare must be issued using the same connection that " -"started the transaction. currentXid={0}, prepare xid={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:311 -#, java-format -msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:331 -#, java-format -msgid "Error preparing transaction. prepare xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:382 -msgid "Error during recover" +#: org/postgresql/jdbc/BatchResultHandler.java:92 +msgid "Too many update results were returned." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 -#, java-format +#: org/postgresql/jdbc/BatchResultHandler.java:146 +#, fuzzy, java-format msgid "" -"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " +"errors in the batch." +msgstr "批次處理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format -msgid "" -"One-phase commit called for xid {0} but connection was prepared with xid {1}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:479 -msgid "" -"Not implemented: one-phase commit must be issued using the same connection " -"that was used to start it" +msgid "Cannot cast to boolean: \"{0}\"" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/jdbc/EscapedFunctions.java:240 #, java-format -msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" +msgid "{0} function takes four and only four argument." +msgstr "{0} 函式取得四個且僅有四個引數。" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/jdbc/EscapedFunctions.java:270 +#: org/postgresql/jdbc/EscapedFunctions.java:344 +#: org/postgresql/jdbc/EscapedFunctions.java:749 +#: org/postgresql/jdbc/EscapedFunctions.java:787 #, java-format -msgid "commit called before end. commit xid={0}, state={1}" -msgstr "" +msgid "{0} function takes two and only two arguments." +msgstr "{0} 函式取得二個且僅有二個引數。" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/jdbc/EscapedFunctions.java:288 +#: org/postgresql/jdbc/EscapedFunctions.java:326 +#: org/postgresql/jdbc/EscapedFunctions.java:446 +#: org/postgresql/jdbc/EscapedFunctions.java:461 +#: org/postgresql/jdbc/EscapedFunctions.java:476 +#: org/postgresql/jdbc/EscapedFunctions.java:491 +#: org/postgresql/jdbc/EscapedFunctions.java:506 +#: org/postgresql/jdbc/EscapedFunctions.java:521 +#: org/postgresql/jdbc/EscapedFunctions.java:536 +#: org/postgresql/jdbc/EscapedFunctions.java:551 +#: org/postgresql/jdbc/EscapedFunctions.java:566 +#: org/postgresql/jdbc/EscapedFunctions.java:581 +#: org/postgresql/jdbc/EscapedFunctions.java:596 +#: org/postgresql/jdbc/EscapedFunctions.java:611 +#: org/postgresql/jdbc/EscapedFunctions.java:775 #, java-format -msgid "Error during one-phase commit. commit xid={0}" -msgstr "" - -#: org/postgresql/xa/PGXAConnection.java:517 -msgid "" -"Not implemented: 2nd phase commit must be issued using an idle connection. " -"commit xid={0}, currentXid={1}, state={2], transactionState={3}" -msgstr "" +msgid "{0} function takes one and only one argument." +msgstr "{0} 函式取得一個且僅有一個引數。" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/jdbc/EscapedFunctions.java:310 +#: org/postgresql/jdbc/EscapedFunctions.java:391 #, java-format -msgid "" -"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " -"currentXid={2}" -msgstr "" +msgid "{0} function takes two or three arguments." +msgstr "{0} 函式取得二個或三個引數。" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/jdbc/EscapedFunctions.java:416 +#: org/postgresql/jdbc/EscapedFunctions.java:431 +#: org/postgresql/jdbc/EscapedFunctions.java:734 +#: org/postgresql/jdbc/EscapedFunctions.java:764 #, java-format -msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:147 -msgid "Unable to decode xml data." -msgstr "" +msgid "{0} function doesn''t take any argument." +msgstr "{0} 函式無法取得任何的引數。" -#: org/postgresql/jdbc/PgSQLXML.java:150 +#: org/postgresql/jdbc/EscapedFunctions.java:627 +#: org/postgresql/jdbc/EscapedFunctions.java:680 #, java-format -msgid "Unknown XML Source class: {0}" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:193 -#, fuzzy -msgid "Unable to create SAXResult for SQLXML." -msgstr "為 {0} 建立物件失敗。" - -#: org/postgresql/jdbc/PgSQLXML.java:208 -msgid "Unable to create StAXResult for SQLXML" -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:213 -#, fuzzy, java-format -msgid "Unknown XML Result class: {0}" -msgstr "未知的 ResultSet 可適用的設置:{0}。" - -#: org/postgresql/jdbc/PgSQLXML.java:225 -#, fuzzy -msgid "This SQLXML object has already been freed." -msgstr "這個 PooledConnection 已經被關閉。" - -#: org/postgresql/jdbc/PgSQLXML.java:234 -msgid "" -"This SQLXML object has not been initialized, so you cannot retrieve data " -"from it." -msgstr "" +msgid "{0} function takes three and only three arguments." +msgstr "{0} 函式取得三個且僅有三個引數。" -#: org/postgresql/jdbc/PgSQLXML.java:247 +#: org/postgresql/jdbc/EscapedFunctions.java:640 +#: org/postgresql/jdbc/EscapedFunctions.java:661 +#: org/postgresql/jdbc/EscapedFunctions.java:664 +#: org/postgresql/jdbc/EscapedFunctions.java:697 +#: org/postgresql/jdbc/EscapedFunctions.java:710 +#: org/postgresql/jdbc/EscapedFunctions.java:713 #, java-format -msgid "Failed to convert binary xml data to encoding: {0}." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:273 -msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "" - -#: org/postgresql/jdbc/PgSQLXML.java:287 -msgid "" -"This SQLXML object has already been initialized, so you cannot manipulate it " -"further." -msgstr "" +msgid "Interval {0} not yet implemented" +msgstr "隔絕 {0} 尚未被實作。" #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 @@ -909,37 +668,93 @@ msgstr "陣列索引超過許可範圍:{0}" msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "陣列索引超過許可範圍:{0},元素數量:{1}。" -#: org/postgresql/jdbc/PgParameterMetaData.java:83 -#, java-format -msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" +#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgResultSet.java:1930 +#: org/postgresql/util/HStoreConverter.java:43 +#: org/postgresql/util/HStoreConverter.java:74 +msgid "" +"Invalid character data was found. This is most likely caused by stored data " +"containing characters that are invalid for the character set the database " +"was created in. The most common example of this is storing 8bit data in a " +"SQL_ASCII database." +msgstr "" +"發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼," +"其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。" -#: org/postgresql/jdbc/BatchResultHandler.java:92 -msgid "Too many update results were returned." +#: org/postgresql/jdbc/PgCallableStatement.java:86 +#: org/postgresql/jdbc/PgCallableStatement.java:96 +msgid "A CallableStatement was executed with nothing returned." +msgstr "一個 CallableStatement 執行函式後沒有傳回值。" + +#: org/postgresql/jdbc/PgCallableStatement.java:107 +#, fuzzy +msgid "A CallableStatement was executed with an invalid number of parameters" +msgstr "一個 CallableStatement 已執行包括一個無效的參數數值" + +#: org/postgresql/jdbc/PgCallableStatement.java:145 +#, java-format +msgid "" +"A CallableStatement function was executed and the out parameter {0} was of " +"type {1} however type {2} was registered." msgstr "" +"一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的" +"型別是 {2}。" -#: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#: org/postgresql/jdbc/PgCallableStatement.java:202 msgid "" -"Batch entry {0} {1} was aborted: {2} Call getNextException to see other " -"errors in the batch." -msgstr "批次處理 {0} {1} 被中止,呼叫 getNextException 以取得原因。" +"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " +"to declare one." +msgstr "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgCallableStatement.java:246 +msgid "wasNull cannot be call before fetching a result." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:384 +#: org/postgresql/jdbc/PgCallableStatement.java:403 #, java-format -msgid "Unsupported value for stringtype parameter: {0}" -msgstr "字串型別參數值未被支持:{0}" +msgid "" +"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " +"made." +msgstr "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgStatement.java:225 -#: org/postgresql/jdbc/TypeInfoCache.java:226 -#: org/postgresql/jdbc/TypeInfoCache.java:371 +#: org/postgresql/jdbc/PgCallableStatement.java:424 +msgid "" +"A CallableStatement was declared, but no call to registerOutParameter(1, " +") was made." +msgstr "" +"已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " +") 。" + +#: org/postgresql/jdbc/PgCallableStatement.java:430 +msgid "No function outputs were registered." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:436 +msgid "" +"Results cannot be retrieved from a CallableStatement before it is executed." +msgstr "" + +#: org/postgresql/jdbc/PgCallableStatement.java:703 +#, fuzzy, java-format +msgid "Unsupported type conversion to {1}." +msgstr "未被支持的型別值:{0}" + +#: org/postgresql/jdbc/PgConnection.java:272 +#, java-format +msgid "Unsupported value for stringtype parameter: {0}" +msgstr "字串型別參數值未被支持:{0}" + +#: org/postgresql/jdbc/PgConnection.java:424 +#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgStatement.java:225 +#: org/postgresql/jdbc/TypeInfoCache.java:226 +#: org/postgresql/jdbc/TypeInfoCache.java:371 #: org/postgresql/jdbc/TypeInfoCache.java:411 #: org/postgresql/jdbc/TypeInfoCache.java:484 #: org/postgresql/jdbc/TypeInfoCache.java:489 #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 msgid "No results were returned by the query." msgstr "查詢沒有傳回任何結果。" @@ -1001,8 +816,8 @@ msgid "Unable to translate data into the desired encoding." msgstr "無法將資料轉成目標編碼。" #: org/postgresql/jdbc/PgConnection.java:1008 -#: org/postgresql/jdbc/PgStatement.java:903 #: org/postgresql/jdbc/PgResultSet.java:1817 +#: org/postgresql/jdbc/PgStatement.java:903 msgid "Fetch size must be a value greater to or equal to 0." msgstr "資料讀取筆數(fetch size)必須大於或等於 0。" @@ -1066,112 +881,64 @@ msgstr "在自動確認事物交易模式無法建立儲存點(Savepoint)。" msgid "Returning autogenerated keys is not supported." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:235 -msgid "Multiple ResultSets were returned by the query." -msgstr "查詢傳回多個 ResultSet。" - -#: org/postgresql/jdbc/PgStatement.java:316 -msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" - -#: org/postgresql/jdbc/PgStatement.java:509 -msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "最大資料讀取筆數必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:550 -msgid "Query timeout must be a value greater than or equals to 0." -msgstr "查詢逾時等候時間必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:590 -msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大欄位容量必須大於或等於 0。" - -#: org/postgresql/jdbc/PgStatement.java:689 -msgid "This statement has been closed." -msgstr "這個 statement 已經被關閉。" - -#: org/postgresql/jdbc/PgStatement.java:895 -#: org/postgresql/jdbc/PgResultSet.java:878 -#, java-format -msgid "Invalid fetch direction constant: {0}." -msgstr "無效的 fetch 方向常數:{0}。" - -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 -msgid "Returning autogenerated keys by column index is not supported." -msgstr "" - -#: org/postgresql/jdbc/PgDatabaseMetaData.java:66 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:59 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:89 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." msgstr "在系統 catalog 中找不到名稱資料類型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 -msgid "proname" -msgstr "" +#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#, fuzzy +msgid "Unable to find keywords in the system catalogs." +msgstr "在系統 catalog 中找不到名稱資料類型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1028 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1030 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1481 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +msgid "proname" +msgstr "" + +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1033 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1499 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1512 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1608 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1684 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1609 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1615 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 msgid "attacl" msgstr "" -#: org/postgresql/jdbc/AbstractBlobClob.java:78 -msgid "" -"Truncation of large objects is only implemented in 8.3 and later servers." -msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" - -#: org/postgresql/jdbc/AbstractBlobClob.java:83 -msgid "Cannot truncate LOB to a negative length." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:90 -#: org/postgresql/jdbc/AbstractBlobClob.java:234 +#: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format -msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOBs 僅能索引到:{0}" - -#: org/postgresql/jdbc/AbstractBlobClob.java:230 -msgid "LOB positioning offsets start at 1." -msgstr "" - -#: org/postgresql/jdbc/AbstractBlobClob.java:246 -msgid "free() was called on this LOB previously" -msgstr "" +msgid "The parameter index is out of range: {0}, number of parameters: {1}." +msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" #: org/postgresql/jdbc/PgPreparedStatement.java:106 #: org/postgresql/jdbc/PgPreparedStatement.java:127 @@ -1249,9 +1016,9 @@ msgstr "將大型物件(large object)寫入資料庫時發生不明錯誤。" msgid "Provided Reader failed." msgstr "提供的 Reader 已失敗。" -#: org/postgresql/jdbc/BooleanTypeUtil.java:99 -#, java-format -msgid "Cannot cast to boolean: \"{0}\"" +#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/util/StreamWrapper.java:56 +msgid "Object is too large to send over the protocol." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:280 @@ -1265,8 +1032,8 @@ msgstr "操作要求可捲動的 ResultSet,但此 ResultSet 是 FORWARD_ONLY #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3008 -#: org/postgresql/jdbc/PgResultSet.java:3052 +#: org/postgresql/jdbc/PgResultSet.java:3014 +#: org/postgresql/jdbc/PgResultSet.java:3058 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "無法轉換 {0} 到類型 {1} 的實例" @@ -1277,6 +1044,12 @@ msgstr "無法轉換 {0} 到類型 {1} 的實例" msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的資料列上使用相對位置 move 方法。" +#: org/postgresql/jdbc/PgResultSet.java:878 +#: org/postgresql/jdbc/PgStatement.java:895 +#, java-format +msgid "Invalid fetch direction constant: {0}." +msgstr "無效的 fetch 方向常數:{0}。" + #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." msgstr "不能在新增的資料列上呼叫 cancelRowUpdates()。" @@ -1311,8 +1084,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2416 -#: org/postgresql/jdbc/PgResultSet.java:2437 +#: org/postgresql/jdbc/PgResultSet.java:2422 +#: org/postgresql/jdbc/PgResultSet.java:2443 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 聲明並不支援編碼:{0} 。" @@ -1326,7 +1099,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的資料列上呼叫 deleteRow()。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3069 +#: org/postgresql/jdbc/PgResultSet.java:3075 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1341,29 +1114,29 @@ msgstr "ResultSets 與並發同作(Concurrency) CONCUR_READ_ONLY 不能被更新 msgid "No primary key found for table {0}." msgstr "{0} 資料表中未找到主鍵(Primary key)。" -#: org/postgresql/jdbc/PgResultSet.java:2011 -#: org/postgresql/jdbc/PgResultSet.java:2016 -#: org/postgresql/jdbc/PgResultSet.java:2803 +#: org/postgresql/jdbc/PgResultSet.java:2017 +#: org/postgresql/jdbc/PgResultSet.java:2022 #: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2834 +#: org/postgresql/jdbc/PgResultSet.java:2815 #: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2864 -#: org/postgresql/jdbc/PgResultSet.java:2869 -#: org/postgresql/jdbc/PgResultSet.java:2885 -#: org/postgresql/jdbc/PgResultSet.java:2906 -#: org/postgresql/jdbc/PgResultSet.java:2917 -#: org/postgresql/jdbc/PgResultSet.java:2930 -#: org/postgresql/jdbc/PgResultSet.java:3057 +#: org/postgresql/jdbc/PgResultSet.java:2846 +#: org/postgresql/jdbc/PgResultSet.java:2870 +#: org/postgresql/jdbc/PgResultSet.java:2875 +#: org/postgresql/jdbc/PgResultSet.java:2891 +#: org/postgresql/jdbc/PgResultSet.java:2912 +#: org/postgresql/jdbc/PgResultSet.java:2923 +#: org/postgresql/jdbc/PgResultSet.java:2936 +#: org/postgresql/jdbc/PgResultSet.java:3063 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的型別值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2589 +#: org/postgresql/jdbc/PgResultSet.java:2595 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet 中找不到欄位名稱 {0}。" -#: org/postgresql/jdbc/PgResultSet.java:2725 +#: org/postgresql/jdbc/PgResultSet.java:2731 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1372,46 +1145,124 @@ msgstr "" "不可更新的 ResultSet。用來產生這個 ResultSet 的 SQL 命令只能操作一個資料表," "並且必需選擇所有主鍵欄位,詳細請參閱 JDBC 2.1 API 規格書 5.6 節。" -#: org/postgresql/jdbc/PgResultSet.java:2737 +#: org/postgresql/jdbc/PgResultSet.java:2743 msgid "This ResultSet is closed." msgstr "這個 ResultSet 已經被關閉。" -#: org/postgresql/jdbc/PgResultSet.java:2768 +#: org/postgresql/jdbc/PgResultSet.java:2774 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "查詢結果指標位置不正確,您也許需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PgResultSet.java:3089 +#: org/postgresql/jdbc/PgResultSet.java:3095 #, fuzzy msgid "Invalid UUID data." msgstr "無效的旗標" -#: org/postgresql/jdbc/PgResultSet.java:3178 -#: org/postgresql/jdbc/PgResultSet.java:3185 -#: org/postgresql/jdbc/PgResultSet.java:3196 -#: org/postgresql/jdbc/PgResultSet.java:3207 -#: org/postgresql/jdbc/PgResultSet.java:3218 -#: org/postgresql/jdbc/PgResultSet.java:3229 -#: org/postgresql/jdbc/PgResultSet.java:3240 -#: org/postgresql/jdbc/PgResultSet.java:3251 -#: org/postgresql/jdbc/PgResultSet.java:3262 -#: org/postgresql/jdbc/PgResultSet.java:3269 -#: org/postgresql/jdbc/PgResultSet.java:3276 -#: org/postgresql/jdbc/PgResultSet.java:3287 -#: org/postgresql/jdbc/PgResultSet.java:3304 -#: org/postgresql/jdbc/PgResultSet.java:3311 -#: org/postgresql/jdbc/PgResultSet.java:3318 -#: org/postgresql/jdbc/PgResultSet.java:3329 -#: org/postgresql/jdbc/PgResultSet.java:3336 -#: org/postgresql/jdbc/PgResultSet.java:3343 -#: org/postgresql/jdbc/PgResultSet.java:3381 -#: org/postgresql/jdbc/PgResultSet.java:3388 -#: org/postgresql/jdbc/PgResultSet.java:3395 -#: org/postgresql/jdbc/PgResultSet.java:3415 -#: org/postgresql/jdbc/PgResultSet.java:3428 +#: org/postgresql/jdbc/PgResultSet.java:3184 +#: org/postgresql/jdbc/PgResultSet.java:3191 +#: org/postgresql/jdbc/PgResultSet.java:3202 +#: org/postgresql/jdbc/PgResultSet.java:3213 +#: org/postgresql/jdbc/PgResultSet.java:3224 +#: org/postgresql/jdbc/PgResultSet.java:3235 +#: org/postgresql/jdbc/PgResultSet.java:3246 +#: org/postgresql/jdbc/PgResultSet.java:3257 +#: org/postgresql/jdbc/PgResultSet.java:3268 +#: org/postgresql/jdbc/PgResultSet.java:3275 +#: org/postgresql/jdbc/PgResultSet.java:3282 +#: org/postgresql/jdbc/PgResultSet.java:3293 +#: org/postgresql/jdbc/PgResultSet.java:3310 +#: org/postgresql/jdbc/PgResultSet.java:3317 +#: org/postgresql/jdbc/PgResultSet.java:3324 +#: org/postgresql/jdbc/PgResultSet.java:3335 +#: org/postgresql/jdbc/PgResultSet.java:3342 +#: org/postgresql/jdbc/PgResultSet.java:3349 +#: org/postgresql/jdbc/PgResultSet.java:3387 +#: org/postgresql/jdbc/PgResultSet.java:3394 +#: org/postgresql/jdbc/PgResultSet.java:3401 +#: org/postgresql/jdbc/PgResultSet.java:3421 +#: org/postgresql/jdbc/PgResultSet.java:3434 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "不支援交易隔絕等級 {0} 。" +#: org/postgresql/jdbc/PgSQLXML.java:147 +msgid "Unable to decode xml data." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:150 +#, java-format +msgid "Unknown XML Source class: {0}" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:193 +#, fuzzy +msgid "Unable to create SAXResult for SQLXML." +msgstr "為 {0} 建立物件失敗。" + +#: org/postgresql/jdbc/PgSQLXML.java:208 +msgid "Unable to create StAXResult for SQLXML" +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:213 +#, fuzzy, java-format +msgid "Unknown XML Result class: {0}" +msgstr "未知的 ResultSet 可適用的設置:{0}。" + +#: org/postgresql/jdbc/PgSQLXML.java:225 +#, fuzzy +msgid "This SQLXML object has already been freed." +msgstr "這個 PooledConnection 已經被關閉。" + +#: org/postgresql/jdbc/PgSQLXML.java:234 +msgid "" +"This SQLXML object has not been initialized, so you cannot retrieve data " +"from it." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:247 +#, java-format +msgid "Failed to convert binary xml data to encoding: {0}." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:273 +msgid "Unable to convert DOMResult SQLXML data to a string." +msgstr "" + +#: org/postgresql/jdbc/PgSQLXML.java:287 +msgid "" +"This SQLXML object has already been initialized, so you cannot manipulate it " +"further." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:235 +msgid "Multiple ResultSets were returned by the query." +msgstr "查詢傳回多個 ResultSet。" + +#: org/postgresql/jdbc/PgStatement.java:316 +msgid "Can''t use executeWithFlags(int) on a Statement." +msgstr "" + +#: org/postgresql/jdbc/PgStatement.java:509 +msgid "Maximum number of rows must be a value grater than or equal to 0." +msgstr "最大資料讀取筆數必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:550 +msgid "Query timeout must be a value greater than or equals to 0." +msgstr "查詢逾時等候時間必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:590 +msgid "The maximum field size must be a value greater than or equal to 0." +msgstr "最大欄位容量必須大於或等於 0。" + +#: org/postgresql/jdbc/PgStatement.java:689 +msgid "This statement has been closed." +msgstr "這個 statement 已經被關閉。" + +#: org/postgresql/jdbc/PgStatement.java:1145 +#: org/postgresql/jdbc/PgStatement.java:1173 +msgid "Returning autogenerated keys by column index is not supported." +msgstr "" + #: org/postgresql/jdbc/TimestampUtils.java:355 #: org/postgresql/jdbc/TimestampUtils.java:423 #, fuzzy, java-format @@ -1426,209 +1277,373 @@ msgstr "不良的型別值 {0} : {1}" msgid "Unsupported binary encoding of {0}." msgstr "未被支持的型別值:{0}" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 -msgid "A CallableStatement was executed with nothing returned." -msgstr "一個 CallableStatement 執行函式後沒有傳回值。" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 +msgid "No SCRAM mechanism(s) advertised by the server" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 -#, fuzzy -msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "一個 CallableStatement 已執行包括一個無效的參數數值" +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 +msgid "Invalid or unsupported by client SCRAM mechanisms" +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#, fuzzy, java-format +msgid "Invalid server-first-message: {0}" +msgstr "無效的串流長度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#, fuzzy, java-format +msgid "Invalid server-final-message: {0}" +msgstr "無效的串流長度 {0}." + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#, java-format +msgid "SCRAM authentication failed, server returned error: {0}" +msgstr "" + +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +msgid "Invalid server SCRAM signature" +msgstr "" + +#: org/postgresql/largeobject/LargeObjectManager.java:144 +msgid "Failed to initialize LargeObject API" +msgstr "初始化 LargeObject API 失敗" + +#: org/postgresql/largeobject/LargeObjectManager.java:262 +#: org/postgresql/largeobject/LargeObjectManager.java:305 +msgid "Large Objects may not be used in auto-commit mode." +msgstr "大型物件無法被使用在自動確認事物交易模式。" + +#: org/postgresql/osgi/PGDataSourceFactory.java:82 +#, fuzzy, java-format +msgid "Unsupported properties: {0}" +msgstr "未被支持的型別值:{0}" + +#: org/postgresql/ssl/MakeSSL.java:52 +#, java-format +msgid "The SSLSocketFactory class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:67 +#, java-format +msgid "SSL error: {0}" +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:78 +#, java-format +msgid "The HostnameVerifier class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:84 +#, java-format +msgid "The hostname {0} could not be verified by hostnameverifier {1}." +msgstr "" + +#: org/postgresql/ssl/MakeSSL.java:93 #, java-format +msgid "The hostname {0} could not be verified." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +msgid "The sslfactoryarg property may not be empty." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 msgid "" -"A CallableStatement function was executed and the out parameter {0} was of " -"type {1} however type {2} was registered." +"The environment variable containing the server's SSL certificate must not be " +"empty." msgstr "" -"一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的" -"型別是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 msgid "" -"This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " -"to declare one." -msgstr "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。" +"The system property containing the server's SSL certificate must not be " +"empty." +msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 -msgid "wasNull cannot be call before fetching a result." +#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +msgid "" +"The sslfactoryarg property must start with the prefix file:, classpath:, " +"env:, sys:, or -----BEGIN CERTIFICATE-----." +msgstr "" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#, fuzzy +msgid "An error occurred reading the certificate" +msgstr "進行 SSL 連線時發生錯誤。" + +#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +msgid "No X509TrustManager found" +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 +msgid "" +"Could not find a java cryptographic algorithm: X.509 CertificateFactory not " +"available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:143 +#, java-format +msgid "Could not open SSL certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 +#, java-format +msgid "Loading the SSL certificate {0} into a KeyManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 +msgid "Enter SSL password: " +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:212 +msgid "Could not read password for SSL key file, console is not available." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:217 +#, java-format +msgid "Could not read password for SSL key file by callbackhandler {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:236 +#, java-format +msgid "Could not decrypt SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:250 +#, java-format +msgid "Could not read SSL key file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LazyKeyManager.java:253 +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:176 +#, java-format +msgid "Could not find a java cryptographic algorithm: {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 +#, java-format +msgid "The password callback class provided {0} could not be instantiated." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 +#, java-format +msgid "Could not open SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 +#, java-format +msgid "Could not read SSL root certificate file {0}." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 +#, java-format +msgid "Loading the SSL root certificate {0} into a TrustManager failed." +msgstr "" + +#: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 +msgid "Could not initialize SSL context." +msgstr "" + +#: org/postgresql/util/PGInterval.java:152 +msgid "Conversion of interval failed" +msgstr "隔絕(Interval)轉換失敗。" + +#: org/postgresql/util/PGmoney.java:62 +msgid "Conversion of money failed." +msgstr "money 轉換失敗。" + +#: org/postgresql/util/ServerErrorMessage.java:45 +#, java-format +msgid "" +" (pgjdbc: autodetected server-encoding to be {0}, if the message is not " +"readable, please check database logs and/or host, port, dbname, user, " +"password, pg_hba.conf)" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/util/ServerErrorMessage.java:176 +#, java-format +msgid "Detail: {0}" +msgstr "詳細:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:181 +#, java-format +msgid "Hint: {0}" +msgstr "建議:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:185 +#, java-format +msgid "Position: {0}" +msgstr "位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:189 +#, java-format +msgid "Where: {0}" +msgstr "在位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:195 +#, java-format +msgid "Internal Query: {0}" +msgstr "內部查詢:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:199 +#, java-format +msgid "Internal Position: {0}" +msgstr "內部位置:{0}" + +#: org/postgresql/util/ServerErrorMessage.java:206 +#, java-format +msgid "Location: File: {0}, Routine: {1}, Line: {2}" +msgstr "位置:檔案:{0},常式:{1},行:{2}" + +#: org/postgresql/util/ServerErrorMessage.java:211 #, java-format -msgid "" -"Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " -"made." -msgstr "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。" +msgid "Server SQLState: {0}" +msgstr "伺服器 SQLState:{0}" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/xa/PGXAConnection.java:128 msgid "" -"A CallableStatement was declared, but no call to registerOutParameter(1, " -") was made." +"Transaction control methods setAutoCommit(true), commit, rollback and " +"setSavePoint not allowed while an XA transaction is active." msgstr "" -"已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " -") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:430 -msgid "No function outputs were registered." +#: org/postgresql/xa/PGXAConnection.java:177 +#: org/postgresql/xa/PGXAConnection.java:253 +#: org/postgresql/xa/PGXAConnection.java:347 +#, java-format +msgid "Invalid flags {0}" +msgstr "無效的旗標 {0}" + +#: org/postgresql/xa/PGXAConnection.java:181 +#: org/postgresql/xa/PGXAConnection.java:257 +#: org/postgresql/xa/PGXAConnection.java:449 +msgid "xid must not be null" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 -msgid "" -"Results cannot be retrieved from a CallableStatement before it is executed." +#: org/postgresql/xa/PGXAConnection.java:185 +msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 -#, fuzzy, java-format -msgid "Unsupported type conversion to {1}." -msgstr "未被支持的型別值:{0}" +#: org/postgresql/xa/PGXAConnection.java:194 +#: org/postgresql/xa/PGXAConnection.java:267 +msgid "suspend/resume not implemented" +msgstr "暫停(suspend)/再繼續(resume)尚未被實作。" -#: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/xa/PGXAConnection.java:202 +#: org/postgresql/xa/PGXAConnection.java:209 +#: org/postgresql/xa/PGXAConnection.java:213 #, java-format -msgid "{0} function takes four and only four argument." -msgstr "{0} 函式取得四個且僅有四個引數。" +msgid "" +"Invalid protocol state requested. Attempted transaction interleaving is not " +"supported. xid={0}, currentXid={1}, state={2}, flags={3}" +msgstr "" +"事物交易隔絕(Transaction interleaving)未被實作。xid={0}, currentXid={1}, " +"state={2}, flags={3}" -#: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 -#, java-format -msgid "{0} function takes two and only two arguments." -msgstr "{0} 函式取得二個且僅有二個引數。" +#: org/postgresql/xa/PGXAConnection.java:224 +msgid "Error disabling autocommit" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/xa/PGXAConnection.java:261 #, java-format -msgid "{0} function takes one and only one argument." -msgstr "{0} 函式取得一個且僅有一個引數。" +msgid "" +"tried to call end without corresponding start call. state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/xa/PGXAConnection.java:297 #, java-format -msgid "{0} function takes two or three arguments." -msgstr "{0} 函式取得二個或三個引數。" +msgid "" +"Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/xa/PGXAConnection.java:300 #, java-format -msgid "{0} function doesn''t take any argument." -msgstr "{0} 函式無法取得任何的引數。" +msgid "Current connection does not have an associated xid. prepare xid={0}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/xa/PGXAConnection.java:307 #, java-format -msgid "{0} function takes three and only three arguments." -msgstr "{0} 函式取得三個且僅有三個引數。" +msgid "" +"Not implemented: Prepare must be issued using the same connection that " +"started the transaction. currentXid={0}, prepare xid={1}" +msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/xa/PGXAConnection.java:311 #, java-format -msgid "Interval {0} not yet implemented" -msgstr "隔絕 {0} 尚未被實作。" +msgid "Prepare called before end. prepare xid={0}, state={1}" +msgstr "" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/xa/PGXAConnection.java:331 #, java-format -msgid "{0} parameter value must be an integer but was: {1}" +msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 -msgid "Failed to initialize LargeObject API" -msgstr "初始化 LargeObject API 失敗" - -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 -msgid "Large Objects may not be used in auto-commit mode." -msgstr "大型物件無法被使用在自動確認事物交易模式。" +#: org/postgresql/xa/PGXAConnection.java:382 +msgid "Error during recover" +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:51 +#: org/postgresql/xa/PGXAConnection.java:438 #, java-format -msgid "Copying from database failed: {0}" +msgid "" +"Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " +"currentXid={2}" msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:67 -#: org/postgresql/copy/PGCopyOutputStream.java:94 -#, fuzzy -msgid "This copy stream is closed." -msgstr "這個 ResultSet 已經被關閉。" +#: org/postgresql/xa/PGXAConnection.java:471 +#, java-format +msgid "" +"One-phase commit called for xid {0} but connection was prepared with xid {1}" +msgstr "" -#: org/postgresql/copy/PGCopyInputStream.java:110 -msgid "Read from copy failed." +#: org/postgresql/xa/PGXAConnection.java:479 +msgid "" +"Not implemented: one-phase commit must be issued using the same connection " +"that was used to start it" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/xa/PGXAConnection.java:483 #, java-format -msgid "Requested CopyIn but got {0}" +msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/xa/PGXAConnection.java:487 #, java-format -msgid "Requested CopyOut but got {0}" +msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/xa/PGXAConnection.java:498 #, java-format -msgid "Requested CopyDual but got {0}" +msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/copy/PGCopyOutputStream.java:71 -#, java-format -msgid "Cannot write to copy a byte of value {0}" +#: org/postgresql/xa/PGXAConnection.java:517 +msgid "" +"Not implemented: 2nd phase commit must be issued using an idle connection. " +"commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:80 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a numeric." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +#: org/postgresql/xa/PGXAConnection.java:550 +#, java-format +msgid "" +"Error committing prepared transaction. commit xid={0}, preparedXid={1}, " +"currentXid={2}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:157 +#: org/postgresql/xa/PGXAConnection.java:567 #, java-format -msgid "Fastpath call {0} - No result was returned and we expected an integer." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +msgid "Heuristic commit/rollback not supported. forget xid={0}" +msgstr "" -#: org/postgresql/fastpath/Fastpath.java:165 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting an " -"integer." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +#~ msgid "Unexpected error while decoding character data from a large object." +#~ msgstr "從大型物件(large object)解碼字元資料時發生錯誤。" -#: org/postgresql/fastpath/Fastpath.java:182 -#, fuzzy, java-format -msgid "Fastpath call {0} - No result was returned and we expected a long." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +#~ msgid "Invalid flag" +#~ msgstr "無效的旗標" -#: org/postgresql/fastpath/Fastpath.java:190 -#, fuzzy, java-format -msgid "" -"Fastpath call {0} - No result was returned or wrong size while expecting a " -"long." -msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" +#~ msgid "Server versions prior to 8.1 do not support two-phase commit." +#~ msgstr "8.1 版之前的伺服器不支援二段式提交(Two-Phase Commit)。" -#: org/postgresql/fastpath/Fastpath.java:302 -#, java-format -msgid "The fastpath function {0} is unknown." -msgstr "不明的 fastpath 函式 {0}。" +#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." +#~ msgstr "類別 {0} 未實做 org.postgresql.util.PGobject。" #~ msgid "" #~ "Connection refused. Check that the hostname and port are correct and that " @@ -1636,44 +1651,32 @@ msgstr "不明的 fastpath 函式 {0}。" #~ msgstr "" #~ "連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "嘗試連線已失敗。" +#~ msgid "Exception: {0}" +#~ msgstr "例外:{0}" #~ msgid "Connection rejected: {0}." #~ msgstr "連線已被拒絕:{0}。" -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "後端啟動失敗:{0}。" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "8.0 版之前的伺服器不支援儲存點(SavePints)。" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "從大型物件(large object)解碼字元資料時發生錯誤。" +#~ msgid "End of Stack Trace" +#~ msgstr "堆疊追縱結束" #, fuzzy #~ msgid "" #~ "Returning autogenerated keys is only supported for 8.2 and later servers." #~ msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "8.1 版之前的伺服器不支援二段式提交(Two-Phase Commit)。" - -#~ msgid "Invalid flag" -#~ msgstr "無效的旗標" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "類別 {0} 未實做 org.postgresql.util.PGobject。" +#~ msgid "Server versions prior to 8.0 do not support savepoints." +#~ msgstr "8.0 版之前的伺服器不支援儲存點(SavePints)。" #~ msgid "The driver does not support SSL." #~ msgstr "驅動程式不支援 SSL 連線。" -#~ msgid "Exception: {0}" -#~ msgstr "例外:{0}" - #~ msgid "Stack Trace:" #~ msgstr "堆疊追縱:" -#~ msgid "End of Stack Trace" -#~ msgstr "堆疊追縱結束" +#, fuzzy +#~ msgid "The connection url is invalid." +#~ msgstr "嘗試連線已失敗。" + +#~ msgid "Backend start-up failed: {0}." +#~ msgstr "後端啟動失敗:{0}。" diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_bg.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_bg.class deleted file mode 100644 index fe5fcc860db5250093ea3295c6052fb6d73b0e1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39612 zcmcJ22Vfk<_5RG9%1EZ}(y`%awy`bAg<=dC+%dRe*%%05&eB;HmhQyqoDUb>&zd$OalM4Uudo#PYS8SZ}PuVBm?aoel<$Go3zWVmln^a1* zq)u+qAJXfZ^&R?=X4Rx0O`de0i+v@LF{gTx$Tm4YrHsQ>%Yw_5WG@ zbE{vo`gN;+Vf8Pq{*~3gw)!_#|JLd^tbWt#-&y^8tN&p2AFckA)ql47FIK;0^}|t2Kc&p*6c%v%58WShJ@!ds(x$HTzhzuQfxh8D`CX*6eRh+L{BbInbJetU1`4 zL#!EY%?N8oT63s1qpTTi%@}K1tZB8T&6=^+jI(CEH505k%$mckIl`JFt(j=eQPxbd z=4fkv!=tEPHVE( zEVri1nibY`TXT*zE3N6Vrq`OBHF<0LtU1@3f;Iit6s;MsW|cLotyyEuT5Ha;=6q`| zu;xN*F0$rgYc8?oQfn@==5lMUu;xl@uCnH8Yp${8z1Cc7&HJpm&YJgIbGJ&8^nlX3g!^e8`$Rtog7tcUp6oHFsNck2UvNbDuT$Tk{cX94rdn*O)u!5PYOGC-v#Iem zHNmD1v#G;v>Ij=U(xxWb)KNAy$)=9Bsbg&FSeu$`Q^(oV@isNZrl#7|G@F`kQ!{L8 zW@BnrW9kI0c9@;ZWed}KGX4G8ey!?@nPoj$t-|-rIVZC!)7F#8b+xq@3*EV{qqS-{ zraRYNoUB!9+H$S$`h=yzeB|!KE1GAl>B#mKyYspJ#?)-B8oRQ^ld@~kwY^9B2L_7WJ#8~`1HIWohBxA= zCfv0kQ^@ArYqaObXiv`Cu;|Nr@m_keYd`6ht!FwlXghWNzK)2 zWWLbV)|c-ub``Sy=k~M}3z=Mhk952((Za#w@MLP<4ypO61!%i+^0iW04=gC;Ih`%D zJ6lf47Wy&vN$C@(Po0*YUg%zxEu@#{3+V;!RqZFwNl$ED)4VX-moF4s=Jt1WceYF& z=<07-l%JGtUNC=A%d|pPy3sN{Q_N0Ej~_d3V$0YGE#t)7UL`CJhT+p=hFA9`8L zt|_+l^<=tpN2fbhWD5P+;<1Yt&1{)ix{sY$o-MS@$aUm9!MKys6PI-tn@??7kk58@ z7h9r^OiE83=;_K7x-+@bm(%hCxnf~0zFRzJ)|7>_r!;HTHg}+>*xlEYO@o{8XM48T zpI)6UWYdLgaiEaPcBYrDO@m+3=MH2GYg@HCV(_-Xbz5#2e01<>(8~tbr3W9~a_yE& z2A}1h&*Gb>2R99F)DGjX})dC4d~4#ev4Zk;bk)( ze`4@y^zKqV!_K1Fmlt6)nE{L`2O$tPNf)sI>GQ{4nC?a|^2K!jKp%N4+u53)wj$fH z()Dp|ejvRfvnreJ$mf=KcMTLUJDi%nuB9uMWm@@ZdN~9rUCgJua~(Yco%j>qL&)&1 z5hME3vlpZ@ot==D{xtZxe_&ZITO5;yMsY9bF0umy{W3+l%1-uotjP9eOMQ!0rc)%O zRqK_5_hY&?y9wHI`QYQ2luJ1&n7SvnTq29+rjSFGiNefqqHxROgOAHHJ~_CqH7zsm zAH$=U@utTy{Tl~2q@_vxo6G#{mMiea$F^L~g~I>c9m)B?4eJJ8TGy!f&E+}UN zH$2XjLSM*1ykN=E?h|NV7;J;Q*mv_8SygnC-=R_T=xX%OjbsBjf}`083VvZ{uS7e~ zu+jDW_cmq)ZB&&Jtm!a!2x~Dv^uLD0HJQLzi4&Y*U7rV*Z+4P)Dp)2cDetOCR zX!)ZD@8aw|gHAo^rxATd%Nw>_1u8R!uF33GKiztIwvfj{7qk88-ppEI&U{D5KmqSe z_lxmL_hky1-fR(C6TO;W`*kt_&tmjg2ucUm#7*s^oN>$=$G%R+_zV{ue{JBhqs2og zFUz3=`!dB9>E#1CC$(N$268KN`PDhx*EaY7+J6@EhH;57t`m{spdpidiSQvg5{rx{ z_GvFdJ@-O3AXfe9W!Y@bOFzCmbnp&L8TyTz!8fkAXbP+77GcXZWDsd+D6Ge-?oKSm z>|EbK5k?()7=7mYpsC}jvV?yhmq*aMvKzVVXn)h-(`nyXF!ZJP^a=M4G|`Kxc5B^{ z>FG&lA+f8wi!1U2MJR&;1iCMuqe8}-WD58UH?{KbV)j@})ENKqn(oeH&mV_>VgYH< zPvyVI_6!FVMHo^B> z-b+nbdZbKsN*DjD-VI%tg*oVleuN(HTRS_KUWSS2g5tzrwHjA3-4B^g)J~Qt1wrbed^MZ-B@18_kw9eSr)-ZeWI_^ zXbAI}Uk1DedC9s}>w@JhCL2f-hO|QcwzlUxRsv#W3%%X_!~zs(zNs?#jg@!NA5rE4~6WnFf?Nd&5m_@K5K;fx#=itU; zYbZe9s4NKk12vF%T;?)MFHJMWc%VN$b;hjO^TtG6jyD}McsF=> z9s2LY3)4fJ7^|%4i3)}nt%%1*QG>?nw3t~56<=JPCom|kC}e?A3SDpnaz(23)3>Hv z%k2smmv$36oYN^w=8UIP>9Do911!TkoOMOxZ8dtboZ`sQ=W`Gv_b=ZcJhAfM?+(Qs zYe_o?h9Qi=)S>rcy-Q!z>fh-z3I)tcA>RXUr7OKG13(sO%(OTi8L>&Na*KQ|nwE+; zx=%D~wd&RC@xfcrC2D$VR^fGuA9+ROliUj=lmJg9A)x#Mcapnha8zz=3{&rf0)IRf zX=nEsg_up!jCo7>A9ed+SY@De7!6f!JXv8kDmjwPCTE>PLF26@#ks5-Qxc=a^r}n` zjJRk|K`PWWc%Z$80u>cj;$>lON~)Wf7%e8|GuDE>8^^_53I7tvi8J6(5X}6v`SYeN zUbuAOj49KX&Yw5uG~lNk-LPd@%o*&kpt$9U7GPzz`8*~OtV7-S7}wN8s7El%Q2+cl zh3_(`!7}*G1;7LxKFa|aznBF9cL*WT_RuxMijx1?$&PFf9A&{mTHQE!4_>%2Mm8H9 z{3W!65&%bU!i-_+z~;3VSo8)&vjhuD7SfF<7`K9Z^yM5V=JO7ovps6b4SpJ?#)qZq&@*ZPqqj$BTT z^j*mm3UF}56KAjo5Y9pRNVKss#Tu+BwjGT}GD^^c_raT~fmR^EWQ%op2wn0^LAB#i z0XvDuIqejA_7|_6H^0xv<7BbB!4ZgH^mou82`Gs3lS9=ULvyIi*m=-~oaqS|Ij|*%9=y!jE>X35!O0 zfr576GzpB%&MnV#x$!a}|3oK5?59IrGt5BY;mRfEi-MGBLSF6Iq2m2`*Ng>)Y%g#e z>?NJI{Bqa^xQYOG^cBaXvk~ee77~Bkt);*p+|rqb7a3- zp`%iK$}7T05qv;o1ivtoX?mpcK57ow<>22R7{&;JU8O)#6Up1 zo{2HDf`WC zI8d-Kzk1}MfLMT~5=G8Jq+v^nM8kOE16wr~$>D792*Wi-QI=jpIO(sVzXBkrTqRQK z?2H4VG!U{9kV7&JKtHsTgOINC^djirQ&~{h>BttRq^BV|M7z-*hrePsknlCT22l_? zpe`<)C2uBR8x<691LwG~^|%WWn^-NebN9h`cS9lD)r}Ypa425;iRzbbxdMC>$LoB| zJmRTG#1L|^u?PSyWNA@m_=NE@8dzaInK4F=DPd6~!~;B2;Q?7U!vRza{FeG6nhmYa6&)cy99ER^5Rn?Z zjr_{BidTfI?Rl9&XCMQm*KvHs>50ph2*m>!HNQeub)L#mNH z$)blY3m{=PSvB-GMhvZK30Qf+E8N|g?LjoxF(jQlOvo*8<76aaYS0IP08R+;d4eA$ zp3A8wvh`SoYnXW9;Qd&4u|jCTO%MLSa6FHfi$}6IxH}dP^lE%UX*zxI!@I+ak{XJykp*<2TV zFiLDOpHKJXb6sFW=^!|f=At7rfGiwSOt4gIqXlK!LE_yV#i)&bM9aFD`$QVFQm!nt z9($WWklJ|c1Y-f_q;A2?#)~O3B}V2+XdCjZC=~tybAcc?tQ~@;_{IlY5bV4kpAsvV zvvD*F8!#bk$-jwSN;ErL?SW4<@gW*niI1YQ(pB;!rQT%`r~=BmD}7ETAS!g^CE{I9 znVVVD-8;~mMwTCC1yl&ISIF*E+39LCO;MsTyb4iXda(3j2&maVNx6U*&}kUi$RbH# z2TH3d4E(>b$}?w1c_GnUT(Fk(JjA0UnJi{1&Lh*BtxiZC_^caY{jO{QBRU5tpXnh6 zK+1&OHCZ07Dszg&I$kCamMNcCMzlFkeC1;+t#Wx@G5@dnm z8rhx=(OX7(OvdSQk$HwiGU7h5uM%KlSG780@U95sQKKVu2U%tq$;%kg7R{@eA>SoSs)rlaC7PTix-vf9rW;G1ZhT`KO%kHv64tkx3;#XM_f2U45@z#-~x?55L*aN zUIfJ1EivdYj954V9svll;2y+5CDwp&O#FitA}GdLf1+kj5^F_eSoRuuh-@UX@F=KO77U@`c>39UvQsX7KX)5%l2Qa1flMTghOJZZp2!uyOfZ%k-_VJpiH;lQvGa;uX zbEwt8f6aN!wTYoZ52-x4a^_pP^``uI$LN8;BA$a1i9!BQY+D2V$7nTB-r5m!Ta!5a4WCEO`=ar@w7meCaR7v6^&x&H!B0tgt54?TyLMhMU#G~K&t}H4Y87EJ# zL_r}@o6n2H=A$yKcE#Y0=sF#8+5~p-YS)Fw$U-8AQMv^a4*{1FEDtA88zF!K&I6T7 zY-!kMEDG1a=TqD$oTyd=<&dp*p^(S|S2N=1>NL8{hYNpHLfjfD;$n>)F_q0-WR+^y zM{wqP+8}C~bbIM>QFw8V_;3UhS+61Lx#Z;`u-FqZ9%t#BuE%anFt0<}7 zE+vW!V0i{l}iqs-SD(x;qVmNrriq1%)XTfG-PC_PJ9uT$2jX z^H_@l5P>=r{r#JrnGN(eVnh+;ioQ4$-X%>iVu>v1WI+S4Am#_|qpwthbC^kc8R%?} zqF-3f_it4qFK6E!I|Glh>=Y|S*^L4b&`!dhWIJD#3T;YeWxj-xCEAGgQJ$pxxE>$D zUv?~9t3M+}x(WjxPid!I#1G=7!@l+$I%3 zal~lE2*Aq`BjVCO%+FS4XKi@~m3&B+q_a+IDT`YxgcQAj?ktNkB~R_=&0E%}jfmYU z^s-jN7DierO5B#0=Z&vfo;M%D}_9vI={HwMTFcT$}c_bJ`jIgTJzf7xB z|J&6g#1ANdC!R8wG3oAJ=WIYHc)c$1Xu2U;U!)Huv52GS zE)fn2uJf@75-6gOXh7i2e_Xhk&R4+NiB!di+9}WSrRDPD>7i4R`EVf=X*hySSTJJAqiQTzRd7TM5?bf305XJs zcJEp3?dd6H{*KQ-qNrpN%w{XXASupAU0)r$kh;(@rBnRlRk8#`8j-%u9466+qo3K$x0seFlY5q`wJ zrFl|r?t@NbL^sTsl?gAz#K(YlYjfZmJSdUmg>rDoDJ+4r(zr70kCN+O~%34!=*OCMY+LWSO5>@0}_%<$I-VB6d-lOi2s*3KpH zM7$qIG5}O;Qq$gz4QStTOovXa_wG~d@I3?FBw_o=%@BQo@wCVm5P@7#SBU2z8OgHb zC?1VAVh0Ske#_P3MZgmB^8}Q0x`J<~(}p0BU!DZg0SqK4am*9#4uS^8Qi@Ka!wYq% zRSQKUPQkiLTufi7{8j!@s(xMZA5_0a)vhutm?yYO5Hb8ALdGO9K4PdYQJf1UfPH6v z-$8y^F@ti(9#pGGh}36|R^)r6D3c3xekCe{#H%w!}{8D}AK>-{%vZmucrVs*TG zL9Ord`;hxM&E!p4soV|1KVEjfq}}$H(uNh5@iD@J?lV}?5-}vUSYn9T!CTl#%m5OZ z5{bs2$mro8lG78bNmoTO@l}aRc{WD(kCwebc=U0K7v3{$vD>PWMxD4%hq|P)7udsv zwI)?WW&AD2=QUWx=`+S>LvlkVx+sf@w1e8lA)lu!uTq}wV z5=x%}HnDYr=q+r+MRL)_JUOA~4c4Bo^SmpLLXqnTJr@8yeD03zWE zig}a@2s|x|PzEp96Q8nzxkFx?`*|>F5K!P|LCY`%v9Tt~I+Ma$5i0btx(fR&fl$wa z&pI2(F1bmjfnlVW1quxNF?KB|j%EDsn(1TW;&v>S7eTBdaFMLtzmd)Yc{*Fq7feKmf{zesXZ=M$)4su2CwMw*}sxiA@9ZYzIwda5V#V}}qQU)C$ z)spnC6$#?Lmkp@!q4$bXfl5C4AJuV9m>F;XjF<`a^>hf<^!7->3ppwB0YwRd|1RW+ z{|&q+tIPp0oJ9q=!C9mP3Z*vj&SDg?mtwnXp;@G$iL(~H|0Q@(Zku=H2fA81dM#1` z6297j3=T~8Bkhbr5K%*vVwl06tlQ2kVAFrk4U-9H2|EtBanA<{ z<-P6L?L;Ih8~(?)j^obRbbGR}1QAicTm10WBc$pJ76fHqS%9J*)|O;T1H*VLMbc^Okel>>av>mer9E{VMF-9Z2tf-vE z+eA7jLR6_NFrr@BnC8Sv_qM(YVBkaG`8uc67yiIR(mjnco8Eh!6Z^iR6BBix=mATo zXqe^2GUMpE@UcsPc>~X(`{wp3RRkiQ1mGA;8Txc&4K?DFCEmoUOd=Kma~mF^`L~qBAaGvRBQU8KDS#xs@6nncMsl+!6Zx+SCby(y9cgfmKAg6%ODc_ zRmx1E?4^umkoz52k4ck)2)Tsi1WCx^CdxR`!ExUDMPn49ll>Kd7chkbIsOAXGH}R2 zUmn#tcxG{}$t_<%j8e8sU{b-sqOvGM61oQjr$jmLEZOd#qm&AdxNsTle7OxYf19V$p#jNniQP(ytu*Wh#bcdV8c9fv!vaFb=w1)=R=L)k{y$1k0>zC8u(eU`)X#CURYkKPs z)aZG{c^<<;Kg93deiujBK;{{El7@y}6=5g-6lr&EI~-}SDPaYbr?5{MtieNsPy6)` z00rhc+t_mikqMy^@d)I-(CI`>J>8a!zB*GR3YyBBtXe7L4iuKvDd5=NX*^MITs%DLoH)}a$_IkN zwAzC;y0g7$HR)%9Ju7@->IjdT8S3*m7oYmn1xLs}#T@PoWu>a}9X+ibNmqDzP>TaO zoNtD-BI~i@o$T;s9cz; z{q00LWw9A9N3y(6bRC%xN)>?<{ska#CkBe0A5?>~YM|sISEx!(_I3*|i(=b83c$jN z7I%(>Pes9FElZHJM%f8p2g5qCTgdt-qY?)3$pq)c)ktepH*o2q*xd2-F9eFQ=W8vn zW64_*xQVTJT|ly!Ppo;X7)f!${5%(s*_BPlr3P^8GHmb4xxMtW+vkfD7H!Rl%QP_g zFTfnrXeWFsv8tuE92$WH$~61Q_VF{0*%t|6#gL*9u3{&pgOIGUC88o>_AT1OoOlV0 zp~#z@<3>})PCNM)yPDXHhBwmwp=Addi4&=yfN?RPef%nR_aodueq~OXEfx8qRh36}p&<{CPDj7e90g)LL)l$XaRaz8H?6Hs= zi^b2B@|w7U=P-f1jB=qJcymNSKAv9^?}|7Q+B;-Mw2K+e+>H4%UDGZIEGO4^^Sz{e zgA>z=vW#Bc$49ogHw89cN z;*TsAhe8FGadk2Ca5IVc{TIlFy!{ZGr?{f4ZYzx*KF;|%=fyyfv`}6K7Pi*vBg<~$DYpD8ryE}2%r~`V*qj$8r zuLfq3&P7FrJf9KF%;jRfPkcfd8TiSe5E=-$oSqHo1TkaDz9$crBkNJtIQIf@V}Wz{ z+XEV53b+vQSuz-J+u~eYeVK3)TzR6T=wn{=3@zvB39~cD=<<|&U!@s!%iWHIR<3Ii zOEvIJh1&HkPTU%{z+o7$y3Tch1+5Ypt#11-&_pETm{1ptsUCq}94AYaUkmTa0@6%# zU8JDc59(;Al(}1%EZv!1o?*JjpM2v(zRsK>RD;7aTm69#-8`E2nwnahqQfI51hpM&3M`#k_vS53H^;Pv|;-)97iX4R&DZWdr?d z9b(Bq>(Dn!s1U8DRG0f>v=o0rTFM-u{3Y<*5G8eSlM4NS1otBBXT`B?YyH0d$f+tn z)D|n&J$S#j*N8$hjRY-(b`jqq&sC^$R35vK9r>$d^)T~(J|%vSj=9(!Cn7$l1n=r8 z$AQc@c4i8lOUZwE#w@y)Iu+EPu$>NhxMOJ3Kp{1uVGLKmR*1sGl;Cw=t+t*5`L^}m zZGk`swxO{-+=ihAFJejLK%cEb!34f{aXM~gu2zelpQF$<1_HUFH|hp6Ca!>qw;4*( zb}NOq@2M()AsY39;}?tA%q3i0K{BL?#bvbSe%-wBt|*~^N5F-w+*(tmsFOQ0-OVwu zS+kWyF5l$0%m}MThH@*qSfKc}z)q>Xc(>*#+414_utZz)>Ee}bK4%33kBgWD>2UQ4 z{sH`pfgtX*haL1=%^^3;$I>n$<_qpXzwq$btywsKPOd9Rg+2gFLs2l#zT&^JY*CKP zo#5u;8ZtxPc}`mqy^wuIc17Hspf4{qwT<tgiWSN(Dry0E$yK@r{kVc23GF|%o4fCTM1_YW1S72pn=SYT z3w=D>s;K9H9M{foB~&O7Le#{i@WHr`sym01{l&+E%60X^;92gjV%Ab@9u0V0sMIR^ z#DTC~xh1RCc&;LD1Sr7i$%sMI5$X3H1=?~Mdv~0_z+2ZohVd4MQBmeZ|56Mi7K%d6 zRo=j?nMb}p=XOeQ_4~VB4=3Q5;Su9QGkuOyX70tMMfFZW82Ab z0tccc!V5SdRi2n+$1%SiS5%~G$gX|>l1|$V(LSg8=?5eKpBw1u!7fUE?9g_3<}QLM z?zYj9w-9SM9L3brnOWA|!&9ui`xC9Si%lo}2y%SwNAYeP)sXOVVt#3rpQ0fA0aWU) z@X|4tRVV133CvN$<>v6V>27<+icQK)IELWTCh~A#o-xk%LvbXWXL^4LP+zr)m8a{} zimJM1A%9pPSHTJ9HRM!wIS2U(W!#7rMvTX>=yh)ah9x!xFpD<= zFAz8#BV*4J9JGia_$rZxf+$k#xDSA;Li$O_=&T70q#S^=czbYY=@%8SZ>&F`=1J=w zrog%D?i*lzE7NSt2MTl~F^t0Cc0yLh4<&X1WyB;A1J>vw?Ke98Y?UI60h*h5swLhf zQ1^%^fW{&>bPz`z;NY&sa%gS;woa$}a1Ca20w($s7R1#z)@U=S7rhdOKa9o1nurF5 z*x(*FC<%}`zXyX9aJC&;;0dL)x(Kt(Hp3RMQZO2rafEpKk(20*D;%)`S&oTLHKsHI z8jKXni|MU!mg!l?(G3bX)jQ^ss+<{E)@{-h$3Z~~O(MC4_soeVy*g^ibF^BdHp9o4 zP$2zofy?V^EJbpuMNpuPI1VXUq1JBQFI{&J2mNtq=` z?r~2X&F=P{a}00S;2%tMO`sa}ZCiMql2pQ+kdFV~n~7xUYZ)wl0W_QV)sLDJFfqY~QE5S0h9n*2W*lryMab&Z z4QctlB$T-8u#z^A1DmB{kSz#^^zv0+Ov56ELJhe}DkxeN$b3cVpzCy%UciGetN1di zjv^SXj`}jP#R7QG1gMr#)E)pQJe?b z361J-9UMS{eOHNtVa=*qC@&Z#R4q!0xYxBsK0&{uty?jC95=l>`s~4mJN%3)lqfDv zOY(F!GF~MVq7_6h5^(5ULdnrI0Jt-tD^`?qf{+qr9EBo-Psm|CKp@p|Du?E9K;kyA zL0s4>wn|3O%_7#D2DgC?pq117-&Sz}DkNp;F5+Eokue+Uc{o*gkSrF;!K%&8Z}vo$3qtl>kWKszPJ z?$N<#fHYW7BFyBA+%U1b`2qoVv^^vWn^6jgN|xhjhlw0o5yc{q1OJX{WWkCDO~av# z+^fKZUT>xk!BS`tGGd%X#QRPiybrwlgt)al=gGUJqI|JpFvir+)xXjt&H-n@u@03^ z!m*O$k&fM3B()+}h|}m{Tk>55#ZmbYLmk)GP#fD@e&m3=;1wSXsxmTIJgkS{QGQq2 zms7o%-U^NO(5;vSUhZCwbO%Bf5O-9pNCLzE_@CFt-8C!-6@|d6C?X*uCjJJZOZ*1Y z3AKd2(MLjbN$w`Nr))@%lb=V<`95);ffad3#k$`^aC`zZi$(Ple)7R(;KtbLQN1aaqZ}@qQ$nm+$~44S7i4OnJ$$Z*A~i%7t$ayC39N z))*^r=N}Lp_(?iU*4QbYs_djw(VPeu+QMY`$I|h5sqme)uNd`=@>~ja9~$y%+shC2 zSyIIS^?F^7X{Sg*jCksL;=FUX5biWU=i>UBy^0{(yLt`IAQMB-o4_t^iR+^(*!`Z@ zOspUGn7U)5VgB8ZNidjE794Q9|M2U5fUJ<^ERF$SX#$=8%UEMv-kLLZvMY!!k)0^O z-rK<+3{{oLgfxV;R>#a5&C3ge-%$P~^))GBh2 z<@8?s(|ZmA2WZfton-?T9_fi5sonkSFb)icZ%iEf&R_=yAUKWoJWRYLu&!xeCEIX@RkZt8OGF-}}EETBeX$IL{{FtiKbp@^OpEz=YUJxtc=@|_$ z>n5=lcUDFsAIbE+EDXRpc89yJ3**M8>qO6%4nN)Wed z{KE7QCn;i!D!oUN&toLbntfSGce)p{?9omGtiy@ricESfQc^=iM0;R4rI@O6PXT`$ zDKh2I+|8i$BTD59`#c7b#5~~ds8odS-j4Hq z%Jy|)!}8Y8_u;FtTwq}r$Z#d9@@c#U(8C(WOeDC(Z~a>Bi7=s4T??V6ksyfUf~{qE zhD_{CjYQqSX(A(DWpB9(!asDWV;1pUy}iCg5pBIr_xEQjvmQ`9OhJP78kN*zlya$mw>zdJeZN*s?onz3w5 zj}QI>qm(v7C!jW7<5ZQarh&u>oQn3p;ioHEI|@ydoB=qpHIAp4TLXg#V58!YWsG!G zJaTBOvX;a=M8{AhoM||DvI%|q{JAdr8hJh9y#Q9DcT!M>6K;CeJUDhi_!)mP`2m@yULEAgcz+y8zvUuO2AZ3LnVT&)r2O=_nY^*Qo{ERcFX zev8>B7~A-}O7bgy6^1-CGlBw^lWL z3joVjP9>Fv#SaPL!22HT0E;$!VAo4_HC`P*#_An{TE-y|f1t&ab9SnZ^7mg>eO}G` zKdmm0k~0o?}{f{{8nh*dv1Pyiv@P&X-47SroA{;trzN&k!al$&OrBQc%vW^KfOlx0 zX0Qhw<~Kiz!^`)=E1{xbp8J`oi)BA&ldQS;uYb-a*%++}SDFgo|5K)5IApR7t5ig} z3=V5;i_!&1WVQKUo9JJcRk3RHt>?9mHXZt#L^r5Gq zIV3N!c?|mtTx&IYdbBz~e@Ne#Ie zK3s7Vt||QMe*F<;rbi<{VBCle_B6)7V9vwkK+Fi;yyPK2XM6brfH*UI1Q80xGsLNOom>E z8$X8TD(CHSWh-ypj6Qw>Z*=oERNBQmG1iJZRSJFLe=Pdtmt@z+Tu+9yW1gN>O(%^? z1VhHdqZ)%9+DF-7$M#XXGzUB3IwaT`*BydgaNRN371!N@0N34v5Z66|-EiGA z*d5oQ!5+8{3--iyzhEz1_Yd~QH684O>jA;OxE>e`#r2?I7_J8g`{8;>us^QDgEX!q zf&*|J6C8+ZOK=dbV}pZn9Tyye>%?FM&UXo7>(=HU<|I) zf)-q-2d%iy2-|h+OCkEqjJt>%g>%8DFT;~Ue<9cdv1g@tAN8)-`FcH_K z!BMy_4<_N-6&#K0ir^SryMtqKEd-Ns?GKK_wHO?a>p(CC*Hyt(TvrFva9tBj$8~Km z1J{d!nYdmY%xWLCtGX;Wf#mXFHp%tDi6l1!Cz0G3%pticm`ieNFpuQ6U_QwM!2*(x z1}BqzELceL@t~dL@n8|j6TxDV4Z$fSPX$Xzo(WDRc{VtWWK(cD$>!iaB%cq?Ao)UY zCdqTbStQQ~OGyTUvq`oD8Io@Y%SgTxbdbChbdtOrWJ!J)EGPL<&_(h}u!7{(pqu2! z!8s&9309K47W9z39`us@BFK^aGRTwsD(EBmb#N}pUxNb4--3RUzXwHZ@^-L>7z~Cy9gMzC`4i2s%IV5;5$?)J>k`clCNX7)$k+cNwCut3?Cus|A zAQ>CnNHQ+CiDYtcGs$tmEhNVWA0U|$e2`>na4X5Q;5L%!!R;h7f)A0*4DKMA6?~ZF zgy2q+*}+{TCkA(uoD|$cvLLvZ= z$>qTlBv%Dbl3X3EC%HD*K=QueDU$1hr%7%IHj>;JJVSC*@GQw4!6uRq2b)Rm3_eS8 zSMWKKyMxb@+!K6(ZQ8-o`~HU)zun}aPRUktuU@}=NgBwr4`P4boCJ0xEZULyHM@G{9u!FNes z4!%e7-QfEq-wS>~^8Mh4BtHm#MDj}T3dyU%t0X@TeoXR{;3p)n1wSQuJ@^^PuY&(0 z`E~GflHUZck^DAzo#c(+7bI^6za;rx@GFwv2frryL+~4tKL)=g`D^e7$=`xEN&X)E zj^rP~??H?T{y?IGKa$i1e>2!nWUt_# zBzp({BH1T+n`GbM9g?9Ts-HlIg<6yD7ivSgf2dQW2Zy?j^pH^3lMWAc1L=rRH!5-kEexsCOZq8|qz2PYrcIdRnMM z(lbK68|j&$-ktR9Q13yS3H6?&%R;>uX-BB{ChZLMKBU=D?@PKO)I&+TLp_Z2oKWva zx-!)JljcI5Ce4TX0MfotA4qy`s1G77hWcRAflwbpx+>JeNmqw@1nC8#9!Yv(s1GH* zDAc1!FAnu+(n~@;hV;@Q>S#L)}JtO{m9`zBkn4NN)`Fc+#6fJ%RM@P#;Em zPpA(ky+71PkbWf8N0L4e>WQQu4fRo^p9u9N(ocr^XwpxG`WVtrhx%C3b)lY2`bemc zBYiT|$CIuP^%T+#p`J?mRH&zsZVL5u(#@fsLHgNH&m{d^sArLWKGY|Wej(JeNxvBC z6G^`m>XS&H3-uh*=R-Z0^y{IXNBWIW&nJB$)C)*o4E4#RKMeIk(jSGoo%EGZFCu+4 z)Qd@f6Y5h)e;ev0q;G`!RMIy?eH!T>LVY^vA4B~f(tn2f4AOsv`b^TdLwy$MJE2|* znlhn2n=}>b4CzjxUPiies5?k^33VswuA$D7?iT9hq`QZ@i*&D0uOQu93`%OBPNTX}L%o)CLa5Ipofzu#NskKk1*DTheIe;_p}vUp_)uR=IwjPX zkWLNtrKHnBeHrQWP+v|uBh*)ro*3#YNlyy(Riq0-eKqOHp}vN6VW{6r+8*j_Nlyv& z`$(6B`Z`jG@B2w1zSom>hWZB5Y^ZM}g?QdX3h}&|v?tWJkoJc91Ejf7e~>gE>RUQ6btazZP%O-)$pv|ul7^7 zsQuN4R9fAGRzIo^RG(A_sYleoYP~u{J*$SRFW^mIQ6trh>QMC^HA?+JjaENVW7O+- z`)^gN`lD)7e^X=CJ8GP+SL5{%H9_yH4%2(8!}TzAgg!_esSi~Xb(=a$9}f5DXmzxn zqK?tC)UkT5nylO54xOfs*GttDomEryN;OTNtETJKYKFcDZqk)%mcCA%fZ3Q0*Xl&L zQ76G|nxh|9bM=#Io_rKURzM>uRxnL!F}ktd{71s#8r$ zoo1TV>1J2;9M#pbr&*%1<}9_`WL1~x zQ7cTp>Ne-8bIhe`rMX7+m>X2DxmD%NT`F%LP<`f;>Rj`vDwwBKzxk{xn&;Jkc|ol* z-%+d057ip;Gqu+IN}XqZug*7rRTr3d)P<=Abx~?Zb#ZDpbx8`Vk~&abmO4~jo*JvJ zNFAxJOifl-rDmwBQ*+ccsdn|=)amNlR7SlowL)E&%B%OMR;lY#7pfalSEw6P?^8FW zZdNy^KBR6*-K##3dPsdR^%-?*>IrpQ>KS!=>I>>asjsR#Qd`uAQ{Pp0re0NdrCw8a zr+%yMN&QLPoBD^kug<9Z>zdR@>UL2N)a|K0TDPBiudCqfs`Yhu zstt7?QBT!A*KTw~m`>FbT-7nP_>VBub zSofCtQr+9?x%ztbeEkmU%k`o9O8q|StMvz{uhoxKU$1Xd->5%Ay-f7~Q>O1v0^-}$Sdb$1r_1*f*)%WVJRo}0_N&TSycJ;&hd(@BW zA5^c@e_Fj-|G4^b{YLeZ`p>JM)_+C)tbS1aU;WGK=k>3s*Xn<+Ua$X+`bGU8)i3M+ zu71^^)vp_@`c1>m>bDJhs5cshsW%%AR=;Z)t$yDyUj3orDD}sNvdhjW?kR#yl!ZCQ8zZctZl=qx~buH-Q4h|9@6lZ-l5?gy<=me-l=hCy>sK9dY8ui z^{$O0bkNwQ!^R`^ZjHz3-5Y1=JsRihJsX$ky&9M5y&JpqK8<<3Z{un`wDDp+tnq5S zU*ipW|Hj*Ny73-;K;uLDz{ZF5L5=J6!Ht{sA&t-L;f*iq5sfeFk&UnFLmOY$qZ;4T zqZ{ASV;bMlEw)j&+MRWq-BXXX`|ELbgdT6(^aOjPKFl7c54W@Q5q7>l(k{^x?NWV| z?b4HMULS2&>tpQ2`dE9lo@{T>$JyKT@%A1)#Xh8`+K2TtyIxPXoAnI)yq;-a)U)i% z`ULx`o^4;(C)zjlN%k#0$G)TIHZ|&bO*`xPO?&DEP5bMUn?~q`O>Mfp=}5h(={UW( zX_h{vX}(_4v_zlUv{awg)TK{v%Io(ut=4BWU98V+x>}#rbc0^nbelfA=^mYFdPpy8 zdRTWft=FARn{~G7dA+>p1>M#3l3vmDitcWDO`p^BhF;n97v0nJw(f0i(7EQFbiR2H z-PgRIKDT+eE;P65{^lcev3ar{Xr8H8HP6$ln@`ben$OZ}o0seJnsfU6=2iNF=8N=& z%~$D*ny=RvH{Yr+X}()u+Werttobwg^5!S?70sLUmCeuTtD0ZXS2w?;uW5cozqk1{ zeQom_`hCrR(bqM;)Cw;?^J@k!3_R}{F8Ln?0(yDJ6a)kcCkjeUkLuTq* fhs@Kr4OysfN2upBuqQ@8jNp`l9RbUM;y?cnIF(07 diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_cs.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_cs.class deleted file mode 100644 index 4d47f290ac26690c999e59183b406cbd4c5ce82a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13037 zcma)C31A$>mHjm{w#&v~yTCTSpbb7{-9E5oY_Me;gk?##WP=UFv}RhG(adxYJw0QO zxNicO1jvEo5KssZk|;nRkc73fi!2gyk=%n`AfH9OT%AeZRVUG?K-^QC~At zRbBP#|M%bj)n9t;bH^x3HR8U>^f~(1DfB#jV+u{CZ$__s{q@)RuWwDFZ%?6#^qtB0 z?Yoocdy>8{>E9&%K++E-{YcV}CH+Lwzf1b5q@PLpxujo6dPUNINcyFuUrGA4r2mxk z8%e*F^gBuaCF#E<{a(@^B>j)1KT7(Oq(4jgi=i2|KP3IHr2mujnxxmI zASr|t5hrC27#aw)2$SRqBV z6g5)RN>L|8y%Y^nG)l2jid9mqmST+*=SZFlZBkqy#f4I|NO6%A+ofogVuuuMQnX9aA;nH9c1h7GMVA!2rPw3I#Zp`% z#a=1)NpYzZmq~HC6z`B?zZ6$UVM@_0MO=!66qXb{QuIoZlp-ZXpA=~+GE!uvu%&RM z$VqXf6s{C`DLg3(QWT{)AjLr`N>cPoag`KTOL2`9*Gh4n6xT~}gA_MPag!7`OL2=7 zw@PuF6t_-5}|-Me1U z#B)=2%G)R?x@`F#L9u2hfxgpPQ?}Js$aY(9mp^)1(zFv9>jKMb@9wkWo}eYmPMmLf z#aDhmJYve$gK;b8r5rmyN!%%DQm^H0w@O&roMpj)f|ttFZM6$o%Qd+pMomVq4%4-4 zJZk=^e!Hx^Q*h(f<^r#XA7IAgRzAO|zP?`2%w@~R-RR`blI@(hpQnGGD((`8ri#18y96zB+}^sJllOXED}QCC z&T~yWpV14itC(R?14fE>PZjrwdolM|oUtFxvhQM1Q#^VoZn(cw?sxwF-{ zXv^kiV~d+ATCTCSwtmVkE9bag&5nF;Dp9k!(3`L6a+-`O9qnB;&90@FP_xDKtR|ze zzF}=m{mPn#dZTe=Q{$=?^(*V^(XnQiRZQ`7%KhqB*VM1AX>7odruzC7^^NG)YUaI~ zu3%q|i#1uEYivn*u$y?&IJetLlEwnf0Ge+VDE7@8~jjOR>H`+j_1Uk zjB!={HMN+cGlw&XtbE+eSweSF&U1XDWS0pjZ4*7 zaAMT&W+sEZrm`lcO#>#39@okG56~lOjZO=L@o4QFjkOKNrj8b)GiSw9J*l|%foeR= zKZVt`YYd!>k#%qi3ClB6nLN(?%Oe}J_0gMYuV7|U{cw8E%Gg6kYmF_AXZG{bp!{N~ zduR}QV}pQ+^c#Iv0;a%wC}h$l!wmX4-FY*qby^%Au;NL(r1vs3;PMfsGed*N59yur zs9IyYQ%Kt>BjJp@m$VtTcqeQQyboA_Q5+h?r<{{;oo*XAF*JzX)bT-Fv}cDAhZAM} zgTkTb3pqv$tt++zD{vl+Si!x$qMH~RtcGQ?xnWN9F7#PO+DSOYp#fg8?;$HU*+xrU zyJ5L5RO!Uy1=qzXA4mc|3RBXz~0qxw(G7*CeE zVZZP%1EB`G&G=7BSB#w7>ERTzKnNpg=Hbg0Ts!0BEuMDv$dBEnj8VXm!IW+Ma@uY? zZ94~SgJC6a6wOS*;sI?|KO8Fy-%2_OIEps#0)9EKYz2AaK*~!pl<2+L@siQp-qyT( z*Zy5wH*MM9-qyMo?xnp9$l^NzFXp0(8S>DDQ|LZ^WcZkWGAB-9TiM|!Sl!)2N8zf0 z&1q#jg4XYK3V|zVV}@CIM#f^VW`6-<6|%O!E!H-?*23wUhU*-_Qa0>hOZ6DPav8*Q z!^~LuoHKko+bR^8&o~84>swLA!7BKGhYthQ(yWZL+Zfl%eh05XeAT|A-7YYN>Nd;9 z#DJ<34O>s`dqfC~4FNO(c!3$Id=ksen?)E~3WuAr4YS}mHE}1K#e%ai2rQ&FK&T2F zE{`aV9l$GJhlea(>H+H+x>t9~xvt z45rbz3+u`k*pb<0i}2xrgm1DVx?9B#7@Uu7W&yQuw*xR;hGk!o*sDgxvcX{CD?7t8 zar$8GzzqP89t-q`ZHJmJ8kM8Y>|%6+I}o?R4Oz-ZnGt zIY3#UMjoNgb&9D3+?v-uDvGQmC@Z|K0U&p9x{Zv)gj?W>YNWu^dgO&Tg|D1iAFkfN##cMfM$SkcF_<(yimqVr<@e zK}%b;(F@1%=Ud($%mxjX=Lx$x-3gbGEa+PuzzrKKG`v0q?g(fq`yx}la(_meDHkVUn0gP$BDN>OKWkZKW#;FZX@no|fTOvM<~#a> z+lvIp_LzSx+2*r69)~0g*aNFA9zS9vil$)(9ZTp~-Rk(1rpe$OML)XQ*ySK&viVcP zHPr?uYxuJf?5?)M$v8=~$$+_cGjGQO(4BkZOWk|;egK%24hQVgPR0S8p?HMCY3dc2 zNF1;t*{VuPr_@_H-}noFeIaxSB3yr<6)tD7JA`B5XE zJ$}SBjvqn_H8dFhJP$b)6v~+$n|l_Fp=9)c?&?$Hh+q{RG0}8QrkCjQ|j2*63z&a6zoFo*lX;+Zbm5g!8#2g)6M?wl*piDi_=z>K$ z74ZgU7V=MI41)G{I!rm(n+kRzkBmYGoHAp^;JC>&g>lITe6}_|rdp$esUAnYfVAVu zR#-W~+-+^gkHir(ET_9zf`jQi6qLl~;t5j4V#Z7$)c8m1VLI0VAIt*wl8Eo1Hy+#- zC+}aF69cnA!8whtOJQ)ak z$ljq%?4TYGShs^G7#cvLhTP1`q|!)*;L31KKVQ=aZCm|A15hS=JI7!!V2rH`Vnm!1 zO`pl{atL-XqbC=ry&^f{Z1X3WoU(pe^IObD%m zR=mK$Q|BAdxHguM>0o(HCyrxQk`F5Z)lfA~*-phn1Pcfc?`<{?-6wIoEL1<-5dfIm zsXdWj{bnwe*OA4y1b97yHqV0OiW6&w=xzoY%u|CrwlKn9fapx; z_*lXNV5({QH4XG%-X78mcwHr@;d~arYNdUa$<*Ks4r*Y5A()yT=y?w8KZM|U9ZtHC zHxO~)v|+`mjKfR190%ZrG{ZMZ4mVib7$%J8tl7*^9G*-$a-eR>1C!B1|8c3@PR`3F$X#*0ROrB(BnuI(HLNWJcti-3H-<} z5o#MnsjCx}VGgaRW)*THhq}V&_&_+%;d)@L(Kf>AIf+EE#y?|r&zez6@o6Gw_DrJ7 zWw8p)oLQk6trtI&ujsLc&ngHce&xbLb?pQ+Z*K3{i(+C>U1zl{Zx7>zU1AWeMEH=b zqkhq`7k&R6Vm%jUkuw5U*sHYT=;T(H0%0ZiFUvp-Jhre59qM%UmPeim%+sUbBdEgJ z?DFOLz?QjyXyWKoAsymWhh3`tOfDqyH`=2)QnKU5b(mlt5Y!{}0ys0lVOa-FPH@pVDZIbFnOjj;V@MKMBaMdO^&X7%ZUm(@2sfTQ(~6YKzmAfr$*gmo~o z8>2Wz379N})1TD_S}_A)7duLlpth9qr%nMbtPxq^q=LgskoPSz8>dBaDOC{`oamlPuimIBm#r1)yYSP10tIklbD$q zoI#>ArWn4+&qz)fF{Y4Jvnk*cqsfkDyf#N5pPKr09o~GI_>`GWwUP4mRF2JljWXm# zuqOFYGmC~%ql}42;@{-yf-G0#J);2+SiX;|eghsDqQ0ur{st`O!Tq`* z2ouDA+;=1I>8(4|oTzl@{bTEC+^tm12CB3V_p|n!=^5OQwr{iEM^RE=o-3He8i^ah6%0d9WvKFTxCx+B6Jmsa1^ zxHGEEI&!%Hwp>vTLMSzwlPINO^FX)~U?7Q$3l4m^^}q`bez7#yyFb}&*7CO~?f8|{ zlpW6$;OMM1ymbT2S-LcDv~(C|A_31pYU!fr)NNay|0;lf0Ca~1`0s9@{4=^1Y~?6!6-vLMo)_Su;{7c_XN~-{BZVy6?hSjC zUmU|_3&>s4e>n|rs)0IA)CECAh?$k|q50%;{qlX_VarIy3X#WMD7C_>)E}BsF97Uee9bX7K5nk>TG(^WK zqPxC`&lB;Rz2aGls@Sy~=Fgx9a{*&{m`>uaV^=gj ziEc-7u`6N+*Tfdgj9syD!3@zfK$DN(Owrd~^v6z^Ga(o|Vf5I?UVpi~rfoC>fBzFn zY-BpNFdLhgkCmN4FVIq~vyO(TiM~MR(HChOy+p0_CF-Ov(jw(C!^#xLWkzTW2R z;dmzYI<{vN>*9YT))pMeq<()Tv3sGXqcnMYRa8ystct0VI;$qAshw35)ybVzlhi4l zRZ>msteP&>bhMMz475{~LVL10740eNG_=#yOtjP0EVMJ!Y_v+9j`mbF2kmKUF4~!D z9@<%IKHAx80ou9h47BsqnP?4Vpk1gIqCHEUh4yT9Hrgd>5!$6{G1_Xi1Z|C4indlQ zLtCeoqpep}XdBcDw2i77?MhXHc9p6{yIR$uU90NRu2T(YH>yUo=c$!wH>*`>o7HNx z+teDg7pQa4UZmEd-LBT5ZBvM z7prEpm#8gh_o}UEyVW+dadiROgt`!|rCQMTsEg3{s_kf#sugWY?Lgb7+R&y|JKBuu zK$}%N(b{SkT1R!F^;8$yg4&I?sP>>epe{yxP+fwyr1qk{R_#N3ow~HMY6jh?E@N?% zx}3$$>K!a@QTtiks;*#hn=)D4tGZd-r{XN`R|yt}mBr#is)xmcs+Yw>D#>C%rC5Ae z^|5$ZrCEGLWmr6-vMe4|HjBrU!{VbV$Kr8yC5ulem&KsUv-qU)SUjN$ES^+F7Eh@I zEIy|WvUpyVSR7OREIzNUV)25yn#GX1hQ)DpEsJ4w9gDB1>sfqN-N52&>P8kXtD9JS zL*2~co9Y%8-&41;_`bT0#Shi(EPkZk$>L|~4i-OGce40}x{Jjt>JW=xsk>SHTD^A;# zI*AN?vzSh%6?6(U&@?&+XuSbFnn_U$ol5O=8ttZ;bSXxdK=EEWow78C@(58S%y1o0 z{T2kKJAv%?(3$jp%=iET*~4@eJx*uS6SN3VUyQJ}1n9pM7`_ZBx}3gARrGy4^(RzK zuTTyBhHB{#hzhS#J^ddwh$uCR$+S{Tqg7%itrqiWjaW$Mh^4ev)X+MylA6RiS})F{ zbH!HLAhy#+v6Idd7t{ITa@r)~v{|I6Sva&s6lklsinfUx=mK#YT__Gwi@1+25{GHK zc#vAfBeX+&oZ6tVcJUl_h@-Sq4ACy}5_O7~sY`sDc8ed-9`RGUSp1SM5x=9o;!m_s z{DUryMCh`}WV$>uo!$|dP5UEf&=rxzWJao~JF=4EktRw+Hjx#%ka{BR)En7D$;joD ziX^BnlBRUTrA(wm*~s-|M{Xl0ayR87@1-jvA0#*OFy$j3BM*_j5cv!hBcG=Okr(M; zuhMmq*Xa7_1iB$Qm2QllN;gI4(#_F@bW3y@ z-5RZ<+oEge_UHzBXLJkQ5#3IAMt9L&(Y3z`$>HX11>Hg>-9gaRjABa9rN1`v#2cs|11JSS3hoax52ctixhoZ00 zK=ilt;piXf;ppG#BQZgb#3Vf$n?{etX3I@U+e#IB@I#}3l7vFqr$*sb)L*dh9C>>g012>1b^{W^FC M!JfggAo0)t1Nmm&>;M1& diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_de.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_de.class deleted file mode 100644 index 24b7f7952a7e2bdb918261cace5a69c448350227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24078 zcmbVU2Y4LC*`C?Elg7rh5!D#86k9Hm+`t&w1|(ZD!cCTB8%!}L-RgAcZckjXEE8Hn zAS8hl(nupDCO`@y&1r-bB?M9+m5@e43aOAn8cBfveP?#}RY?NnC7t`cfiL0J}{(1iE?0VTYUDV0;Y4~nUyWN`73)eM){p$xkZzDJ4IxQ}XjlenH7EDmkv?mz4an zlJ_h56(t`~@%w@Us_$=@sa2PL0W z@+l?%sN|oN{IimOQSxae|ElEQl>EDr|4{OuNXcKj9HpFT%9*a5gOoEvIR`7}5ak@IoWqoJxN@{|8kBQ{a*kBaQOY@5 zImamHSmn%A&T-0_rJUoHGg~<)D92UKiOM-iIVUUU6y?lO&Rpd*DrcT@<|}7`auzD5 zNjc5RX;IE1s z)25tu<*ZT8TIF;or&BrWlyi=9x|DOSa@H$ngK{=1XOnU^E2mpITa?qIoL=ShDQBy4 zwkc=3a?VrE`O4X$oC}n5p>i%#&c({vshmsdopim^FU5>5-}g#u^67HfD@&28r2F%p z6b%<_xHP>hy(pjdvx|BwrJSE#DMj6?oS&%7Y5{!6`qiWGC_?cd-0*hjVK1dt;c| zvGal#s+C-RQHNhGc%?KO;;m_D)txSRK8Bh#p=qeUVD`@;sEJ^0k2#>W%1(0 zQXDyN{*()y);s1`hP+A+Gf=Ar^1-sF_nN*sbKIiC3g{-C^~yUlUJEyChMX@K%#aIZ z(+nr$cr%HTxoOHr1NvxCUGTVZ?48Z9J9cle!lB}*M^>>P zEVT_vUKT6If${Wi=rE@~dF1BKsy}Q;u9h;Mo356#9=3D{%ms}`rg3}5?;RM~g`L;gTy_+;hE55t}_~`rtd}bTN-i+MJJ_N(uW@!Ca2*8_JbkXwGWB((6@l zJ~)J8+064qY%(mxgl{V@7;az)P0D5qx37sL0*Wuk>2tRRxjWo14-@C^;GfYTEv|ch zu?ijwSS_E&+Va@Yp5o}d`OtDDa&3i2oUUd)zaMNeOjhyS?qCeVM?*Qoy&13IcKFz^ zOnk0ojIx$;NhWt28)G9hHU=z_t`26wCW9Uh+rySq@^((e6FlRL2kyiHHo5)a0l$d( zW8z@b@N73%X_qW#%v;jrt|}J`o?(MC=Nm35q+vazDB}31;Jfg^hA|2cr^&@JmyC*V z+p2?@rje$`#uqalmgtoRi}|ck0B#?)uI!b_miy_g-rfzE)JfDRy|&2&RfVtZZlTfK zOXpXO@MNA{TmN7QCcw?-JZNbsC~7;mqm=df{T%h< zs*UOVV6jxd`;pKUOYTUiIN)Wf=pLMwhQ=zxK&N-R=?XY$5O#okkJs04_4ics<9o~H z97drPN25>$xuGzXn_VE6k_&~phrKp;*iNC`HphEw=N@6Py~TlHuhN+wfcY4sLMoRz zBdd%l?*qkZK4Ub0zZdAoN)F0{lD(Dd4t3sS{XDtz=Jf`Nxx+LFG-L7sooq^fMKHzZ5)qdD`@TSp+7ywob6R4J9 ze`zo#O_Fv9LJ(;38lzZqiXD4~eAgDNY%sUSs_inAr`2w`6875Ii#S)dxV1Cb;QqmC>p98__@V3mwJI>h6J*i?8#)e&>N zlxm#44}^))@#3;}FIS+R=}%X&6VL^{8wk((bAE<)6oXaF!aFe#zJ}_=TQfV%SeaZI zHq>xHwNe}?7797~0YTG#({n#2ng&eqjeOw5gLdd;ZeOwJ0)>rXb{QPq)H((Y7w@RL zyK*oU?pD*#3v@}@v*yls_f$*9LV8d#MxD0~2Zr;1cv8bT*`nqLVWg51ar~ka5cpzL6p<6`Hs6 zNW0b=h*So2K?`n356*^1Izs!8VT{GHOb>LLtAN#Gx}a%8(Q1HJm(EEm<)q2&0WblB z;IAe4i(VT3xfCF6!RAs00GtvrWm6y~)5%h*RA5LL?p^7;5k6{_F=B$kNZw#0F9YZq zHnD9Co+I9{^NpGY@S?@Qi|%3(8xL*|_zfDV?56X;w3#t%1GXT-9LupqIL`gv;5gxt z#1M!(S`6&=7OKd=#+5u6BEYQ-pjx@iCe8h6V46wVDYE2YE5jwBvd4B@MCBA1MF=V# zWTHRQWd%KQk+5@d%H)VbZ{0_6SN|5Fe=ru;Z3w~(IQw9x@ZS-7|NF? zHtF8#6R~r08KUq4(R8>D;0bqQdUqG_;BLke+zb|nmW3Q(0`ypU417_5DyYDR%|icI z(iru;4oICf!{)TiY7CT^&==r1fH>IIqD5+XV^w-hr^B{SYB1mEW21mN4umHo*J3nR z8KUXT`8WzF4@5f%{9q9xM*|^|4IM9l8lfbNQYpcFtsb;^2`-Wa z9fUl&YzxF39(M)W20{|IR2#4k-Qm(_$Pj84IE0_TGLASOIH>^UZ%0S2;R6->n_0NM~g5EDPt_t+`SGV6_w z-|K_%pbpnZzBfLFfKM=9{ei&@3_XXdZ9%^`fE|VbHINeV3mi3+K9+3_E7Sm14*{Rj zy~Iw?F~MxJYhhk$-Nwvmdbk3$hQJrMF($;=L}=Jik7{cd!4v;sViqyyvK09)oMV{= z{R}Lpu@NW{pOidC`hWonMLxXBP%#5H$)GO-IgGc!flI|vyt|<%e4!oQeAaT<@c2F$ zN$LW_fslDPtW~D5c9xWlV0lfm(9D7tW zfo@}eAUH%8*#8{{K=%#|8Nd$|j*);E`GO62m)&{5kMqsZLS&3I^{0LKX(6<(#!cS@ zoPGR6PXVH8QJM`10*6vn?B^>)NNuv0urQE9YBo1VI|BtGp z4N9A^BZghO2h+s9jHg%xPzx1NV8RYxM7S^1Jpto%^}*)}{9Z6`{20n+;si?(_5=q( zepa+BGe8Pb2`0A4klJAbwL=@-5#K|E)dy-RlA&E56Yw`@3L9KvAFxF9&d|sx19lmW z5+K|&`=GPz$4?<6g_%IR+Z9vTAWzMoClyb zxXaiL*CdW?48Y*X;CsfyMoPIt8iA8xVlQKL%>d>Ncm>Jce%X) zgt@^WtkHx~ZTR)HmgO$dT!HEzKo7BR9^d!>KgyjkKuAUqi8AI9K_z&|d%P+_V+3%e zL37v?R~IQQMior76$^v0M<@MvJx;= z*h?DjYGDLn^e|U(GWomKNg4XMT!ml2ovZ~ePBz|n5Z$G!wV^&}E@Sk;qf0Q@g3zFp z!>5RmQJUF{tEkjji z7Ew?T-lBL#dVx-IQ=4yt9g8{kx;c#mCqeX$a zFad9?Mr@?su;x_QroFK-)(){ZgTcU;oIuAEpr#g8sbTt-8dPNzDz+PDub^JAMRW~~ zKE?K|=7QQHfv^r85UY{xXvb*uJy?C9Q-bBtnZx@neat8#^2>l+u3WU4Ti~Bvkaq6# z#4xKAE6FeRC6l;89u_FVhcv=vMOwkUR6F(w5lozBu&szxFnU&o6IhED(fS~kT5Pt_ zG-yGSJLtsb;f!MOqF`$a?#5yU?nz@~?5!x#!OSBxTZnnF)|p{W5R5&71iVS)g~`Ds zRg;PBCoDYHxa zy9EDJf~m~OykLTft^gf?cB5MG&zM{Bzvh?bLWQwDpm)m##uFKp1X?oq#lVLOGWp;& zu!s2;#~phibPotmu=i%Op-*W7Ot4|`fdDp(8j!WONE#L%BN(J0#c2nI(hQCp&M{!w z=&#y)ZIMPaXFXC&{#nmDKi1^J!5&JFluZ)C_bjkCN(50Lx=-g#wB~agBMc?Q@jP>WWeva4#{34T!vv^W zI_WJT4FL<3c4NlTpcoop-z0YfgbbYnfkXzsX8)`%HcprIGcD@yF>cIoT9w@@#i=zV zhj$SCLD1Ov<0gHK(}xp0DQHCtw62S~6zPw6HEW?}G$)OY_uCLy zGcn0pvB|CVSQCQLhvTe}Ium=wGMMfo0!4|;8r}2NJb%-+y0nOOHkSY1-P2P9PoS6kc@IRHe$*c-mJkSRSvQUI@FqhQJs*HF$@a75t_E@^N)#XnGP;= z6M3Ij4kAv;VG%@RYF}JtW~uS^jUPFH40!=AVW50WR0Et6v(2GJUvFNT7$V4EZ|FoL zBlkj9-DrO7a?Gr62%(x`42BjWK*MZHvoSP5=#vhsQ7?sD2K91`3Z>(3fCc&~VVjUN z-$10)+<^!YqkM?JnXO`V69=$WE3r5m{URVCTeA{xgDD4$QNwvNyMn-X*;YBhp~@m2 zL57y1F=n1N;8lcQXoks(h|D6Y8)Xho=`dAFGKf$aQ-WZF6kE7>BY89)W)o=}7!SkAq!9uI z;Bm zSQyJ;xFu9VK_7uHWWzoPPWclm+#*FtbNEWbr>HSAzyZQ*Ifawwt|P=}f;>=0P@0BM zS)@^>|81i`LBJ}9$}y{veAjZD4+V>;Kp4-9RpT{Bs@h~3dKHQruWOoJ7gy!WKc zBTXQKfaorA{n78-P~Zl=3LNnaEQIxW;Ksuj@oRy)2^BUyL`(E-zz?RGhvUp4(}hk# zFW?&J9|pwX;$ciOAaSl?K*%M-?qbhmUlb14J+r!hS#apu@4-uR*?vv2=ymaXiXMkS}ffUW~Un*DOh*{tnUCj zuJ5t>BOf+>Y^tvIg(uo}VyofInX78jt(KnYtXY9seym?~mt z`a4uoJP+&XoZ4x4_l0xW#r-nbXHij@SDV-UZz=4REL}8?MaY4OP31k-%Q8k6oTrWE z7*hlkhnz{6^da9AOaRdbzku`LnEPn3l9T)L{aF4 zm10?REkp^?nUMVtU$VH9?1wPpAa{wfG$BM4EA>SF4ILdIL=|fX>HS|qRP-GFYw%x+ zR_<>s#7~>_Uqv)jsSA6cE(5ht@DL3jV{Dk^Ms!kb5FeI5$bGKbWPDoeis6wAqwDwt z;|FC}Lny_uakwBVUMr%)KCZV8k1^H(b`6m34&@dh&F<=h32DQv5olOjK`im>Dz-mx0oQ>k@ zc(c6&R$~9vgq}@ps3KBDu2-SQ6&PBE4C`5W}O*L(u?*-sX8tFbyLa zp@mKaIE&jDmLLz7azNFQl|eE$fbr;*c}bYbcxce3zhM$tMrB+}20{|+!6@q&8Cf{@ zK=C-5PO~+zuvDAo?=WW%%xWCRC5v~P|F9uUOK*y~LX*<;G@GWo433cf89Qo|_yz&n z)1TB~a~u8P2z!EkSu;Z}kMJq#y3#C%gMbsYvx(v0vO2OlGCZ&KB` zH7fQyiPqS7Ay8vXvRToK#mUe`3z!*2=9FE!&(Lf^s?wwwgRP4DU|sArx+q~@0;HjY zu}ID{#r4>x-dZM)^|(QZD(;#!pq!$y)}#t z57emW_&}J=b}EcWaC*(#lV3c)7Z(bw7OVQzG7I!LpQzFod}|A6sDpwC5I$qVr^W3y z8UiP4E-RUMo)=!f!!8eZ81)7gLn+U`A>TNG%&pskM+RU`PzHJem^O&ynBqKaBdYv; z^27M8Ew~(p1R!p2LC;x~oUvJ!pq>F3nPn}Cs4Edj71u+#niCIYE^LJ zhNl8s0Wl5J!r>dufi;ACithjWy|llD{w?nfBAo~Eg3FOMn$1MC!-xb#yMSyASa;Y% zX+teCQO4yD1PRSs7!?_Mqkp3QU?W&I!H98KwHXFnqBdl*Chdi)CS%} zN7!VRq5!SLDge(@FQ&eC{~}?1N!^CMvxqmtwO~f6sf8VC8v` zmRjf~icZ^hycH7ULDBTYTHMhdZde}%jxd6aHZ2`C0ZVN{CnqR1noyTzw14DW)G;_31#az$#@=GIWWUhuQIUE>k`mrNFDYY>P(K`M zxJjR%Rl{gD!UO5DcWMX5a1VCVnyo!Mdpg=|4J-uG+z@|`0 zND=mZ%%BI}fPv9u5(!*{;|L3RjJF4;k+{p&^zdq#xw#1kq8}b0!rwtsH_O;@yaSh) z+FN)V+}@|_W|_XVy|fI(C(y`7E7~j<907EG> z2*J^>Wt~ddgnfB)-@}^d4A{~=mKjmpwng`t%E(aRh7*e2@g@Tu%uvN+GLtkTHC63x zn7TquX(4I~zp(TIOC^>vi4YUT;jDUscf!1xZDFoOb+gz4wiH;!s9ma|>D#fwuuOOQ z_9BiW5U|C7>E>odO-79U4_t8*lr={O#79_<&bq=^V)Bl89KhLzS_!>(Xi)m7XVQ07B`iM=$6zlTZrW_WIIcp&9;UW<}e|{u#U#pZk`|= z_Pz{*Ze*LNI58$7#`T^cB4K3F)cnCN;mQm+Ji0N1dELCGCIXYte&kAUr+IP7qHWyt z@s#Zp?xREP@7%r5SCsVT_O?DzSkaWSipQP^XQ7{(|n#hPnFC4Y^l2~YOfk2tH@ zs}$AK*PBy|9T-a+Yc=s z9y!#}gvrl|!n*KBIyQIOxS&e5P3RFATF?o&UNHPIIo9$q^c>9|;>GQ^a1E=E`x z*`!%Tt2Ldb+!9g}76x;kfj4L@?EXc;`xn^c2|4ZVu#^MdqmSaF%uZM|42T>+cBl1t zanC&b`G6n@LsN(?fI8uX_N(rQA~(=EIA4^+V$%7w;I$VTWTNcY^Wn5S1R!aa%uwuP zLeWNeWN=P`T&W!{vuR@OYb(C@nn$3)2qt(DIEuQ#{#UUYdsUnez$nGQuv2eFHCD(I znwl2lY2!MO6gS$i_JqP&+)lyKfTuVb@2<2XnKHf?IVT>psR0_lmpAD$XoiAqz{r?D z(WZ^!cO`1qldLzh3oAwHtETs0^2_J|mf6;v7)!MJK!H6|_*J`YgRm`rAETIsR~21g zAwF)4xoVSQc~rBLuiO~HDV5U|h$XM{;*1azAvZ=YOmKS?z$j)9EB4Po^HAjftFFTB z_=)0v6i?Wk&ZNNhalx5bf371Q;l@A_C`8zE|>sPkIPskfMug6wxh6`h|xM@ zfMcPSKuR!nt9|Z^`xz%Gjxj&oWPYOxUPYQZOj^I9hj zeIlWgSFWCQxV&m4x%IEWu7FIjpInq4uHyd=4M zdGh!plb4)%{Nc`Xw~1+Ax>h8fb?m#TV^hJqsfq92@%+QloI1tfm|l}mn9X5wkvJMN znb69l*_~-d75aIr;D@X3ehRg5F2Ex=#?wQd2*H5Ay7(&np^w4y41Fw~tMp7f zSL@^OY}d2!T%(W2bFH3@XNNuk&ra>)xlW&mXSY5H&n^07JbUyhc=qZ!c=qYJcy85= zcwVUI;dzmskLSgD0iHYcLOlC*6P^RQ8PAMv!PC==@XYJQcoy^$JWF~ho@KqPcfsM} zYJDonHTpD?>-2Jx>-Fg*uh1(OAvR9u;a=Si@`@$vwK0A@9MDiWIndDL3P4WZ1h2)32hvY}Pm*i)gF_L+D56OIeIZ2a#2}!fQf@HD2l4Oa#ilkLv zO|nv7Lvpr$DM_1t8Od6GElG!dIZ2sv^! z({ClY-jY}7xACtV^xH{p((fR7jeaM|>-DW9H|uwiyh-0i@@D;RlDFvhkldp8lDu8t zPVx@@UXpj|J4kNRcapqY-$n8s{XUZW_4`S_qCY_LRsBJduj#u<9?~Bod05{=@@@TL zlJDq`kUXkCO7a8!F_ItakCXgF?<09ke}d$v`jaF-)1M-FTz{J6Dg7CeKk9o){;EGq z@;7}S$$#|cNS@W72XP$z1(JmRB1uw@lce;QNRH88COKB$Pcl<~h2%K>0Ld)zfH10e}`nD{w~R>`g+h4Ct{)|7)juFvseeeaO84lf0%u3ewj%NJ)BggLFvW(jXJ0w*>T^4Km5UZ*7n% z(mNYu9qC;SvYzzr2B}Ct)F7vke!4+UC;d!=Jc#t(204TDvkmfK()%0aA*5evkcW~! z&>#;ZeXv0uPWtr*sY$=lAkAhy)F6-G-w!v)BT2v6Ade#bR)aj6^t%o67}D=G$YV(# zZIClbf6yS0BYmtv&LaJ3gFK$}mkn|@>8~2(38YUnNSE~24e~_NKQzdbNS|zwCzJlE zL7qbT=LR{acfm)6i~v~jO>z!kL7k|_|7HjU=rc_mC8mqx#6f^6Gen~}STu`6#4>TH zI71vJ&O(b0p~ZU9Ahw7j#CCC{xCn0yh@(YL93zV2SWy)-#pUSX8Zk>;59D{Fm@RG= zCx}~wD{e)vw~Ld+`^CxP!{QY22{A`}R?HRS80kSVPdqHgA;zwekcw97zUt{zq zMT>Y^EE3O%#o~FfMAnI=@?fz{9wAPZ$BEPANn*L2FHQ$cTLD;h2H;n#><}yE2C+)^ ziq&$5I8&wp*M`K|vMAc*F3~Qp5NqVMVy%3Y=#Z}mjJrjwlkXDe$U8)ryjz?rKQ7kG zdjajn#YXv6u}OYQY?hCTZuwKOMLr>Vu z9nKtafzu=|be4&WoK|tM(ikLUcK#v8oae-zL`qzqm?2)0Xb@Ki6eaXATCzAJw zPbNPhK9#&rd^-7M@tNe;#l6Yzh|eZ}DDF!>EkKzl-zl$#>pB3Y&r1(W#- zohpd$q$=XOsmsOpQZE&cq;3%3PrX(=ntHSNLF%32hpF4ek5V5HKTdsA{3P{h@mT5$ z;-{$x#LrR>i^o%sh@Yo^B7TwjrTAs)_u^NnzlbMN&xl{c=lM-tz4&e2A>wy+M~dIq z%@Tj8J6Swgw?I5qw?zE0ZiV<$-C5$#b)DibbsNRgb$#Nmbr*=g)%APEyr z>qf;hbytdi)xBK&yYAKEKXo^YXY1Z7o~ye}JYRPwe7O%vS+`F*b@$0c-Tg9I_mE80 zJtFJs9+UNTPe@hwl$=)gcR9W8IeAchot#mBh&;IdD0xWzYL zO1J)Qd1C!Oc~bp-^5pvabc1 zsfQmKO_D{FRaRL0=TWK$7ukhPN7N%v$*`T2LG2Y0-4t60t!JolAdWnLd_l%F5pb=DQytJ+<$;iJ z)%%j(ng~@KIO1BYBhn7IEqWTF zt{TkniU>aw;g|-ilg26ENfR{LNp*VENdY13Ar(}{>ne;Yfe0V@<59q6=qG`X@3GK7 zp-)Dg6w^9vzY4xVWEg9!fzoi=ORjxS1R-*tW;f=q&9T+ge&NnCn-9Eo5oFgyT?LW7 z5>`Cdz7|(PyQrpFcJ+4Ao(n|c-k#@?m}ZmtiHmlA%AUxx$*Jkdb0hhwd>)GSnppR= zkEUM!9F*+INj7m|`uqgWKyR6ckzH)$q=IQS?}>_H*FB$Ia`ojE?$$gR@-au%W}z-C zF+j76g4Ynw&OI(ymR1&a)0!B|XXliRP*S_NRY#nW*o?;OKKJAdbE-TDMRfUYanZiG ztEa;#i@;uxj&ecSX?C&XMcEJSRV7?6vUj}|>RftZHEYmpu_~CO{J18WCtb10ypX9l zVyetwuL93ssESH5U>4U|nS;PCtW7QG_d1Arfoqp|h+7_`e#a>8?9erhr42L{eKdNc~AlCKsk z>v@*;-ErL&iXjKBf-wM%C~am~xNudbt;UqVmV3O$B!qX;x)Xgah5D-@PB9UHOg za=*`ULc zYa&92rtx2ZUfLfTV6EtA4#Oo*H}rMOnws#L{zY1Tp)md8k6*T7A_kGj};434o?Uto~HO_C9;gkW`J1%Yk%s*lf^ z*E9>OD6lRU!cB&aa?;75`Gh`05kV3?bCeH=F@0BoZ<((rgH1cpBu8S2mt?TP%^>QN z&ZUrT=+W1lOn^p*y#r2eIhklFHh{W0oAkKbe!gcwX{&Fxdl+;y**B8K3SXT)3lqLL zyRTL}d_`nsN29r^VMhYq)pQ%gYPf_=5hI-YSbw_rE`E(IZ}=mFMuwK(EVvoHX|{ov z=m~?4r90zmBAuaA*syKFqD05^CWfmvTw@)BoWflneq)cK*4*!D-?xe4xrP#9M>ps^ zU7&r5>R)i*hIiGGXVhY4et5aJYoMOloc%2seUsCfp3L8<)p#<}lX*t1U(tU3IP+lg zNpIJgdgei9^FpStJM&<+uj|HRYWqpcv-DVNPix~?>&wS}{o=c3G>dcy*P~=2m4is* zZ6tCWN%SF&LBuwOC@<2xbQyAv-lIjDrWKl@HM&GaJpGhrNznJ8L6kvG7xDi+=%f&w zO7bM?_ye`w2Mp~`nvOMAMAsl^VCq%Gen;l3s&^3MWq3;w>rIZsCvtsNvjy?!ACs=^ z6vOzU5y^L5H~vH&H*+mkwvfwM`wO{ttFw?ZtpkNzSEuzBUbRLFxu<08QtKBq zfVA82ubuWI{Vx2y*G*aQb3ZZaL_rUr)NcWlgD6xNz&u3rWYG;eOsjN+?m_z#P@qKb zP?e67q#lZJ`UjxIkExe_3R?V(PSDTkB>fT=zeW%IicZsS=nOrfetHJ~e}tF6(pmaD d4beYonEpjMl8d(2)KZX%I1O#|M%Vd-kX^;?T^39JI%~p&ppd` z&OL7){m(rQh=^!(b`Oy=W$RGcD3=cvL*$Ccx$nI54*#{XUY~CY4Mn=_%QzWVez%N~V?Eq2x{_GfHNa%qf{yvRBD7l`JS(RI;RGS;<{W?pAV- zl6^{^rR3R4zE{a}lzg9(=PLPrCC^jx14@2S$qy;{VI@DJFpH}iJB|oF&XO+BK$!nCnR>|v>yk5y0 zl>D5MpI7omCBLBL7nQt8$(xnjtK=<8-m2u6l>D-iw<-BQO5U#I9ZG&h$*(GTr;=Y& z^6N_8rQ|o1yj#h8l)P8T`;@$2$p@7Drjp-M^4m&2sARvA-%;|rNEJte^By|O1`S(pOpNwl7CV1H6>qH z@(m^5RPrq)|ElEQl>EDr|4{O6CI6}9zm)v9lK)Zi9pwn+NaZ-ni6|$koS1UzlvA%9 zrJNzk8LFIN${DVlgOqcyat=|>p~@Md9Ic$Vaz-j=lyVMJ&S>QvuADK-8LONllrv5_ zla(_?IStC0s+?)cnXa4}%9*L0M&&dqXO?oBl`~s8 zbCfezImamHSmn%9&V1!8P|k76S*V;v%2}+OCCXWqf^u4vvrIXy%2}?Q70Owu zoD-FEl5*OVvr0LumD8@AHOg75oOQ}subd6a*{GZj`KhaBy!!eI!c9fu6vObb&J!vbZMy+k*U+RND*z# zr_lD0_H@o$Th4ZRg-y2iAw7v)D&w8#mDY9c@RB7drcB*;ylGV**>;#>=!!i_ueX%W z=Zf`CUW)o|ue93h!_vk~^*fYH>CCJZxpLMkB-jwWhM?8@M8V5ps&O^#HhRT;xsddh zmAN8LkVq!IVsTP)bF&nqrcN7lqeD9Sa-|-xluk;a7AG_Qwug3@u~w$ZqC>M7CeiH` zw|5nq$gJUVmTVp_XUjRmonGh6;ZDK9vZv+?-Lrc0#Zq^{E1sE|RVpNM#f(|_tf~)P(E}5Ehm%6j3EgCAt5#Ue49b?9)_mDbCUUua2_%!j1R1a7ZOreUIt|iT;Ns6{NtVi9CgWu> zd^mUx982^T`fo0}8E_$;b5muvYUC~Xa?#CsXkXsto#po82ok-$7`;$4M>?6t6m6}E zTth?2Ef+oa%(7SLbF*HlC!Z=}y@`@rO6>I9g#S&^7%-Q-a@QBUURa7$2iRklhp~!n zSumiOhUs%t4GlCf=^|#$c*XFriezNLJG0z>ONle4UB4MNSjM6uvi-M#lHG|yB3bIc z84B+f%LRNr=&ZBWfTihP%o*~a=E)=V~K#P2F zL_ZiPu(=54Vfl%0!RWklWgwmA)F^U|?%F(>@MzuL;C47K%r{ozdV6{yW0Z*;M6={| zdj$-1atjZ|4TrNMwUm?CX906#G#mg9C(x2`S+0lAdB_ymTnh3=)qtFp(q`l-oAP-# zo5=OK<=zyI$6wn3u3!lZHWl){=0Jk^%<*J#YHt7a?hbGPr@b#*(6zY@V%eR@xW=}) zMVzRYOG43Tl ziXoZ50`>u{giQDPUA!iD9kjCm0X4D?83S-Ionb6#T)ZTv-`?W3!Zr{Ngo?G_te=l-NnT`*j9pzSUSy&kWHj$V)C1FgG>>K zTna0}JpFrTLY~0fgpp2TO(-Dyoea|GPgNzqFsvmWN_avL$TX}xY;e+8&}5(6x^8Xj z=8fAou4q}lecjsjt$~H?^n6*SVcyUVi%>O6VwabsmR1Jx_8o`@(F4mV&bO4nbx3(2 zG2s zeO9f=tQ2q`-57jgr3YBDz1rv-`;AeJ(c~C~wAHc7$aD-ii>g7eP>i2}K{j5a_Djq# zi^{)h%Nk&aL^^AA9+F-x_Y$fZ%TC(~o*OiS9<$pMrURVhURp@w4Z%sj3zyf>VA|sp zX%f(9D#r)`M=I|XA-aJBgegrFx&f7Ql;G(YJ_H}^Mj;0r?uEtkHKfvb1t zr=hrzL(`Bef)NT~2Jj9+0=!PnUlRcMxT&h|ee5*KV zOYMQ==uxe*V~Ws3j@WFY0V@nVXDLQ*q6GQy-*1VJo5-IHl@N<^AkTY)& zB+ftH`ShW5VpSai&s^bWv7rI|0JjRzalhwLYfNZjFr2SGeK>@47T}+z*+gy4gB)F; z3^e)R1v~WbWe*#4E&@J-HOu4^jD~TzT?s;YSg{iRM(k1`hAbcoEZ{)8(%ntIdrULe zv$}%r7;ksmV2xlDLM_ff^@b-XAyQhl;>5PKGu>`jTx%)jw3yflkd$WKwBq3y^oD+3 z&?Dao08#ckO=-*FOyRhVHn}NyBdeSc3%VQ|DPSE-q3`AcZlkK5aZ&qfQ`!z2*f#QU zFpJd#pjTzH?4MOuYuO;8AK(&NE!b^}N443qA646}kyaT}WhN_u2$Ok;y%ggEDMum* zN5VZos}lH&$We+;A65DhC-WX5LI>(eCWsk)`2-?>TKh7~mKX>?j(}pYq=~gxw5dC4 z5dnf50(pq7iBxfpl_`-taFf;z7Ad5@A;V$x?`6n@FB2-LCN+@;L>Y?txg16#N^rjo4Ig^MmTJM-o2b19E$13Tu{U? z;2Ly-psOEW&Gt`%$J2=f4A7Tb1lZ}#Ba|hcuTq&n0~b^?wxI#Ogt4phAGASBH-vkq|DJf_>pcVzpTA;8etVk9qLJmN9i=dmS z0P9&G(|Mj~mkZJCwz>=SvM_^f?Lb(KunekF&XtR0#CSyP`J{X9AlHa zKI0{z709I7IEKm@r0ucLo(;(TQE!oHL^E(Co$E;;Q;Uyrrtm?#^2np@CF@{;kuhK* zus5B_myllA;+2tKLH-Y7fz?Bb3J@bsWP?GNKjtlfd@i`wxI&Qcu{!%AW#qi~Z$pNcK5Shv!m5F20`kLshd zxfPE}K`?n~62MOAAtcj}IA=oO`)?}yy~Zs|r2Jsehyd|B&8*Q@IP^7%@-Aea!YIvp z&_JG=&+%0eNg>(=KkQ|G8QKg+06G+R=L@OEPG}kuuw`%wHU@zSyjGYz3tAcDPQ8L9 zVxp<1-5(NxWdh74qJTJZd%;N9pBamG9o7^HBM2?W^J-FN_$K_KI;V@=Wg%zs@S6&_ z?65;YdXRJjjLMs9zal}M2~*M)q)S7-plPmw0~7=VswU*8n>-cEhNfURj6on;JDMLI za+^Xer2un+>l2#2M22~uz5zErO|9_L z-o8D+(f++V;Js@?8O(6ZN(L)#F?|*iPt2SkmPzxTDG%Cs>R6R<1^HiVFV>sf zJ)INAG07Pduk~UkliTsVDldfmq=i9J5SJh+ToEyj=t?mOLJhNrOfMGW7V^6x3xnjj zXSM;2H#8t^heP21>DbcUIh^HSN$n#yV}1UWL@iD>N(pXE>L6^c1;hwv4P-7?;_AcJ zf2-3Ki&Vxo&0WV*`4>&CxEb~b= zhBF4=#UQ>5HxpWRaQ_e{JI_3B%Wq?I+PoFqCkxlQZv9r5309-;RN2K`pz+-MB;=5r zt=s`JtCA1H@FLRO>$jr20Y!;I0pZrW!$i0ZWc)iQC@Nd8imdDaL}YPK^EnkrMBw2Y zkt$F$p;$&%FPEA{|r!i*0p zd8^xM?jQ|vhH*?XM_D@rS7;QFxXPDI3p;(~0bdt{;1+36CiQEuw2f8}T!cy50{BWt zgRX7W3xU-@{EzGj#~1*s{V>E2su_@4dzeXgqJwe4i+ERTEMbr>#eD>4qV|Po7^2D` zFYhZFmTHx8jkyp;I1MmZmCa<<9U%d)4nyxsz~!T1BmMZAi?-0tC^B}ozJfziyk3H~ zR_rsK_?pC?Hs*X-a016~)`Z&@V?k?kiw3@6$ZSo15pKaB)))|91+li8fgu3M4-}z( z_$EX$aMADy$OQ%NEX+ZMDM-xsF0K^J^#JUUk5m4uD+RyLbOM<{(vF0>`vmXv+xLH| zV7xO^ju3-=BlbB}<{XF~qwg-@4i@gJ+V4{^2o?#1z=7p{JRe$h*q@3*Ae_Ju;oW2f zi}+kkxc)Fr+q^>FWVS2G9uxe~Px5Xy{Jc27!X_<|VJmN7*!wP4WQd!53P5 zY9T4iUBzx2zh>f)!K(x?d}9mz^S&4H##|te>=_>txCpdwK|~H6^Do-IX+Zr2qFms#duNJvR zU%_EPl2mK>4X)P&I5Q2*vj)I^&w`PvAj;2C`Xw7?-VWr7N|@TXsyR)w-In!jZil&S z3E^+iPhTC|G|$}UWSJd>P9r+SS;+{TQe|&GY^1G5=8a*xnFnH9Q_hiayZiUzE&yER zm1Bju29m*?aDM;+s5Ao54ASScLH<_3i9wp8BBKOhp#Nh?2(e%YiD1VFMbaQlGXNsr zJYrD*kHFUXsG69lp@CcoSTYj}u=zVOz!*GKGnoNtf-D!rdCTBZQ59pV)T$yxC{!Lf z<6O5nW1KvE4B?`Q_f5?SV&A?%2MbULB%hfu492jw+&>H=e77yvTP}6jP_#yC?gE!N zm5oMWxc${|PiboeX=~`OVIO+kZe&7`T6J4J@WG_^Ed=G-7*8WsVO%f>hk{8;roPCI zgSC|_%SS&y2pe2Ct2P1U7)vB+Q{thQ3~Ry0RK5&U&z6Fr<7A`>tVi?t1dX9{3HcHP z;e?vtgYPARE%7qSUuKmB@%s=~15_UvE=e)7DpT}-f+8ulnZO88*57Xk`}|@JrUce) z-c;EE1c$e!4QDsF$1j20K&P9Un%stS8jP{FB_6Z_U`NUZQK70qUm&BV2m}Kf4pa;! zr@>8ZaO*kP1coRd`{6ioMQR#?#Fv z_N24rEb1OCzxCdjiUv~REFYS;CQmV*cMaD2M8|_y8H2^Nl!DtWT72> z14bBFb^#D$D_Oz1UC8a35D)Y2x8~y1T8`Ku$#^%1ODX_6<_g0>x$dfR3s&(Qu-;YZS0bzW>j_#Gl>d z*{dRx^SCY({S_E?E{Cdil={H8aBc$-EJIE9)&%10RUKne3ytfk3;=Z1>2>4eOua)} z$2y}afyEDFJqW@T@Tyf?sSHs`kr`&Ps>3XV2AiR%SqeMbIMFN!j+SNENLQN_PGvAE zmx>-&3E870}VIlqpYxo0Dcb1 z@13w52#fllc|EvrU>XKjwZO1MTHspu_MXl}6F-Gfz>%9kDVZt5ckp{ur(<)JinjG` zB9($Ig5QI&D|hC+l0{%<0%$%KVDmvR90L|vL>?X?Z@9Lg_S7Z?z=zjxf@UYs(V%ab zM5Gh1!dd<(hymR#Kvb+kIm?{$E>r!5fD&eF9=8dJ zv)iV*LU+{o7aNJ#XhVR*{Fv0Quz`ngu|4Drk+~aW@!@JI-W<-qijV?^1cwWsKp8d& zdBD9r9FI};>Qs*-GZ$@8wZI8y`)?U^g^&dl zcn?hQ4p;yd*isc7z_ayMir*2%A-k37n+fn)=t;n1QY~{Hb20x(;0-ejn)qbnI4Wibs9!KasV9Lm%-y&aYzA{32knOKv{+thz}$z z3m}HuDqsSW-#Ka@`LYcva)mX_3Y=Q_}|Z}F1oXew^*Ka9>yUVP{KS-uz@YM4zITU&bJ;lxSrFRA%Ir~d3(dZ zFhG%Yl}5o1m@f1PR;e(pxl?DV4J!{+kCfgdY+cc?$~}CFHxYCYhF@N4A;YG|Ug$gx zp)EG@Z<3IREW-{}E_95YCae5pfbsIQ=cZ%{>x7NK%|;q8#qDCSS?!0+n+yH~xJlv> z+DT1>kl1BX5v*)RsAb)#NjWE6YkR9^WsVOiYHT#$f47VBDjOuh_x10UVo4<~W0{(d zSa8i~JSwmXkKDX?6L_CgP}B*g;;ogMFb&6ql%5Hn5JBRuvU(Jzb*MLn-#FMXwQ2@h zXwaJhhAg_+@AX`DOoi~n-q0Oi+xh7itaiiAQ{n035( znApRzeOt%xE5Qc7keJwG^dtbn#6B=yj9zGMjWflzIV3BNF=p1z$&>=l7*-eY3@Q`- zF-M2t(nefr;Y= z7i$mh{{H(Yb>d3n-;9?wH?961G(n9q3v_Dz7n))d@&ZB%dtmE*-E|<k9=Dz}m z_6ut=#$ozAgb$V6F;OrLLXfjT=XsdSrs%^8q1`#Mv28O3 zvgJB1N@M9RAfU*U6V6rV?U@6Gg$u=)Cq&a`fS|4IKh96Mup$o^RyLl?qRcOR_0O&e zPMt8eCKprlwg)`^eqZr}{|()jKTB8jO7{yKR_@R3hO!abWyS>%xD)riHO}o5M$dR?YUtvdT59_rNv5=KekCRftwxq>fDlPsIG(VQzz&qeyEROp9fU$^^VX?RP`pSU z{2lt;neBNSLoams(zR(f)7=OIj;lNTH5*sDeEZzr-C{O}6dASVAS-PVk3U}6)BJ7w zqSnCtMaIwYL2n7(%uVCe`6@4f62l`#)PBXgZ$9T&<4q_u@+wHz*-jL53&&}sZTR9Z z0{dOE{h56~ff8V@eT)&be^uTpS`OI>9Tljh$L_a z3fo#+>+643UFTxesUKb+f_pwd!G?~tP4ihu;k&jt=(k{h`aA$e z6HUM|R7yBesd)em1_OQltU}PtXM3iElQ~aY#>r$N-~FCc@ofGpsw^)usSwIU#$d7laKd z_Z&qp9M69bJpp0%t1rX+O4x?p)3_>*!i#B}#5MSZ?;QA-ux0_o>I|CqAde5f3yCw= zuvi~g!m0UN2zEUH8wnThvutnaXl-jVpV@0~S-%|e6#`?3MfJPtL6s;h9s+fHu0i2y z5xL6HeRmRS`^lT|UXEY@Zx!#fwR`&+*k*7%cL(2@teu^I)<81lb>!yw7hXptVvxAizeUvks zVol!jgc)E?+)kvG;~vZ>$T%JfS>;^^ z@Yp|Hnl!(LB8W1HuYyVoBc0(|{D#E*yUIN9suYNCs(SL76sqDgX}qoM!)Rmj(R%Ls z$^xpJRcD1@AL!(&sv4U%K`DY)qAS;E_HNGj+5yLFer90Mi?`}~H^cn>9PHEsmC*#R zMc4wGQ7wUp@PU(F#cmn`J1s8-yUjVq1GuedZA|CQ@Dp4_t0{^kJY z+YDn_DYJB|ZrRKo$YA4|024`p%CNMm1I8VTsw*Ji6aWRnG~a&M^pO-3{gN!A7+4>; z)3nKE(oh6#X0%rFR9JRrx!4!HVGYJJOHh$rU^c)3AHgw2%LOs+MExj?>@K`7!tfNs zLr!Y?O?h`ewj{;j<_DG-Le0Xy;Z1^Hh?3%{%2#V_?O)I${AnuuC=?QOJ@)6X@LO1b zUv;LU8*f#Ps{W-b3(yu#+Xe$Lwf)^KZV`W4s}70)=Yld6`y*L{taOo>h@aGJ6!>K* zF;?QIr|_>j{7Mvle+tjJ_-j1A!4F4?*z~)Ea|avBV{9WlBlzoBIZrsI=|lLt4xi>` zd|gCz^nFXljgS}hM)xfJijd>yER2qcJ}hGL_8DWMUl*~f#4vswJ!8)8X!fz*=o!&H z^P=NNMbB6|ene#K4PwZ5J|rUl`mOC78x!;U#%lZC^v>hqnpTPtSl&#bu%SccEHN6} z87F6p3D`^nRya!@D;CQ6;&{10tdz%zcDYb=$VK85xmawIOGHvG6+7keXdy%tJ6nMN zABQ%U5fiyvd^6-;QMVP$sJ}g&7#zdI%g}HUh8oDXJB1q9bOYA71hZMbjWgq7PV99+ zOA(RBV;X_>Cj>__{7So$`agkB_lqH`r$_YAj_FZ7tYdn;9^Nrs>4Q3^A39VYjOQ?Y z2%cIWif3Gpz;mqDcpjnSc#hK}@f@#5;pytb@SLbe<2gwmj^|`O2G3?a7SGxG2t4QL zad^(vtUeac zUOf-bGxdBt3wi;bMSUEeXX%A_o~;+*`98fE&vW&Xj_D)B$MsT@i}dj%pVlXkT%}t` zuGY&)uFnw@VIg%kdPcl^Zk_^*lk{qfFBqMZ@MC%esT$f2k>RlwG z^lp;F^d6GYx{u^=eHO_WeKyHd{a%u3`W%w!`h6rb^tmK+^!rKX>hnkz=ns$_r$0!t zOn-=^RezXdx&8>r3VlAwT73b@I(;F@Y5Joir|XZA^yrV1r1eE48GSKHR$oH0OMil7 zx4x9*VtpCOCHiubPv}pQT&k}ixlCV4a=HE#$tU%vNv_aWkzB1mLvoG&EXlR{YLe^p zH6-8A*OJ_=uOqofUr%zczJcUE{W+5R_2)?*)Hjm!>o1Tzq`ye=u)c}p2l{4`AL_j% zkLg=T9@n>${8WF5aUZ$r0*hmU4Mh*4ShGsoBAG-xAeUvf7SPq{7v6a@-O`W$-nhCK^&pKMI!aLN$T{2 zB=x$Vs*|B7U*eu3mP{UXWf`X!Px^sh-0`Zpvg{aX@G|Bj?fzf97t zUm@wyzb8rSKak|~A4&51Rg!}K6G>73ndBq-FC^#d*GMkVuajJ;-ypeIze#e5ev9NX z{a2F9_1{RY)qf|sPXB}CM*TL)7xX_#zNG&}@@4&RlKb?3Nbc9~kUS8Vg7lklDM=rS zONaE~xQviK7MD@d$Kx_a`s28)BmGHS)|37`E*0t1aXEzaxwsrk`g~jtBmGre4kvvf zE)ODoIW7+-eI+grA^m+^9!mO$xEw+Hr?}Lle~!yI>FaShlJt$Z97XzOTpmXHR$PuI zeLF4>C;ew!jscB`xExC={uKw2M{N0O?zbV-NAK79{(LK6j09)ahMn?ju6AdM10a94ib&xU@=!5B90S>isR8@h0tQPh>Hzkq&QiO z5~rg_Qj8X9ak$8fF`_KSinB4od19P6AE56dF+p4|jucl3S6qitzaWkhw~C|19b%HW zOH3B`iz%WXGd&`vipRw?@uZk8o)t613u31D9cF)3G>JFFEb$M~EZz~bWlYSG!^B)U zLL4JUi(}<@F;5;X=F4ef0g&2p2AM4qivXe)%Qmq@t`|$?$v|rF5hqAbw8)HDCX1p~ zo+Xyc^TY~y0TA3J;zW6+I7wb3+T@L5mAqA~mR|v?yIZW0-x6!(!(yF$OstnriVgA? zVxxQsXz%x8lYC8VmVXyp2Ri=16?>dlMW6GgILrB`I6LBq_eO?@ zb0UX|_eDmFb0ZVP`y-RZd6Ajo1ChDngOP>eLy;Eo;mAqiBawCD{Kyt@LF9CCVI(C! z8rdm67Ac62NBYD?k@t&>Bj<}tA{UEKM6M8*My?i@MLsVskK7_Y8M#AT5&4F=GV)FF zsmMd((~%#Ft0F%YpNTvxJ{x&aTpf8uTod_=xHj@Pab4s;;`(Sz+z=fuJ{OIP&qv3K z8>5hh=v48==qzzlbe_05xjq^g(f7^bv7?^he@> z=u_gG(dWdsqQ4Q}j{Z?R7=1(ZN8c9TiAnL@m=X`g4iOK>4in#tjTeu^CW%L5GsO2} zbHoo~$B7@tP7sg9P85&F)`}m+Hj5`>r->iOlHw<^9pb04GsTm!J>qAvbH!7!kBFbg zE)q}2J}I7weO5dh`<(biY_Irb>~`^7>@M+q>;dts*muPXu^)&RV?Plu#hwwrj=dm$ z6MI?wHuh)nyVzgF%dvlpSL&kT_jSX>AL_LDW8E0>YMm?oRM#N>T-PN2Qg^I)t!}Y+ zy{=WfQMXFGS+_yFRdh6}2x^K&9-6Jwq_k^sgds^1ly&zTHD{@HPYjSAaKjg4_DTmh& zkq6a}kO$X~k%!bzl!w+&lOyV9OI?4QjMulwk@anIRQ(2dSp8Nxx;`NfuTRS{^=Hbl z^?mY)`t#(t`U~aw`b*`6`m5xT^*2bjey^NZe}_D({%(16{kP?$`bXsC`X}U+`ln?> i{R?tx{VQ@>{i||1qL~)hB}XokO`t;&)i4^wfBqNXH}SXt diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_it.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_it.class deleted file mode 100644 index 913783277fcff78e2d4e13e5fdb59cacc7837f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22890 zcmbV!31D1R_5QtYmfS8Zy=j3$f!DI6OOhrjOPkU{n>HmhU1(Z%gqN9@qe@<@N zPb+zok~b^)86`ifLzFXHIfp9eFy+iq&f&^ALODk&$5qZ; z<;+vgQOY@5ImamHSmiV*XTEY4C}*K^7AdDuIZeuGR?cGOv?!-lIc>^WqMYNDbG&j+ zP|k_US*o06%4t{5a^;+)oE6GhshpFQbBc0SDQC5EI+U|UIct^EshoAnIaN7b$~jFr z>y^`8=WM8RHcBzQE1&m^9XYR5@=H>r%3g2Im!kgM?u)!(Z*k7c_b=`#7lVBNaw*a$ z1^J-7Qi{a<1!qW+>?mZ>_JHmn?{BOO_WH%Gw)X)8UOt=i*ZJj5y%+hJvJ}V8pFG}z znvZNdOfhxsj*LH44hs2FowG@bx_-aB-XFozX3q~hRLVha@!EW4&@Xyyh+b3BYO`1L z^O$PRxOQ9oQlV1J_^T^i5hw668NXCIx}~K>idpj)>~W)0dPef)0lyq%q);bia^be8 z_L#9c1G4DAK@8*d`=twlax2j`|H{IFnoIc&z;`B%{zfkO7JX9!^`-^_* zlHB5Q(aV=|X5ou#MmV|^J)N!7oox;{d*DRoOChAZU~{oRb~bfoo6hiyCG5T3-E4>M zIlbFGZO!TqcTF)E_KWV)=C-L@{Gmdz+_a(8A7q`k4QYGj=CF}PFUcMPDS&3fx{tEclwAJ?p z+ug3Rm&14NN#&taazUwFY6jOUJDMSHanp7;C{NwcwP9^_`>o9_Q#%UzGLF7!>&OuH zQucS07Z2sUAivzr40y$oUtY0oYiHBaYCA5q&o4Hu&1VW(h<3ZXv=<{waTwU)*+X^* zypr4N`*}B$E0p|fGlcl`ieD-h+_BMWv$0+7?wj3G*~90V0qnbghR19j@ZCOeWymWJ zxP6s;hH~m&+H#p2l-x@G;(TFy9_<>tJ$}0rU)HoA8%4u#+)N=~C}o05*+cWGXAby9 z>=0i==Y$SY_WxOc=>#x z43f*aSwH8O{Vj#<^B1^WG)BG%o8^#pw^(Au%bCeb6{C^Cu;-#HI0AFR0oik!R@n8|S*F6~dSb0;ScI4nfSoo6PQ2NCcg zIN$>~JcucZ{UCYBMkVh-N@zztH;=t#yplPHvC&CWj_tyvi#LF`!4P&DbD`vJ2PfU4 zU#=8+D7_=*7|hJ*(G33Dtqyo-R4NDM3eFS^ibnu@2JNuqQD0{fzo zyB+c$&jovq*|LE zjGV!SG6A{km4^Is8Dm2-6x=~CKjKz~vN)1(aT8d9hKqW5G}ObOIz`}? zi-n;f4Bp=#6pDF|Gji)KUAdg!@8w)$7~GN%#^p0mCmQ+ypZAVnF6b(l0)1pEn!j|Bqoc`2`lXADCD5f z9uy&87!2~{Ze$qpp)!D#*bjAq2X8G?Jcf~?DW~F;LW41*r_zt}3XD94pB)R2QZ8f) zIoB^13q>e$56+7w1Xi;$R5c*&YxzCY5^4~3$rYO2u0d#I*|RDQJ%siGMp(0AZ3^wy z1*_Z+YBrEXtXD?7vVJBxYs|v)tV^K|67h zgM};{VR`q*CJ(`7(*jb`!DSkQNU)7mAJx5SwK1`@+ORY*)O|R|5?NC$!z;M0n6$OK zp}~IP4#BA7$f{O3>jy3ef$<9RnE=w~nLY<~LC&B*Il>L&6hZ+yh=1GTr#(QE@QZF3 zVB-y74f}Cqbh)1OPJkZSrb3<`2HNQt%Oh3;e0MO&0;JKuc(pyS=ziMZaSi}{3i<-$ z0=NZ?R1AEwjfWRbfYYW>M$>bhfw8`W{?47o{L(DjwV6#|rp46P)6Uocx9o#u0p7#U;>e#!VN z>zH8f;5h(rjsKYs=WW~!1ryz{D-KT_3xgT^7}~X&JAy1se2L0b26}Pxm0V7WL-?_g zp33f9BhlHot-BkD2jD4!4X=cFs?9L{WW?i=Ymi7nPj1G{AMvcGryFZK4BH4>)N;qQ z-(C?q>>v+dX1Gj5OHFsF%y8pd1(~4i z5*C)+VJ}xPW5Lg4f{OqHK{p zt(RFx7Wp@NGzvy*%MSA&=xQ5W+qPGAZ5$9=Gax2%gZMk1fCmbpm@w{f+w!#eJU|#_ zNFd!GytrrBZoD3jZUlyY5atp1ztCU8-a0281HAY!*$CFe-N!~b9Cg8ZkF+P$?Yo^2HmU) zpmDH$L4R}Tp#tVcF6;>?jW9lEq1aLqDkXRI+I3wU8{K}`532&}x-H;_bW#NiYz)p17yVu=I9nLTQX^** zcINqURrz5bk`SIbgsUqLQGt)@^UIk5C}c4VWN`{KtQNxZ06WN7VqPOtw6{gSiar|} zfP#ymgi{{Os1}l-ciWzHbD-!$wPNkGf9{)pax0;J@}IT(Inzp7w!(-H0Z9hIdJz^W zg3%S=AtLu2A|n770Ec`*irx@3g|QCf?HFUin`b=wK^#2HxDUVy{qFVQ7GYuOeGSN? zliX9Vj#vSrPJ{FIN#YWLNS;g%0u#>(X#t-z1G_&n9wycV?-1_{1e}`z#D^nf5L9pp zm?lQ`&4>m3o$WIOh zuqg!fj3SE0L)3ccM#cj}1*6#%^u5FbcGmd-{^MuH9$LdggXqEA1*HKP9$ zLUR>{UE@{(6K-wkN+Lc)j*M%q3xHG>5XNCj2zS5DO*I06GBM0gZQ~OBL@Pb$%C68K zFdJoJ-9{RgMw*2|E0PqL97pi&!P#~Qq0Ini_aGQV;0y(;C3*R0Z zc?;Njq>kO3pYKQXZJp972*$F^ao8k847AH$C|$;JFp{#pq0o5?Uahad_>n@7(p&%JZ;NYAIxZFJ{m4^iYEn(&*Rlsb5Qj`hMkvxSd!AVn&{SqW7 zTN{5K-$lF;=0(vDPKTD99Zj@b8+-z#3;@iSbn-E=r^lw&ZtAq~$A)Oe&xeTaxGjKf z#+f5C5ruG(=!6~}r5KZSMp6^I#9;7stG#R(bs4!~C`aRN^dHW+D;MEIj771F4gx71 z6b7*08nI;53kID|qZ0;^MFt{(`dJwFQfYgkm~HBXN+UN}0i$3+VW<%B$GN4bmGLgX zb;Ahmn1neW3kip0;xuGX!L=%C2eJ?YXe6G?_zeUd5b|*LX!%wduw|s7h@6|ZGPk$6 zP(Uia3bu`@@^Va7j7%sqG@c$M^Corzk6?c|K~1sYxK0C_kcL45g`q#dmlrY~fE^+P zrG-Z>x?mVtT5wyitW(D;3N;iq3GFGVW1|L%VZJP#NtkSktukO8P6&JV%uuJSf(4JW z2$@19$83XH2=jBmuC&pV-kLLu5|37G&#bW|uspFi18JZx0C6@#j5)&OVw8g?;)I6b zI87Q8ky7;l?Z`(%WN32nf27Tdh3zH!(n=2F!L!%79jz;v-P zj{p&a809k_-zydolMun`x4CibtX|O}+ z`NN@t2s|87s=&18vx|vqVO=S1fKX9{h>8~sylpbJYcW%TY!=#>xFPfiyo_Be>Q)&# z*Bt6r+f2Ek#C#Hr$sW&WE6)gvuS%;;B}3B2MkfzMWeQ~M3{LuOeNK$@ETv6IuyZ18pfSNc16XTW4lVD1J3SPfX9@u?=`STW?LNldG8 z-PLuBjn)oLNuqAUHzR9hkYP3Nv=1rdD198d*d;K=`<_CMjLbs1(>>&xh|(s-vCYu@ zSI9E~UGMFAZiW7^39 zXxFHcHB}NcLG>HDfI~w@CX5AP>}^37Lp7~p)o@bT)95}1^bKf;Y(CnrjiXF-iz=}=i4qlD4*K_DMc}Vx3f)*GPu+TWib#+58LQHqLFDbAh#tk`1ilH@lE~yFX?g z;l1q+L(72W(h1RZ(*q(1Ly!^15JbYX9&sD)w*s^P;G6LVQS&vqOo|84alW6@fbJ6l zlV%q=y@8Y=KhH{>N+xnG@|83`Fp}en88;DImA&DlNTX|L5O6$dxT_M z52@NPI17#aIVK?Bek>DW*cO(<8DnnRwzawy2n>r{4VN~!C$E6KK!2N?o85-X8jSU| zMRaOBr0<-Nf7Rh>fPlFWkuxD)n+hYcgpWs*5|^ni9XA7mGRDhDBcR%kP^RjADNfZD zS_ceEf)j{mMu*L{p=p$i7#j^`k>X;`g;E1yh4MmM8By6}9X`h7unM(99szj7n>~O> zuzv%_PK|@kOEzM|<6v22a$rYb0tlh$QECtvR=S$!KIrWT1}lT8R{02FUOA#dU3*eY zwHoHEMo(-Rgla*g05gPty?Qjot4oBlxVtv7avsnGQu|>NhA}91K{LJgvU%?$USJ)# zf(K4O5^}gH2(V52U`8eYktcZLv zBn8Vmye6SRY{N^3WkfYdJXd&i?$z!cmNLjznUU(d82s^u2@F_qBs7)U{DIAw@4^os z;kk@Y@>EL)A&QFYzRhmOfSoxOJ=sr%^ zFffy=fKmJ&7l5&03PIOq*UM&cnh;Bvx=L@}FI$9VCa|>`o9}>qn6Stam=5z6uPwU4 zXAcPM`aM(yeJ~ebmc<&-O_Q1>)TbqfAV)zv?e-aAF%k-G@ecCP+yJ^odkhDv-D3$U zS)?ND?J?u7P)Ea+#sc?ea8jvIW_FtCM;b4)|3(zMI0+3hcVaR{6P6prn_wU(iI)nq zLa=X2tJo+kg>{f7BS>pEp~Nf2iQq*wApltg2OyCV4@`Px&sAOuC7_hK#)gb-GzcsW zIFprPVJAE&yq>{>aZ|%H6Qo2P3|P4ugYD&hjH$)q+9S>?2gDuK=Xk$!JGmcqV>Jsp z%`2Pqj})j9G-z^4F#K|2)^86e=_WXu38i}q2AC3+>}wWh<9fJKQ^>34l5p@yc$!;F zyeVq#r5a}o>1Kj_;yT85HDVt_&>CANocz6!PIEGV8}=&nsx5JV!(&EZ7TqbfrS;s1 zfzkusP|2ug-ltB6Hvy4lqZK(9Mr@C9`B$}E_MHZT|>`7 zbtr|_yuxXjL^cj|FO_WCzgUKwaX)$jxU6CJ_^sND=qvViQ42SsU=aa-5yHS}(N^Lr zNk2e_{V;TPt6u4DRv6S^@n$q5?=WG}NYRy?L!&Ai_JLR!dcksA7$D8v65vCa4*Cq^ zYHF%&VVlLZ7pd%$Ez)OB#?&8U7#1#j4OBK<9Wi`R3(4YnY)WUMWe;yn8dPvpjaI=Z z*it8xUPiGnmnj4vQ*8xc5Y{s3FfF#^{SVVFyK#J$xScUm(-0J%h`?T{2@5C)*(xwZ z)yjpj*fmDoxO-Z5b1{eR&Ro9;@B&hWGE$pkHdn;M3FgI9&KnmESTW)_xUmUgKoSha zXER|~@}TR5y*3vtSO7w+@i$jjRHHNAa0-zN0xRQW;qH0%0Wai5ZivY@%Ttz**G-ab zd#lNYO}Gw=k)p%mq2kr2GOO7*+zHj=b_?5x1PR{vT9vAep>R#k7N%A~bfTWfZNtCf zl@(aSC=<3XG1N&Lyc{-3AR6aK;a%Z!a9M>8%m?y>3Y74gm$!pAqr)4~#LQA`jg=0v z8a53taiKg9HO-^$43vht1A?WRcX(Jdw^NvRS>lVm zXj58@vcOoe(R}QsvDVk2QHWzrKCOT^5CAM0*GJ9QZY}~!;*}O03U6T%upz4j4M5*P zV9w||8Wq|khiygIWI53!8!Gpi*jit%Lg<1m*)d`_Z6F`(*8og(T!u6z1_uC{d^Hi4$mF7t zgU3|07RBDYM!dY|cVS|N$2QJXEns4+TrRv;Arp-hzd8lR(}F~I z;&JwHTcN+e=|zVU4s3EWSZq%rbFp9U#A^fvBucG8g1(tTzB#gSrDx=KcvUcfHc-Vj zcVqLkVT^kx4hEg8W(ILnBs6oVK*E&QCPnS#8H~v)?0%a=G;3s8iv9Vw5%=(e#%{h@ zf_zQ8+lgZ|pEkN%U=vZc!e6bp?ZlU7@lP`FcqSFGn~K$$b`#3AyYs-ld5tKi)po)9%fHiUIWiVpaE`oPS9+=9!C&h`iG{qdYN=@?|5RMrF&EJ z2|$z%8%DT#g%7uG_Nv&Bm{4o00MzE$Cgs5)Ost7SnDpqXCkfxV9Sm+=d>-xDt-S+O17x8lTR4=3(v8 zEP%)rX3*b(6gGSjgu_%Hu|BSZ63e%z?Rt=Q^!S3z1*>{Gy1L9~wlXY_@1fs?y@BmF z1$Jip!2x6qQ9q-dg(L+q{s6V%<+WyaLm>xkfQ|2^nX-_}_-{MTppU8}MFV5eZCA%L z$uNv*8ixbZ;}{PZzKAuxN9ZPT62>%SYLQEIA1(yOyt+FS?7jm)qpuHX4!T~LAEwf2 zxOmG7_LT1ihs(ppt4s4NyTB<3SImAKWb6*B41}~T0Ve2LylHQ^03O4d45pQOJvhib zz1`XgW~2691@M>yTIdS5mkncKe2(SdW!WgnjByriA&Rsn!E9#)R@huI=CsDm6)j*)s*63STGQLS#k|hU(U3|kR4d%Lb&8u><6a~)eta4HI2-|M z?y*5IRb4E+W`H9q4hO zupPx10B#dgw@tjgj%lxoFAE^$+HYRU#?kNf?Nk`m+WJLUql+*J1fd$L1E-jqlU48< zuw5H6rHv+6%f{3df?`_&G;#H!nv6hb#Rdwwtib|!9W#WRk;fljQ5hSpX$s&(wZf7o zS-hGwLNrkGR=AbuHPDI0EShen2;=lPIJXw+wy#yHC^V%hq05gBo+f){k9{=}mZ=Ba zut*H=MMi&{EVr$!n6(1L?@3g~Nr74{p#Gb<;+!E>`Tg6{WhfCO##X(m#r5e&@}=ZcO+hB^40zp1MM;pB&-4BC+u=; zw02aJ*IWkF82una7}dj4;H?mDh5}BG9?bSL zOayq{x8Hz)K$_ou;h2lT>zW^~!E15VuQu5GY*CB&7jy7iHOOTRbeLb|!B6x6Kc&r` zU%b3FtM&(YEOuJH;2aqE`Q7`rxaIuCpEL{;xQsja_P2ZXu+rsXE`GV|aDgAJ5r^^@ zaqzD+e!K=hi-YG;`0H?dgWt0esfD)-=S%p9lt9 zXC*IOdH9UPp&u7hzWpYVc;x;r~grO$#?aM+;kLMgc6VJo-EIeI(5T0}O!FV3655e;oJsZy!eJGx-`Y=4(^c*~w z=)>`B*GJ&FTpx+&YVG3Lq37b+spsLjP9KHmY5Hh9*Xv{O?AFKPxj{GJxlzx@bCX_x z=Q(;Ip6BXCc%G*l@jPEQ;hELVc=~!Vo_)Fn&wkyCXHK`_IjEQ5Ii!!n^AdeLo<)5E zo+W)Eo;&qYJTKMD@O+(a$MbT%yl3GI@h*K5$(4Eq$%pkyl56zIB-iRwNUqbXNUqnb zNp8>`B%ju6NN&<=Nj|GPNk;WLk~{UOB)fDM$(TNkWVc>Va*ysNxmRx>`M%yra-ZHr z@*};OB)`#TkUXi+B>AmAi{y9uY?7z+IV6A7=aT$g zpGWc!eLl%E`ZXla>I+Do(-)FFuRW3%bT7$^Is+n;I!lt$K1o{lk<{sa5~T-7rs#lV zs=kP1n!cFiK%FC*p$AE{&Xd&Z0?AB0L^4ZXLUNEUk{ql{B!}oS$!uLAS*V9e7U}II zZF&dE5Nk@N>$i|>*KZ|xw|*PRRr>8D@6qodd9Qva$@}!XNUqjblDuEPo8$xfDw1pUdq}R+ z?tYVQ-6?Tm;MmR*Y$@S?K~D;(?2FTRsV#fOFu|*n*J%tdi@Z|S^8m;v-Kk+=jor3oUeaQa-n{d#M6(FWc4pd zeEmz3KK(0_e*J5b0sS~hpr0Vg>)((R^phk-{accf{vF9%^zTXDs{cUpZv7O=Rr-%4 z@6&%GxmrI>a=rdD$qo81B%jiMCAm@mjpTFs?c~HMd@-zJs$C^QxLHgHvnI!#Ny-bllQ!mq`&(_O2(&y@>B7MGIP9c4vUQQ)_v0hFCO^A9q zomAG#{YaDba(~iPy*z+a)yo4(r_{?Cq*LpqCY@F<>q)2A%bBG6)yr9=x?UbcT3;^@ zCY@O?4v>sff4kTLp6o*`$!C#OXn{ySYL;EpNcATd=OCZ>tG z_@qJXCz{0mVu?6FEE5NclhIVQRiW@NMjbfe{6-S9LiKE5s;uvw4I9BY&Oy3jp#RFo2ct|W1 zkBLR%3DGG2fZ6{dn#HqXvG|W@5ig5YnG$Vsnph%dh~wnJ;&@=B6M%_M1P)pXjIm6f z0Bp2EESGD<|Oa~#JsE=?rGYZKGNWeF`_mzXUsPq^asi3V{+ zqFKBlalCkA;w15=M2C2D;xzG=#OdO#iL=Dp5*LWKC;G%Y5`*HMiL!WC;!<&C;tk^6 ziMNZZ67Lc3Nqk7WH*vjqU*bk_b>eg4{fXPe2NHLR4<^1PK9u;b_;BI@aZTc3@sY$Y z#YYpr71t)77S|=75!WaFBW_3v@v&r`_;_-E@rmRt@yX;I@u}od;>P4c@#$o%xGA|* z+?+gFd?wi`KAYSiMw45`=aT1&&nJ7u7m|VaVsc2_lH4x7lzg4IHTh<7Tk>7v%gL+7 zSCStQUrl~o+@8Eyd@cD!aR)H@oyohzuH?7H*OT{&yOKW!^+EAy>N@dQ>Qmwu zsZsIE)UD!IsXN54Q{NPi1N%Rbx?lVz^^kZn^$YRa)RW?OsXvL|r~V=SkovcHD)qAX zV>&JVl-^G~ot`QFoIXtaB|T64HN8OmE!`sio<33hBfU~QlU^&HO?Qju(mmq&^f}_6 zX;1tsJs|#_E{Ol6hs6u&%fyT6H;I?h?-c({UoHNZ{-}64{YeB;qf(}ClTLbBnSU`bnwMPs=IkXXVuNi*j0BLQb!nCikm@b*ei|9#D6bJg{z&oKd$# z>bm8!zOF;gtXnT<)%D1O>duu1*Jb1(br;Lobp?4S;(=D!6-TzoBS5DjE?_)`|NK7| CJ%yeC diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_ja.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_ja.class deleted file mode 100644 index e4dd390a94a96028b55f8c035427127ccf2490b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38424 zcmcJ22VfLc{{MS#QeKK}M#X}%*3c4~6sbZeB2@xXEVv{~vXbn^-3<^ul?0G3iUJ}i zph&1e1*Hntz3z3d=y`Wb61e6y&%5*P_A`6qiY1N?}QHxfEAOaitU;q_|3otEIR`ifg6l zD8+SBTrWi@DST4gAjOSR+$6=#QrsfNtx^<7(OHTvQgoG~n-txpD3qc|iXKw*l%kgu zy`|_Q#cfjbm7<>%{iPTn#qClIlwyz+gQXZE#ZW1RNpXi1!=)G@MX?kkr5Gi}Xeq`> zai5tgD_iif3$ND-AH zCPj@D^QBlI#X>1+rFcY&N2U0j6pu;qxD-!Fu}F$KDe9$IEX5KjmP+xY6w9PoF2xEd zR!Xr-iq%rAk>V*S)=KfT6wgSpPKsxxcutD-Qf!c7qZH3eu}O*-q}VLQ7Aano;w34z zO0i9f?NYof#VbG$>io;SIk>aQn$D}we#R)0img1xor=__h?^k>Xt`zAMG|r1-uRKak>wQv67YA4~C`6hD#Tr&9b(il0mIz7!uw z@e3(Fl;W3C{7Q;nOA(jiv=mKJG)vJU#ThBiO7R;hek;ZAr1-rQe~{uMDgG$MpQQM+ z6n~N8uTp$0#owg(M2f#l@ee8fDaEH!{7Z^|OYt8m&PjtwgG)n5!;nUXG%}@;C5>!p zNNMCqBUc)E(#V&_Mbfxf8kb1pQfXW!4O1GHG%lCM71Fp;8Xcr@l{BuF#x>HoRvI0p zah)`-mqsUP_@r@zG;Wl}P13ko8n;N}R%sMSqq8)+NTaJXx=EwEGzz6rB#j=@=qZg} z(&#OXKGL{N8hxeFPa6HDF+du(OJkrk21#SEG=@lHs5FL2;|^&Im&OQb6iZ{IG)75d zv^2&@<4$RemBwAt7$=SK(wHEPiPD%PjmgruTN+cOQ6i10(wHWVd!#X48Z)FZQyR0R zaj!J)lg9nhct9GnrSYIN{L+{sjZ$fpNh2VQxzZ??Mujwj(s)Q3^Q2KJjVft`q!E@z zwKN`X~d*aBaQjeSRjps(x{cjBhq+O8lRKKW72qB8c#@Lku>V0Q7?_f(pVym zrP6p(8q1`yTpBB+u~HhVq_J8WYozg%G}cPvX=ywojdjv^RvOPqW4$ysNMoZko|ncZ zX}lnf&C=K+jTfcyk~FqTW1BR#OXFo}ydsSq(s)%GJEhSeja|~%EsZ_W*ei{F(%3JJ zMrj<7#%t1eT^eslXr!v5qb?^9x{PX=i zD*d7I9wo6zFjPK>v#i0vP%t)>Goy2tdpOG|4wvEFOU4I7fr&L$a{`g6`q!6K_(Nrt zfiZ#Dq&W`-N@JYe+PU@hx_Ca)=iwH)qZXD1s$;=$D4J~?<}ABB5E~b$#n7(qZ2zDp z7Od68C(s@$?(Qr+qG%%uuMnpI8mzD;i(VKhr?8(^` zox7xc(43OmP^=;l3zl*w2bWgbkDXhht~EMHQ*>z+F5@o`L}x$bFQUoH=Re>-%;!Ji zKh8If7)SGsW5#jLI)@|WJ*vaeSa~E6eYmnmEaDGEE7ibzc&>1BFZ|Ltk#D?hoW!+L zC!aIM`Oe9aFimIS*s{WV0+A@5eW0%*;4dqD$e%kUP#uoM3MWL%gJp#yYRaR9Q^Ny& zxsxYNEi8@%)cp!a`eT8CzTQ214Jho{r?6K~U++Exd*9ZrXP=%uabn?=!2BRxG;vX};{ z4#lwMg;Q&*@m#UM!dQ>$N`Ejk$X8n7k3<8pA=9RgE*y|JkA^)r5GfoLDh-!`rw955 z%n8PFXB3VJKnnaZdY*A3{Br`8K3u=3H@=x14wMCBh0fpy`tI^q`$K_fAn{#sxF!^f z)Y@O=g4;dMHh$8GsISx?@`Xc{wZ34eEU?fQ!^%9`^D)luOg_;UuR9Q5R2Q$`5np^T zzIa)D@#1*>fq4Bl)*Ar<&FtIJ5X|_2;JeqIw@^zNr-fUo;SzABgzM z!hxtS6ps0#HPyrwzLJvhMV$4C*S{HGd?LR1Y1{`N#p~CpPhM0XE|1r3jMwdq*DX;u z+8nQc7FXu%no*HR7}pF&A>5cVpT8y+E)7>z1tDw&XO``0TD3l2kKt~m;V#By8e5iZ zZ(4b@Y4wJ9{jT`p-MBnN^v+-?WaYudjNQ`@|{E?)Nv4Z!&-zIc1Q{%ti& zE3g8m-^OS$U079jvipp|suhQ;YsZG5xvHTB1HQSDaFx5VHKdAtU?+cREI2=)*=R`f zq2pKuH5-lYBHK)}Dqg=L`HC1^(@9JXZcG!zSvSlMu}dUeSvkjFIuA<_z#Xv8#cG{> z!Kg0~BHdnw=O3T=qIt^-EOhgxdaME%xB2;}T6P?3c>x@>C%$;UVynHxZkmt5+{C|Y zk{|h6XeGZ^tiB3=)Hf%9dzV&*qv~dbN(@fK>rbhv!#|E<>dtP!1U`=ki`Qeh?dMPn zeG7@fT!rnmp4NuC}dG6gL^wvi4-tmR%&$i&u~!kYJPW zDS3Gg^V9t7n$vG@NhgS2t{5=3vNBNauk(F2rLKzlkZa5MEGn5tisUJhP9>lRR-q6rV!70)UsmmDWoz*)FFbd4^ULwY`{Ii?;Q?)aO;*_Y{;hR($0@`jQF?4G`o1|}jdF;%Vv4@{ zL$KYMopsHxLwXb10FS1|nW7|=aCM&=3F4B_#|t9CSb+WkO#~j)x~LR-Dm1NzY@MpS*=zY zb0YyYrK93?&qAX0+3|X)A{e40@p`4C$v{C5ZBlH$_e{ep&ClURDHBOH6_#(B(s}fl zWdS%00pG%^N?#e&6}Y7<{_W9C(5Snc)*dFCmqy1`CX91IL6ig~ROXMA&4yWnJXJxZ z&(>Ba>VvuQ!!|+HXig>jjX4L`V(E&MmA`A`h+;<{x$F&ggOv`?or|$Sp}2;=v7MX6 z7eAv|Z@W?sm~!$yaGQADF1=_?+g@*a2BtKX&uIjyDs536hM-n$D=tJM@qvdt;)7|{ z^LjI814;yT7198svmgo{f+5BV!{|XsO9EtP`{`wLKO(6l=VTRGm-c7wnG%5K~Gpo2Rr#7N$6u7x8BCdWgC{PP~05^o}-L2|xFjUiy70qim zV;D_4UTxAj z5QJ45TQbQ9wt-UwTT}{_@7Np+c8B|r7_fVRwiX)eg@=I^U7O-DrC;FY{m_Vb=q0w< zB3BgdO&taVu0OkBRZ{~NXA>4DapzPWqgkLAPVmq1!@IFPJDPeu%Z*1Y!V(1gyTWON+pyQs%Jj_ja4j7Nfz%DwMEkivcBO^<0kSnU z)n&L9`EEr%r9HI!tK8ml9rX||lJJ4&$U-7+@>SJD=^vGfy(n;jNWe?RRk}mvmnD4< z&j2<&SmlRTJrAL}UNhUTR`)Fl;K%Txl;Y}L)XO(~@>pL9?6RH+tUa6u+=`f>Z&5$R z+*Raflm%jtLby`AulrzX&Q~;VKIDmkpwLs*fL0#1xvoEM$0qgbTAth5yc|B5nljfj zSDKF|v2NSxBa7m7@QA=lPpakEKRwF!R`FxgQfN(>uEx_x;EO2l z*ZvipNm#zM>RSvII_#Om`Ypo9mxF(scEHQPIgMv_A8a{Zo9Y2r>FU*FvD zJjT(ocbl3mveawqTb61**m?R0WN=%Au_3sJ!7{8+n8LP7?WJL@Z3m&qH(W)pA^=S zHisVIY$%RU%84M(Rdvmaz;)mp_?uuJa-^U-?MrEwU9I;h_}W!?TJ5BhH4Bnf!xWHO z>+W;?1-j9k+E^gkUHOIzolu$ztB6Tj*1U1I@{*o{R5UGpwP_{HE2am&D*P!Zscjgg zcJkf3tFa@#A$0{WYqewhlf4H#!J;}J?xLPkMeJIQD+lmoE04OjXYzm%V5Z3VB(ALV zN6G_^H%LyJZBsD(aBDjdC;5d?6C9!3!BoG{>xODzA(>GS-K*ci_kZ)S6UMrlcfk29 z8Ze;JfC5lb{p7n{!=~-3ZO`7q9B%w?ty&d84DDl3<$R&7pg=T2_ zvXGe8g$W1;LKqEOM`}aKg!&^=4zyW;KmF-^2O%JLxoOSw%3?G&omj761A^zEl3SjG zHGsUjUT@E~f_MU#gNSfR8cEaQ4p1!=Mc>|D@ZPli#pW%*++2CHop<}U_aqz;pacjY ze1s|cN+Y$^v2c0BUtJL__4zBy!w{wlz_Bxm`u4otSDf%pM#B(IqBQSD8D9yh^x=++OI-?w>3`@{Zs1^_Qck@bL%Abhun3kW8o7Bt7mxHwJ#XH!(v;o``8B5fO$d?A`{n>FCW zuT*nw>(JDTc0*J~pf7oa5Q{lA(OMn<_%RwpkY0C%vtf>(uY__rL3+wsr9oCG7Eszs zX?e_+j!EjgJ_^E;7@ppRiQyCvck$59u}Dpz3$&t|rS1vbR5=@gSc!jrU~(9Ew-%nt z%J2d(rj2Wdd^3i7hfdF?0TeJQ^b;&>nlU#mf2-*v;&d;9jFH24TtyE1`Nu{cwr5}v zD=4oS!`r$anQsN|D%NdB1U-Qc;?U6lFwlV&Nph5vgl71ZKxqJoECF1~$pfjb1a9Ih zD1git6u9Otft9D)-Ra4&IUGR`Bug$98LYN0ue@%Y@Qk+BUPeaJkD#c|T@-|4Bd1_u z6=WeFMAmbDFkBO@L{xjn>Eo|zm=x=wgBF~kSyWq7`&y(3TY;y_=NoomDvHofN0HfT z3tp%4_9mxOT^LWg)8V!?T!2=)&BvxjOEAj7%JGblykODr2tFnqX(2hm54cVg%B>oLy zaKl#^d9Alyz-@Z5n-xK(8{Q0@CU_ik_1ILpfFcos0JK>v0l??;%?#I2W|VA;a#G8H zH^c%{!V4fdgb?Bx9(K>y;f8}$H8!1uH?jBh+iP0hhQo#NyI~{#O<0H$CHNf;o~zP& zkqEuzcq9nM^@DmXe&KKj2}#NosGL}c+(G)-iK8&aiEd6n$7S}#Q?XAqE*1Q^=eLnV zC_G;%p?r3VfQY5Qx^DcS9q<1(W*}S^sBFaV%% z)=ZT?k#voNL+C&h36W4apiJ$a`E;M&0kW!+UUIj5KAql6lH)5Dzdoc`MED^z=9Kk^boTx_WA51IME@l(lM$wxR zd}J$hbVYJy->aJg)wo&%2CuTrKPOljjMb6@M7V+Sb|JTeUEn66m0;Ww&b8;aPKbat z++=&p*MSMaC{EG<-X5|J2;(%0jSRE%2{f0(0&QguI@`SGrqz^*^6S~eVyg)y7KERR zDZxLKd+UULG%@75K%03%j5HA!E$xuDmNq4u>__tf96WDDESuL$!ssg}!YoT`uwos6xhN)q`0ZCIXeMG{V5%5G=SlDT0`+=In zGe!^!^|4M>RV-0CTA;aL4ybn9Bye^&X*jz`#zjCON*XLEq=W?QRt*eQ2vLwKn$qwX z@>I@QNGf-A~v7Lv&iXjpNw2whLUWI3P$}-qynDpSP)JxUZ zCubrYljW!|<$d%XuP`xPP8ao6L6wtvh0ma*6&WNd-YC?83ld#rWMm&~2NctaBu$kM z&9@fD1~uhRIySXclutZ&waVWn#1fXpE%CV7{TMfErKa7r8#+a0?Uez*GbC~sD(3*- z7T|VG6)9~hvBC|KV^%z78%C=^Kb@TzaDaPdn~^2f&;=?s;EJXMxUS3LIzpF^(zQ~$ zN(afgFf;_p44XE;g#54u6_qk0AQ39U7JGz~A(arK-~dL(4`T+gqxv3gC$UIf&%8m9 zs}>@P5MWqVtUS9307h%WavSlvJs&P^p^PM$VJ^zm%FWv_IiE0ECQsGH@YWNJmAc4wt2U<2AKfC%3j}dBp)JtxH%Z&YPW$dW%9 zuSf3l0@;A_$qsVSx}@m_7pZ8Q*?Z6e-gVCe$}|M4G%r&CW7qRRK>^ZrY8aJW7>=`v z71Ho2oOe`RcunXsdK$8*NHcj%+B7Al8f9{DbsB$Cm4yvg1|JEO0aFP3Y7<^Ok}bjN z8kD>M#{{3%L@>?>R(!4!qxK3inl~cVwO2!$s)j;)B+%fLU$!IT`qhY)Paj$7WS?8} zeYf*@&cMOb`OVr({BQl{CniFwf&@PhNE`s@j3f;Fvw$101*6d#Se6d{8v8)B8>tSPO&XYk$gv_|iwssg!O|z4x2}?K@C7hYPVJ?NU}J%DWeuY4g}fO;#fXKz=JkgVtdf`0Hh$vulAVNm zeKMBP+J)!|_h%w_!$F+DH|jZTv7Q@g|>!UL%aFHMrMChT#O~X-c`A zAKWln{hoYtJ4I*Lpkfl#o$=fQ6Blh=bLvzbwFLn5zc3^S3QsYqBWSqo&^EB2=HQkryQ10H|bU$`&wJKgnk?P3_$v}BpfU0*Bh&;{N1pmUZ6oXRRny(C%`QVx= zSQFAN(OQH-Rk&x&Ul}fUe36A`H$01)d{uA`fA_Fs6St|Vc9?j8iNH}_Q*Z*hf?x~) ze*yPa&T-vd?;W)mllFZ57`e{vq~A%dt|Wt)Zl12!lceB5C?X^pQ$YWr6r!ZY+^yi^ z?y$}dWT{W4x+x`vL)wVP52QnoecgR@I?4{#zossr%Cl8B2cdU5y+jI+>V5fw(_? zneoI)PQ5Qom0cBq5-cVdUZ{oKj$cVt|NdmLN?ONh^IzA%U`K zU`)=&xxs*98da!f7YyixEFqB!S5O)ssI@&=2uE6nqy?iKCy4yTL^Yys#HcZ2Cw6z5 zGVri>t51{?Oka?Q8E{JK@UWP6^~h@G?U8s>p^C?2>FkOdc@ZKMSZJpjXlOJUB*JcT zK}{K*1`yhrAzLFPCj}zz!HOl8D#!U+vY&ZH67) zLDuO!b#f?Dhl+yGJJ?8T1Pys>z_N`_;B!EuN68VR3(o4|p3VtvC;*52zv9r?Rau0>Pf17Kn}By z$4|A>m~)UfMP|k6Tq0*A2{{D!PjymoE0ID;YHOm5rWZF{p*YHMozK$_GqWU2O}6Cr z)P!oHC{0i(K)6(eo+@=%>PK2at6<$;iP4c|Eb>i8={ddvjz;~<%7g`+odGapv|g=H zIvDv@iYaVU2@`PwZqyo8pbHk+)Ph*@2oeM`l`c~!BP~{Krd1$j{^PFQ+T*mRe;P1sF2bru(xX-fIZKFp$7Jh zel=PUlw$%SQFcnRy{gqL3ZY7(BwRWVdmE6O2@jGSHRPaelcoA+?7)mFb(A#P^M$5n z0%jKkqZRZMdtmq{Chz??`XMOK@haBahPEkDh4cmzPpVT?H$cMWLsPG(-W zH;!s~xP^`pqIwJXhX~1F1lN))K;7%gPj&NO)S>CLrP1vWqf-GhNk?@ z0%y)?(Ub*6bsU!4@i`O%JUNVTs?2kJ+aYQ7d21cGT?4bJXM)w0dO~oGnE`5mX>DlU z0GuCOy~LU819r-bI<@yE>rL;9;@^ZjU^!dg=0cQiSJ%T<%z2)AiiFK|iYK%m0Ks&f z00jKt+gCK_q_|tCq;-H^h2~((0&0(=`3L(0inRA1fCTh#!Cw`x0$(FMr+LHCrl-+d z(THkbRWSjV!%0?mo)w6o36B~k+^nk7WRyrl_ZafUC>Fz|*Zg$J-KqEXJ>DQbtaipuKCS6_z|#l5hC`YS#ih+xXOz z5~2wIQSDBkA}K%-kX3XZ!IRQSPB2XCQCw@AW3=|#r8{Juo%Z~G%7&@h0}}6)29b6^ zT-uOYi>Rhkye__*-_zYSt=n%nt7ty9p{X8) zB`{&>`CiE-x!UU3;0TrVKzNQ;8#VKuR1_w^scuX2{+D|+ zJ-G(g#g)#}HHZShcI!o;#AtP0upG~D=l`w_WR9)fbn~rp*j!Y^^%9W!!zco%@Ix$Z zrygZ^3N z6>K`6{ rY{qGKXPD7cTvV)>xxJlXk~RxUYx-^w9H4}}3G`jV7WfZ94TdVp9b z_(RxJ$^)p~=?&j(B%v{JqK5rF9fv?t+d}1syECSk#Z%j?b$n$lWHk_}p!_U(+m1i4 z5=&@9B?#-Gvvs?hmM??Ka3!I6HU89M0RM|riF+TlXrw$++-bTPnJiVk+_vjGY%EnF zCheoN0K0LK*kZoIbI?s4@>L?FAjp@rZb}P26s@abh2pHMPR9P_E6no zQ3b>lQ~hWw)Jds{SI+EO59RMCqObtz7*S@x%$bJ*-T$2kt zK_kGLfL(N!1d^r7i?NJoNXF-CCjf67LAnMQjRcWL>h`{*0i$Up`wb7-%{MO8qg&tX z`fG5FvWPaeZ^L|;G}7FTvPmNvHZV#l3df&m1J^;1ziois^&vw7M^8l$)h$oVq_!ac}?36HLqA?|5fO;u8{`6fIh;Z zdY>!BpWs`&7~e^%L8x(4^buCq()EawJPm6)yhC-_KdKCvAG~G^K z!;!2GR@GE_^1^BdD5vZy(c9L#wT+w@>TJ7LWu?jcXxh=BkQ&0MkQMl!bh8z;2lZ%} zC6ORg!D(8+Cjqr2C%3d3yD$i-ZUnXN+uOu?dZsWDVfb;OaQ27FT)CJaK9i6BJzA;LksDlaZrtp*P6QJ`` z`}I-Xyh_XCy?QQG|ABg-j;8AN`d{cG z&V)foA&i(Od)r0mH64#QuprGF9@x1){>12$DlP0=UJr9d+m}WHXa*)kpRAd;s-;h& zS_Aq;bsNxXB(S}-Vb*xtN~Qtfs1&GBZGd6JS=1A#?%OsFhosE%w(tlyQm`9e)vh2- zuPKbk)@e?aJsuzxnM*tRky9}XE~{dAcHc+4H7M@+ZW+q7ROTcg6KN%|JIpVIJA`W@ zuuii!8K)gzwfV2@E<4_c-5=~v)BR`T05&#Y=jI`Wvy$@WV0X2%CYYyH z%mXeWXE7;7cpg5uZ8TLsqCNVNM9F$W58FM)s%}wr7&~g%?*-2(w}WY;D%Jm`GQOS` z8PSN747RrgPSnrbtUX4(A29CSM$t@n4aI5vO~u1r04}MZo_gE{x5vsFd-IsyRzJVS zHLkSrPSOUMxOV&7VnR#UCFJQ1=q+wR33UFbNu#|RNvU!Y+lv{O$hPU|0osR7hkkS% zcQ=|wsmdo z!;f=)c#Wxe9eDez&)~!-+@m>Ah4b16O~5UVr=AL$Xhfg12<(3I22}BRy&?@0_aMJ8 z1&Og4T-TyG8(!Iw8$wps%hYg|x9ju2?P5{&eCO-__LlRZTc47wt|A@t+55tMP++Je zYdN$HT%S;#mpNg)gUdq!UgnMA$&BJNI4yS5EwL>r*_0LrRFF|=!C#5=Fa@V> ztqlTq7~s-CncC4UTIxrIV-znZ@Gm6jU1Ra~Y~15)&$(6$fRm!Jv$)MGR$0&4J?vi9561)bec+NH&X2#Y8%5m zy{V@CSCNf}0QOUXlzY6n6ip+)XzeMP5}egi-vdxZel8& zLKuV{-Y7Vhq)My&>!xVb4NFJB01)ov9lHD3pOU%wOj~sKNvx;Jubyw)H_f!O&cCOd z!?+ieSWQxEcw30Q6`?l)Vef`z@83;ZEs$46@01wq`Up*HwjqzCG?8);0B76vkqNWv z0YdfE&MHo~8BOc_+JChlO~}J}jXM7Z%cY(1|C7yVW@*2bYP)HE)Y}=-Cz0K~+T0c| z=e!xt-mDtZkEy>Yk`0|djcnH=0E=|q;^6qbiCxbw{DxQFLwnJpUJ8$raOxpoSLl49 zv#*q0+R51<6yDjJ4XX|QP>2u%4uVcJsD26zRLj4vf`tIvF|pt7^%&vS>np^8%pNh& z+rTK$C|&>22^9P6p!HLo1*+(EwUbv_&VGN!%8bo^50M-GRP# z%a!R7wGb$$GqqRPQQ+DV0tZDg2J9MY(NJc%GCBQonOnL=n+DVTaCUuCl@{ROdi>O0 z7j;6%5h(9Zlt4S)q7Q1G3i+>d5M}(z-3kY*?0kO{+&s_5)%L~+sz6WmQE1)R+i6dw zeW3NidAE2@LYv&Ra{?H=g8`SKB1}|hISB_sQqpY0F{1rlHr$`XCg80KY7^_$&Jr5n z9D9zuDsA?e)Wb#N2Zs)B$E52Q8K{Z&IATc}J*jg>=K%GtU2S$mvpQT#kjs)wg zxo)$O5h$;!F(6~A-&Ch|--cX_qhwXe#{f*IgEfuB&^olY8UGFB#1S8=T5y;>9pvk5 zj+$v0xYp2to$Ph;NHATkF)jPo&WoF30dzqIX;U!d?%~y{76$}n_HJml)ZeGRhEu95 zwXnVjO^{Zk7=!{@LJ3zXtL5~65t^6uZPW4{sA5e~4)$Pfw?S$u>5l~H#W%={SHYcj zH&N9-ACe6eLnqou3{pv7OuHaE%gpgfU zri1WG=N!u4sfTqJpKP#hAtqc<4T2^K1E2ycOif^+pBhJ0T9q1M@IM*}-J0H2r^iDE zgen$h4=*VmJ63&0_z~WdFwr%1_KV0|WD1c|8yoLZR+$X5@{j6JvJ97dtz%-`Fg6w8 zBE-gi*O^nqVyATo>u^jrR4LVc8WUzn# z3f>(2IPAZDX8At-+Og9o!Nl|+?(8J)d`(V7$%~HuP zi`uHTAZ>77z2OCK(rP5dNU$QhqsQ4@T{orzYS6EsA=6pvdT_|-sxCz|7XVzNAx(9< zg&R|^M92xb$j-YWNd}tM98`PqW5(cpFHwd?Rf^iJJFdGrOQHKNgqL`?on4zpJTqz9 z)CBSe#YHSr@MwW=*brq*eMLn@zJkXJh&!BLAzs0l0e+`N18Ib~Xi5SNi`mquOZFVg zL z^m}yF4Ro?kZw`ftP8nphv;sJLVr=BS(B*Y!0aU)!J}BhG_MpzQ_m5}XUe}NGdBZ9@ ztgx90`8?Dm0+hYsDs8ZcSNTsr=${`)F*NC0>nw~nY6@z*VxKn^g@IUnvRf9vW z7F}L%TLvB1MyRcUhFdS}O~IU9MQB|Q^%`WrQJ&WuV-uvrS9TeobH*sAdlGLnhO(>7G+GX9l?R~+Nz$vD1;zpleKc)7O)QT-&Umo* zYdCFOb;g4k3;ShUcSXj7L$A9m0p!nR@ES z7~`*SH$871)pc=CJZs9C%;0g{hT;6v&XQa{Qjg@Ke9Y6^EN5I-!^|z|nqlUZbiFjo z%*Qd?ya>mO&5Loo#JmK@E6q!B>|kDo<5i}K}Ot&V}G*~jsr{|j<=gP;5gX45yv6sO*r0R z-i+gL^A;ROn786sY!=`+((H`mD6_<1DiX$9v5lI6h$Z z#BsLS3&%NTZyZa_J~)<{x8WEt`{Fp)?1y8y*&oM;%mFygGjGSS(j16ml{pB(>ra?D4Gn=6U*F;@}kXRapF-&{jvu=x~`A?8{lcbHET8E!s9WTd%{ z$SCt!BBRach>S7U6B%!AATq(+NMxeTUqj`eJ0rPDlhs={i-ZW1UIc9#I$Z_)vL_TkRk;oU!FA@2w z`DG&Sm|r3CHS?=PzHYul^P5C|Y<`Q#d*-)^{KEVWkq^yx ziTuX=E|K4w-y`xn^ZP`8Z~lPD-^?Ep`NaGYk-wWiCh`ySJtF@xe?sJ(`BM-f%%2f4 z%%2mkJCDPga4UsP9Z;5m@e@CR7`FkQo<{yakFh3%4oB2l~ea$}+8EpQU$Pn`{ zL`Ir_B{ItVn8+0KZ$wJWPl()O{+-Bl^B+WJnExa))BKdkgXX`8_|1P4DKq~=Bw(H+ zQekmMG-z>7biTy}(FGPahYlyyX@oR}5vUo?LZ(961qDL%#J<+2U??m*3#eGEI zw)hQ1zi9CriGIoAHxd1s#cwA1b&KCZ^jj9cmFTxEUO@C`7Vk{-=N9im^nHtWCHjHI zyAl0`#k&*z(Bg$ee{Jz1qH&A&Ao?4N_aypTi}xb>M~n9+`X`I`A^K;F-$wK=7Vk^+ zZx-)I^b?EsC;Cr|47@{{?{7#}bS$r(fTP=PU(E^K) zBU)tf@kD!Ad;-yd7N1CTki{nv9c=N*M2A@XZlZTsd-r`e{QCsa?^}Ek(H~g6j_A)UUQhJr7GF&Cmlj__ z^j8*NO7zzjf0Ah2;>(COTYNdu7K^VS3VvQm6#Tr3=zJ}-@EdCVHk1W2H zDER$pqTu&ui2l{$>xh1A@n?zt)8fw&{nX;?iT=yt8;Jhf;v0$n$KuZuJ!kPvpcxq! ze}QPG#WxepwfGjIc@}?>Xuic?B6^XO_-`YgVO=nWR%OSH4a_Yv)4@%==*TfC8Ip~Vjnz0KmU z5$$X7*NH+N-XIEjI7k%oaEK`6;Z33wE&dkKNftj$6#RdLDER*<(R(a@jOcWWA14ZV zI6)Nh@HWv0EPj&cY>S^FT4wRj6Af7W3q!lWLL1+ z>`E5Euja9<*u(5}eJob}?_tT(@i_2Cw~ zjbF|B@=mNDzlHVZ-Pi!$i`~xqBW@kS2JvDxn2%*c_#`%zPeUAgAG?E>vf=z8HiAFQ ziupn|l0U&l@h1`Au3=;NbL>vOnT_Qyv%C0iHV)C{cz&2o;3wHc{uMTfe~V2v2_m5LdxOw48hF_+C1RjgdZScQ0$1w}o3NUUJ<#M7)&Y-Cm9B^DB|vas04 zs>MO}usFsd;tMP)zQ$tWT~;H0%;t*^*aC5yEfl|Hwc^k05%CZ9sKMChjBNIpaWQ+` zxPm=lbYzQ+n^>LEmDL-)*kWS?va@TWhRlPaDs&XN(uvI%7L~*4V|KGY+uz##?NI@iyCNe3?COe3NZ5zRzAT ze#$l*zhqmC7WSg?2lkTjG23eVi*3s=*!GNE_HqVdyNs*Yj*L$1)r?!&&Wu9VkZ~K^ zl`)9z&KSY=WQ=8dGbXcr8PnPRj0ad_Mt~j2sAR8YMA_>ZkFYl~>e#`I;y2Bw==%OPG5C5%>L}#nM2ukGDop@ zGsm;%Ur^KlDUfgG;dY5Nqy~ne&KIAg1h38~_#B;Mg;dxo-cz$*^zbN|>esOjOeo1yGera|A zzbv~4H?#Y5D|;BfJbMhkB6||QGJ87jkUg7Um0ixS&JOcyvKR1cv!CD{vzPJfve)wK zvp4ci*;~0UyMf=3eSqJXeVE^reTv_l{SLn+`(1u(_Itb_`$OJ2yM=ej{)l(Y{)BhS zKF7PuY+fiY;YG3o?;$(!p0a@Vl0A5D*`N23!}x7-4DTx^@qThT?=NTb0kWLmF2j7F zT)+p(C-`8wj1Q4(`B1r$50hK@9kPKBmk0O=d6*Z=Q+%X+hmVr)^3n1=K1P1X@02Zk zto(@IB|qWgA)xDbmEh93i#bQJ@}NI{=6h-7@wLmhEL0x#P7+O z&Zp`bIW;cZkRukyMRBM`vm`7?lS&Z?ppqM?neGZ z?pD4iw}IE?9^m!4hxy{%Q+!G8JA7&GyZp)A_xQ5h5Bc)k7QQ0)Bfc{C6TT|<9ABN6 z&DZ2z!k^0Pz}Mz=;!o!l@MrRR@O63p`LlV$_;Yz<`1-s_d_&%JzAnfD%V z$or7*%4^}f^FHEx@;>2v^Um>o`PqDb{w2IIzXLyz--*ALU%+3_@4?^5@6QkB595dO z$M84vC-JxPr}M-4v-y$ya(*;F%#Y*GSe^l+=O$ex*9?9Wlcjmq~_uiR(n}7cO{V(bulh%@Sk#Z^Or+kW% zG}iIc+qZASt3ratQxvD0NzC0!&=)%0)@eegJ31A0n$&4Zr@J~$>-42g_jH=kX;!B> zo#qp?kf244(o0ebZ_eSqFMN$U72k4%M(3Wc?C?FFbGWSLO3JfkbyB1Flr3#Ftx?DD z$ficIIky6A_lhmW!(ewyc;#kxca6)6Bkl{ewzVTHrP1}_59^H_8*1XPL~3E*5_M&} z(ofKRjS^L%mc;?6^$)ia0%be71sUuLkB2~HC4pM!o{(5-@EzQS@ZG?(#B2~U3K!s( zC47GaMS+A;;rY;BWb4h+rLR}mgZbGxHt*Sc!ebNJd}>3~T~C>-e$}p+vq9B2%WjdS z*4N7BoF^g*<~&!T$O`$f2{S)#j^$ZlyjZw7njg>S0W>$no*k~!#^rAUWR8u6xLdc( z{B7V?xUbA|OPA{v*^DRMK(Xb(u7k=H-+3Ng-D~XoS?Nq8K~@7;XO;!uEwcGQS+)Ox z6`6EWt4pg3N2X4wszRJ}dZp%q#)wt&ib@x$u(VRHKg$%caXD&#~ zt>8o#*~FHuQW`xjxw}HuFvJ2G_yKoVjr+{Ctiba`g(;U=Jn#j>nP8Qs!5G`-wv%P+ zj^LQ`BC~<8eI^dia8{#lmV`nnSrrWzhniv9t>d_&u8=oagDX}M-?htDT%l0d5i-j* zcs<-e0S_a{c4+F%quC<+KL3M8y^rK`={6(_4e;3>cLIS0FRaNe@m$D?XiYRY_bTDc z;vzPx&Q%R+949QoO!m+Pbw6+vsQ9>4fhQpu4=`&8D5>MXMfc2x-BsbC(6e?S&ZXyy zdaKrbA!Mr>hpvY3;GOV-Y88olp>Vd64Q#6{iNM!! z8LZ;E;g+z&By&cBQroMO{KPW6jlZ*iimq&{ZYG>)S#zz>*Jv>)`M7?f(Z#5TM9p&J zohGQ!)uX9Z+xKzq4-xI|i@t|Ppw{g0X!lF#{^A9m40PhY_N?$y zdx;E<7~%k`66ok4)Q!9IAT$I@H$dVu%*22j!v8h8ju?`=5-}i3{z37_AecBR)+ERP z{G5hc@FOj+Nq--j!@47sX=xcmO86H8&-alXG#bt6V0LKJs}_@|Jwty|ayipsq)M5X z(N)TH8tGCdZk#Sj0>gA zE7Fe4U!=1j5XUD$U7+2AUn+f+f@NJWG7Wo9gW4G?z{Uy8P6Izr240uvXq|d#6X++f T_Y{8m5MmaYgnS&CNErPG@$hP; diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_pl.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_pl.class deleted file mode 100644 index 45081b8ea1686ef5be612fb5aee953108eb44e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11459 zcmb7K3xHfzdH&B#9w(bX$RPnj61agpc9WgW?&d+*B%8-3fhDgclMoU`xHEHh_wLNx zJKTFGlNmrICZeKZq17VQsV z$m9I8_nyap{>OLz|3CMO&wuJOl%$l{I)i?X-rGhG()-$I2E9M|inC|W@~_9H(+ApU z8hvmE-hF5~{h6f4C4E@ZM7$Z9Ch6mno|NCYwog{0Gx&PW=U^m$27OZrPmUy$@gNq;5jOOn1U=_`_+k@QtbUz7CLlKw{0*CjnG z=^K*1Dd}61{#MerC4EQIcP0Iur0+@kzNEjG^aDvhl=PgWe~|Q#l71xV$CCa@(mzZ3 ziKKs#^skbBD(T-O{kx=}N&2~@|B&AxiXTGDSM{kNq5k@UZk{!h~L zlFmv&QV1y$QY59ABE?iGrb#hf3Ms`5DcYo%Da9-)E|TJ6DP~J?i4=3BP*Pkf#at=o zNpYDJmrHSl6!WFHQi=sqER0_mifg4!yqKf@Tf6uJ#8Cb`a=5(A3b*6ttjA zU$T45K5DNj*zU-xbm%+o$Ob{vHae~o_6th3cibXq%7B+c-`TqzSMMzsGul58jh;Pf zySakCL5KS?V>%lOTGl>!zK)hhQ9mrvw&Peh*2}pYsmJsi=`G$=(k@7UfIv;ZDr<&7qGKg9Ry3dySoL=YwtMkMrWj} zZaAt#CktI}%ogHpx24ToI~^9$B}GhQkLcj`QlX25HH&_q{$Lipncgx>^ob3##7416 zP`l@ktSWgyIO6Nz&cdqDx80y%7+=*g!;&716#cWrX0ZixpDTPpB*argzQ^KB4dzm} zXg|Q-`>auI=TfCY+kRd0{4ljA7;$o`ZRL?5b-?Sh+J^QWNDcVfte4tuhq}+|?e1Bh z>Rz4d>9%@T_w}w>*}b~E8y!>o^-+f>ZS?D2o5Fv+y;k??zV4ot-M#3y+YZ9ifp`<1 z-)G%q`(7}9+^*o4YYkO{np?FtjzJswEhY0;m#f2m40K1zkXPz}wu^n1wXsy#QgFH; zp5{9+yk~IFj^^%qy1Ls2JU4`9QwORga3AVp;i^)>cH9kCcGUI*9d0^!U}tK5vmY}z zto_suH|ynKxqa69j1#uqnz}*5*6onF-nGrn=z`VL)q|}U%D!Dl?ezR&0LI*s`8(LO zdV>}H+|=%F+SFrhwz{o8%U#;j-M^{VTDHvm+_-5C|7_>S-5Vj(yYDv7xleZo#`IuJ zZ^wosC}>E zI(f@=wB=Gh(;1V9Cnap>0*{z#8`8 zUtN}Ufak}5MHswQaPk@(%-ZEZ=d4WC3Ltv?GNZE4DwGKIH0KMzpB);Wop`Nb&&NaE z>|;UU<_XV|u>)<^&$5YQYR5H9U`xzE)+-i0*V4!AVyOVR4M+P2f6NIl&4v;21L4?K z`sUrYZ%q#j4w`2?dzTP%j<|L~*Wef)i@)UC6(=`-+^bZrnrr8~tiARaKg@Y0FXv^@ zWy~7WSU&WupyXBXuwuK~D)}{?9mO#G<>(?LoUv<=K2LJ`iAtxH4^KbA>cX><9hAq; zoP=>$HB4n!%JptmrJ8|(>k-ewa@iV$A67g}?K(D32!pa&k%p~o?aaeL$m+!6)jYg3 z$6QV1#9E(%6u=j>AM?`S&9m|m`%bwj9GK0{oq&Oo9gae~g@Scg_dQn1+6y}~re##( z>#*#*&QW60pns4K;;&MEjWN@S$qO17E!9;rg8Mba>>2;Jau;^2R`U*Oe;# zpxg;$XDoz7GrXvc})Q$0)FyO(@#AMs<{GjtLm4g%01VrB$S=VK|AARBbj#M3 zsqnL0$QkF(u$SeuRStMzwrF49S%zvMkdp6(Ue+^W#1y;sV&g?`{FDoYR$*usFL>r; z%|3JA#3f6 z&>MdQ^XCdS_c5d6E|={EIKhpWX~zvTAPR88Q!}Grvcd)mi2yGE`ktSIRpa%JAzv45 z7y)z-6M*+QZmA5M3*oHA&Za@Ix-->K2c1?1?>!fwfi5}b5c3=!f_3LA5OaVH<~^87 zmM19}9V7UP9vgoo>v$DdM`x>1n0f6ncom$BeWeQBdDvbd@5OV^Iq2qHAZtS|SZ@xt z1wX)A5JW6R02`Z)&(J*yup`Z1nbv*Qf8sy>ceH%c%89HFjJ270X1B^6Th=#cC#<*(*P?(%nGv6Yh9~gv$mVn1qk+_ zk#O+aUa3xMFm z>i7&Ci9!{igE_KeT;;Q`2nd2H7Jycft9UqDOxO-ggrBv(XKXI{PSM7+c|_6HuE0wricikRncTE2nXM7Z9C@ znaz!{?Hdghyxf-qXLNMq)T>qe(@$i9xNuOogh6@UivxcP ztMFY|f8@DiI_Khu#Rhc2u{__dMg2-%2C)l!Nd+ff5az*5zEB2kSR>=dVSy~C#z64k zW$bLtY?gUN@O0+k33BKJ&eh;NI8-d`9q3fG%9uHC)^N@|oW*QG4GWB%e!{E(gIpOK zWT+u~XBa0r4oUX15<5Bqzk-Ko$T$gl-_T-(LCCQe);n`wr-cn$jB0xPRNjtc>V*u` zws}>vi+L9ugm!(V?d(=1+qa9FBeM(h?neKHe{YNZJAUJrU)00vJzHFS;XyYJW?{b^ zwg=G(WOx;{2%9$k+j8!hUh(@w1C8JqiIc;JGUl;|d0%X+@oB<88>R;jI_#B!uT7ZE z!AI&a%XkQJ-?%l3m-*hpA@Vh#)3rc=jRKL=6JS zN9w>9k+c9BIGc(NKJbo17+8k*BPVFZF3$x<1mM7&wj2kBt+n;1^vRIi36Ahr=2aTuY;Pr&1g)$vDw92}9x8Pjg@#~a0HBjr zp`0-j%-n7cgxDi4NjG3IlCz*I>texP*kH9mhFDP?N;YGzrWwYsx9*9z*9=TdMmu?n zFTBHTjUC$c;3SGx;kOsO%f6eVBiboy4x1*ge;yGdSc+u4{y;pe7N33>F5P7ZJP$gC za-yIiPP76fRyd36sTTCOvT?GSK(yslZD#nKKw;CywirqpsgGrcp)Quf7^cu+^$LCt8GaAeSyT@F2D1qdz*2=g=AR0m+AuCBCl!bJr> zG6DQ`Pz!LhSwo%&0BxC{a~f=7((`lH1y_#_HPba9APNKkLFCu&!PH9AFDJ#{$c{wC`~+7FGCb7pINd{|{u9$*JXg?G%ss4jyxlXzi?*#%C#ST7BY zVE{^rzlHU&G9=WLBKj}bj`Js~m7c4AyuG^R?fLhA%^n?&ddU9}@W-)o6_KyQRUFPn zbPm(BqZ3ewJFyWOTtvgTQ_sJ+Ho!^3QdB0Q6gY??+t{ia;ZF=R%UO1)s&JOrKs%$^ zdXQ7ksxKOf1Cto74PSYL%QN3+Vp|ZcxOVV_!Tey0=|wJ7r&U#q0f=?hI<(e zzmIYgI4Wumrh4}~M|}GxMSNWR;(88hV<$OB_+10P#XC(5$Dkfn9bs);m1mqXGQpNs zMTQiGae#!TAEIKx=ILkzqHJ095o>np5Yf(WKe)X~$M*I68)vmiei)xG^u%5UuR!pK z=^(ium*=LJC_5SI1YT2$TPT0 zi1J*s0IIiOAS$XMssVtvG8tq?ffx0{I@XRi7KNwS*>eXu;B;F15x(Nu*66a+;u~E2>_xKJ zyW7k2t|2vm(-2HK9)Xx7t8=(1YmRaFHxEjo(q3*RV-c!MGz++%-9VI%W|Z0zp+fyl ztw%P3jhm7ss^jG%RDVG=%cygsq_H7R-126Q7cW^x{md@0{PG?3dy9!FrnPOy4TF0- ztr1vWlx(g`!;MjDH5U>F@}qpSTu(UbLzk)@Nd|#Qby`z#(drzmeF+gf-9K0W;Ww;;TIbaj{dM$PGI&lQXl@Jtm zu^eAk*??G}GW%m}PgwkXi&|#YF+1-7_kbDw9a!yVJ}=^8dCM&a3KqDi%BA>P4dt8( zP~F%eF1}1J!#%v?sFO3%UM4Q8qHtlZIsg)rz|cdKWWl@sCOKjNv13Z3aKOS-6Z}9!^8zDADq5l3NZqqvkleap7dV z826v%Sc~s|@rV5PKK3GtMJ{ONiG1z=0c8lQbH}L zf%7(|!$mwU{5q`~>YY3^Dx~5bG1PnxbREH&0D#3!3k;)bu*fh9zv2rO-b5oL=6mN| zJOG(b2A3%44#5?@5#;pzJw5T zh57oyeC7e*Z25dc&^66hdmN-h?nu2ylQ?M&G93LlwaFG*jw8`DtG3XDIPE zCmlzSHMj4+Fy=P!cQ4Z*B)BLnBl?2nJe+Qz#rQnxLBeMnbR~Zmf?w0{8y|zsp9dK^QU~AranwF`SFxHdLKu($4XP~m~w30ltuHV+|j>ijyUp8nsMd? zC7*v!Gl6V>D`p4KczpyEK{(vx8eV{qhBP5#b&oeGd@kz4nr8z zA8#zo5+iyq+IL{ObLI9?lIM1P5OD@Jl#Xoh1=?DgE9N$|w~NbnV_Wa^h9PLi*O zoSvc?yH+GsTYAM5H8Z_ps+yHvF-={RUUA7ZburrMYBpM_EAri_mtftI+nStI@7e7TUFH zG1`sl8nm0#wP^d*611DuQncIDGPDC~Ioj>29qkU)f%ZnV0_~t$iFUv0M4MJAv@ca% zXm3-i&Rm^`2cm^`SqGkHkuVDe_QlgV4u4NTsu zZe;R^8f5ZbbrX~Ksa;IouXZzeOzmOv0kxOO2h~0%pHM?gKB;bI@+q~S$){DC$!F97 zCZAOYnS5T|!sKanh{>1KtxUeG4m0_RI>O``^%5puRWD`oHFX=4udA0ac~;%dL`;dRfWj{b&SapRb{eN z)tGduyO^ZZ-AsDbJxo@smor(TUcqFodL@%SbuW_*>Nt~)>QziOsS`~4)k!9s)vK9o zQTH*~s$RonyLv5?9qM&VcB}iD>`||0vR}P{Nm{*;$t~&uCWq9U(kq@I(LlyT7u^qk zokr8~?=1N39GXFwQ5!9wnE=~aK%$E%MHka*noZXOr#7R<4pOv>E~T4kE*+wIbQ?xw zfnN??K_1PgGQjyR%y2L8>^?y98-QsK(bd2-3;47c*l-O!M%U7ZX$d_^OX(?EMyIjT z7pR?{p$>YMR?v57CH;Up>Bm_8r_@Ei03QB^y6G(Sh^f>oX3}aght`P8X{}g9>%_Hm zo#>$TVijF4))GDxqzz&lZ4`sFNeofHI7FMp%V>+xv{e*nn+Rw?)M&f7mv)HP&`$9H z-5}mfH;T8>pm;akBp#z(;v=+Me3JHv&(U7-H0={#p&{`s-7LOK`^9sV7C)f_;^%Zw z{F-hNXX#L48r_<>hz=*_(vidhdP(9MdTFAAZcB92%M#bo?TLQ6Be8?*#BRzY(v(dc zp4MJW5{TLsUw9jP6XFB0q7O zg2WdoOni;XiEq)-#P_L^_z@jT{FJJRUs5gcKXg|zL3bx-&^^gZ=;g`F=@rSV=#|N( zbZ@egjwe^stCD?mBDs}LCU2xyC->2P$y?|($=m3)$sD~dnWy`cKD|C!r8gvBNpDQv cM-L?Lr#ImYcn|C)L61VC1UtdG4T^vMAH^DmumAu6 diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_pt_BR.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_pt_BR.class deleted file mode 100644 index a33c70a13d021e3d766e2c007e5b7b7c818452d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27652 zcmb__2Y_5v+4ebSXLrwr(9Q%xLIM{8>AR_fkdVM;lR)Z*>?S|}!|cr6-62z!DM>ao zK@zti&fTE3~}|7iIKE&r(HpS1k5mVeRmEiK>H@*OST)$*@e{!PojYxxf?|EcAB zTE4I4zqI_fmLF&(w31pWt!lK2X;rILomTZ)X{{Qx8m84QS`F7~SFLu_YIm*n&}vVu zj8<{2MrgH{R(oqTQmcKm8l}}}t@hPwj81_N-JNhPOZAM>eec) z)hSwS(ki1>R;!#=d98Z1I#sKJRz zT76Ed%eA^ftIun7rB+vIb+uO4Xmzbt*J*XVR$tI+yH+=7b)!~a)aoX!zNFR7T76lo zTeP}WtJ}1?U8_5^`ifRx)#^^I?$YXRt?tq4Uajua>VB=hrq$QA`i52yX!W304{7zV zR*z`)s8-+9>RVbprd6L--`46oT0O4S6Iy*&tM6&`q*hO9^?j{=pw-h_J)_kRwfd1( z&uaCYRzKG2d97ZkS3jv&Kb2zmvRuwDv}6*+qFd#neVk3_6rc>CChxxpLMo zB-jwW8qjJ@qTuK7sxkfAt@Vrfav|w2Dsx7BK_Z#-i^YScPoFNuUK1w`xzL8T-dw5M zFQt=G=);qlVA;dk>{v_Fc8jtYCeh^=H};e^E?V2f{TeP)(jP86W!G@^qIzk#dRhHk ziYfU**R-B|vD8)Yi>GF$l?sVmF=OXGt^Xhg%|K`Mi{a`O^{Nzm3_JoUgp{YRDdf4S zjmuJv>-|CzJ21~%<3?{gW~Dc`Y4)(SeowwoYFt(9N~anZmAi_K?fH4$ur;mijV%S= zzPWL6qU6u>W=@|mw{iNc#u?MSnX~52oIPdwtm)IyuyL)wInA-7cGG90QRA!`=rV6M z`=H&*M6uM^9xNwcnCC4iXZ(WKp4jZC3kfgfd##zY`}g5KzdEv%&UWCdrer?55Z!ZK zWo%(%yPwF;^A;5n+tQhIB8TM^O69JyU-Z4hd%8LbjVXWgk(qR{lqfb;HnIu(+SE~~ zj5E)(M=@;GvQCA$-aqF-9Du6=3a z+)6vHsnahsF3BbHDRBQhZ*E7rG)#(pv2O{-2VQrg=ymvh&P!(UML*Rf#mK5}JM(F; z)5rL!Jigg;S#EP8lTLY^nM7C7J8k+IVChwfLK0ttEf(MdFP+=mw;gTrVE2RDyM3<{ z``eQ!b$gxVT#~%beqOrhm2;bN`7Jq&JEfUl_TAifW8O>UD?Qk-?-m?EF`3VG`^j`F zf!4#0?e+`U0sH!f)?6z5_tzz@MCL zqEzy;JtfQvBE$XJzZsjKD}e(yTlPR(e=DcnnaFhK%V=?IOSwQn&h&aX=`@G&Q(mI8 z1ipeudVVhD?3z9oh7LrY<)i2cdM7Bw ziWfzPiP;_2j0R|ptxe`LEb!#`SUDCXGW9#ab$A{Xi15$0-l7su3XQLv+H3d8d=eX&qasohlUR~UF2<#+k|RR9l(bk>P2IJa2tA$GIcnEH+aNdST#vzu-E0+~Jw zdk4MZ&KP~r1-cT4kxF+$Fx~snAKfN$mEd*Ryv z3PiYxLgR6pFvw<%!@1j+g`3pYwh~RowAu#1O?VY~KHLxY^|%(y5yC>LhcNdPu?kEU za}I{F$Yk!SL=R9X`J4)h;!E>ZC;~4~-P78+!K>cjMCt4R1f+97jP~G&!|m%Z7@+~I zgfnjtE|>!H8PCRBhwmVC&ikPRP%FR=!X{>*@=G4^YS9C5#8HzuU@Fs{&Qw>8k3G10 zbtvp$X-p$spwZ(hJWhs66`vHT*8w~d7CEGI#Zuo5*63ixLr#cF2IF7?SOFTj`EYuD zcVK?OV6?TE7x=E=<=soGUWnN(-;qhQrjWeG9hq^4Gk2lIq>bb;&6vK`{s-z}CXD6U z4>y(^%^H!&qGH~B4-78eV9yYSbikmq*X3wlxXGPqm`-a^fesROo2?0XBQzulsB;VR@*VUzs&OVdkB14P7f+FbvEf{J2Hc_C>5SW{pU(+mT(Seypv z4T%Pn!c<)&htlrD4)r8b1!^2DafhR%(HXI25eY{ss|Zop7!~}S zM6XphL|pLZ2@MkEQoa#7FpJq_@j7%mj?IaMjsmcN3+zsyG8e03skhj{O1}>_guClZ zGDpnzZAWA&;Z3X>eiDYBuq1Sa_)3Z(%tfhO^cF2SYT4?kUKezsljkPFV0?iWps5uX z+s1i4*oUdWr?lJUpu_km`aqHJQfYi`J#?HaZIVOv+!KhL{Qz1E|3y1DZ?IZNxrj+a zb%tRI2mje=C@sv1V~4c`R-=Sao93|cB7ijNF+?VCPOt&k9jk2e*io9(ya!M>FfdW=e&Qu-B6o%+ zGgR?`W9@vN&>gax5cUkQQ5wF92tBg>0vOSLzRz(OvhN1CNOa8t^KB0lTE+QMl&q=N z529!}RY|lNj%>lwsTntNwZ}6f*mo=!)-_!Oxbcbz4kGrFgM1GuVCyQ|XuDy%l1>v> zdj4OeYicl;Pz70_2B>N=KaDfQEu0#8x-yNBnRuG$U^PsoEhP}*o~3eFNU%z`8a}zR z2+(19xTbgs7_-Yo+ol2#Gg{71U1LVsX3$VCZ}s}_$feT2h>*CzL3hl;NCVFYI|noj zEMP4M#_D?jk#MVNT>EISiC}#ltU}W1(gPk;H-DT_UZ?6-OMaB z!=A$tUd>=x8UemuZU+9_Ym>n$Sk-$YcZu_eW|N-=YQ zQ1tq-yTzbn_#8N5Fwf7fY+^OfyLgd}E=CdpV;XV&tO|CvE-q3VWM4R>;8h$FxyvuY zl%%S?*#-7x+`bBQX5gv34Ze$AmEFt!9xcZ4PjS}!;K*8HHA`BTIz-_-MQbYqWHosS zBZ1Ih1aoYMf3X$a#lTGBpF!g>ixR28-Lf1&myw%m_J*}ummN+j^F~H}H+S9qEF0=}w*pr8vgJyEpmA0zM!X4PB>1Rw0K1L{E z0fcm_=fY&A$MJ1F8!>FNR(c8HU1o2PCh?F9D+t z?hwY>D!Hr!TQX^E-LhOKRc8=M8yHZTR2?X*>X4(`faQdKE0Or@r52VJ)7ucCVMGZS zJQ2tt+%3CN&?Hzh#0h2$|DKL+b0R$$qSGkk6a_7^3G4^=1~F#zOxTV`HiHYJ9ZBZP z8F>6Ih{b>~@IP6TimOU~!x*>I!3*sWE@EYu6uFX}2nHg+Qnaufn_wg3wA&Cpj2^n) z{W5NW&>^rlWX3J{y2?g`q4$HJYvAd+h?ZB#Zz+<+21WfRSpn__<_rRP0k8`rr|t!9 zNTnf1w+?~0ASct`5wS`VEe>oOp z3UxG5)c{F)R@fQAIBH3i$21KnAPH;gB6Hmsv+oWLikS~!B;*nXj}20}cVB%6|IvJuziix;(om@wi7 z>?CEWvlFi?wQ`s$zag}#RI)pKGtE6>5m+X+8*Jf(!D|g)Wnb$!$%eOS?RkLMRrlIC zTxEb&1ET;9J18*R(z@n&kBZ5vW^T{S=pEKMvoRINLV+T3&0$O#-e7-pvUnaL5JU!c z4$i|_;m8pLU)c}OXA`iB+XCkghw`8Bd@x!*8g9R08B&%@O@oF<%-#x8WET7s!gE0b zzknv#UuI^4pm@OSRYpXL#(usu0`QGJFb{NLD6mZdtw`n}{haK6fsHWkg6@O+&558q zumHpZ0*%!CI-A!jGVTp1G^Cs^wQ_1zt93gOh#K4*CV|q61u~rF1l`JWl`zi@W>CPS zQCA%1acm_rz&ng2O9w2zwLxz`|6}aH7ZNoZ;C+42X6SI4eQdqx*c8 zCRn59qU1=plmO@H)L_H0#nxMdL+3*LftpGLifXB=MX+|QI?Rs5JCjR{Cp$OHrgAL? zbNVcZT{0wKv)*eeSTDtFC=^1)#)22URf(<37?)(Vm6vjp$)=IUB}nTR__o*{E6duA z>5t&UvE2sIO-06x35R~e6TMj95L-px5cU%PAn3P|vnWDtv3e9BpXJyRJ#CIK2+=?s z1~Qz5k0l^U`ge1KUSZ^q!R;XI@}IiyM2ap<&jtR&f19EUx=p5!F+><1+f*79IBOg# zaArgAV6-6uX48fk9Q6UrNCiQD_g5ti*fi7|!XQ7Sjgg{$F}bSjN#K2Zi(6L(s3kCQ z)*%FNgWTCd7%))#5DXObrxXz@g`M+N16qEvTo0@U7aXhuaYK$5l1)`Vx|-GDKlM0@@+VMO92UO$U`;GCm7|}bimN*aH}FKaEJvg zPzT6iV@ZM0cfcOn+v|WfqYZbwkM2zy7|U_#sxTmJ12%+pZsRKEn~Pmi)gec;;6l+Z z3u=ncJm^A64I^2wkCB@ZDiz>;SF&YMBz(>=nVm;ix0v|B| z2nLp_vM|fPa1Dd-IjXmOLELezL35 zu!how<^Zk3GmKiH&W@fjvQ^y(0|O+7AwEbAs{I(ybDf*K^+ctPsa@LJg#b8O?b zwrUS*r8m?^#6C8-fwK()h7NNCQ6|PCyk)tba;eQl6*(hY8%0g>rO2Cx6YisErVGjg zswtE1s??LvbI-CY&dv%h*RmqKp2+vLMjabK17CqF0jS1Ur66z_%oFvzg!XR0Fx){* zgNX&M1-2<)J!edGv=w0D>qCwOX?LZJ(ZCdTB z3mtN)EP-nxjHyg4=s*V?#_+>k1Z1lJTSq{O4c7m(D$K4ma&m&IH;Aj(x~{#l1n>w8 zN+z5(!8>AsMM+*$Qz`mpx6BG3Aivpx)X+-^90v>97x7fHiLL1@ zcB3=xBR=%u!70=%3<^)Rv_|}nWC6yqmL3D5p3WAA1m#iq#If6uu_~4rGd2aaG_am6 zUCblAz>e;6;WIfy#Kt#cZvW4RFP5$UCwlHr0;BQy`kDE>$B;*>M%ym^DF+x>`nI zB!hbIvDMlJ@@7NNRn^{$xz81@0FR)G0&4CwS=a(GvvM+E&2od5PFv()F8}X&e+~6qK;e)KI6fZ;N1Vv{9@tuI&ZKwb|y4?r>qFUv(> zuGi3LyEXg7S{U0&Vt|s_mu?Z>iySh#514G28^C)R=ZKaEB?CT(vb0G#9@Bs#DJdp} zO>Ah z*SX|Hb33la*m0e6M74{pcj6E^7$0sME^DbsWfZz{P>5R!%g6*{1}Hx)a=~8sTlk(Z z9YnVd0?#`j#6x7(B5d^FG*Iy6kolzkm!QtWtOk|xR?UZ21|s9CVd%%x6mw3MPDr4$ zpgD+g6=69Cz1OnmpildwzUH;orKQtEWp%8Acw==W z%c(GgESTyHGNEB8YhKtdbUPt|c&CNPHkS2aolRI#ux{P5#b7oY4H;>JEcO%Vg($C$ zW$!-#eGXtRv>4S7LiXQy)_PY-Ru*TA%8C#bgx>~o6@DAs0At3-0v;ZMb8_81t{p~+ zkEpsHwWzg^w0BH4a}|DsYFku z2*ZU&d8rKpPu{^~`z5A$QG(IygNB$zm~G0WA!aU0y`g2OYj=aI;QmiH@7hrX8%ayV zv0>30Y(XSqaA9`-^4)?RRh1*Z1QP)>0keix43d0Gt2`|t1kO?bEYD8 zu|8Yi6yeR_orkPy3JjKAXl}j|TC1?i+t!yljXfi5q zad$MscB$2njec=F2zkH!QDhMN#qlBw1BD+NAq#zIiEQC5=7zmOt~QP9+~-=^c1kyT z8+bN~(7|ltzl_${JIDVaKIc#i0xh<7EwDI*KNQL^h8L7^Ss7)PH6g`HyRs zTW^s_!5w~@HwZ#2N^Rh_m|2Jwb{Tw0rP?Vfu7>fm7x1gcvcWHB07FD)b+yfDj5?~V z&1>#gK@^-K)G|JYC4${|5S~rl$sstsDv`nb2-~A<19%O_FzKV9mMATWYcR<70L*V? zqRQP03;6k%Hb9`nR>sc4mhcX^V$?O*V~7$5Fs6`eH!x0yZYBIkB*voKWWkstBL{LV zN>UIbkF3N#;Rl1=#%5%btZQB=q_m|EgAo{Ho}gw3?|jkfpm4IvHxEMr3^VMMbAG^5 zD?1i5*gBQ4Pyl;kr4AYxZD`r(pSYT-z$8$t!!}D`*#Xw<5il!5Fp4l8r5e?LfY4z< z24TF-4!DXj8^J}BR3N--mhv_;PRHKiq*%CNQN9aJk2`un9Nw{QFc2>|hA~pG7tfOw zhe**gEZEr0V!>zvVD&*adEtcwmz>dl_PXlCKvg1y%nw`Xt`3v4D|i>(&JE!Sc*fl& zwUICMfON8e4uN2Io174>;to1gj(qB7`iX;`w+Kh=C^vvKfxVLN5&|jfJ^=p((u2LM z@+F-IHCP!nRp8pry=D$J)uoi8YTPZ|^cxYPw;3kfnx&$|4Yn$M^+;XXTgf$bv^~9$5sNXl2Hl97@KGOgZm_9lJwQUNusf zp>YK;*jIN~(q_t?#m8xf!!r!TkJypGD$-l6O%4&4h`O*k)V433f#Sw$_3Y+zI$;rEUj=Op+?GvX=hcb zUsv_*A#Wemd1#i!cE+BK~4_lE0gSf0D~=b6odtcHx$&IagM^I1shr(0z2|8CG&306PlSJGUalDHN))aFikFG%LuRF0<~oy?zp8 zOv0{1R0x-bC=ve93gJoz8(nlx7VJvs<^=}_6CE6Gct4hBS3ywYk->4sXTUEtgh4Ra zi9#=y+Zd#9Tw^eb#dbTkJcsV+*9Dw3L1yi>T)2YvDg_3zKbe6yK^ep03x9ou_AL}Z zBnNTf6PT!<(LV>;7DACXi| zu$pl0j#TIXCumSaU5e%%D$Q#D$8iWT0TCSlVAbstxR(_PthmUYy;#?3%b=MO1%FpW zuHyL?T)NcVz^l4ahf#6X6@XeU0SZNj9$s?7+9w4k?GjYPJ^ca1%i!`nw5#>Q67YGp`S!Pj=st3QzFU~u3k#84{VKia z=w$)$7+_OuL+S~72N1DARY6`W^$He_L|im0+|6X>9WxDQ;wEM@q;p}!ATh|_gH!w0 z7*%!#j5}p59V2%?E$gE&qZgcRZ|L$gtwIfTE?Uo9N2kTGp7LwqF#2_ zEqR;E2C!Mk2knPlv45g-(^{)HIW8m9l>!yqxv~ezP+KMG0$&v!00wM?96ZC443vIA zm=Vy4LfbBsoZ~KIC!(|g-d7q*t4H$hikaNqVyglO%eWCyti^&D8ypX>Sps)<=eO88 zE@zcyo?$uGsTrg`2yN0IY7+WIY@n{N*>;IkF<2WFtc$kbUF4{8^a0-GOo=V%bm-^M zN=yREp4VOMuVlDl1Up4&?FuThm%s2P%(B@c0uES-Mub8DcbQSEpjO$MYsvL4I@#@A;xjIBtnm(0^(xBN~y%&xSBEMN`d!I?MqD>Wm`VD{WMy zR%y6IP!F=FEb}7nhY52&E^n>{F=F}~&f4S~Cu+Dj2d>D9BV`Ia58a9%5$RW~Y1Ov7nt^GuBCJ0!+hwsWaSKj&IR8SiSMcY; z57mZVrO7h~4{dJT`)Lrz+ z+TiFjTH~dyYmaSS>wdusr`}-)bV46gAiyA1dSGB1=X949amLlC1q!`-I9y;4>iFz| zA-@3;;Lj%5oBucQ|H5WElYbXDX4pc<{6 zq&R?=hY_aF!Pmi-F?4U$rrm#_<(>W+QYrSaKRwDI!Ze&#)i0>x@>k`nRn!l;uCPV) z)2;Z?RHO^LTTps!e=8OaK%Kp~hke?s`j=pxi!guE2H=Bp z>lC?3DBJXL{9T7nb5rgYH70iEf-!r_3wvT)7v3%8*qQTUqhe2pT6yP`QL+0)?UiB| zejGb_=ACGEK~L=D*w#6*v3tc%UO0Bon$g=u!?({BHSho0^{pLM8}zO1-}mMZo{8qP zRP2fAbqFn!Vh=23r0f)9u#o*Qy9t=}G|Y6K%!(sqPArvqu~PPkHhHQzP8P%lSrkcG z5}RaMW-ww5E6d`4Ika;daR66~ZyFvHb;n~f>hFwRj2**^x1wPWh8wtV_X<6*>3NuA z0dI8sHpY&NcVevrT8bLXiT}}xB~n1uxMB@xyB4@n;bK{v`wxz!`min zvuoSrJ+#>k&jzzQp2N%@c6J!E>w` zg{Nmm<9UGD7te#t7(5R)WAU7B_QP|A*&olD#=~=#IRMXj=0H5>n{jw9G6&(=Vh+Z0 zsTq&wQDy?3%gsbQSC~n7t~8VJTxF)xxqByd4idS=ZR)Io+p_Zc%E!# z;+ZhB@JyN6c>3lLJUh)CJiE-HcxKF8JhSF7JbTPMJWnPwNIcIl&3K+^7U6l8X=$6hr}(s4Omd-FLh^aDl;lct6v;K_Xp(EqGLq}ea+2%K z3X(6Gl_WQtRV25X)g-r>R+4+o8j}0WF(eO|wImOkHj>9oJ4v5eNAkE?Px6F0mgKwU zIFj#~<4K-08%UlqCy@NmoJjH`a}vpm<|8C8nT;gBFej6|ViF{;n+}pUOp@f6CPnfq zbdvnebdmhobd&tWq)FZ~r;xmDHj%tzG9>SsEXhAjj^sU)2az$;LsDx_C8;w7 zl6q4l(WXSwV9F%J%x02Z%odV8%vO>;O)rTt+eqT(G?EeKbdtTy86&bE#(aS!YqpbYHaC!LF*lN&ZoWuzhPjF4BJ(AZ zi_Og>mzXb;e8${Da;dqM&B%d>PkX&WHLUOhFD#lj@`iby|^Gk+pE$o!e)VDlG} z@#Za(3Fd8*iRK-WN#y&lQ_SB;W}Cm09Af@KGRORr|DNxC#H73ooNSwnhsT*gS3#bqt&^0=%cT@jb{q{qdjCOtkb8%R%# z%VDG^#pN!fC&%S*(nMVDN}7tx-AMho+?}*DF83hqipxDoyW`T3rsFbBnv2U3r1`kq zi?k4zdy^L9awO@wak&ra$K!Go=_lfHH0gP9xi9G_<8ln?r{Z!f=|yq5AL+$$xj*S8 zap{qMCN2*ky)-TlB)u#y$B|whmj{tv5tj#(UKf|+Nw1H~38Y_)%Za2n#pNW@+v9RF z=^b%7h4k*YoJx96TsD$E6qik;4_gJR9*N6o{PWScoKE_9T+SeUA}(i=J{^~{NS}$z z*`&|LF?t5NYdZOWi#oUak+@}t+;FPsi-*N{(T6vEPfQfgh)LpkFkXna*~)Ur-{SlA%M{H#eCT;4wpxX z1#*>GDBA$3j~7SEjiMQldl7(h3t;PFd74-v&jHl_lsHOWB94|<1{ zzwZ&N0{FZ2y-xX`*GvXNef>*QNvz5ItbRta&Osu#zr-NXj9 zmpDO<5hto~;v_X$d_>I<8`WHKvN}Q})Kbx*R*9r)7b$gu@KuNCRB6$rdPKL{BGT$i zaf?;o#aT7`h>zCnFV3zRFV3lH6d$XZEzYf(FFszg zNPMDZnK-Xzjre5EvEoxT9}(x*_~L?^jQDg-QCwKFO9 zTq`cC`J(u2&28dyHFt~4YrY|_sQIS&e9aT$%9^LeRW;9xt7~2s*VMcruC4jKxUS|e z;`*Aui!aoCAhyTq#0{}s#f`BM;)}6;#Z9pT#g}4}#Lcnk;>)o^#VxUg;?~#_aa(Mq zxINY;?ucy=Ux_8eS7Y7c&RAaD727QCj-4UyiJdF%ja?w_i(M-2k6kIg7W;zudhBNL zjo4Sj1F`$WgRzIiL$N;baO_F(NbE=A(b!MLH)F4eZ^eEs9*g}!^u^v0-;TW}zEi8j zBFYJV(#S^JXsRqgBI*R{VBzp4GR_-*aq#P4eVEq-5DE8eUd zF8-%3F8)wATKuu@0P&}~iQ><7)5Kru=7_iI7Kpd&7K?Z4R)}}&){4K@9WVY?ce40< zU6=SrT~7S7t}NcGJ6*hA_c8IWx(md=>n;-?)LjjK`$j42Zj-9+9$8cOpp4b^$=bT7 zWL@2JvcB#msq5a54RvqIVRdiIUFzPG!|QA0uJyaf-JrR4uisbhQ9n-ZSwBUZ`dKnw zKVOchZ;^Y|uaJA!x5<(9C&+#3lX6u3CONvkDEF;DO^&Jmm>gSwf!weDGP!^K)zYiK zQ65l#n>?`o9yzZ5L3vPppFFt!DLKCWIXR*JB{{MF4LPa)O*y&#Z8@d>JvkNsKb9Kx zFxjMyoTf+1>H0u9Lr<17^-MWS&y%zDB6)~jF6ZdA@=(1&&ea|AFnx-grwekv-X;&% z=g0;6e7R6xDv!`t$s_d*vRU6M7wNlYi+(^Z){n_0`boJ|KP!*YFUq6!>vEa?yt^VYyu2uvQ-1ut6Tz z&>@d+I7Mz~D995Uw#gG4&XFfIoG(ApaH-tbaJf7g?(}BpTP3$303e`eaU`Jl&;J5b CZkUV! diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_ru.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_ru.class deleted file mode 100644 index ae22f4f616d3d1d262d8344b8f1bdc532dd3fd0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19976 zcmcJ134m19mG-$+)o?+Ldeyjq`rO#0n+8O%!3A1C6a;BRgt!#lkM5G{si6zF z_uR95=bZa|{l9nbm$=lMZw`?k$iEDgAIcwx$`JY2_)TxU^%g(<+hFS#z*8 zhgkDIYYw&MFl!FC##wWOHAh-=lr`_S=4fk#Vunnh#oYgEco=bCWe|tyyQydTTaVbF($KSaYj2w^?($HFsEZr!{w3bGJ43SaYv6 z8?Cv|nh#lXzcmk7^Pn{kS@W5|z%}1?y+?pq>dD5Dvtl4DE)7Cs= z&9l}#XU)f~dET0jTk{EPK55OTtogJxpRwk%)_l&I&DLzOW~((XShLNV?bf_#%?@jJ zTC>ZV-PY`}X0J8-tl4kPOV)henwPD4#hNcz^QtvpwB}3Jyk^ap2b-@9Hm@5wcupo0 z=9<&Vd_K$@sVgLxr$Zx0ESq~xa#eC%I+Gi~W`c37Cd{F<<}U}VIo{^O0V`pMsiDTdBm(;9Xa zQrS#?uzADC;P$X^QP>04jvW;}&|OHS$IZ-icZRtnZ^TnWaMyxlF3e!6;WhUy4D;FU zTx&R^n;db1WNT}f&!5`Z*l6UaQKJW3=#ZA4Orawzq*`Ht(^}KfvWK?lShG?T(P5n! zCfOe5ugY~dP*?}ckLB+UmY>K^4>n&lUpv@*-F(BysBEr%Tvs+sFwjd1FCJZXvtn_lxK#_lV8BVx=W3vyYCvwlun{o*i}$J(2M3(ud?9Gss^tqOC& zifk@e;HPT2WNt8}VNJuDp$o&VY_3p0FW;VOtDn)`p08h&Z3>1in7^pLITtD;_2(xG zVN)=nar~6}#)`RG%_s_1X$wRa{{>4w&9=Q%^?Lf5(> z(E3GTva>1ZYKOS$bKUu1TKVI7J;{!2wmp~a?#kCb)D+~puUdHN(0Oy_&8!G#d_&{V z=4_?_#i(D@(}gt_!Zn3)UFl>hGc{=KNapfk;p|Hn&8nYLxsOX&5$5V=W?HjtQ2eG~ z%JNiU=#u)`AxtG%;Mx{s!?si*7~e3dVe(KTM_!s)naQrs1e_!vtV*W4!v-S_#m9@= zi#v-uid&1@d)M`@FYYVuFK!R;!@lC?-rMlUefaZs{}>)PV^K#Kv}V)YotYq$>tLo zn@+SpC~ggU?*SM4i+d~2|7`7}`2XT|jB^gBPv&yT9!%2~t_d(tw!08yR|F7BJH!Wm z#s)Aw*gAg=(_trMo5vr<-+%#9#SddjPPe;vT~OSMMXu{zhb3+;ZpQ4Mr)~JYx%d+P z?NE+4>#z+$@j-ljsds}4YG-k8?_K>w)w{6?GH<|SM(Stga?tm-ZaSwRn+fZ?I+A&c zud_2%XozUACe?N}xHfWS@rmBsG4&RR2+X|HyB3ndjN8D~{@$CF9d6IA0AF@;0pR{t zeA*fGuE))rao-MHcl#gvPjKe+Ob{wh+1A$XTrO-2R(HTv1kkYpdF<}O)`dY!%Um!A zx7$kZ1*y#%h_grzoOM4Ww;Qs+gY}RbSO#yiF>QwmJJX%-PNoCsglCWY zLBS-up(NagHt#g?+Y0)iU_m;h{^ZnOdLs)R=f<>F#OU?zPpR@0K%y9Rl2uErmDYE z4Z|LRFYJrjE);?0xGP{>YJgvE@DF3koyC`;r!S%R$cH&bqFi`wcbMlaT|gGAv$?kV zz*jKmO&PzzkbCbP%T2;gdEL>cA|1r8VK@jDzCo>gA0|Hpu{1>+ zjTU%>Zov+W#L>J#0NPxf#d7J4^TFycM+GW$=Q3F9@*dSQNFvvR;m#~RQei)uSJy?( zIs000y@Ma2`Op>ogXQDFP8b!2Q{_#kgAh?*b*j)o&)k}YpUHP+GYnL)zGM!+CDYJm zd@h9ad}E`Z)e(-zSM^Pq!V)^h3HaUxjR$sW(;p_nQ+`g>U@Kf=@9s$lgh zLi`TY8YCI9^iMuoV~ZzX=_{k9Q|HJWIEFbu+xB2@=(Z5Z!0mRgaOwpp2%T277Dnf9eVS}CLmgRpNd$Ezi#WjtMupz z)wT|k>I!oOcx(7&y@UF=3Clsi)4}km3O5Ys127#NvXS$qSH&-U>`u376j&Z2AV9X= zc`74aY?T|xWeZs#n`m9_1F9HTLtVf^DCtPa`o%iBIjovIB6jrN0ds-fd%r-NVTjoS z_0q8aU3#TjuM-r2(sZ%FHw<58pV$yIcZ97g!F#e0^klmcJysD>WLBiwyETAdu&(y2 zI+iB^KQk+W6^!pN%v7c|-HoMl(MT8I;YNuO7P^|mZp}v5P0(y!bK|~@(B7)ilH&!hkA0HVLF-kce`F)+UpdL>!400kk1B5HA z$2)GYf*9tfSH^J*pg$Db z57Czu7*7_Tsj&!pA)hg*JUq6>4$-TsFt`^AO~6MpHNO;oH7YDmLbqF)>%-~$7^`Mb zW5THnLI)x=!UrR8=fIX)28>hH>?UvPQA zD6GhriP6=?2dTyIni0H(&#Mmd3ckP<1dnCtvUG22oe|ho8PwVYXTucJ<|Wfe{yG6L zR&;0lwj&h5`ddR}&d}_9YZAdQk9t>f4HOPp{R+4#?x1q`IHvE51eIxO!4@?_0w9)~ zpnVL;9)>VssmZs2ro3uK_}RxM)W_Z~okSJ@PqZTC6UjxzO}b6w2XMJ>GN}JQ8l$WtW zsIX|-y9bu4!4Y;G)?6-NXoju)x2CfI*-)D%zW{=UK28XX*YM8}P_=^Mej|5YT7mE5pJpNF!7x(pM(D$hYx_frLR7-&}z(jO){7T zYoOiIdk;Tg&$jh$Fftlk^r`>RxJ$WEEAlV6G88`0JeXWNw=YI2TJ``ByH3EnwvQ*< zY-C~-44LIa_m_t-X}EE$2%68zXQ|>@)@~L{*A<^YL@R?PC~b5zVhL0g9!32#m%T%m zUa7y)6_u1(JvcZ64yA9Z8WDQ>*LY}{mC7X3sp}|^WKiWmG#Sz=H(*E(x<)tBWXw^; zO_-#n%!zql`4q!CekOF>|H__$l9x*54MBln31K1HM?ORciUl*6>rO{Yrv1Q{D4TM1 zR+$+Et3q{}SaLf(SX2)17Kg8%9ktW#Os8S8m_z{}%afYZ!VkQlY~blqt(B0pgaCd1 zit04y*h@d)XX+;aBf%VWG;(M%D9$3r=t0D;0m+jYtdy;-@J>392W8ulE`P{JLj0j0 zJ~nb(sgq;nyveXyhfpKcr)m6%<96{%WOq4E=SO$(Tdg4S4eCp8HDHtGFj4DUF zmdb4dL^oLMlmnG{R#3BiA!opzg^~Lrk3eDY~R+j1d_-3s42iZTb)g?mp_rNsN~P5EYfGtB36`pM%>2Z9wOwK@sCVr4H22wOl470ECP3Mgz4XR^Lu zRGwkBCqmRN3J7$dZv$O2&hd zH=6$~+ICP+rOnsKC??lfJw0kaE9(1v^kn_?sHk77g{#rLKvtIt_2*Jq05V-re5$X4 zvE)ThPsQI%x64u#4TEt2$4qh|0sYsdPV57dq2)C_*UM_h7O zf1_^fvFhg$GkjB;UbvhN99{Vt;wYypSmN-7Ykdo(gv zA`AcoA3#`*@=D*EgR=N%Pl2BTn$Wr%puV|4Wo=l`9LP|;GD1?C--6|+ctjJ# z4l=qU+M#d=CUqbqH}y+e7UZ<6GH|X!Aev`?zk)P;Nf;4Odvm;@DkFj6v!NU{ZP?R^ zT#yHQM0hV3@27ULG|J|xqKsPT)IXDe3EoSG$uPzcpw1r>#W4Yt<*eu(tl>y+#>{kEn1e;OIK1>d0>w~WMY7SKkFQmt z`Dlx=t60{eroW~|c;bL+w6-eTL5;BE@Cz$govP^-aKAcm@sJxbgA0e3y!ncBvOVt&_{3`8jhqA;bu)n#v`kO90II5z8~|1xUHM}l zr!!(vHj748rUwTy5V+W-8lZa%!7nS`4}~r}a4$)Z{&%AG7@3F1>IC}`Q6G#!&q27e zg%X3>M)iAL^NdAMgnl{jyR6QSotyQY^rnEP($pfx1`7eja3)WE)7XH=^YD@F%_YT; zM)?TC0FF$6t8!_xxVA9(@r+ma`+`x^B zL|K#@dKo!{n275SDn7t0F#0y40@_)0ZPw1=oXiRwh=>}t(Tx`#fPF8yNV`glP~1`J z>Q+XL24nHA6dG}es}pdhr_y6M?_GyP9}f|SbtLTYSdXiHj8MeLGj+bW)=&x^r8)(% zQ%$AV7eh4W=ze2$9s=$xKME0|12G^*_F`V@Iml(xIJ?=dMW52cXuei+!&|g3rspH7 zLaRRyF%Y`HWk7xz=wJ>S9p3}8e-C_&tM2eC?9~&X{tT7^p7J@YXy=!y8d0hPbTskn z0Qfi(HCD7)LjVgJnwp?^%9D4TCmQ{JYRac(X0YvxRs$5hjfj&p80(bn_ zC)y)~Rq}~))x^zz*9y68mp~r!N6|%q*~E@*H8+5+RutA6)Ki0nI5!ZPivqBJF@Vo{nv7!$wu{0 zOQR};`Wc+>^R+v8p$j~2f>G8SgY#JC0J$dW_g;-^v(57vtINiO0P{``$CmFeCuE(q zEu{V?1tAeS!{+`bM`Rl=&G0}z6ZYlY*fK|6i}R7YfLaqoL1Y_rD;e>C(=@j1hwjm? z01bVce!uVgYM4Z_u5q(=`&i-WyEMf?-f4T>q~?m#O2McFvuA*}^0EKXXbCnaGpuT^ z&ZS^*V7?Wp9<-8YPI>CsyE?Vt0t!JjR^V@f083SE09AC#Je$B`eI>g+Xl!VhFlmx{ z3MvJ2Cb|*=w*KxgQu)&t!ovY%k(5QBeg{fNXTeYv`+*|U3+3H{MbR>{t zN|_mJywvznu)ArEJom7ypY3rNWDh*{&lU{|Go?+`gt2Ug1az1an#-cILMEs_Pw*lb zL=&He6FJ_{D*=ez>xvHpBjBRB6n*@L(R5+*ePUzTw)*;|Qk&xD(lUX&{n;&55EwCx zndg`rg6aM+4&z`2Kl+j+4vwqgBj=#ssya?s*0<{VO?BrPS(fI!XJ5~D^RJ4})9Ta- zsrF(u#55`^F3p$ESg7B{GL6~-J=FmUK6t_dB5VY*4vfq)qZ%-VM5`;R3oyUCOLM$C zuygkgFrOBRRI?-b_B{*yE>}9N8oNfxPAc^0UX5H>e1=$Bm+OzbLI&%=c;&PzlD4slhorHEwKQCkit`I<+#y2_Ah@Ku>Y!(F4c6 z>r=oNEPd0@m&eQd;vI9)RMgXNy(9l$( zJoTilWL{DKB#>O{{oTLJM>JbswwO?1VMOJoKIogYGROMZP= z6zI5KtxhR6*%{qCGK;okxnxeC=3j4P5tHAN(K}#9X3xi+@WhcdR=0*Va7QSErdm>q zX!DT16Ogc%4w1v=50s24?Bf)$gYu#M(h+|~VRAISagF{D3t%_}F&=sFG>_CF7{FKk}S7(U?N;`DkDt}W!A?ycez@sf}@5{!?^YAuO)(a?Nv`?#E z13rs#gfiQ_B>!rUe%SfwxA}Kb2WY4tQ}x#;6v;_w<|O zJs<8FQAuK=m)csUFYzTf&0kJ&v3Dl%zLFjxqJ^b0T|jvr;*PBxe5U>BJAeL_t!xGXlBb)ZKH6=? zr_|?AEbvH#DL$pRy(}jL2#?)~R~SC}6lyBa{8#b?~J*r{BH#e0&Yi* z0pjs*{SUzDR5=O%wTvGMUUiq__%1y@4Z>%

<{1x?iPxmgY(D+i#EVk* zs2s$f6IV~zjN6XrN?e^-b7tcBqY_u2bNu14F`Hz_t2ayhzrN$2tvj|ZdbY0i+2`N- zMwzEsayUN!NGuj|7?yA}7BL*0oghDxk>GQj{DU;fujE|$N0}wRmbvm9X_4Q`68W7h zmETLN{6SXAKjAKs1XlJ-{QDK|^@2D_S1U4Pj|{pT!Wg`{JTWCE@<&{MjUoHWZJXFW zw;Jp{=KWnHx8eFY=EPe2+=)4VkD&$k|Dm)cLt>tjy2l`=eKO>tF>yDvWlX{y)H3EU z>kh_sh&u$=gWdaZJ;WV~t8<6pdW1V1*Y`Vz>(TBAT#s`{;yTP7h3g6K{kWd!j>a`` z$KZOBI~LcI-Ep{{;)dZm!VSlDq&pthGu#QdPI4#WdZr6-o$OA+b(%XF*R$OzxXy5= z;@a#^!*!M$f$MBH64$wI6t45!Xj~V$F}PmpPRDhr8;k2QSC8ulTm!CGxN*2%?HX}S zy79QSxe2(2ZX&K7?hIU0ZW68qcP6ggZgR_*!)2|TLbA@CMY7&Ck!)~NNp5!2NN#aw zlicdgA-T<+OLDtAkK_(Fo#ak8gXAvPOmeq7pX44lljL4Ei)5plO>)1xfaC!;hvY$b zA<0ATB9e#QT#`rJJd$VK#U#(U`6M563rL=Kmyqmq3rTjl7Lr%pB9bq~k|L9hb{MxmX{LXcd{NANV{^+hD`B%4+qZs+uc+Ac8A+Ua=&|; z-YiGqI( z&+R4ozS~Fg1Gk^#hwdekAGyzy{Mfxr@>BN;$=|y#ko>~EO7aixizL5sUn2RfdyVAJ z?#m>9abE$6#oX&8arXwvAoo?0!R~7$L*3U&4szchajr;mgzF_a&b>)8%zcw2aNi<1 z$$gt-g!>N3NcUZmQSN&rquuvg#=Ib=94F(8<=gPygJdxN?_hZG!|@-YI$DMztR5t% z;Fr;I2;$QFWRe^zQxUbM*mR^^E=S2#@_q^N)Ji!8gq&fHl}RR$GtEeuY#L;WnIvbKY0_kxWvaPQ zrkP9RY_mkpF;~gCW`&$*I%T>k$P9D6G@JEuzPUqYn)_syc|>NLC*%V2oXjzwmJ7`b za*^3BbIr>#&wN=fHs6r><~y>${8%nAzmSFIx6)$%D2vR0$fYrn#j(M1S?qnXBzBZs z9vd!8W2eZn*ckahY`k0%n<7`n&XucTv*ha7JW0kD$@17TX^kzHwpdESSeLAbt(NxK zjnWajMN+Z5<(k+7vNHCVq+^?;Gxl-G#6Bn4*o)E?+b7q?UX@(z4avveltS$L(jEJ$ ztcv|gR>%GzYhr(rp4flNb@8}dA0H|oj2|vH#E+31<0r~Z@e#5%UN7t7XUO{aRM`-p zAvee8$Sv^&a%=oDxh;OB+#V0*j(A$`jOXR9_;qr3e4X4Azg_N)Z|hX4YDP1vusV=B`+lImu-nhWqaZ&c`@<4>_~i8b|$vVuEbv1 zo%n+6NxUw56TPx8@jcm}_=&uf_@#V4@q2kW@o(}<;xF=rx|qCLH$=WzcbI&s?r3?f z?gaUA-D&cby0P+l-9&k#u1UUHH(kC~cY%DpZoYh@Zm|^Wu8`ikHhHsdrF^q4C*P{; sk#Ep)_yhqCq zYI(1gAJXzZEkCT~N3{H?mLJpd<67RY9WB4B z<>Oj@Ps{IX`2#JV(DF$wpVIP&T0X7ikFOidy(&}KX z4$J+U`)#@~@PSZtko8+&eiHXt+r~lO{?>@xK$6WQ>%Ar^=_@+qt$!0x>Kv&TD?!J_iJ^RR(EUl z0j=)Q>VsO{tJR0Jx=*VQYxNPWKC0EnwEDPK_iObDtv;#Mr?mRCRu5?P8Ld96)q`4n zPOHyr^#!fIsMSMSeMze?YxS^JU(xETTJ6zluU3y}^{7@~)9Nv;zOL0bwECu2-_q*a zT75^W?`rk9R^QX=`&#{=K|Rr+o|NLi)@(M&w`BZ6At*>uSM<9wffT9p*Y*3u{+x`T z?VZz6%!k?DGo`3s9A?AfQYmVt&)6bGZA&hVwuh_>vq4*Fuq()Sy1NhQ^RwwpuqG&O z=;{x;i&9LTzHfgsDt>b9@Q4Ykc6J9t#W0sGG^nSfXy^@!Yl9ICZPN7UhEg%i%vqH! z4F-9i4RKc^TDAN6Ad5#$u4=a_DCA1{?qEfUBjN-6?(U#aIBD+Oxl$ZHea5&GZR{Ay z7W;x?*e!)#+?|Q0J)y()wL0Vy9Xg0^{NA9jy^wF_VjU>EW%@uF$esh$57pBLsvoIm zq?n$|_s$v06^gz2pm0fMPBHIi3mH4`ITbyeG!J*GA0McGqJE0L$1c7ULdrL{=W|@n zrq*=RmLOli+!uN6uIrAC>%4`{^CoNxhI090)A~Yhm~L88>Mb;N<`#Jq+BbAIwd4c) z*rt_!F<9iypF3}1)7%A3^X7W<7c828%B;By=FUaKrcJ?c$i9Tjv*wO`XwPa`{Exid?^+_4eL5;Ai^%Zf|iR`eV9ZoZxQ%17XtqtZ`am`0HEOuPRS@Uh~`uExBwF+uhVTGK9GlgPp}W zLm5BJp6PY>`T0UnT(Y@yb<@IfI}Wuc$TzLZcIVPy=SAMauCO@ayr%YCkPeGY@whOg zAm0`G+47~9Tq#@3k1X=GZeFvYW8LyCt;;7!aTwYS2YC-G-%+$Hdg#`{pc#!z<>zbWjZPgAf|e_lEsUDe!u7d2hYHvo)Izc9Pq@G=4Q{6+TJT1@aBnt9 zP5${F&g9s(f6(vKRaz&(F?QK6%V~} zA-y8DlM^o$+@gS`!YqcH?ZyOqxRTA@W?aJtJC!kgMm!=f*g2F5yThVKo+v~si@pj& zL3h|QVxLjbKgMu%)dG(C1DXEPp6j`Wb}ZqLH<0TOy{-_?!=HI9Qi%Ticubg-9no5M zsaQQOv>WxY!r`D73>4hhviMRAhj3%OOCiQ_^s0Ow9FPtRU=i-OUn=GxErTKS*@6c!eKw#U$U*RV`0&kV&dlPKsL7{>sFAX!f$O*2BTTO$Vb|dN^x8#R=T^q zt$q>vK2-F2AfQ1SHyzua8z}AF?e}BC*v?{(&jPRHb3=X(*AI)vTB1$x@|VE@$>7V*BKkO|q7SnE5FQX_vN`lNik;78LrD2-NW|WU(v}H_a>abmg$DSF zHW(`QDC%s&x!_>v4lA8{O*;N_9T<}%gdWNEf*Gke9E)SNe!3}_&5T52E{=c`EMElHY=zr_M11-KbUQm5 zWj=s$4u&yK>}!~IBgp!LxVzvFWBvk>7|u~s zM(mmoMj;;%*5M#G2*bcu*wRdh+kqYS?nXy$v9VEBrJ)ySTdLae#*!zS%-V!$=1N8K z#b7X)!xSTqq4Zu-;+*qVFgfru+5+g>j2jhOJ0Xh%8bdFQItIZ#Zm_T&L(o6CcaVHo zme>HhKvThI+m$Q~<+8N9U?@M2-yqh_{JR(|!Mer0#vg#WE3qdc0H_x7 zZPZohK|eSZjVn&-Pg-pa4mCW%b%-gB2HrY~pEK;<^7d9K769_X?%?joD4{VI46PmS zkGZ4C+L{$Ka)bWPaIiG!^@KqNYK+|vmVk;N^fBy$Sb_hDJ}4!554-ATIHbAUo%NU# z*gb>6$Hv-9B@lv@X_z+1Zr%qzs6<`ERxNV={lH;_SL|&jg+EzmEEkxkxFg4>7W?u6 z#+2`cN0Tj54ri=(%V-rUmJy@y(%=qu3NeedO`dYMdNq*vkPqE#EhQh*m`;eV8cq>yH%t8tVoe|)s5MuPev49CCgs4;%*o;}NXgZLC!E$%lRfjxf{d9i- zJX0#G0<_+2EgCTEdF$7CIqPzJeRzhSAz~Q;%VV#~VwQ%s%~_BIBgk>U=!ZikIHlM^ zjH;9em>^4RsOS=If!!f+H@k|2kmztW;KP80SiQbukJu$i)4{-K!Poszoak|q9ciN3 z$QIq194s)d9Z~)ntT5^qhjTCixNxR}oSB?&4M;lZ@nI=r98vIk@_?J^d0%F*j=*_0c-|iiU(F;bvw_lfJQWe z?N~R@Lq}A#U9dqT32g3#n9&3!9e4~WG-rcib4RXw0O1n4pztmMWFQV~NN2Fix6YMy zZ2Ra#Qe`lrfEHi?0`nbVp^vvj1H+$~%}pI)FLX?vYq3UD%q*K#^oT z8wkJ!pdGl8i(n8azs~Ua zzaOK+O|@AOKdy4s->8M6RX7sj$y}kHZKsoLsjaD=hg0G;gSKt>6|xpa~Pp8k$4Od3$%` zgZoEhWbvp!V80NxCia!8;goWy2to#}R`gbGSno#8$ON@Kg_TkWj9ty&>49KxNOi*V@NjQMTJC^4Tl8s0_I{sBol$hg>j?_B2Pw&?ae?wa7$kr z#S#zZzzz0J7}D4`oti+S0-zAKIsr#;0r^nt6JeO}m|qR~#VKF;Em{j;y zX+RmOWx`2tg1h22ln$!zwMSl4qK5F)ZEajIc<+!1JT?kz;S0KiDWo^aDd7UZx^?)h z!L;EXm`6KZ@XbD5H&N*}o(&8bW3@IPP8c>Y`aZcGDnCqPJ1afsB=B^6dp_(!@EGxt zss;$l`J*=UG~3|-m=h==TEU9gOfz=cdWfENA&C{|mkmE4G%ho?Q59zy=cYO1s7$~# zXn|N~x^EF$$COVQM`zO83<1;;IHcZ;zgFtb=G8Pq;i$FdUWLxHJ8BUkA_e&f9xcLj zR_2muP}w;0FZdx8JMs{vAy$AsZfY85I+W#PHug(-GIPh74BQyN@@OjVOEeLmAaN!6 zKKcRU-9Ox)?Tu&Vz#Q`!tXxc2U}xMByejJRYIgu`HEdkm1Qrf$;@fAh%em0ZB9G}A z%W|{5O>hd}tl37hJ?5$K=X~%+(>jE!oFB2;@6W`|*_z0m5eT$)eg@lbbF4>KpBvWY zcMrr22bfk45jJ~lVlPL0I3{$lZ)`(~OJYU^o4VNP5VqQe=m9mrxD<6-Sj)tekV-BF znEDT%dAv2auyGMQp{2EMLSkW$NR$S*B4#S=)bwq@Zitu_;ld8W!K3odbpyv@?-5c2 zAPC`e+ep}=Hh2|St$x@cXcK5J@LpjsfEW&eZ4n)Y>j?W)O74T3fw0pc&ESa;3P?Z# zQJEUB>}(?kc9+oV1lR(!8fDr6%i;pvSSy4LGHxr;XhGSc+Rd`Ajy0iBR}uOR3W(^W zEA{gkRR$INKxIbbjXSOF#2;PQ`!KnQiJU>70oOSZ^sr8OI>Jk>bDiD~S!T`e2hw;~P_MH?9rYFY`9NOOR2Gsl;! zh708zpwl>yRqZr)2>T?UHDt7!Xb<7)*$Ixb0%b+n#VoB?z@R~-mA9fF_&V@lpaE!p zkkT9QAk?E-&vlEb)bG=%r_h$o!KpLIv&Ey&Eq0{)MRf-7qr8~$#L^fNj zUU)T0X{naWNK(e>;Z+5uwKI>fC$tZQ5uiSb{M+D3!G^1t=LrXgGS+{CW`K5E*u21+ zPU;Uj@AQ+oJsUaz;`dx*Ws+_Pv^XLQjKnaTYEggO5mQvrGL&q8z|4R}{qW#ie@^+$ zS&tA$h=-S1?tcNSr)~+cJ=ow9^63fNHw{DWmg0aN!pQsJ)^o>|r*WO0q}SIbOy`dy zOt}K4(95 zGK3VY+dr_k-9Kz!$we1pMn^X@6V|mM5-Re_95o+mGtFRh$Zi$84j_Q!oU-Vql9iUo zbg?~jaiYm9Tp(2F?8xQQO`Hirxg{77SX#%xPI$prLs2X1tU>H7-nI3x)4XL%T(G*ix!Id`*)+RH(Otl!=zL4-Xx@j)hq4S1{K=EE5%{3mNuu8X zpI$lf9(7AyJM6{%!j*~cF97zB_@azofiTc+s@*f2zOM-OpuYt9 za@WvsVZ;gf0A&n}FVQ296R%O|0M1kbukwHb+(6vAx{5F24!8}#TVpb^2yMZkrwydu z#Xcb1x94WG&n8;_~yHnA=r$fB@oCHS@%4uV{^xjvFtfIKcO31pT!+7p`$3 zMu>BwBtsNVw@yWpVu*YSdo6*BQ{z-xPf+acLtO?F!7f^11>JeHnDM-F5)9iz9RPJf zuEQP7gOy<0vsf?2zpamfdycNijw2@uOw4+fh@FtH0}IC`8@V(yo6)6XRzi)r0<|dA?Q`=9 z>#f^jxeD>MaTp70F$Ilak%;QE?9TEQ*a|{22nX77)vQRuia{phg^Z9Q*TuN)5P@{! zAV;gTqKdUjHo5{FnWi$s1Au`jG+xdn7hFm$_HB|aTDr+*%&cpUN}S#RC6ciCX>WkF zSqK!3Wyk7;MC5i0;eZunmh#vRU|E=Ma1}hv^$z9mg()6J%{aCw9Ljk5afK2TR5m>) zk2oVzL3}_WZb2IUMGn1ejl3_k|l5#_lOtHJ$54^a?&*Vlpvm7}2OwgZDxZEbm)&yDGNOum-C(tajdk z!#T6P-dr3Sny~@++NBZMiXg?>D~le}sE?uEvjQZAP441BE{(Aor8%r>fXyis2sB-U zi5yiGT6D%1d1e=sUbasM%rP(;M%Oft`VAL@vmUFBmc=$6Txl~|?d@^NhYbnG&Z*0{ z_OhG~E9~sDbv6JAAY1?h-gK0K5*@Ix0sbHyZ^k{b&~cYOV178{1^~Xu2kegNlB}%+ za5fHFrlLRI;QGT2afSe0X3AJ%+O$HF_u7sPrmG4L-|pgtSi59CZVoPh?_qefbk@B* zXXT2P*nLT`7vVEg7d?2~`5kuKa>K9XNtmV$0XPNcMV&i02Q>%-B}@gKGhXg`FOHX2 zL5|JoW{x^ZurR&_fMj#d<%y9i*o-lJyJ6UkzT6HQXLCQycMaT4q8Kl6Is`nO!m#BppdoP}U%4%zcUcG|BRuWXzFDzUM zL4-M?H^P#I|3k6DNkB=-x*~)It(iC7OB&Wu;ECo~UY=EH6l_>9Xz$lRyGlf+K2 z;tF{=R9v}C3v}E*QCM3H#JV7&;f3ulslX(!J+90}%mS;zj z%oj#??CN+&c~2I;b1V;#3S567Mg*)bhRT8WN3X(ilg;7--C95l!!*deDT}w@KbFhO zfcmL&?Ol+*qK`-je3hiXD3s3?inD?Qrexxz4OO-Mg}vBRExFlYE&8W+5RC3)0JQax zo?xd>&(pFziwy7|N5V(5{@INOo~^}O+n0B=w6@ycB7f=E?W{Q<=C^KSIo}9w&HDpf z2f9VwA|_R3lq`EY;|5n?nh1Wf#Cg<$wglgBGhyvp+ykISSV+av3zl#t1y|uH_7w># zI|pzWFg8R7b{9WH2!xDc*@V-yO)NUM52iV_F5$5;9%ouL!q*l}M0n%)7?S%QTiDna zc#d!(YH@5!d6rRO26Q|N>!3TaiZfd=DnLCltPQ5oMMx^z>}aDhYc!q;iF3J53)aBX z9XMw~=Yw)ER4&w>6T>oq9t7f$;zZkROqNAqC>-dqu+oOYi2zscuOfmv&&BiOy|GzJ z`mzKpyyU!QOqkh_HT$iP_`miv6=hUB83W1m)@@kf%5rTG(z$xY81*$*Hv}Jmd%+hW zf*weG(P!FoJy2+WDcY3DD-gtVuD;cyF+js*nw1mFo?BAOfnBkt8LJVsg0E&PJHf38 zYcM;yb1-A|BbM`|wtygg?`{qu7yvG|`pt4ltaQ-qfR(Vqp-VC0ycNG8?GcUg)(X}c zE9T?a88gkhiG<40i(SL~yDVgL~r`Moxc zV}%`SLql4Xs6)aE0UK9g%mQSnY>Q89-i|Et&T+L;2ih@_T&aqj(nnQZtc+M3xgTu= z%^4|OYJmz>6pfC!GH8yo1Ge0G+|j*;a)Y?kAmX)GDK{9?vbhtS93OfJ3s5aK`jKJj zx&^ai{au7OQOh2Vq9uo4IThF5Dxz|^&*^2kLPb^V?L`Hn7KxLU6K^gqoCI5(Rv~oA zpYs#~S2|-Af8;cBVQuIRLvj_DxN)4|)HtyzG~8csDrt@0U2F=Cm+Viajwv$3PJ`WY zy>LGhO-k#&V!xVnyh^iCm{j2SSYgFV; z#T7*{N`m1x4z}5Aw_#DBtEkuzI5mh*f?}OFwn5LLaW+6OV9)i?xR9eL7=c|zcg}AF zE5x(%)}xFN^>8@E062wphmz_CkJ@8t1L(7&%*ryMbG!n{6lrkW!}fRAJjGh{bJp)ZPr?$oE5AOz2Fk_c;Kq42fC-l zECBBg=AJR(s2dbTQ0tCj&Lu<|;%;W3pPBo~@m5s{_n;P?PVeLmTrJ1v7Pl~Noa+Kw zv_ZLDom?C1>@%*g5~J-Xj=;|-&xUr%ouPvAwJE`Ug9ynvigE{N+J%5e*40S1c5JZg z5g*1$lA;*mrAe>>cl%Y3M`!`cgJs8v5!wVxvx_gp`42#b@*|nu4XH)oTJV8bz{Ie- ztfvicfrFTmjWVpqSEQc^g&A?+a+er)wyA+B6}cwpe72w$Ro!NFattC0nMdW@V1l@x znGo-)GZ2x#!!RZ@j5g#PH$DvJ%VBcrXm|-(cr`e+$De_rQG4P16!-JIBzwWrJJBgJ zD+dUXz>O(o`2`b;Ga6X-g;nf`=m)B@VdE|TS05w8q%lV8OyeqUttyIeMVbFmQAFjf zNg#5(qKM{K4dg<{j5TBnUQ6IMTWQS*te>JZz2X&-#cSycP(G9tRQF+V z3FuI`j(ojCDnq^7`?`Fbn9lZ~<`{AXvA~hEObHN_Y6(Zufn6wit?izl#?fCyKdCoL zT?qOhcW2{Y@Q>i3VF1o6!-kF-WTCqc+3mPS5zmf_Af0x`%%1H;tO_?(BnvAKB*YdS z)qp$(N-b+6?Z{!{PiR7DZAf6%Y*21R#z4`J3xzYxH;}=Sq7nx>%g%>U@2F5VJ%}Xj zL#5eN^1$baV(~lSruAGATL=d2QP`>>#*QC`U`vc4Dilw^8rlJ<%gA8R_ow^DJbqLN zfQlgKH5e~vMR6Ty7}sruQGAgBa9d%7`;TaYq`^PqzEoB891}?jyy9^RcFut8#WkJC z3Ibw*4F<7{No}VK&yUyhx;8dt(4h<`A%id@m}bZW z!r4pf3Bs?yzM~h%))xLp*Wnq_zz_P!0NC7&JtAQrVDD&#^Xvr1MwjO|&*QN&ufrXm z?6$BL(Z(pdcWU!#*4QA%06w-}8x8)i$`i9I5S#vTsW*aONyRL@a4KqT z0z0)RtsSNHVaei&bDAzC$!X%kuuZCSnmEXYY0ljrltrMD=kr_`0DA@NhApRubjp6w zYh309gU9MWB8c*BYu$ocXFsx1aSa)KSRUr_$2mX|h2oq-iv#@_ciX0Ted9nJ^aR9$ z3kS0_I!;%N&Sit%$bm&$$e0V`vqqlt=V5% zmDSt2Z~6#vD_7P6Fm20h?3UuxFAuuf499p6@$6F&WC^#!(O61I-xT3D-~`T}knL4V zk><7$y2J{sylTX6u7qiyY9t;#ppZH!U(N4hA_I}jwEuS@Y^-{G@-Bqz{(}eDENR3v=Pde{i4`bf=p+iWycEMihLCt&aR`Bd??ss%MD zJfaM~N6LUW1OvjTv2^nptxfV{Op7rIWe+0*KDq;9``DE^u)H0LUf-0w{S3;?^u6aFs6n(cO3Y{>)PhfE@Qio^0F= zFv_0v#}ikMXLce*3YU!aP+8{0C{lPF)CPmrC`m#ULLAvcH*abin*p59m=ywh)K&Y> z0MZiijX032=nYb1mv8?#=t7(*FT*M;BMuVXVeLmX^jYMs9L^y%2wfkK=hah$T@(%! zvJz8ADGSEitC-?H7~7mmAF7;pa@93f`z4{V$R3@#1!_2cQCD;^F8y)0xvhz{U7T*5 z&KMo*;~8Lc#T3>@1md)43l;leu2jg3;HXa26dN2RrV&1d|2xQ*O{{dXMS9sB6m^?D zVHCSk&>MU=fz=*11?KqiB)bCu#;zzJ@=C0ZuwG2Ww#P-jEs9#9i*Q_gtZVH0iGfHC zjt<@;1O)^Gg-S5&rL$1B_Va&xjYQ?SG8PUZ5RlY#N5a>UjU5FA?sBEy*stnfH5&O(cmI(fJxvU{}SsKQ{h0Q;5L z5Hve_bNMT_#)i!ty1>P$op^l_6vhYu4Kz86!ssw3RXK^+H)A-?vx|k;280u<15U8g zZr|U**j4kZo#u+zFyUOf!;4?@nXc-)qf=c?%NbTos>j?sEHB5(i$SR9Fe@H64~87e zFdVW7CDBY3lc)o6G;ugtUG4Vc1=-xi}=1shY z6Yt2Ww+Iz)x;VV@C7Z5bt5U7&g5G?>#^GqAu!~+@^IpDM6b~lQ}Cu? zU*M&b;%L705`Wd>1(kU9B|dxc?O0sFJ1a%q%+CmQKO4$E*9f0A_!i23p={Gf@Vy?t zW@kMhYE13rOD0d04-eJuT>1$ikDb4$c2e!5qE3E%)}-18MBN?Y0RCKi@%)dY*_VcD zFRtBrTJ5oi*IvBz*oif--z^&VTqSD$b-BB@Zc<%zZ(a4h_q_6*WK65YL=5j@p)sLD zWw$sI)0r#-aU3Qy4I`W*L$OE>h-ES(R?9)LPG&`i%!%{lkk}?K5#2H`24n#(gs8>L zGWdTGZQMdk;cRiG@$;g7D;A^S`uVtDW{8s^Z|*me7q&|{lkjWJ$=r@3{TZ2QGC zG1oCIMU5=rF#_$2@s=ENup3F^?O3NTipI4wYs`d>nYHGCj+u4lz>b;q=Ae$5hiY>$ zJ{!#;_?%!4#peNLB0di^2A>C+6h03&hvD-Ob2vT^HAmocqB#(I(!RK5v8K3javG`nSj>G3Nb38s*8V{eV%oKdCHYeb7jX4pYZRR9=ZZId~bCa2h z&ki#UpIgjye4cA&;4^Jz;xjO_@Y!Q#BDuz#Nph`OOmdxBLUMyyN^+xF zM)Fp37Rha9Imzv21=mXi6kA%`nLCCQq%lH|;7BtzzQl1t3nNQTYZNp_e!NG><;Ai2W4 zljJJ%E|ROwyGgD!?;*L)yqDw_b0^8IW;e;5=6xi)&HG8-XYL|-zqy;_1LgxH_n3P~ zK4d;fa-X@EACs&yKOtFdeoC^&{ETFi`8i34d6uNp{DNe&`6bCV^DC0`&96x= zFux(W&^$+Sk@+u@?dG>6UFLTr-RAcsY4hJCf%yYTpZOz6X#PafZ~ja&V4f#=o%svN zW#+FWSDL?(>@qKq++hAra-(^XNP1UF zP9VKIB@ZC|KuR7+dQVCoMEc>BJec$&DR~I#r&97z(od)4MAEOMq#^xkN~TC3Ny)=V zA5F=_NxznoN02_2l1Gw$HzkiEeLN*6kv^G{N0UC4lE;w#C?zM8K9iEilKv_sk0bqc zN*+)8o0RlOpG(Opq<>7w6G;D*k|&b>B_&TH{cB2|O!~K!oJ#saN=_sFdrD3xeK93x zkp43zXOh00lCwzvoszRjUrEU(&>EGJ&7?IcIft}1CFhdXrQ|%)`jnhc+K`e9NDofQ zQ%Da<$x}&9N}fiVO3Bkn4@=2~q=%>E8Kg(0fM!(p*YzB^^%5ZKOL=@_f?Kl)QlS(v-ZA^vaaHh;&yPPiD$)Z@f@E12hlA4D&~ln#9Z-; zm?!JRe0hLaAdNUhP7%~fWomeGr0@8k)SR>yf&X#wJR{3FZj{KxpD?bPH{jgXszb4w` zcfU|#UVTFp)b~VDJuOP==VDkrCw8bmik<2OF{1t@Mr&%s zr8N`8>uM&7%W94im)9IGuBe$RuB>SiyJ}7mudg{%yrE`=xT>aATwT*H-dJ<4xTfYJ zacxZ?uB*w2H`Nrxn`=hJTWWTR>uatRH`LrHZmhXo+*I>!adXXG;+C5G#H}@-5O1w{ zP~2AYWpR7WqvCBf-xhDLc|zP#^JDRjnqP`{*8EPqtLAy}?wWsy_td;1-dkHQ?yNmX z?5;gbys!2c@&4Kq#9g&B#ND-X#RqCn7x&aI6(6i!CGM?VCq7i$A?~Z)CO%y2i;vXy ziI3Li#K&rf#m8$e6Zh9%B|cI6X7S0|Tg0bo?+~A^y;D3;dyn``?MKCDYdto?%c zT78e-mG+eOY|9PKiBrjbd-zq2iIc zBgLb2$BD1ioh%-!n=QUxw?KTOZjtzA-E#4*y0gW%>o$n*)NK*pt-DY>UY8c%s~ZsC zugi-c)QyNI>aG+|)?Fi>s=Gn_uV6+f-}lK5HO zBjV?E-xAN({XqPp?iumRx?hN2)%{ldy6(^7H+3(H=j#3~{;R%D{I>o;@w@tz_n)q}567hWfO7WNawc@Y!o5bJhw~80)FBX5V?-eiBXT?A2 zOX8*a*NK1Dzd^iQ|0eOT`kTf7)ZZcgUB6qrQhzVp?fa#ye^9FWhhxkmq1o~@skt@|7c|~1FKoO`UIZ_?1U;+dukQ^02eZ3#sB~S diff --git a/pgjdbc/src/main/resources/org/postgresql/translation/messages_tr.class b/pgjdbc/src/main/resources/org/postgresql/translation/messages_tr.class deleted file mode 100644 index 484f59b1b544992907e83c7f51d331262fd68e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26974 zcmbt+2Y_8g+4jtAn+-K{2@puap`>Rw*)&o}V6!QNRI&+>KnQpDp6p)smgSZt8wiMk zSm+1}0udFX0!l!lLI8CGC^-rho4fcApi5soOABk62$M1a^Ai7&Y3gitUZ&;cTE1V)E42K8mLJseLt1`V%PY0KO3SOYyhh7w zwY*Nt>$SW=%a3Szqn0;m`B5!Drsd6A-lFBlwY*i!+qAr0%bi+&Ld!d}{G^tj((=<< z-l^qhwA`iTXSMvCmY>)1E-mlY@*XX}pyd~}yjRQJTHdGS{aSuW%LlaFqve;i{EC)e z)$&0tAJTHKmJe(Bh?b9P`86%SuH`qh?A3CgmXB%qxRy_7`AsdqrR9@aKBeWiwR~F3 zXS94)%kOCUT`j+-<@dGxftJr{`Mj1t)bdAK{#eVOX!(McKh^R@Eq|uv&$ax8mcP{U zB`sgp@>g2^TFc*P`CBc2r{(Xp{DYQ%)bf9{d_~JYY5Bie{#nbvX!)v^uW9+ZmTzeJ zS1tdh<=?gZhnD};@?ToMspVT*{#(npwGvuMt&~<(T2*URqgAa|by{hy>a`l8)d5-^ zsMSGQ9jw(MS{x@NX?3ht z$7yxERwrmRTB|Wyjn!(LR^zprpw&dJCTZ26RijpuwVI+;lU7r;nx@rst!8L7Q>zoT znx)ljt>$PoSF4k>ny1x#txneJ6s?-ITA)>nRtvRSq}5`rmS}aVR!g-yO{-;EE!S#= zRx7nyrPXS!PSd|Vu zRu^h@kybmjx>&1Aw0e(LmumH1t=^~AWm;XX)%&%&LaPsG^+ByZq}7MDx>BpFw7OcW zYqYvntLwD7UaK3l`iNFHYIT!VAJyt(THUPGEn0nCt6R0YO{?3r+Nsqiw7Ns9Piplk ztv;>QomzcHt6f@sR;$lx^?9xC(&}!l?$PQCT76Ngd$roF)qPssuho~ddO)i^T76lo zuW0pEtsd0sA+7dm^{`ftX!WR8U(@RAT75&SUaj_N^_W(VYxRUy-_+_`T0L2(o~l#d zmg2yrxtw2U$s~(KzbHjbDcP3srAVB;{QTsW72i^oNe<9Yu(+4bS87DjK9P$t!g{pZ!bwPX57I3#>c*L?eK^p zi?+4<-KBIsSFBS{OHtS1mzMcG7~1f0!42h7Ix~4uuAKD?NjAh?^=P#^S@3gs)QCRq z*7(JIxzO$}D04)7K(f8vFBVUjGG&Ss!^VvtbfWdGJ-Je+UrM)2p-*bh1k)bUYWrH8 z<`Ny6MK{R~zqqMXXyjrYD9@Ff4wUD~7=XmF*+S(gR zg&}MF?tG!tu%g(JPBknjcN81e=I3}rRXfEg4O6ByG)?iQ zPMb4z`ot;Irc6P@hBf|{G&_yjO_|*=Wk$oaCU0ufoarY{oH7;dmM4p)hPA;Y@`X9x zLVrsko%NRV-nw#O@2wlWlT!AJQ#!EXnLNb8rJ&B>>O`xxzLp^c6uju zcVI~{`i2fa=Vwk??Ut$a^yPhTo8w`EE0(TURGD^DQq4`$+YmMuuO z`5CXNaav;&ep#LOQ|VGeIDu&Fm7iMjgvSD0&x8*#WL!;`i?2UT^n` z{43{oW&DEsZS>ks-`kA+KqsBv=5nr`;=td$bkQs4x^nrgIrKY@-&ES=b6v%BPd-=n z+S1_cte^F}N|=@+n=_SqxXxh}l3RxI~|`Lt701izoKz}?@2>9NVOWKS;H z<+bkHo!hs2^S<3dvr!yodmehmjW1a$`PuFgMg%$Hii}y1+_w{&1}ovEFhht%+G|Tb zwli7Sx4XD+_jWIzNtMy?%$9P2LZ0dIAW><~)=zoK%_Xb|#MSe2DKEd-{t3A+XG*Pp zsnPS+=gVGuGMCGjKr$ITBjcC+HTkXM#(SJDdOqW^+sj@u=S8=9MJ!M|SQua8&qC7c z!WUVLl6%#si?(thnM!)SyD*D=y9-IKDmE;a-j0r!wj^_7$CkWu(f2MW`-L7a>z6w7 zsUk+1EP175m+vKmUy4@Gdf39Gx4PhWL!qTwOOV+t=8V2h8}Oxv6~yog9c8abM#6e| zNsKZ0uBUeoBqR%lNqb%841NHwC9_EmZ1M`MPr4iTM{_QETd^8m!7r5yT-dfAyOeg= zxMNzYeNZV`NMdvC%Cw~m*f8wm_Dr(Uj|Xj>E~GQ5H11lwIAl<}_GHBdZ)F}&;RbnI zAs^8LvA7t5=WpuKq6wmJK(}!3@Bt_`a*Se?#g#%AePCV zlGlZ0hFBKT=pobPzN_3i-N{s@oXvT;B!K|2HCWrT>0!_ zozl6KySLc8w^Rn>fxEr7a;A(<`8V#VKNWiri1GpZ?(K$D1fRyh9+mR#`Hbfm3i$#g ztraGbDhRr_++7jy8Ma{;8iMDOkZ3er1tu$J!IlL)Ez3y{l=n@|UJC@4PDLaKc9tn0 zdI-`n31cl`&Q7jNfDhZ4a0o<$lw^{vp25 zg}i|O+M&<(+b8rV^iH}PU6v?X5Wp;!uP50JF$NFPO{-QeUmvQeHa}obs>hZ^kL~ofV?T0~-GTSyDe%!##*U?ZNcsDArXSmB z#SmP(U5ewEuUZgkP1rst%FWoOqF01KmptgACOm5_TeUfL+_7&r#3z}8q^7;5g^(=n zQD)!no_s-y!zp@&92gr`+p6M#E5>au_&zi%xsf6dIR-~qR@_ag#X~YYf55P;7lnw6o@+ zu}|gwqBStil0dH|VGRO~TGY$IOu(h* z*ZdQf7sCPj91UkHG~k2yG%*X_*QfEgAVt5hg-nUD+UJDJ(b~EkV;J6Arm6Mt2}>Hx z7!C@R{_!msTRv+g7izn^i0NUF7;Dgnbs#46-h@4&D0)6P6#s$ov#|28dtr~cY|!PU zfkjT|;0oFufxqbfv|jAJe)L{f!-)gNp9m15-<8q9w1`XzCq1EKDh`j=g1( z8D|sD7~X2SP=XKV^tsmsam@uop&9@)a~-Uw5F32>EINp%?ay{un?)w#5;W~_HY_x4 zG-lk1rYYO(Kgj=7ShW@J(yF1`$+k~eJMengi<2s<;GnvA*zT)fRNSI*qQbSLeS zS}TWb=>gwlp>ImbOunOtIZbP&A%KB#U%^~B`L@;)+z0_rcf-wew$3Uw+%;ldE@G_s zb_Tj_L}hMnuiXN}Mq@T`;6sPm4h>(S$3)CY=61Pn8$l`_J7pIR;nqC3iP{p1%zg+Y znbVnUZ-_)0&U+CS49uDCN_%m+cJ3$cXk46zc1~}nu7}mAh_7`#t*_uyDqUbQ2RAGW zqLFM8W(+nbumjv3xWLZ!#VR@rfG12rCo8EW0_Pg)!}@q_J|qZYT=j7-*fu22zA~QS{-Ob z>#!!vrF=tsKAXk!vjCUKWX-Yf+UT-o;j-cZ=qYc}rI^}u&l$TY3?SGQMGA_%R4#f8 z7A;x2a+22pr4@*w{RW$ug&UcoLkd&WCzv3^*f}_7cuW+cles-;sUWDucG6lnM;XJO z0Pu@82ph8pjN-J~V>{uBr2`iOA-&~XE{qlK(4+_2pc8IXOdq(9F^w?A-ZY3t=-ms! z8dN15=GYSxC3j-zc`zaj@Uk-ep8|YK_#K7N5u&RuMO)x?1T*(rfxtI5^65(UVC^k4IUTXZ@4-mnQ^tP5M}+8v z3HI$Q2Zk^nwK<<0e3(U0#lVKn#p)l06OaZ_km7*|#HAPf%(^i0C0(smE*C%g~wE}6vgPiWOGy1?+>&BSqIQ?NO3nqVS{ zs9|A}TYv;2WTOi_h&(k7Do>TW@|iM3no$|8fb+s81azTF&{l{_$;Yiso>ct7l8eJi3x zL@W>z=!0SzK@NT1e7gjA75z59+o53Ia*TO1gE4>*R%3xxGC{1@j+KPv z4MJGDb`yfFYX=HLUo~yjROHlh*pBfDNQ@7;*D|MNN6gPEFz|#!JKRpeGY5v#4d6Ek zNUO{52|x$B&NhV*C|DbT@QZwrSX!Sudh%Tu;9;T9w6@|reR$bAh2-WOHhdsM&uYegaXZo(gko6h z3cLR&ex6qGUPI&`OA6JBo#5J&fw0HGGU7qu=n5g z9oan0VbQ9^&ceIE%UV3k@z`P)Y|%8cmBYA4;>qjhj%#%{!dWGaYe?7lLDA%|Eo z0c-JZE{gM{Et*uZZGnu3jZdds2XSD5*chgkf`%*>x8@6}hBk-{@V+wEBZsVuO;<$V zPT0z7W;je+(kbhZEeiriC=kF0n6f3fLWurifK@Wm{ckCg-y$VhG0 zo(GU!?1qm-CFATQZA_zeRbW@9?0|N%$P7a9c~EVWJck;U&f@2(_}m>p#P*A65MN|Z z2<3!8v_qrvfn&y}SAKD7nV#GK*Aq85hoX?rAd%34fT6uB8de-YY4q5{{%ohi+4ULz z!1+mW?y1S`7$8iEvmt#DpRl_KQ2akUpm8nn(bf4pFsfL5L{*>65b)`Nd_ef3)Xfa1 zTmTLYxM@2WCJ15}&GZF9j%&%J!PiT3o2fGcgsMM?G0`;wEKzAR7RD*63#AJ@BmgPOPxTgi4IO_CV&|tLGAf+1`)Y~j==VSEn%-ZtXhjnc?c6b4Lo(< zy^&tSYLxN>h9R%U|7bJPNxoyhu3l*MC>u)&F^ z`f$mMP<&Wi20xP{Ztlw^R77wLy+DYNLfHSE5#Ko1YQU{a*A@_QSWQbeDjrc`P2lYi zhKNPLT&G!$(`-nB{5AN?sdGB;%UopV;xWQaSW+0u?NGutnaBIKK>yQA2VUWP9p#1Y~5hJF%;qWp+gY*faAutL0JqKJ6^qK?AN*ufbP*cp2nQ?Xoj)8N*=6dKE zzyN=>ZC!3G+q;*az~rz+#1t40XDT*v>{tuL!$m5jHW3=g7qSqfO)e!^3_}SlI)NMK zThd_KbW)=QSx;NIpe1xhBZkB(LInWo$Kx)ua+ht#LQtnsBcXpd>hJta*r~KN`+$P6 zd+@^H*gF5d(X$VYTvz7P zIh0H`8@mB7l2Gwu2=bUOBIbaE2wGzGv8)#93>iPJE^SzmEEE7ayt}9Zs1bpmD6BYn zA(6BQR6?D^{-cWCJwRRIB0^cjf{IbaG63ORYBClS0KL_kG4X(?NhheNKBk?a$_ zBlX?T4JK!_M3vDP(28zoTGg+~fbf3cJu{guLOO4Jw*T1JNXV zTMs!1&OOKi^+C$-VQ#jafO_99V@?V7lX5XD3O51NF^SqItaVrdnRW#cr%{psQl_ zA=4bQVIOT`FTi@h)%{t?daorovWzR|ySu1%?NbL}z4Vv+@o%3F-bGq1OsNHNjtx$t zl9&p>&iHfyly)K`nOL5zCz*lQu-#(o);F?{8X(8sy)YGU4kM7=!Sa2PJEY&4KMH_+ z_o0vg306U%|XI3VUKc?(yq2;88+LfN1aZXTH3){$WUXAWq@ zaE%OyfO31fXOQ3?TaFu#it{2;mA5Skq80*5({?a5 z<`nrB6W>}uk{FyC_cQ2~vQtKX=y-PAi?C0yAstvX37djg0B)$Q@NiKp{3&b(0|4CH zxWO;vZGNf(EL*&WZc9*D6D%#Nsc^%jR#$Bkt+#bsFw@W}wpAD|{fXuc&CnbJD^{#N z%uz|uE{A3p?I)j#csN#t(&e|=3Kdv>>Olws(;pV(3kqdEM6V}i5KyQG9*V2@$kB(; zmtp;#uZ=ZGGsj(V%Lj^5JalBJ1+!1toVsyRJW6YI-!hcEdSQ@=b;f7lSb$=}TSHX~ zbYCS;L|DNV3D_Sial-)F{;vo0ykquOW@TL3(IL`I4WgQaK7}i8|1=^?sw=ogliGR6{K&1x-I+MRzURd6`dP2wXw-- zUcJ<7wQ1i7#3%+Cf*Fl7Esl_7ZVVb8U?KVNsmjD?9ReWFxriP;9$SY7GYY`UG7eM; z^s@`mIPknnyWnf4>WP2A)3!h4U~z!jW#f~e@SPNZ*y|^|T9CY|a5Sj#$IU1RQ0>hR$NeBZ&|Lv&^QJ`oaOD0i8N$BA6BUlmJ2d<}{k6NI${jbUVWOws?RZj1bVIRlSUG5#PSEtBaygI<%2LOCNtfD7h3HY>(pgl) zZBF~ZQ{EZWLHW}FSZCQHNK*ja*!s_Y0FR5v0?THV^nP(3ECOp*i94W*x__lrx(JJC ztBfLfE3#QV*C_rxh6Rd@Ep7FF}MJH$BiIgT(cz{Jxz9q*iU5 zP4RRxQt8>|IDyo{bB1!pxNOtF9f(TWklXaTY^nLkmI{s-mV`skLKgxcrzpm1%7CW8 zv&2Jf86-o03vRiiM%OYH`IcZnFOLVb$4v) zY)dxsTWAC@4fY%cF;j+j%HJJ!L%v$N8ughh(1b;VA}hD${F3uy>;qh0K5`TL4YJtY ziAAjx(uMWj4x4F|@<=j>O{V0cYzmWtP=^3;>CVQLb9~gcV1*$R6rL@^a-fqPE?Ex& zNT8DJkog(x1lDMWWAoTfa7YGob=56EQM!Xatjsc$wY zRuT`uN_ZlHoAjylK8V=pm4;4bxTZ zj6)v0V2DBh&&L)`1B69R(DmvR7wU1N=fu;nRuuXvt{Y#3TPeZ&UBQ91C~IPp`sE|CvQ)E z3qZNM|`EZHIA!&<``jK|vH*)j-Woc5U}}L3W5Gu#1Rn1gEUgfg7!c!d33=eOQk;sV>6ccBClYLh zK|GJ(HkWJ9=nWXD%W4rSov@$b^~qndww~Z9lUn_r>(Z8Od0^=o#`BI*;FY%wcG7BK zY1jYhu+_!^hpilDkn3oNu8fy@g|cMv!T7PQcRX`7Z-3>?s2_&LcA*z`6-XIoneSlU z$9@^O45!7oo(Bjau!EkLA;1kg3bV?*>iX-n?t@Ics&bUf(Y-Z zSk@9?7L$wCz`}F@LW~bR=>up%w)^BP1_!hvyVG8A5Uo2y zh|N}tVu%RZ0D`7*-uK-8P*wk@ppJ%4>lXU*Av%Q^3eE!#f5N+l6X1da2ml-n+Mrm@ zTZ(y=Ad-c>feVJp6>Iykz}(g}@Swcy6gUI&is;Vfa;;O!y~PbatWNRc~Z6fpZD>k!%FMBIr8Z^zoe z8Dx4enMFFU%UX5TSRvrEICVBwGK*mx5rukdP@{pAXk1;AYccd#<7q31ym9#M>yiZwK|axTQbL%@{+3nLhv zCJhd{V&dZ+f5snA&Uw>F z<3aK}Lew}GiA9x2`vao^l-rZo^DZPLenvbpw2pe%b);B>N{j!p803Yi{5}4RE0b>u5k#{^I>vWy*l%+DN(ETpp93)SUJVQfQuez$o=D z&9m(nd4Gsc}r z(l{6EEY|bI3gR5HK*Q0~-?9Y*=##VwEgJYf#tVI-;n1s%=VSiUvn?zM{%Xy)clo8o zI47A0K5r|osPJtGrqwrnO2EJ_fPvr-yF(*m2XtWd9a!5Qdvgea1+AyWlx2|M1YpbB z;xO?@J=!P73ua!-A6-nsnif`t3|c75^VI zlD7tS7)g2S-%RrO){}r$#;^CG(ic*H22IynYZkO@wY333+lfKwQoQ!oYl>PzI4!pEDAun5>9qCD!$9s@|RCV$u_?%<^WGCRVvnVv*#5jkx)+;Jak$)8X)+{VaBV0S|#e$)p{TZ zsMKKC50w&(>9+k~B^Y5|H3+O&C>pEv2w9(?Lp&J$KY$ML+e7t?@H+qa}yD_;{>0YhTTSgiO)=qB;yH_+E`a4qgYZntlQ2ve`1{{y-b7f7)=|_RZw2h20;k_;yB?kF(h`db}DU8_g9Wwq*$~X>l}j#awHp&W8p^#V*@IUq#EyK=VgQO=u%qZn$EFt_7W7Mz8RtruQcPR}wHJsz zFnF5g0Bqu_Sq+IVSgyhngGT3UJMHLl|JHR6y+pp*q>BKyea{eYSYw@b_Jy25zEVwr zgFbeDh<;T(X(>)#6(X#*P63M>0t~jQCaiO@HaJ{m#<`Vx_R?UAI+E!=8k=Pr&$PpN1WXkQ{5Xwt;``fE|n~ZI%0p6;uK097$jIjs%yuw*w~F6S-RUgc5qfm}f0; zB?(+)_RUOm5JU#$u|X%X^X);ldSVQW0&@`g?t~j*YZ>s;j3D3$y@v@ERZ}WMN~myc zgn{REgurmvxUo-o)GtlUVfN>lKAE=uxnAB7F-mwgaNIl9c;QSC98VcP|D_^~0GUJL0kt zm3Y$XM0*e;%HE$}l!bwnJFJKO7<8hYIkP-j4hZ^d4T@ z5tYOqu+WxC1>16Pa}Uav_?EEXi}~-UrttQv{^v;hvtY-vJZh4xMx+~yRKLw>5;3Jc z3UykLBM-3|)LFq8<&vF%AcK2D$%h}?SI32{yK+@n$!=i_o70D0Z|6A=I+>M2)egF` zhOi=ju!@UUtvR!KjeAWHwy$;Hy*3j+$vQ(|ZF&!oQ0RopZ8oz6h%=20lsk0X7JvU! zyi1mVq3$y%F;5pUs8Id8;$7gFv<2?NSmuDYu#U~Si(VT>knEyU%s+6UVI=eb^lC88 z-bbN_?@Jw{c@$wl|;@Q&aAfUmKop43$@PS8tntpO7P` z&Z!<={e-BI_f8yMy+_pCEDqq;)#pvU7tKE0U435lwwcu_iQ4s8jJkWH z2V=$X;B9DlJ|5A3-M%Dr|E5=9j2Vo?t=kCOFP@3H_G>AsFjoH4G9PZqA;yiQ{(7v_ z!=irKgeo(nbwaf{pmjo>Ik0ttHV3s%I8>X1ajiFp;5x({it7PpD6YmBTod+sq)FiK z;pQ-0k21q>J=z?O>j-lMt|QHnxO!$duE(0Aa6Q2sjq7ML0@o>KB(6@IRV$jW;Cu#%otoxGh=aGX2#*V+>FO{g_(fsN;47HRb~>d z8%zVPXPZV`&oPs6-Dt1pnJM@?X_|0NnW?z?W*V-W&2(Hl%nV#JW+tv#b0V(YW)`j& znAx}%%p6>cW-hMV%}KakXy)O1k(rO{4s$ZD7n@UXy~H%PP8ce#Gz& zHj7AZHH%4ZGfPNrH>Z;9G)qZ7V@@O4WtNeA-Yh4%%d8;zl37XefLTTIpjl1wkU5>? z8)gkjuW2QD+^i*e!mK0tra6P;TjorXC(T(TPnq>3-!U6VzH81V`H4A)l?jAWI$nPj!Oh2(VeaguY)tt1=GZ6uxMc9OK&Ns=+2 zAjz6LNVb?yl591fBDu(Xnq-H$ljLgi8Io(vE|P1_XGyLzpCh^6e4gY6a~H`+%-tk6 zntMoYF<&70xcMT#{m+bCB<u@|<~+8LlCkDbB;(Bgl8iThCYfOVLNd|3N;2KNMl!>^PBPQH zL2{z`E6FVLHhrf08UP{~~EIZ;~uFZ;>o9|0X%ryiKw+0S6fLw1kwT z%MwzNo|TYQr0Wy1n)IB6tRdZ)khP@eC1f3GG9fi-Dk1AheY*#0b3zW`$Bu+NfV49q z4BP#Hj;iXAt#f5KOv`({wN`vNPnD=Q%Qf8kkd$io{-Z?f02+gNPn4- zGf7`c$P-ClPRLoLze~v3q`yzdIi!C`$ho9{OvsZ+Uroq)q^~99eA3qw@?_FC67m$% zeAwy=S)@lM)<{&7uCo(-?9R@C8t2MP_(v|b!8hKQrZ0peJE zGgcfV8pOe3nm9zv7Ke(H(PEJ>Vwp&Y)5T%pOfgJs#2xM82$2>?io6&u%Hk+-A$qt} zj1X7AF~3TT5;urr#LdDJJJIW%;y7`aI9}`)Cx|bL(c)n-M)cxI-xA}*vtqn>PD~Il zh>7BtVv_hRp8kqx6t9WN;vZs)cw02d8ZlKKAg0NoV!Av+%#b6+OnJOGQH~e0rTn^BCBG?F%V)*u@_DgFz6g)}S7NRFqgW?j6=%qQ zh%=QCXQ?`|UL7npsA1x4HA0-Dju#u%1aYov5}VX4ah^I^B-LWkrdEh{wN|9m*}_+C zVzWw%4%IC>)mD*K7mM@N<)TYnDKhE?kyW>doVr8g)n`Sw`l7f%?GXj_uqdj1qNJV@ zW%WI=Mg3T8RlgA1)Ne(P`jgnM-Vhh6H^oI&Rbofg5OHzUP;p7sk>Wj7$B0X-#)$V; zHHi0BO&6C{%@vndEfDXoS}LxnS}i_Mb*A`W)w$wBRlfLeRYqJ{RTNiMZ5LNpT`I1r z`hd8$>Kbuf)lK61s@ud3Ri73gsk%$tSaqMcsp_lZqg7uMAFFyo++6jHxTWej@$ssk zid(B*7PnRXLEK*T7qPSI@8T0xZ;LysYsDw44-%iMK1_VN`e<=y^>N}e)#Jsk>M7#0 z)hCM2RnHfnuU;hXs$MScu5K0gRBsSps7{J6R(FbftMg)a^%iko^$u}=^=0Bq)gKlQ zR9`RlRNpMVT>T00mFivMtJPl+4^}@Q9;)6e_Ez_bhpV3yk5qqGJX-xD@wMuoi?3Jz zMtr0C713M$y4Y9!FY#E75|7u^izjLh72m8mLVT-clz6gcw0Np!lK6JbH1TxJ9Pvy| zvv{`VRPmjfRpPrfXNd3BY!u(GNr@lSbcyF`3gY>i9`VDP_lO_WTp@m3bG7(M&5h!P znp?$BYd$4jtogk7SAv z*K3!FH)_|2zt*l7f2%!D{JpkA{G&D}{#jcV|Ej%6yjlA`@mB4J#J_8=6K~gk459W; zDQiC?RqYpKRqY;GUHgcvseN45);=TaYM+<7_Ghxb_BV1!?VscUwSScd*1jbVs;iL) z*BvAesT(E_ts5za){T~?u0ba1X2`?p=E-4oi{#;TE94P%>*SGj8|CmiUmjJLl}Fc= z<%qf+a%A1*a#Y<_@|e0CrB`>GJhtvmd0gE+^7y(3HtK`qWIaqy(IaJ(9xbQp202a7kkj=%IYTd!GxZ92 zqFyIw>5X!>_T?O%m2-7jo}_okdHQlWUtc9p);G#i^lh?P-zgX9dt{4#KrYk|%SHMz zxmZ6fm+0r@srp5^RR3C@reBfE^c!-yeoL;XuaPV350b0uhso9TBjxG!qve|V2H9Fa zL$0l#C)d?4l4sPfkZ0DflV{a$lYB^*LXIK10>R@-`2tw+AyP1|4p9@{FIIey`y73I0>Te1fMB*x!?~AK1=XN z1b|@Cw0a3qD8ixq?3-_&mYq3%)?`g@P{F8B_?pB8+l;JXBWM)2K& z?-Bf2!S@QjPw@SM9}xVY;8lWG3w}uO!-5|X{HWm134ToQzwu^@3Z1#{`cH zo)El2@IMItN5TIj_jA3z%c0rBlt&ME&+f zC7yuSZ{BJ~#!Y?DER1m0HLK}(*%@Eyewd>5Ei((vvWPDj2)E>a<*a3~8M(tO2W#!K z>=&XDpTE~FfoQ22@=!;-)e61FdqQRaQ*}72-vl!pjD`x$;Zfp0yWl1pW32Q4C5&_!&4qEnUX&?m-ed-`!oAX z8}?WBw>JE5{F^rXTmE;>dIUqoy~={&NO8yvKjiNf33&oxzv8{u*@JZHgO~X~+VFq! z?>M`-@ey#wIDdD1C`g-{Gs>HDml+CU2L>49_2>n6jy7%|F+ATG5%NtpLq`AHzO5&i zWx-G+XH2-*=gk=&Ee_{Q3=S|_j~_QNCqHB=E^y3VWa{Bf$`t%#n7ybI9-)K)bk~7g>S}-)gXqbB-wrO*G zIflucvWGG?;A+LYu30mepaWqu{U|>e z4MalacyimQvBT2eYYD>gX}$qQG*W~KIlCd>69@z&Mxn>=M-wPC{S$&SCY5<{FyX9h zV@8P?FoFRCLTUH{VKWplLctlioDHb2S(cc4%G$Iiwzk^Zu_eCYiP)Oz*s_Dx!gcjE zi>;L>t;&7PjQC~69M0~fUB+M}Dk1Zss2Pr!UZV_HFe4c9=1ld3@zE2-qyeac5|y6D z)M&&A1XI0?8J@6F779-Hc}*`E8XDWQ%v!wNdTLMNnc1;JbLvl>iLc&cRn3oYo87Q? zX`*WO*C&_OpPCX~@m{I5@L zP#>?xMs@3k)tg07rjn)`(kZrXTkOc1h6T$KRdr4GM9pv&Bq0D5f=C-BV1KHK-7WM7 zv0SX6W5!eK_~Ce6Wn#xZYu=HDbqCbj9fo_n#&nNAY8pkskP(425vv9m?gNH9(1|Rn z!a>9j)mdAXSQRHTA9opvwP9N$K^&wn;`8`@51YnlPpH_`AZQF5KZ-NMTDaNTy~J9& zw(&E=+Ic8(bQfo%CWfK`eJVz<$net;MouMzf42T1t>5pZ(7K0m8+ zt#x`G1jAZ+%386^nzP3`us%NLL{>qvZ#JgGllbmxHP;Qp0)`n1;Xs0gh0#z5!_Fwd zPGgag2z1womZ|9r3Pu}+spH3lofBs^Vl@UmNSxUcuRRl6cg(6>8DG7%Vf9mqswy@7 z)!}Hk%nW#YLF!<6paGH0z2&TLY{MLD_NFYmUv@8R{<3)8?s(mSEd5HhRlNc0No}GU zHirbK2*;>oG2)qK(z%)HjMVw5520dAsdguq`dbT5Stl#?4%OFG)Yt5-uUU=riEUb> zKUyc(00h(oogvInZ$fVpxsL{z!ot2^%xa zkO{zvL_+~c)zoq&M?lL^IkxVa*w$T%svY$ww^&RsSZveF!OUk#)< z7jSFofJ{dN=FBo+6=o(m@<$ZlW^&^(lDu@%Tr_On(y#-nxRn%AaTl*!72C2&joF1T z-xCUXfDHk!Ia478ARQVBb5{(*s7|0u!}{l7LgGhv;ItCQ<|WQ7NF1!ODytGp=UN+& zCQl<1D?O2jSy~n`B0kdTV3f4^%8Vnjsy8R9)-+U{hJGnl`b`RuzesXf1YQh<46t|} zC8ah(&T$jPZUGRuM-*P8Ar0ESgD= z6};UB9%Ad4laMdpYHi$RRh>*MINI>+A#3rT_?{(JZDm8nw%EcIN%ev~JPx^uE#9T2 zwEpxGYv)?U=8zwAP(2O!!En6k_)HD-;iOUz`Y}fcV{FZv8$Y@Y8`iL(GDG1>P$2j4 zs>$5L+kjD_Bf*MO@{JW=oBD9pDWsebwU)M{0x+09uTkXp6o<8hwI^&?vyfzT-MZMe z1)0zCCZ(lbgZhjRY$Z-C)5?+H(9x2g0!~I))$=pWSXO4=Y-|2g*1TOdTeYiF7_Sd3 z1L^yXG$Vy2MwrZUX*3)GoERS4-ot@ch7%LR(7ajUQNqKaAdLcLv-^Sfca>T66A65mlw84JYT#(;BYT3d33z zPho8h>yDmp#C7)!5W~Etaecmn210PQrHjCIPZj3 zlZ~)|frd_&klJZG`fCpe3Qi7!xQUp)l zn`?l7NIw28MW|)?ebY>MR|+STNeD-Rs;>YJoctN9C+%#rt|n1E0c1BjVQv2o^14>@?G{z@~!A8|rcQ>dc(f!cb=j!qd? zkUwfvrpmlSe$Mi00?ri+;WZO(9aslIAXos_&pnkwGHh6E|6$t?gU+fT1GsA~ooB7s zr$1V?t5PF0Y@AO5wYn-+c~pOi06?M5F+%H26;@46V)twUyaOw!L-ip#lj`|Kf201? zGVoxJd0;*CR!0#Ti-@0Gi}CPYYG#a@#?8W@KUx|%kA=$wPTe_$n>WR_Rf2=_n?9^W zcfiI6K-@9%TgiCFMk3*SI4Ek-!w? zRKitD9(^y`mD}$cgBaZ7D-EmQ3TD-oLIsItDg~oP?n=F_r>o&>A%Bnt8ifjaSVL{N zF$$q?2vSTOse#J@vKdh^;{ApVtK)T>Rfpzcv}+XdLvrAULbjU87$AgHAx63n#Ii}= zU}(xyLP+6@ln_p+NHtJcZsd;}n?Gs7lnJ*C8!=_v*wK@d!U*RhsC_H+O`HR{egR|Lq={+#ftpN$ z@7rxwH)H5vFo;xDZf>s8?a^+^6SLofM1j=_O}2z$`GZeeD;KLlHFN<*ZDen5P~BaJ zw2I^YseA&ma*zme%u=}n!&5|d8%8gc(g{I{DTf7qx|6qgWDTZ`&)c0korVRAW2;XS za3=E$YMu_62sjZgQdr}lE!J0OA{(hjGS8Eg=PARCeC!SdHw7uNAuY3a)|<+rsZE5a zhstMxdgZ>NT{UHxmQEQhQz@tYgr}Cl6Iys zd9rgVmz81d?rs*U^%;^^gj~!26Q@U<1E&c!S1fM~)hm{t1FA1m$PoZ?0L7Fkv5#NE z$~Mg1LoULpl=aHG*9--b8$h}iXH>5ANJW$sG$A#L1S;S@MDc45#r)eAB&z1)Uu)q$ zSWfsZU>X@NJZji@O#46ax+l~jv`aCf;)Jug(B6Mi@NPVp;F&Yc!YJ8u1w2SzsqikmqJW(-6?6O(UervcBfVH1U3fVd9jIF7+@aRS#tJ6I^RNGxe5fsfRjQ> z<-ollyQykrJyotQ^Eu&SS;$xFK}Te1={IL zrrE=Ge){^{8 zH=UxVR7T~ThV}Dw2`ag+#O^0z+fLS>c*dZmBo@z6=hj{spEOt4?o2gmQytiFC5gRKEqEntdtv)aQMdm!(a5dche_n-h^-Q><@SU0lN+H{;YGjc^3KTp@e!q9HUUcZ zo)tH(Sgts~b`0{fL9Y@I8@3yH?W8m|vMG^Ot8UJD?@o^!6<8uORQfJb5&{k<>lU<_ zjKYOoU8!9PqX=H>YfxI*n^Cy<5g`lBoD5qqc$elw7PUy7&Cpt&OwHk}%5V$9G{^y^ zUKoRFi*|Y$#fI9|X@FAijv$#&1?N99`;qFON`MTq(Jz_%w-z8yZ=CyACrlt2tEfXu z9*A8j>Xn2967!4z_}oS8-dL87tQ!?<(-rKDanw>3QZ+hPXf@=O{6@0S`ct|p)ueQ0 zZQO`6O_k2{$BZNHn=VfzZ*0Hh__==#vI0>L0c26b7wZ%)WI>#2T)9d0}cj>;AHch6r zwST0;0kxBK)ggmF6P~&ztxLIc?aX1dm6SZ-b0`J;IkT@9K4>ot~7X7U(}ULGNTOpWX^KdGG@!xQNF(MfW7=b zPNgKN5kQgQN#T?FV8atBNK?^M#wRU$>SG2zwZ5AYlXf_G5e)6wp-=AlB2t~qP1_1$ zz|P`o@YfInSKsK3y53$4jf{LUB0US?wR@p6rRTh+)c5?5b&e2x6@)jLNpIxxs*ti2 z=t9mEmHf3kE9@X##Xhm#QMoh4?8sqvfVzeG)ZV zFclS3R$loVYFAJ)Ql168?vmgP1SiS6OnKT-PUeYJ{w(ri^8<;~tKct?8=nzEDX7Lg zxC@o8(%F~5k|7sf(e4cJ%z)x5`0AeWB~bJFPq9UJEo2(aY<|fI=zs!2OwwJVYg#?+ zk|Cp_qdRi31+ah-W=te=l~%? zcQDiumHNE6o~kF$cmvXwHujm=h3go&PCyaL>JwJw`piex>MANiAKDVD*sT~+l~?!uuQco3`SA9pr{84YRXB%ks*X8aZ6!3T?^D;uN{j# zy@&O6yY$sSY+7d8P)VjX=2}10yzi64arPa=RMol}gOFch7ES{j$mUSURf5}M#CMUe zI7*Hh@mE$nrDUoHw@w2^D8cCaC%!dqEiEA zMCW_d1Uh!o3x{krVlrG zz6JWmDrTR>er)Z6`nqGf1Zy4K5nFgXzK?Dmjv7yZy}1IA5{M+{7=t1-z}6IBNg!_xf-yrU+aO+t{qg@Di> ziS=?ET^iO1(oji<%BdKeW@~cgfFu*HOxQ>d07rf*a_<417#&qGPML|qAj*i8>PvdC z1pA0LQ))u`o*qO)on2j7eFFYIagNo^ME z`r1}k;!Hx;}bbhbg3VI z<^d{uryL6{Z`!>iTUS$qJgpA>@DaBt>2G>v*ciLUnZBN+ZV)xSP^0hDG*{-#v&)?7 zra|Vtn)4Mqdt`*q`u-k_o8Rl1>ht>mw-7|SMx<7ZGwnqQh^=&SHJ!RJkho}2IaGX& zI(sU~uOxBQxzW9Grtkj-?YJ|olYi%d_RPGX;^sQiiy~aSS3yHcA0d1MjZuBchwz=W zPF+h&_twgnQZZUsG9c9{@nj&Xuuk9e)He;`T&o)BvCvzPEOcSIQE*0^ zJ^&Mo!3P3;9ib+cBVW8$i>rNsAbDRgBUBwZGPyjJHlwBG7%62?8NFl~L;2P-fI!I$ zlgeR;n8juYOr;01y-ht-rlP<-A&9J5jnqn_YL_l@B(vg25z(kkA3H9I3d+0BMxTdxCwU;o1hE5v|T##)kYE0XDvHUWsyvwB(`v8{=m-k z;0F0gnIkFYE=kHiWsU5zC8oGEB>>vMV5O>i-e`4eT;DuTSFWh)On3hw!p)R!hGyQf z(>5L0rw{c%R&~_0*+2RhF}N|Keg&g`^n*>z_%RRe9;P3S@u4mmC{FfB{fY>`-+>2T zqJOD`pDp2PeG7GO55Fk7H1kJEdJ6_---}2rYxIxiZy@~;ss(8P{r2ce{gb9tME zv9H+I48P!ESJJP9@K+1`jh_mk{RW>pg5n20%-#Jsa~x6~zqLCt{1B0|zq5ZZhwAz& zKDWTLK#yb0DP4~Z?$DNZDs#;oa+vXsc>`SST|Z}TUfrX;>lkxC#V(+)T@U0{quVuQ zt_NH*Z*X;I<4Pzw|Cp`y3c-h_YZHUcpAyt;_t7Rz=AHu zVlKyWI$$YRV=>*pVK4AHfc=vVW#6%p?0Ytv{SPZ(|6=#Bf3thp4-CJmV$(QB55`bwPKRyr7`_#VuqTv@PX@XodU<+E(%+ zv~A?YXfKp)(OxVi+P1PCS}89<+fH7J_6m6!+V=8twAacj&~}#X(RPtnqPRj+Q;M|w2#Zd1>M`S#c~LdC2}Z{C*{pVR>@&RR?Fc; z*2sJ!JLCu=Ps>|~?3E*l?31?=IVf)xg_LPZIf^JVoSVd78*4@(htr-FJBTgHj>lnEj^vVllH z`3EA`%RdqsApb;Up!~0b?nf9;*=Oe#7Khbn!CK;fZD4KMvR1H%tzphDV4d+zHoFk^ z@F(ngb`cv0YdH)(Ze@~_*;$_2+%qP5eeSfDdK^`3N?M z-@yj+32X?T%!cv@*v-6{4dVeeoJUzce}s+TbJ;C?F&oKOvRnCjb{pTyM)7CZ?fd|{ zgCAw1c^wk0L&+g=(vI*Q`1^iEJBL6F!#J^*AIXJu9A=o{Ri`Znx zW$a!@M|Pj13;U^~2m6^LkKOOMiA{0b%pP#u$~=y-Y^q}tD|Gync^!q!bUet491pQ# z$4pk@c%1nh^Vx%rWo(*bHS;?*vQozm7H~Yvf{tod<~YtCa-3!%$15!Cc!Nb8zh+U# zM{K&|b2h_~U^5+GvvS9`>|w{h*es`uJ>tB8J?fO~F=u=BxYJ-2&TeeBGndVAUeD$_ z2eBud`D~u^b~fL6CtKjWhb?qYVT+taY_YSHEpbNJQs*qT%sGcGcP?U;&J}Eha~)d= znR(K=i>-3*XRDn@*cxXoTkCv*t#kf@t#`i7o^rm&HaI_F8=duRlk<;kv-2-(i}Rms ztBbL1u9j@O>nCi7>r(c#s{`BV>dbbzy0d3oeb{bSf40Xpls)Sj$@aR&uzjwHY`^P1 zcEB~29d!9vm8*^JT(`>p$7 z_MUq-d*8i~ec-NSAG+7FkKCKt@7z1t$L@XX6Zc{Esrv-`z599g8NAca-EXlk+`naC zx<6+1?k}0;{sW7-|IFgo$b`KWOtLh`}Mz~cc=fI|MSj#TTD2#-dS)dco)Gh5&TlYFBAN7!LJa!tKe4(ewEX2Ej> zzeVuDf)5dVsNll{zg6(zf{ze9PwZqNVRp8tijPWe8c8OZaxf+#Z4zS8|LMaSD_6`ExskKY$;&;QC<`(iV6mst+hx~5q# zghL*0)@{CUsTpulN4(Vmy~eu&rVmqfYu0aq8T5w(h31GbaYPfi3Jc9(uvd0=HfNWn zrMJ1z4h7}DP>C7x6mlj87kaH_cPvn2jq<21D#b9aVlz1Pk&>wsCuh=rbz*;Jf9b^j z%Kp}g|BZjsiGR!g&RIWypg60{9}E=-%;3Y`tWdz^3wjmrS~<%rbu< zlrbh)>~Uv|2p0!4Ci-)Yj^oEo%*YFvii?bqu8^5)nL8f}xCw*3$feT%&2;{^-VMVjGsG z<(0VnQ#}2RyTbl-V=&rG{mre#r7n**v(R5U6tDY=!`RM@iKeSG*O*vhrY>rvIm7h& z%Sv&=26gyPqhNt!^2gkk+@JxO*&Xxzz7Ph;m{?wh)rQPjp{z2m%j3JnC@gUWf@WyQ zq=}<41||E^Vv5W_#%;brzZ)u$YYdv^33a?TW4zyVdqNp;o^y@766iqCOg_r15uzs2_*9eD-Fe7I-=DB=6f5<3wdA(?Sg{F6cf99kzH%=y)mTt@} zF@1*LXFw_qk1uEjLPo$pGn2F2hT5ved1oUVYoenmFDvG9b~kM^1|wMsm=A}|V90bEWdMVj{(w7Unk$Hpt}rI`K^K&)^f#u3 zLx#_v=w-}w1&y+Re}>0xy1~$}hBI~1ja89#HH|yxL=VqxIQv{|WliMZ!q~PmO}p1L z?qBltnaYN<3!`ff>Mt8=cSbkviB>OfsNbNtx?rRkf?VVpv$G!qLN)F_8asCA>oe=s z$E&eXefnVaW)ZZhr1ggMh|S*`J-VuCQB~uCiq?CgX1EHX;DZi9ri~J?Kh4DM7JB_y zE>_Sz9oVkt70{W)m%3Y_Zem&fCKRt7KQ@> z3_G&~JB>w#LQq~KT&AWkC>U)NCXOEy_H3#+g4G!GpsC{7*va+Lb#r6u&cs%3ZmK-k zxM#Z>{_0>jSZ4a%S&%xI9%w))b#FNv7+t?NGG}9&)h|6Oval+4>P)PzGEKjd9yzog z>q%^)8a9IjrwGTWWHIELZqm7#>WtL+sSkl-OsRG!lln&%osFES);rWtTM?;P)=;|= z=M&wyM1PE&SruJXt0w3PVTO7We3Qr}gtbUXp%Pi_fzfz&Nwj){7FZ>%TF6N220W$) zN^8cc+iwPy9umvow%ma9#hFxHHIu1_*>L)F!`W4IYDxAkDbVNx%T*9kRtVE@c11#t zjQEo{0Ax-qfozZW`=LZBib`ti^1`6G%Uh^(-=>On*rL|2w58iwW5V8$2P$Jsz&U$E z1!gE{%rpZg04Ed<_#jo&%9R`eEd%A)x@)4FcQo$a7MXiAvSCwX`+Axx@vhpr%f>=h z+QROuffVNgZY>><>9Eh7RR*lW%p^zNkOJIPZd^v3mmZpnre`)aZCM`OxS14LaThzj zJi2M48nYK+zAF%L0ULa7bCyC1Ksq!M_O2L~QJp}qrghK4gv5?*!)Z01SkN@*$;O() zk?Mo7gYzRBtKz4Tij}TV$Sf@j86gkpv_DMRd}YcJMb@rq+`Y4@q8|FCSh;?Zj~qsl z%Odb%C}e=eb15kWT9LI2mcuBO!h(fdUVkxR)e!7i?C9y(@x$?NjfUF&(Ixe?or@1? zOwdNKY3nA)bXt7ObT#di0)MF)g2e_V_`<=k%d3n)0ye--p(`BJXyw+P6tPIYiZR}6 z!Ybk@$g2W_kVP}@vVylez(aKHlO*I%ZjNl&5;^o_3t%}twgW5J#Y>6&j z9#^l*#=Xl(ZnhlOQrb|zEV6yIVsq$^IjH^y9AS9gbbO`;`e0nC2mhEOgfWgRm=`;? z1%T1Cs5(XANl+m7aI4AO!`pySp(DYH6Y`A}Uz_;Q>=Y7Ch+0eMd>;&^$88jOUBy8y zVO4A4ay?m)yGvMU=)sU(P)#0;PkRV``UH(& z2!4Yr;GPQO3Ad*dM=~|2B15=;t^n*fc@*RfYTWKUHPkArGfoLFV$s@Rtd(_OAgH5Fk_^L`adqFl<g2?i{3B5{;(6nJ83DnAi(duLROSt|DXHF1KZ>)&a);8{3Mo_nZIdwR6 zn1X>ri;O`=!`UkEV2!zdE%a8$4=Ia?ovgul2}UAydogMfF$?|PaH;P+wk;Jhb>{?P z-W=UG9~_+D=wT(g8ze9VF0Uqa!THDIinuk@jur&`in#qF7n4L+x$%ne>&E&mn1PR3 z=qd6*o+z|P>J{k`TvhTPYxYMDthW@v3N2_87wn20IHg9r92o)?jRB`!ZU}UOh3-1a zLihNi=6qyL@&&_XWZA$#GQ!bnt^gy!k>w`zfzUM69?_0tf+_9hk_1%FiF*ni?tp)9 zz11mlx~_45BBtw>U^w4b77iibL?M2H>uZx-r#^4a`h9ui^ZP$_SE=Qr9d`X&7tsm|lcE=QT8`m>-Ay{-iyyBuY$i-muu`1N)5O zZTgHVnc$V(^dkDNMg?C2?RVTAJ$R{0;w zN!*n(LgV5^SUK=JvK)z&jcIww!O~lgrbQP~XLQ3cq(ju!+}C1V6wRp}a+^2@a{7G6 zxJeU}_yaYW1h2Qx>^{b@Az%1dJ&14u;4BA9Yd%0#JZ_H)Rpvsvwn;K9tu)^vm2Il8j2?L!873>yQE^6b7|-w_a}1gHAR(Kom*jqi zL;ehMS)rY!s25?vkyvWuqCFH5Z>wwEQ`JzX@{V=eqia`0Yqlarwlwy1T@2B2Tt8DX ze`@LrTO3ZO=Ew400x`*Tr*xf0Q&LUKomOcR*cf={#U{#NfO+I)$=MI+ObdDCDi90; zP6{cB1NVaLrYe*5S6RB$=Y)%80Z*w5G2L`jt&F08zf@14-pGU!X>UZuDLI(~DA{Wi zXs0ipU=LcE=^HX{R9;{yxiD^(6DJ`$OY%~EP{TPeDCv@5Taap}MC{6Kl)coZDY*~S znMy=RsWzP69;w~~iyU211skG8KzlKbTWbhC$hNK|=VD_;)12Dqibc^S6)M4ax~b~8 zc0kZgC+8`NQ9Z9|^=GuCU#S)O*~VCZ8q& zJDGqVp8!gQ6Y>1Jjy*M+nikN;Q5FS4Br=UO)ZYl@hRn`+tQo3~#5|2Pry~oOT25>t z5Kba#^PV?U$-j0; z5X{GptyeFoVXsWul7xjz>{<7M^E)3s5nQAQB}58Qt*%_C?3)fPvdBqF2!M*y_8_GO zSFNFzPCRXVQm%CxEyFU&@MVx-Mu1B}7g!qtz6fhwg)tdMXJ2m@3LPy! zo=&uUZB=L>uGN7IPxhrj%aRcXDq&@2z+2wm04Z^m1&wmV7e14ah4P9(2qd^DHF|Gq zYBpNA2!=r;7>UIGXMv3nz3AMUhEto7d4(FHo@N=W<@SR!*N&(BOYGIKB3KmkMe1yZ*7A624rf({3lOG3 z4k-1)7*tiX63ZJlMHelJD~=_QBT42H!TFEOekA%Q5+H*$`Xv$|kwtZ_v;OLYDgPF$ zJ=;77k`;#p67!S*_}t~|Y%EJh)-6i4$=Y?wIBJ^|Qnff&Xf@=O{6@0S`ctwV)v9O~ z*{}g;nkbs-k10nyFj<(0U)F#HrUV~y7{D~_wc8AODD9Ve%$D17Xpx1ZsHrVp9@}sL znw@gYH)E5if=v|$gej=1qcB?Pr$)&>LPS-!gax6AnpOLUool;vwO>b6u?@A6L$K=P zr0RiFpyA4Rz7t6u%CdM(UoiqwEo4{H3RFrSIi2Y7IZdlhM(TE24{sz9vog3kc%@`Z zB6N(0?0MtHPcaAs)pY^Vt-ehuRpc=1(dSmIT`CboHp?n|lc zcv@TMv~@V3c9JeRr0|EFu?f{syNf-%RDW*8Q}4KZ=n94#Lax0Tn0YepI)#S;u1m;@ zp}RuJBFmpbZr8#D3z_D}2ZUwR0i|+RAo_5>>Ap#(FGJ@5R>PBn*I!qghRhy_igHP6lwqArGiNPjwsalk>$?uv z%m3q4N|IUt6d9fbKB*5DJduL57CmKrlA@vNtKb0N2JXVUb`1MQ+mz|N(0XiS?37BS3r2zk zfiC1sQL$gUGcNc+GgA}r=Ht>tFGZi(XNkfoBF3SHV}`gfD@b*MEvF`f4H5XlC(CMnDG?2x9d3`hr$} zYvg9Pl2Drlh(m~4T}bL<;chiuNW!7CxR6B0>~SlWN5@%4>K<3IQo#(i)}5i86CEIg z==Oy=qEe3=H&gZGDQ`g9lE%IncFlPb7YQgrS$V4Qz|z!5k(CFj2z_{8v|^WHNL5~~ z`+cnpHSRlM5+hM_P1@w-O(-?Wt;18*s?Z-s>4KsjB&aDT2}gzyn#3)E>2x7bgS~bv za`YZHoZg`?1!B`u(}qeiwK3QFq2_&`9FFF<4--}EHVi^uiCH)uY#^IMAy*0Ri4osL zp5ib$YQ$ez@zj!OE?hYE6`=&9Z=QI3h2Ah$LCz>bqO|dU|V$YiP&DcbC^G#0Q;E=KuYYyk;an;BUKgA1IGbR z*!)QK(o|oJGCJ`pt>z)R=|ptbGM$9e_@g_h^B6qFrUP?0j=FEriQW5Wy< zx)87gae3M`%fLCHvQH^AEdyi-bX-gNu9AwxBre6&RmWd#+_MQWEZvX5J8IH7Bm~J@ z2nhX=STD!XC1H&q4V84LoQkn&wpLdTNHXEd1dZeXaO9^U_wLh)(fopO%1jjcQAVUx zU)+Nw*hjpXP!rPk-RHlF)S09q~XPtxD?%J4B(jWc;MN!=Z4eW6C*r)jIq znWM{`Rv49XujYKk&VDK3v%a|p=f5hl;OJXHO*gl_ch$8{J!G`u=aw9$B`|O8%W2+Eep_iks_5FN$#IUIh&aeT484 zG=}vhABFGnyg{ZsZNQ<15t%_`i7^zV+iM3-7rCH>N3XTq7RCN?t*xs z3)AJp8EyRlH^Y`{3vETHRY#Cz(c-Ev5MaYC=}l&_MvaOuPo>RhX&FXB8B|6uUdB+q z^-Lg8{HmmK7(!;T830qsfh=!R50$DYa8C##YgZz*(zyGGE^=6|+^S=UXw;^U9T!Ih zW$F~5px#j!@avLaQj~O=Pt_8V;)R15HEzP>;S+SBm$pkszS<~KQXd5?i<} zzkhpjaD)7$)R7c(m&E0tvPM?f5>s4Cu&Zw*#*3Azd(LQeUtHfgPgbs|>P)x(A;N8x zZic1avePyl*ryNmKUQ_rwCO+k$1u1tqkaIRe(!@#O!*xTZXG5cjq#u^=_`)+Nc?~Z zKiz=`U!s4cgkLP-QhhshZx25vx-|9oNY;;!((gkgmNxoF^LGpV2C5xt0R8OfO8sl5 zHkiGI^*(s2;r}G_#3|xLi-IqbqB?7dziEDNoG5&I(}<)V)zXrXMbn^ zU^dnDReWxTXTE+Xm|Z#^AJVNe?@{KMHS`GM-E(psT^&DXPJXCgSH}tFT*oe;uN@EO z974Bi${Y_mX5HxMeyQWZq1`*%Mr>srUY^hF|EkyTI=ecpcb(1O-SxxU37$r=&iMN) zCa|E3v6#!ToNidk)mTg)aF_*NbJ;)HF!miA#lB~w+5fNt_AhoX`!~Cf{lM^pDmI;S z^kB?^m3@c*zDFOu5k1su8S8MGwVQ&?Xn!a%G3^-R^vb_5RLgxk#zf1mUBKfHct`JB zH+r4s#9CYQWOndF{|Ii2A4!K7H7D&P_USC^a93Zu>{!s(AulNCdvQD232l3MAzC4S zg0_Ra2yG{MG1?1dXS5efiMF%sf>z2)&~}lRqP;?1hPJD`9PPF83bZ|CSG2w4m1wV% zSD{Ul-O#4X?r1aR)o8QiHE46Bfp(zmfp)OG7VQw(6YWsh3+*s@9omtyH`?1|AGD)n z8rs`sI@@~1@Jmp>!&fqa0-hjJ>BkL80zK9MdWpUG)NK9_|=zL0JrUrLk6SF(u6*Rq(% zx3YxD-=&Ahck&@3-^=MBoJlVcE=!3xq>qSG`iTfxMx=v$m`Fz%Aaa2W5|J`Qq>Bs_ zxlGO=a=DyIPRc}^ZA^1M7mj3PJTe7z5I}fkRK80Ab&^X zV)-$V&hir?QhrLLi~K#2Zt^oC-R0**4EY6-9`Z{f*UAPWJ!OPQnv4=jmoXy!Wh0Rc z*+k@e`3E95$UhRvm46~~i~O&GzDF5P*k}7D7K7Dj$J*n6onUP`vktI_9bwKdU_J3o zI=c||@F(mBb`iS;)^a#{+|DE$!@9sGUc#oZOW9O*88h+Lban-Mm~~|{;UYZ7u440G zRhM9-YFO4)>>9R#8Eh*YiCyekwjZM(Wxd!bb{%_;^=7ZY^1jZ}*gKfkH}jiVE+4{f z;Un2#eis|UC$OP>3LC~BWViBSHk|v|2p(p6{82WN&ttdorEC;`irvoFvOD-@md|&x zJNbTg7eB^E^V4h$f02#lzhvY1uh@A0KD(QL$|mp#E8u@(6Zv1+B>o+{$Hv)Yn_&0a zE@D$`m$Cb7-P!%NUhJo~e(Yzq9QJ_iW;WG!D|^s(J9F8_vT3$StkCvT=C&0w)AkT6 zvOUa-ZL?U3?Fr_wEo2Ybs@QbfO6Ij~V5PQg%xBxp{I)}^%yyDJY^!Gh+bb++dxM2+ z@3OG%BR0eKIh$!~WV38vvvS+F>=E0)*lfFlJ!-#zJ!Y5eaeG(xgxz2j_C9QmJ(JC~ z-@xYC2ebM1Jhs4oCtGO0n=P{6%NE+J8b_4ZHL273eBX#XR7#{L(! z$^K8a*}>QrM|-x_@e{VqaVdM&(T#0)^kh36ec4XO0Jh69h}AfTvE7bQY>#6M+v}Lf z_Brln`yJER0f&bjbd<3}j+yMR<8gMxv49hch2qXW9MG>iSr2i)Om{i-uXQH4BqMI&bQbX z&fl^xogcFX=a($v`~!&*VdY}^k0w83foZ_tkL K0LgR4KmQ90YKG1L From ed1eab9ef70e499310f6730ce7ef0d5bf7bfb3ae Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 2 Jun 2018 17:45:23 +0300 Subject: [PATCH 148/427] chore: remove obsolete translations --- pgjdbc/pom.xml | 12 ++ .../java/org/postgresql/translation/bg.po | 77 --------- .../java/org/postgresql/translation/cs.po | 68 -------- .../java/org/postgresql/translation/de.po | 155 ------------------ .../java/org/postgresql/translation/es.po | 23 --- .../java/org/postgresql/translation/fr.po | 72 -------- .../java/org/postgresql/translation/it.po | 150 ----------------- .../java/org/postgresql/translation/ja.po | 149 ----------------- .../org/postgresql/translation/messages.pot | 2 +- .../java/org/postgresql/translation/nl.po | 60 ------- .../java/org/postgresql/translation/pl.po | 38 ----- .../java/org/postgresql/translation/pt_BR.po | 47 ------ .../java/org/postgresql/translation/ru.po | 26 --- .../java/org/postgresql/translation/sr.po | 73 --------- .../java/org/postgresql/translation/tr.po | 73 --------- .../java/org/postgresql/translation/zh_CN.po | 48 ------ .../java/org/postgresql/translation/zh_TW.po | 48 ------ 17 files changed, 13 insertions(+), 1108 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index abd6c0b494..dc44bc83ca 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -64,6 +64,18 @@ gettext + + remove_obsolete_translations + generate-resources + + attrib + + + + --no-obsolete + + + generate_pot_and_po_files generate-resources diff --git a/pgjdbc/src/main/java/org/postgresql/translation/bg.po b/pgjdbc/src/main/java/org/postgresql/translation/bg.po index 517fe69dec..8b83187c2c 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/bg.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/bg.po @@ -1718,80 +1718,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Евристичен commit или rollback не се поддържа. forget xid={0}" - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Многомерни низове не се поддържат за момента." - -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Автоматично генерирани ключове се поддържат за версии на сървъра след 8.2." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Връзката отказана: {0}." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Сървър версии преди 8.0 не поддържат savepoints." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Клас {0} не изпълнява org.postgresql.util.PGobject." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "" -#~ "функцията за рандомизиране не приема аргументи или приема само един " -#~ "аргумент (seed)." - -#~ msgid "Exception: {0}" -#~ msgstr "Изключение: {0}" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Връзката отказана. Проверете дали името на хоста и порта са верни и дали " -#~ "postmaster приема ТСР / IP връзки." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Безкрайна стойност за време или дата. Не може да бъде представена като " -#~ "времева стойност." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "Сървър версии преди 8.1 не поддържат дву-фазов commit." - -#~ msgid "Stack Trace:" -#~ msgstr "Stack Trace:" - -#~ msgid "Query returning autogenerated keys didn't return anything." -#~ msgstr "" -#~ "Заявката за автоматично генериране на ключове не предостави резултат." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Опита за връзка бе неуспешен." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "спиране / продължаване или съединяване не се поддържа за момента" - -#~ msgid "Invalid flag" -#~ msgstr "Невалиден флаг" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Драйвъра не поддържа SSL." - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Неочаквана грешка при декодиране на символите от голям обект LOB." - -#~ msgid "Copy not implemented for protocol version 2" -#~ msgstr "Копирането не е възможно при версия 2 на протокола" - -#~ msgid "End of Stack Trace" -#~ msgstr "Край на stack trace" - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Stacktrace изключение при генериране на: {0} възникнали: {1}" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Неуспешен опит за стартиране на backend: {0}." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/cs.po b/pgjdbc/src/main/java/org/postgresql/translation/cs.po index cc87ca84a2..74be50ed60 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/cs.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/cs.po @@ -1629,71 +1629,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#~ msgid "End of Stack Trace" -#~ msgstr "Konec vpisu zsobnku" - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Vyjmka tvoc vpis zsobnku pro: {0} encountered: {1}" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Selhal start backendu: {0}." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " -#~ "postmaster pijm TCP/IP spojen." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Pokus o pipojen selhal." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Spojen odmtnuto: {0}." - -#, fuzzy -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Tda {0} nepodporuje org.postgresql.util.PGobject." - -#~ msgid "Stack Trace:" -#~ msgstr "Vpis zsobnku:" - -#~ msgid "Exception: {0}" -#~ msgstr "Vyjmka: {0}" - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "Funkce rand bere dn nebo jen jeden argument(seed)." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Vce-rozmrn pole nejsou nyn podporovny." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Verze serveru ni ne 8.0 nepodporuj savepoints." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Nekonen hodnota pro timestamp/date. Toto neme reprezentovat as." - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Neoekvan chyba bham dekdovn znaku z velkho objektu." - -#~ msgid "" -#~ "PostgreSQL only supports a single OUT function return value at index 1." -#~ msgstr "" -#~ "PostgreSQL podporuje pouze funkce s jednou navratovou hodnotou na indexu " -#~ "1." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Ovlada nepodporuje SSL." - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "Vrcen automaticky generovanch kl nen podporovno." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/de.po b/pgjdbc/src/main/java/org/postgresql/translation/de.po index 3e64ec4323..7894a3e464 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/de.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/de.po @@ -1749,158 +1749,3 @@ msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Der Server untersttzt keine zweiphasige Besttigung vor Version 8.1." - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "" -#~ "Beim Erstellen eines Stack-Traces fr {0} trat eine Exception auf: {1}" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Das Backend konnte nicht gestartet werden: {0}." - -#~ msgid "Exception: {0}" -#~ msgstr "Exception: {0}." - -#, fuzzy -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ line umwandeln" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Der Treiber untersttzt SSL nicht." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Mehrdimensionale Arrays werden derzeit nicht untersttzt." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "" -#~ "Die Funktion ''rand'' erwartet kein oder genau ein Argument (den " -#~ "''seed'')." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und " -#~ "der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "Anhalten/Fortsetzen und Join sind nicht implementiert." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "" -#~ "Die Klasse {0} implementiert nicht ''org.postgresql.util.PGobject''." - -#, fuzzy -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ circle umwandeln" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "Ein unerwarteter Fehler trat beim Dekodieren von Zeichen aus einem " -#~ "LargeObject (LOB) auf." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Fr den Zeitstempel oder das Datum wurde der Wert ''unendlich'' gefunden. " -#~ "Dies kann nicht als Zeit reprsentiert werden." - -#, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Ungltiges Format fr Float: {0}" - -#, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Ungltiges Format fr Double: {0}" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Der Server untersttzt keine Rettungspunkte vor Version 8.0." - -#, fuzzy -#~ msgid "Bad byte: {0}" -#~ msgstr "Ungltiges Format fr Byte: {0}" - -#~ msgid "" -#~ "PostgreSQL only supports a single OUT function return value at index 1." -#~ msgstr "" -#~ "PostgreSQL untersttzt auf dem Index 1 nur einen einzigen Rckgabewert " -#~ "fr die OUT-Funktion." - -#~ msgid "Stack Trace:" -#~ msgstr "Stack-Trace:" - -#~ msgid "End of Stack Trace" -#~ msgstr "Ende des Stack-Traces." - -#~ msgid "Invalid flag" -#~ msgstr "Ungltiges Flag." - -#, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Ungltiges Format fr Byte: {0}" - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," - -#, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Ungltiges Format fr BigDecimal: {0}" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Der Verbindungsversuch schlug fehl." - -#, fuzzy -#~ msgid "Bad long: {0}" -#~ msgstr "Ungltiges Format fr Long: {0}" - -#, fuzzy -#~ msgid "Bad short: {0}" -#~ msgstr "Ungltiges Format fr Short: {0}" - -#~ msgid "Transaction interleaving not implemented" -#~ msgstr "Transaktionsinterleaving ist nicht implementiert." - -#, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Konnte {0} nicht in Typ point umwandeln" - -#~ msgid "" -#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " -#~ "setObject(i,null,type)" -#~ msgstr "" -#~ "''setObejct(i, null)'' ist nicht untersttzt. Benutzen Sie ''setNull(i, " -#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." - -#, fuzzy -#~ msgid "Bad int: {0}" -#~ msgstr "Ungltiges Format fr Long: {0}" - -#~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." -#~ msgstr "" -#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " -#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " -#~ "konfiguriert werden." - -#, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Die Abfrage ergab kein Ergebnis." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Verbindung abgewiesen: {0}." - -#~ msgid "" -#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." -#~ "OTHER) instead." -#~ msgstr "" -#~ "''setNull(i, Types.OTHER)'' wird nicht untersttzt; benutzen Sie " -#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/es.po b/pgjdbc/src/main/java/org/postgresql/translation/es.po index a7978a4d6e..cbcde74963 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/es.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/es.po @@ -1623,26 +1623,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Conexión rechazada. Verifique que el nombre del Host y el puerto sean " -#~ "correctos y que postmaster este aceptando conexiones TCP/IP." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La clase {0} no implementa org.postgresql.util.PGobject." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "El intento de conexión falló." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Este driver no soporta SSL." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Falló el arranque del Backend: {0}. " - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Conexión rechazada: {0}." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/fr.po b/pgjdbc/src/main/java/org/postgresql/translation/fr.po index e3169cc608..464a6df4f2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/fr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/fr.po @@ -1729,75 +1729,3 @@ msgstr "Erreur en annulant une transaction pr #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristic commit/rollback non support" - -#~ msgid "End of Stack Trace" -#~ msgstr "Fin de la pile d''appel" - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "" -#~ "Exception en gnrant la pile d''appel pour: {0} erreur rencontre: {1}" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Dmarrage du serveur en chec: {0}." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Connexion refuse. Vrifiez que le nom de machine et le port sont " -#~ "corrects et que postmaster accepte les connexions TCP/IP." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "La tentative de connexion a chou." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Connexion rejete: {0}." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Les serveurs de versions antrieures 8.1 ne supportent pas le commit " -#~ "deux phases." - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La classe {0} n''implmente pas org.postgresql.util.PGobject." - -#~ msgid "Stack Trace:" -#~ msgstr "Pile d''appel:" - -#~ msgid "Exception: {0}" -#~ msgstr "Exception: {0}" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "Erreur inattendue pendant le dcodage des donnes caractres pour un " -#~ "large object." - -#~ msgid "Invalid flag" -#~ msgstr "Drapeau invalide" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "" -#~ "Les serveurs de version antrieure 8.0 ne supportent pas les savepoints." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Valeur infinie trouve pour une date/timestamp. Cette valeur ne peut tre " -#~ "reprsent comme une valeur temporelle." - -#~ msgid "Transaction interleaving not implemented" -#~ msgstr "L''entrelacement des transactions n''est pas implment" - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "" -#~ "Les tableaux plusieurs dimensions ne sont pas supports pour le moment." - -#~ msgid "The driver does not support SSL." -#~ msgstr "Ce pilote ne supporte pas SSL." - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "Le renvoi des cls automatiquement gnres n''est pas support." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/it.po b/pgjdbc/src/main/java/org/postgresql/translation/it.po index 7d141acbc9..61a2c4beb9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/it.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/it.po @@ -1733,153 +1733,3 @@ msgstr "Errore durante il #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Commit e rollback euristici non sono supportati" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Il driver non supporta SSL." - -#~ msgid "End of Stack Trace" -#~ msgstr "Fine dello stack trace" - -#~ msgid "No results where returned by the query." -#~ msgstr "Nessun risultato stato restituito dalla query." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Connessione rifiutata. Controllare che il nome dell''host e la porta " -#~ "siano corretti, e che il server (postmaster) sia in esecuzione con " -#~ "l''opzione -i, che abilita le connessioni attraverso la rete TCP/IP." - -#~ msgid "Bad int: {0}" -#~ msgstr "Int non corretto: {0}" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Attivazione del backend fallita: {0}." - -#~ msgid "Exception: {0}" -#~ msgstr "Eccezione: {0}." - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "Errore non previsto durante la decodifica di caratteri a partire da un " -#~ "large object." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "Il metodo rand vuole al massimo un argomento (il seme)." - -#~ msgid "The time given {0} does not match the format required: {1}." -#~ msgstr "L''orario fornito {0} non corrisponde al formato richiesto: {1}." - -#~ msgid "Invalid flag" -#~ msgstr "Flag non valido" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "" -#~ "Le versioni del server precedenti alla 8.0 non permettono i punti di " -#~ "ripristino." - -#~ msgid "The given date {0} does not match the format required: {1}." -#~ msgstr "La data fornita {0} non corrisponde al formato richiesto: {1}." - -#~ msgid "Bad long: {0}" -#~ msgstr "Long non corretto: {0}" - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Le versioni del server precedenti alla 8.1 non permettono i commit \"two-" -#~ "phase\"." - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "Suspend, resume e join non sono implementati" - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "" -#~ "Eccezione durante la generazione dello stack trace per: {0} trovata: {1}" - -#~ msgid "Stack Trace:" -#~ msgstr "Stack trace:" - -#~ msgid "Transaction interleaving not implemented" -#~ msgstr "L''\"interleaving\" delle transazioni {0} non supportato." - -#~ msgid "Could not extract nanoseconds from {0}." -#~ msgstr "Non possibile estrarre i nanosecondi da {0}." - -#~ msgid "The timestamp given {0} does not match the format required: {1}." -#~ msgstr "" -#~ "La marca temporale fornita {0} non corrisponde al formato richiesto: {1}." - -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Fallita la conversione di un ``line'': {0}." - -#~ msgid "Bad date: {0}" -#~ msgstr "Date non corretto: {0}" - -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Fallita la conversione di un ``point'': {0}." - -#~ msgid "" -#~ "PostgreSQL only supports a single OUT function return value at index 1." -#~ msgstr "" -#~ "PostgreSQL permette di avere un solo valore restituito dalle funzioni, " -#~ "utilizzando l''indice 1." - -#~ msgid "The JVM claims not to support the UTF-8 encoding." -#~ msgstr "La JVM sostiene di non supportare la codifica UTF-8." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Il valore specificato per il tipo timestamp o date, infinito, non pu " -#~ "essere rappresentato come time." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Connessione rifiutata: {0}." - -#~ msgid "Bad double: {0}" -#~ msgstr "Double non corretto: {0}" - -#~ msgid "Bad short: {0}" -#~ msgstr "Short non corretto: {0}" - -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Fallita la conversione di un ``circle'': {0}." - -#~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." -#~ msgstr "" -#~ "Non possibile invocare setXXX(1,...) per un CallableStatement. Si " -#~ "tratta di un valore restituito che va configurato usando il metodo " -#~ "registerOutParameter()." - -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "BigDecimal non corretto: {0}" - -#~ msgid "Bad byte: {0}" -#~ msgstr "Byte non corretto: {0}" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Il tentativo di connessione fallito." - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "La restituzione di chiavi autogenerate non supportata." - -#~ msgid "Bad float: {0}" -#~ msgstr "Float non corretto: {0}" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "La class {0} non implementa org.postgresql.util.PGobject." - -#~ msgid "ResultSet holdability of HOLD_CURSORS_OVER_COMMIT is not supported." -#~ msgstr "" -#~ "Il mantenimento del ResultSet tramite HOLD_CURSOR_OVER_COMMIT non " -#~ "supportato." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Gli array multidimensionali non sono attualmente gestiti." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index f86d2cf0b1..631077666f 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -1695,152 +1695,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "サーバのバージョン 8.0 以前は、savepointをサポートしません。" - -#~ msgid "End of Stack Trace" -#~ msgstr "スタック・トレースの終り:" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "バックエンドの開始に失敗しました: {0}" - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "スタック・トレース例外生成: {0} 遭遇: {1}" - -#, fuzzy -#~ msgid "Conversion of line failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »line« umwandeln" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "接続URLが不正です。" - -#~ msgid "Invalid flag" -#~ msgstr "無効なフラグ" - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "" -#~ "Die Funktion ''rand'' erwartet kein oder genau ein Argument (den " -#~ "''seed'')." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタが" -#~ "TCP/IP接続を受け入れていることを調べて下さい。" - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "Anhalten/Fortsetzen und Join sind nicht implementiert." - -#~ msgid "Stack Trace:" -#~ msgstr "スタック・トレース:" - -#, fuzzy -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »circle« umwandeln" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "ラージオブジェクトから文字データの複合化中に想定外のエラーが起きました。" - -#~ msgid "Exception: {0}" -#~ msgstr "例外: {0}." - -#, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Ungültiges Format für Float: {0}" - -#, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Ungültiges Format für Double: {0}" - -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "自動生成キーを返すことは 8.2 以上でサポートされます。" - -#, fuzzy -#~ msgid "Bad byte: {0}" -#~ msgstr "Ungültiges Format für Byte: {0}" - -#, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Die Abfrage ergab kein Ergebnis." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "2相コミット は、サーバのバージョン 8.1以前はサポートされません。" - -#~ msgid "Copy not implemented for protocol version 2" -#~ msgstr "プロトコルバージョン2でコピーは実装されていません。" - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "timestamp/date で無限値が見つかりました。これは、時間として表すことができ" -#~ "ません。" - -#, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Ungültiges Format für Byte: {0}" - -#~ msgid "" -#~ "PostgreSQL only supports a single OUT function return value at index 1." -#~ msgstr "" -#~ "PostgreSQL unterstützt auf dem Index 1 nur einen einzigen Rückgabewert " -#~ "für die OUT-Funktion." - -#, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Ungültiges Format für BigDecimal: {0}" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "クラス {0} は、org.postgresql.util.PGobject を実装していません。" - -#, fuzzy -#~ msgid "Bad long: {0}" -#~ msgstr "Ungültiges Format für Long: {0}" - -#, fuzzy -#~ msgid "Bad short: {0}" -#~ msgstr "Ungültiges Format für Short: {0}" - -#~ msgid "The driver does not support SSL." -#~ msgstr "ドライバはSSLをサポートしていません。" - -#, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Konnte »{0}« nicht in Typ »point« umwandeln" - -#~ msgid "" -#~ "setObject(i,null) is not supported. Instead, use setNull(i,type) or " -#~ "setObject(i,null,type)" -#~ msgstr "" -#~ "''setObejct(i, null)'' ist nicht unterstützt. Benutzen Sie ''setNull(i, " -#~ "type)'' oder ''setObject(i, null, type)'' stattdessen." - -#, fuzzy -#~ msgid "Bad int: {0}" -#~ msgstr "Ungültiges Format für Long: {0}" - -#~ msgid "" -#~ "Cannot call setXXX(1, ..) on a CallableStatement. This is an output that " -#~ "must be configured with registerOutParameter instead." -#~ msgstr "" -#~ "''setXXX(1, ..)'' kann auf einem CallableStatement nicht aufgerufen " -#~ "werden. Diese Ausgabe muss stattdessen mit ''registerOutParameter'' " -#~ "konfiguriert werden." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Mehrdimensionale Arrays werden derzeit nicht unterstützt." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "接続は拒絶されました: {0}." - -#~ msgid "" -#~ "setNull(i,Types.OTHER) is not supported; use setObject(i,nullobject,Types." -#~ "OTHER) instead." -#~ msgstr "" -#~ "''setNull(i, Types.OTHER)'' wird nicht unterstützt; benutzen Sie " -#~ "stattdessen ''setObject(i, nullobject, Types.OTHER)''." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot index 8253be27ce..8cfdb82615 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" +"POT-Creation-Date: 2018-06-05 10:59+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/nl.po b/pgjdbc/src/main/java/org/postgresql/translation/nl.po index bfa8306359..a0eaae1244 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/nl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/nl.po @@ -1634,63 +1634,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "De poging om verbinding the maken faalde omdat {0}" - -#, fuzzy -#~ msgid "Bad int: {0}" -#~ msgstr "Foute Long {0}" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Verbinding geweigerd. Controleer dat de hostnaam en poort correct zijn, " -#~ "en dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " -#~ "aanzet." - -#, fuzzy -#~ msgid "Conversion of circle failed: {0}." -#~ msgstr "Conversie van circle faalde - {0}" - -#, fuzzy -#~ msgid "Bad byte: {0}" -#~ msgstr "Foute Byte {0}" - -#, fuzzy -#~ msgid "Bad float: {0}" -#~ msgstr "Foute Float {0}" - -#, fuzzy -#~ msgid "Bad date: {0}" -#~ msgstr "Foute Byte {0}" - -#, fuzzy -#~ msgid "Bad double: {0}" -#~ msgstr "Foute Double {0}" - -#, fuzzy -#~ msgid "Bad long: {0}" -#~ msgstr "Foute Long {0}" - -#, fuzzy -#~ msgid "Bad short: {0}" -#~ msgstr "Foute Short {0}" - -#, fuzzy -#~ msgid "No results where returned by the query." -#~ msgstr "Geen resultaten werden teruggegeven door de query." - -#, fuzzy -#~ msgid "Conversion of box failed: {0}." -#~ msgstr "Conversie van box faalde - {0}" - -#, fuzzy -#~ msgid "Conversion of point failed: {0}." -#~ msgstr "Conversie van point faalde - {0}" - -#, fuzzy -#~ msgid "Bad BigDecimal: {0}" -#~ msgstr "Foute BigDecimal {0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pl.po b/pgjdbc/src/main/java/org/postgresql/translation/pl.po index c8f8b16e48..b17cdf87df 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pl.po @@ -1653,41 +1653,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Sterownik nie wspiera SSL." - -#~ msgid "Exception: {0}" -#~ msgstr "Wyjątek: {0}" - -#~ msgid "Stack Trace:" -#~ msgstr "Ślad stosu:" - -#~ msgid "End of Stack Trace" -#~ msgstr "Koniec śladu stosu" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " -#~ "port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Połączenie odrzucone: {0}." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Wielowymiarowe tablice nie są aktualnie obsługiwane." - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Ślad stosu utworzony dla wyjątku: {0} napotkanego: {1}" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Klasa {0} nie implementuje org.postgresql.util.PGobject." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Start serwera się nie powiódł: {0}." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Próba nawiązania połączenia nie powiodła się." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po index 06b0b847ff..ada19ee7a2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po @@ -1725,50 +1725,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Erro inesperado ao decodificar caracter de um objeto grande." - -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Retorno de chaves geradas automaticamente só é suportado por servidores " -#~ "8.2 ou mais recentes." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Versões do servidor anteriores a 8.1 não suportam efetivação em duas " -#~ "fases." - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Valor infinito encontrado em timestamp/date. Isto não pode ser " -#~ "representado como tempo." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Conexão negada. Verifique se o nome da máquina e a porta estão corretos e " -#~ "se o postmaster está aceitando conexões TCP/IP." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Conexão negada: {0}." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Versões do servidor anteriores a 8.0 não suportam savepoints." - -#~ msgid "Invalid flag" -#~ msgstr "Marcador inválido" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "A classe {0} não implementa org.postgresql.util.PGobject." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Inicialização do processo servidor falhou: {0}." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "A tentativa de conexão falhou." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index d326e1be6f..bcc7b180d5 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -1729,29 +1729,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -# key: postgresql.con.backend -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Запуск бэкенда не удался: {0}." - -# key: postgresql.con.failed -#~ msgid "The connection url is invalid." -#~ msgstr "Неверное значение connection url" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Класс {0} не реализует org.postgresql.util.PGobject." - -# key: postgresql.con.misc -#~ msgid "Connection rejected: {0}." -#~ msgstr "Подсоединение отвергнуто: {0}." - -# key: postgresql.con.refused -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Подсоединение отклонено. Проверьте что хост и порт указаны правильно и " -#~ "что postmaster принимает TCP/IP-подсоединения." - -#~ msgid "Copy not implemented for protocol version 2" -#~ msgstr "Команда COPY не реализована для протокола версии 2" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/sr.po b/pgjdbc/src/main/java/org/postgresql/translation/sr.po index c5885c8839..1ecc7fc2ef 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/sr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/sr.po @@ -1709,76 +1709,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristički commit/rollback nije podržan. forget xid={0}" - -#~ msgid "Exception: {0}" -#~ msgstr "Izuzetak: {0}" - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Beskonačna vrednost je pronađena za tipestamp/date. To se nemože " -#~ "predstaviti kao vreme." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " -#~ "postmaster podržava TCP/IP konekcije." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Pozadinsko startovanje propalo: {0}." - -#~ msgid "End of Stack Trace" -#~ msgstr "Kraj traga steka." - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "" -#~ "Neočekivana greška prilikom dekodiranja karaktera iz velikog objekta." - -#~ msgid "Stack Trace:" -#~ msgstr "Trag steka:" - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "obustavljanje/nastavljanje i spajanje nije implementirano." - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Konekcija odbačena: {0}." - -#~ msgid "Query returning autogenerated keys didn't return anything." -#~ msgstr "Upit koji vraća autogenerisane ključeve nije vratio rezultat." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Pokušaj konektovanja propao." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Multidimenzionalni nizovi nisu trenutno podržani." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Verzije servera manje od 8.0 ne podržavaju tačke snimanja." - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Izuzetak u generisanju traga steka za: {0} nailazak na: {1}" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Ovaj drajver ne podržava SSL." - -#~ msgid "Invalid flag" -#~ msgstr "Nevažeća zastavica (flag)" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "Klasa {0} ne implementira org.postgresql.util.PGobject." - -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Vraćanje autogenerisanih ključeva je podržano samo za verzije servera od " -#~ "8.2 pa na dalje." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "Verzije servera pre 8.1 verzije ne podržavaju commit iz dve faze." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "Slučajna funkcija ne prima parametre ili prima samo argument(seme)." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/tr.po b/pgjdbc/src/main/java/org/postgresql/translation/tr.po index 5e694f4167..fb2b80ae98 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/tr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/tr.po @@ -1687,76 +1687,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristic commit/rollback desteklenmiyor. forget xid={0}" - -#~ msgid "Exception: {0}" -#~ msgstr "İstisna: {0}" - -#~ msgid "" -#~ "Infinite value found for timestamp/date. This cannot be represented as " -#~ "time." -#~ msgstr "" -#~ "Timestamp veri tipinde sonsuz değer bulunmuştur. Buna uygun bir gösterim " -#~ "yoktur." - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " -#~ "postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "Backend başlaması başarısız oldu: {0}" - -#~ msgid "End of Stack Trace" -#~ msgstr "Stack Trace Sonu" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "Large-object nesnesinden karakter veriyi çözerken beklenmeyen hata." - -#~ msgid "Stack Trace:" -#~ msgstr "Stack Trace:" - -#~ msgid "suspend/resume and join not implemented" -#~ msgstr "suspend/resume ve join desteklenmemektedir" - -#~ msgid "Connection rejected: {0}." -#~ msgstr "Bağlantı reddedildi {0}" - -#~ msgid "Query returning autogenerated keys didn't return anything." -#~ msgstr "Otomatik üretilen anahtarları döndüren sorgu birşey döndürmedi." - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "Bağlantı denemesi başarısız oldu." - -#~ msgid "Multi-dimensional arrays are currently not supported." -#~ msgstr "Çok boyutlu matrisler şu aşamada seteklenmemektedir." - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "Sunucunun 8.0''dan önceki sürümler savepoint desteklememektedir." - -#~ msgid "Exception generating stacktrace for: {0} encountered: {1}" -#~ msgstr "Exception generating stacktrace for: {0} encountered: {1}" - -#~ msgid "The driver does not support SSL." -#~ msgstr "Sürücü SSL desteklememktedir." - -#~ msgid "Invalid flag" -#~ msgstr "Geçersiz seçenek" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "{0} sınıfı org.postgresql.util.PGobject implemente etmiyor." - -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "" -#~ "Otomatik üretilen anahtarların döndürülmesi sadece 8.2 ve üzerindeki " -#~ "sürümlerdeki sunucularda desteklenmektedir." - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "" -#~ "Sunucunun 8.1''den önceki sürümler two-phase commit desteklememektedir." - -#~ msgid "rand function only takes zero or one argument(the seed)." -#~ msgstr "rand fonksiyonu yalnız sıfır veya bir (seed) argüman alabilir." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po index 051e7cc6d8..a4368db515 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po @@ -1632,51 +1632,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "从大型对象(large object)解码字元数据时发生错误。" - -#~ msgid "Invalid flag" -#~ msgstr "无效的旗标" - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "8.1 版之前的服务器不支援二段式提交(Two-Phase Commit)。" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "类别 {0} 未实做 org.postgresql.util.PGobject。" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" - -#~ msgid "Exception: {0}" -#~ msgstr "例外:{0}" - -#~ msgid "Connection rejected: {0}." -#~ msgstr "连线已被拒绝:{0}。" - -#~ msgid "End of Stack Trace" -#~ msgstr "堆叠追纵结束" - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "8.0 版之前的服务器不支援储存点(SavePints)。" - -#~ msgid "The driver does not support SSL." -#~ msgstr "驱动程序不支援 SSL 连线。" - -#~ msgid "Stack Trace:" -#~ msgstr "堆叠追纵:" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "尝试连线已失败。" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "后端启动失败:{0}。" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po index 4d8485c2de..d8bcf8a9d8 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po @@ -1632,51 +1632,3 @@ msgstr "" #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" - -#~ msgid "Unexpected error while decoding character data from a large object." -#~ msgstr "從大型物件(large object)解碼字元資料時發生錯誤。" - -#~ msgid "Invalid flag" -#~ msgstr "無效的旗標" - -#~ msgid "Server versions prior to 8.1 do not support two-phase commit." -#~ msgstr "8.1 版之前的伺服器不支援二段式提交(Two-Phase Commit)。" - -#~ msgid "The class {0} does not implement org.postgresql.util.PGobject." -#~ msgstr "類別 {0} 未實做 org.postgresql.util.PGobject。" - -#~ msgid "" -#~ "Connection refused. Check that the hostname and port are correct and that " -#~ "the postmaster is accepting TCP/IP connections." -#~ msgstr "" -#~ "連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" - -#~ msgid "Exception: {0}" -#~ msgstr "例外:{0}" - -#~ msgid "Connection rejected: {0}." -#~ msgstr "連線已被拒絕:{0}。" - -#~ msgid "End of Stack Trace" -#~ msgstr "堆疊追縱結束" - -#, fuzzy -#~ msgid "" -#~ "Returning autogenerated keys is only supported for 8.2 and later servers." -#~ msgstr "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。" - -#~ msgid "Server versions prior to 8.0 do not support savepoints." -#~ msgstr "8.0 版之前的伺服器不支援儲存點(SavePints)。" - -#~ msgid "The driver does not support SSL." -#~ msgstr "驅動程式不支援 SSL 連線。" - -#~ msgid "Stack Trace:" -#~ msgstr "堆疊追縱:" - -#, fuzzy -#~ msgid "The connection url is invalid." -#~ msgstr "嘗試連線已失敗。" - -#~ msgid "Backend start-up failed: {0}." -#~ msgstr "後端啟動失敗:{0}。" From eaa0acad343027bf8be48b3229ef9f6386d67810 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 4 Jun 2018 22:00:24 +0300 Subject: [PATCH 149/427] doc: add Russian translation to "No IOException expected..." This is to test how mvn -Ptranslate compile updates the resources --- .../src/main/java/org/postgresql/translation/messages_ru.java | 2 ++ pgjdbc/src/main/java/org/postgresql/translation/ru.po | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java index 0cd3961b81..c9f1e7fb10 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java @@ -26,6 +26,8 @@ public class messages_ru extends java.util.ResourceBundle { t[35] = "\u0421\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0435, \u0447\u0442\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u044d\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435."; t[38] = "Unsupported Types value: {0}"; t[39] = "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 java.sql.Types \u0442\u0438\u043f: {0}"; + t[48] = "No IOException expected from StringBuffer or StringBuilder"; + t[49] = "\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a: \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 StringBuffer \u0438 StringBuilder \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c"; t[52] = "The server requested password-based authentication, but no password was provided."; t[53] = "\u0421\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e, \u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d."; t[54] = "Position: {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index bcc7b180d5..bf51cfb7ea 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -182,6 +182,8 @@ msgstr "Байт с кодом 0 не может втречаться в стр #: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" +"Что-то пошло не так: из классов StringBuffer и StringBuilder исключений не " +"ожидалось" #: org/postgresql/core/Utils.java:159 msgid "Zero bytes may not occur in identifiers." From 4dc98be81829bbff3bb00c23214606757df16fab Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 8 Jun 2018 13:30:48 +0300 Subject: [PATCH 150/427] fix: adjust date, hour, minute, second when rounding timestamp (#1212) PostgreSQL supports microsecond resolution only, so PgJDBC rounds nanoseconds to micros. When that happens the number of years, days, hours, seconds, minutes, etc might change as well fixes #1211 --- .../org/postgresql/jdbc/TimestampUtils.java | 72 ++++++++++++++++--- .../postgresql/test/jdbc2/TimestampTest.java | 33 ++++++++- .../test/jdbc42/SetObject310Test.java | 21 ++++++ 3 files changed, 115 insertions(+), 11 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index cfdb92258f..20492383ed 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -20,6 +20,7 @@ import java.sql.Time; import java.sql.Timestamp; //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" +import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -48,6 +49,15 @@ public class TimestampUtils { private static final char[] ZEROS = {'0', '0', '0', '0', '0', '0', '0', '0', '0'}; private static final char[][] NUMBERS; private static final HashMap GMT_ZONES = new HashMap(); + private static final int MAX_NANOS_BEFORE_WRAP_ON_ROUND = 999999500; + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + private static final Duration ONE_MICROSECOND = Duration.ofNanos(1000); + // LocalTime.MAX is 23:59:59.999_999_999, and it wraps to 24:00:00 when nanos exceed 999_999_499 + // since PostgreSQL has microsecond resolution only + private static final LocalTime MAX_TIME = LocalTime.MAX.minus(Duration.ofMillis(500)); + private static final OffsetDateTime MAX_OFFSET_DATETIME = OffsetDateTime.MAX.minus(Duration.ofMillis(500)); + private static final LocalDateTime MAX_LOCAL_DATETIME = LocalDateTime.MAX.minus(Duration.ofMillis(500)); + //#endif private static final Field DEFAULT_TIME_ZONE_FIELD; @@ -538,6 +548,16 @@ public Calendar getSharedCalendar(TimeZone timeZone) { return tmp; } + /** + * Returns true when microsecond part of the time should be increased + * when rounding to microseconds + * @param nanos nanosecond part of the time + * @return true when microsecond part of the time should be increased when rounding to microseconds + */ + private static boolean nanosExceed499(int nanos) { + return nanos % 1000 > 499; + } + public synchronized String toString(Calendar cal, Timestamp x) { return toString(cal, x, true); } @@ -551,13 +571,26 @@ public synchronized String toString(Calendar cal, Timestamp x, } cal = setupCalendar(cal); - cal.setTime(x); + long timeMillis = x.getTime(); + + // Round to microseconds + int nanos = x.getNanos(); + if (nanos >= MAX_NANOS_BEFORE_WRAP_ON_ROUND) { + nanos = 0; + timeMillis++; + } else if (nanosExceed499(nanos)) { + // PostgreSQL does not support nanosecond resolution yet, and appendTime will just ignore + // 0..999 part of the nanoseconds, however we subtract nanos % 1000 to make the value + // a little bit saner for debugging reasons + nanos += 1000 - nanos % 1000; + } + cal.setTimeInMillis(timeMillis); sbuf.setLength(0); appendDate(sbuf, cal); sbuf.append(' '); - appendTime(sbuf, cal, x.getNanos()); + appendTime(sbuf, cal, nanos); if (withTimeZone) { appendTimeZone(sbuf, cal); } @@ -645,6 +678,16 @@ private static void appendTime(StringBuilder sb, Calendar cal, int nanos) { appendTime(sb, hours, minutes, seconds, nanos); } + /** + * Appends time part to the {@code StringBuilder} in PostgreSQL-compatible format. + * The function truncates {@param nanos} to microseconds. The value is expected to be rounded + * beforehand. + * @param sb destination + * @param hours hours + * @param minutes minutes + * @param seconds seconds + * @param nanos nanoseconds + */ private static void appendTime(StringBuilder sb, int hours, int minutes, int seconds, int nanos) { sb.append(NUMBERS[hours]); @@ -654,18 +697,17 @@ private static void appendTime(StringBuilder sb, int hours, int minutes, int sec sb.append(':'); sb.append(NUMBERS[seconds]); - // Add microseconds, rounded. + // Add nanoseconds. // This won't work for server versions < 7.2 which only want // a two digit fractional second, but we don't need to support 7.1 // anymore and getting the version number here is difficult. // - int microseconds = (nanos / 1000) + (((nanos % 1000) + 500) / 1000); - if (microseconds == 0) { + if (nanos < 1000) { return; } sb.append('.'); int len = sb.length(); - sb.append(microseconds); + sb.append(nanos / 1000); // append microseconds int needZeros = 6 - (sb.length() - len); if (needZeros > 0) { sb.insert(len, ZEROS, 0, needZeros); @@ -733,10 +775,16 @@ public synchronized String toString(LocalTime localTime) { sbuf.setLength(0); - if (localTime.equals( LocalTime.MAX )) { + if (localTime.isAfter(MAX_TIME)) { return "24:00:00"; } + int nano = localTime.getNano(); + if (nanosExceed499(nano)) { + // Technically speaking this is not a proper rounding, however + // it relies on the fact that appendTime just truncates 000..999 nanosecond part + localTime = localTime.plus(ONE_MICROSECOND); + } appendTime(sbuf, localTime); return sbuf.toString(); @@ -744,7 +792,7 @@ public synchronized String toString(LocalTime localTime) { public synchronized String toString(OffsetDateTime offsetDateTime) { - if (OffsetDateTime.MAX.equals(offsetDateTime)) { + if (offsetDateTime.isAfter(MAX_OFFSET_DATETIME)) { return "infinity"; } else if (OffsetDateTime.MIN.equals(offsetDateTime)) { return "-infinity"; @@ -752,6 +800,12 @@ public synchronized String toString(OffsetDateTime offsetDateTime) { sbuf.setLength(0); + int nano = offsetDateTime.getNano(); + if (nanosExceed499(nano)) { + // Technically speaking this is not a proper rounding, however + // it relies on the fact that appendTime just truncates 000..999 nanosecond part + offsetDateTime = offsetDateTime.plus(ONE_MICROSECOND); + } LocalDateTime localDateTime = offsetDateTime.toLocalDateTime(); LocalDate localDate = localDateTime.toLocalDate(); appendDate(sbuf, localDate); @@ -768,7 +822,7 @@ public synchronized String toString(OffsetDateTime offsetDateTime) { * Do not use this method in {@link java.sql.ResultSet#getString(int)} */ public synchronized String toString(LocalDateTime localDateTime) { - if (LocalDateTime.MAX.equals(localDateTime)) { + if (localDateTime.isAfter(MAX_LOCAL_DATETIME)) { return "infinity"; } else if (LocalDateTime.MIN.equals(localDateTime)) { return "-infinity"; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java index c8d9766738..c734472562 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java @@ -336,6 +336,8 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS10WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); @@ -355,6 +357,8 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS10WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS1WOTZ_PGFORMAT + "'"))); @@ -374,6 +378,8 @@ public void testGetTimestampWOTZ() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS8WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS9WOTZ_PGFORMAT + "'"))); + assertEquals(1, + stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + TS10WOTZ_PGFORMAT + "'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWOTZ_TABLE, "'" + tsu.toString(null, new java.sql.Timestamp(tmpDate1WOTZ.getTime())) + "'"))); @@ -412,7 +418,7 @@ public void testGetTimestampWOTZ() throws SQLException { // Fall through helper timestampTestWOTZ(); - assertEquals(43, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(46, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); stmt.close(); } @@ -458,6 +464,9 @@ public void testSetTimestampWOTZ() throws SQLException { pstmt.setTimestamp(1, TS9WOTZ); assertEquals(1, pstmt.executeUpdate()); + pstmt.setTimestamp(1, TS10WOTZ); + assertEquals(1, pstmt.executeUpdate()); + // With java.sql.Timestamp pstmt.setObject(1, TS1WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); @@ -477,6 +486,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS9WOTZ, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS10WOTZ, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With Strings pstmt.setObject(1, TS1WOTZ_PGFORMAT, Types.TIMESTAMP); @@ -497,6 +508,8 @@ public void testSetTimestampWOTZ() throws SQLException { assertEquals(1, pstmt.executeUpdate()); pstmt.setObject(1, TS9WOTZ_PGFORMAT, Types.TIMESTAMP); assertEquals(1, pstmt.executeUpdate()); + pstmt.setObject(1, TS10WOTZ_PGFORMAT, Types.TIMESTAMP); + assertEquals(1, pstmt.executeUpdate()); // With java.sql.Date pstmt.setObject(1, tmpDate1WOTZ, Types.TIMESTAMP); @@ -536,7 +549,7 @@ public void testSetTimestampWOTZ() throws SQLException { // Fall through helper timestampTestWOTZ(); - assertEquals(43, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); + assertEquals(46, stmt.executeUpdate("DELETE FROM " + TSWOTZ_TABLE)); pstmt.close(); stmt.close(); @@ -715,6 +728,15 @@ private void timestampTestWOTZ() throws SQLException { tString = rs.getString(1); assertNotNull(tString); assertEquals(TS9WOTZ_ROUNDED_PGFORMAT, tString); + + assertTrue(rs.next()); + t = rs.getTimestamp(1); + assertNotNull(t); + assertEquals(TS10WOTZ_ROUNDED, t); + + tString = rs.getString(1); + assertNotNull(tString); + assertEquals(TS10WOTZ_ROUNDED_PGFORMAT, tString); } // Testing for Date @@ -889,6 +911,13 @@ private static java.sql.Timestamp getTimestamp(int y, int m, int d, int h, int m getTimestamp(2000, 2, 7, 15, 0, 0, 1000, null); private static final String TS9WOTZ_ROUNDED_PGFORMAT = "2000-02-07 15:00:00.000001"; + private static final java.sql.Timestamp TS10WOTZ = + getTimestamp(2018, 12, 31, 23, 59, 59, 999999500, null); + private static final String TS10WOTZ_PGFORMAT = "2018-12-31 23:59:59.999999500"; + private static final java.sql.Timestamp TS10WOTZ_ROUNDED = + getTimestamp(2019, 1, 1, 0, 0, 0, 0, null); + private static final String TS10WOTZ_ROUNDED_PGFORMAT = "2019-01-01 00:00:00"; + private static final String TSWTZ_TABLE = "testtimestampwtz"; private static final String TSWOTZ_TABLE = "testtimestampwotz"; private static final String DATE_TABLE = "testtimestampdate"; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java index 654d9133f3..0f3ff14a7d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java @@ -279,6 +279,27 @@ private void offsetTimestamps(ZoneId dataZone, LocalDateTime localDateTime, Stri } } + @Test + public void testLocalDateTimeRounding() throws SQLException { + LocalDateTime dateTime = LocalDateTime.parse("2018-12-31T23:59:59.999999500"); + localTimestamps(ZoneOffset.UTC, dateTime, "2019-01-01 00:00:00"); + } + + @Test + public void testTimeStampRounding() throws SQLException { + LocalTime time = LocalTime.parse("23:59:59.999999500"); + Time actual = insertThenReadWithoutType(time, "time_without_time_zone_column", Time.class); + assertEquals(Time.valueOf("24:00:00"), actual); + } + + @Test + public void testTimeStampRoundingWithType() throws SQLException { + LocalTime time = LocalTime.parse("23:59:59.999999500"); + Time actual = + insertThenReadWithType(time, Types.TIME, "time_without_time_zone_column", Time.class); + assertEquals(Time.valueOf("24:00:00"), actual); + } + /** * Test the behavior of setObject for timestamp columns. */ From 88ec13bb67d5bb2dbd2fc57046e05f9a3eb66abb Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 10 Jun 2018 12:14:45 +0300 Subject: [PATCH 151/427] chore: remove ubenchmark module due to licensing issues (#1215) JMH is GPL-licensed, and it is safer to keep it separate --- pom.xml | 1 - ubenchmark/pom.xml | 236 ----------------- .../connection/FinalizeConnection.java | 91 ------- .../benchmark/encoding/UTF8Decoding.java | 107 -------- .../benchmark/encoding/UTF8Encoding.java | 104 -------- .../benchmark/escaping/EscapeProcessing.java | 38 --- .../profilers/FlightRecorderProfiler.java | 87 ------- .../benchmark/statement/BindArray.java | 97 ------- .../benchmark/statement/BindBoolean.java | 90 ------- .../benchmark/statement/BindTimestamp.java | 88 ------- .../statement/FinalizeStatement.java | 105 -------- .../benchmark/statement/InsertBatch.java | 238 ------------------ .../benchmark/statement/ParseStatement.java | 124 --------- .../benchmark/statement/ProcessBoolean.java | 97 ------- .../benchmark/statement/ProcessResultSet.java | 230 ----------------- .../benchmark/time/AddPaddingZeros.java | 82 ------ .../benchmark/time/TimestampToDate.java | 108 -------- .../benchmark/time/TimestampToTime.java | 109 -------- .../org/postgresql/util/ConnectionUtil.java | 73 ------ ubenchmark/src/test/java/readme.txt | 4 - 20 files changed, 2109 deletions(-) delete mode 100644 ubenchmark/pom.xml delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/connection/FinalizeConnection.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Encoding.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/escaping/EscapeProcessing.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/profilers/FlightRecorderProfiler.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindBoolean.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindTimestamp.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/FinalizeStatement.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/InsertBatch.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/ParseStatement.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessBoolean.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessResultSet.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/time/AddPaddingZeros.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToDate.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToTime.java delete mode 100644 ubenchmark/src/main/java/org/postgresql/util/ConnectionUtil.java delete mode 100644 ubenchmark/src/test/java/readme.txt diff --git a/pom.xml b/pom.xml index 305e0a0df6..ab70b9255b 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,6 @@ pgjdbc - ubenchmark diff --git a/ubenchmark/pom.xml b/ubenchmark/pom.xml deleted file mode 100644 index 568f8f069a..0000000000 --- a/ubenchmark/pom.xml +++ /dev/null @@ -1,236 +0,0 @@ - - - 4.0.0 - - org.postgresql - pgjdbc-versions - 1.1.3 - - - - pgjdbc-benchmark - jar - PostgreSQL JDBC Driver - benchmarks - 42.2.3-SNAPSHOT - PostgreSQL JDBC Driver - benchmarks - https://github.com/pgjdbc/pgjdbc - - - - org.openjdk.jmh - jmh-core - ${jmh.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh.version} - provided - - - org.postgresql - postgresql - ${project.version} - - - - - - 1.17.4 - benchmarks - 1.8 - ${current.jdk} - - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 2.17 - - - com.puppycrawl.tools - checkstyle - 8.5 - - - - ../pgjdbc/src/main/checkstyle/checks.xml - error - true - true - true - true - - - - - - - - com.igormaznitsa - jcp - - - org.apache.maven.plugins - maven-compiler-plugin - - false - - - - org.apache.maven.plugins - maven-shade-plugin - - - package - - shade - - - ${uberjar.name} - - - org.openjdk.jmh.Main - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - - - - jdk6 - - 1.6 - - - 1.6 - - - - jdk7 - - 1.7 - - - 1.7 - - - - release-artifacts - - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin - - - - - - jdk9-workarounds - - - - javac.target - 1.9 - - - - - - - org.apache.maven.plugins - maven-source-plugin - - - org.codehaus.plexus - plexus-archiver - 2.4.4 - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - org.codehaus.plexus - plexus-archiver - 2.4.4 - - - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4.1 - - - org.codehaus.plexus - plexus-archiver - 2.4.4 - - - - - - - - - diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/connection/FinalizeConnection.java b/ubenchmark/src/main/java/org/postgresql/benchmark/connection/FinalizeConnection.java deleted file mode 100644 index 5b002fd158..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/connection/FinalizeConnection.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2004, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.connection; - -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Threads; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.Driver; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -/** - * Tests the time and memory required to create a connection. Note: due to TCP socket's turning into - * TIME_WAIT state on close, it is rather hard to test lots of connection creations, so only 50 - * iterations are performed. - * - *

To run this and other benchmarks (you can run the class from within IDE): - * - *

mvn package && java -classpath postgresql-driver.jar:target/benchmarks.jar - * -Duser=postgres -Dpassword=postgres -Dport=5433 -wi 10 -i 10 -f 1
- * - *

To run with profiling: - * - *

java -classpath postgresql-driver.jar:target/benchmarks.jar -prof gc -f 1 -wi - * 10 -i 10
- */ -@Fork(1) -@Measurement(iterations = 50) -@Warmup(iterations = 10) -@State(Scope.Thread) -@Threads(1) -@BenchmarkMode(Mode.SingleShotTime) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -public class FinalizeConnection { - private Properties connectionProperties; - private String connectionUrl; - private Driver driver; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connectionProperties = props; - connectionUrl = ConnectionUtil.getURL(); - driver = DriverManager.getDriver(connectionUrl); - } - - @Benchmark - public void baseline() throws SQLException { - } - - @Benchmark - public Connection createAndClose() throws SQLException { - Connection connection = driver.connect(connectionUrl, connectionProperties); - connection.close(); - return connection; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(FinalizeConnection.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java b/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java deleted file mode 100644 index 4a23db54f7..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Decoding.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2017, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.encoding; - -import org.postgresql.core.Encoding; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Threads; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.util.concurrent.TimeUnit; - -/** - * Tests the performance of UTF-8 decoding. UTF-8 is used a lot, so we need to know the performance - */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@Threads(1) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class UTF8Decoding { - - @Param({"1", "5", "10", "50", "100"}) - public int length; - - private byte[] source; - private CharsetDecoder decoder; - private Encoding encoding; - private CharBuffer buf; - private static final Charset UTF_8 = Charset.forName("UTF-8"); - - @Setup - public void setup() { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; i++) { - sb.append("Hello мир,"); - } - source = sb.toString().getBytes(UTF_8); - decoder = UTF_8.newDecoder(); - encoding = Encoding.getJVMEncoding("UTF-8"); - buf = CharBuffer.allocate(10240); - } - - @Benchmark - public char[] utilsDecodeUTF8_old() { - CharBuffer buf = UTF_8.decode(ByteBuffer.wrap(source)); - char[] c = new char[buf.limit()]; - buf.get(c, 0, buf.limit()); - return c; - } - - @Benchmark - public String encodingDecodeUTF8_current() throws IOException { - return encoding.decode(source, 0, source.length); - } - - @Benchmark - public String string_string() throws UnsupportedEncodingException { - return new String(source, 0, source.length, "UTF-8"); - } - - @Benchmark - public String string_charset() { - return new String(source, 0, source.length, UTF_8); - } - - @Benchmark - public Object decoder_byteBufferReuse() throws CharacterCodingException { - buf.clear(); - return decoder.decode(ByteBuffer.wrap(source), buf, true); - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(UTF8Decoding.class.getSimpleName()) - //.addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Encoding.java b/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Encoding.java deleted file mode 100644 index 9b52edc2a3..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/encoding/UTF8Encoding.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2004, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ -// Copyright (c) 2004, Open Cloud Limited. - -package org.postgresql.benchmark.encoding; - -import org.postgresql.core.Utils; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Threads; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.Charset; -import java.nio.charset.CharsetEncoder; -import java.util.concurrent.TimeUnit; - -/** - * Tests the performance of UTF-8 encoding. UTF-8 is used a lot, so we need to know the performance - */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@Threads(1) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class UTF8Encoding { - - @Param({"1", "5", "10", "50", "100"}) - public int length; - - private String source; - private CharsetEncoder encoder; - private ByteBuffer buf; - private static final Charset UTF_8 = Charset.forName("UTF-8"); - - @Setup - public void setup() { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; i++) { - sb.append("Hello мир,"); - } - source = sb.toString(); - encoder = UTF_8.newEncoder(); - buf = ByteBuffer.allocate(10240); - } - - @Benchmark - public byte[] utilsEncodeUTF8_old() { - ByteBuffer buf = UTF_8.encode(CharBuffer.wrap(source)); - byte[] b = new byte[buf.limit()]; - buf.get(b, 0, buf.limit()); - return b; - } - - @Benchmark - public byte[] utilsEncodeUTF8_current() { - return Utils.encodeUTF8(source); - } - - @Benchmark - public byte[] string_getBytes() { - return source.getBytes(UTF_8); - } - - @Benchmark - public ByteBuffer charset_encode() { - return UTF_8.encode(source); - } - - @Benchmark - public Object encoder_byteBufferReuse() throws CharacterCodingException { - buf.clear(); - return encoder.encode(CharBuffer.wrap(source), buf, true); - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(UTF8Encoding.class.getSimpleName()) - //.addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/escaping/EscapeProcessing.java b/ubenchmark/src/main/java/org/postgresql/benchmark/escaping/EscapeProcessing.java deleted file mode 100644 index 7e8b8da1e0..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/escaping/EscapeProcessing.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2004, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.escaping; - -import org.postgresql.core.Parser; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Threads; -import org.openjdk.jmh.annotations.Warmup; - -import java.util.concurrent.TimeUnit; - -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@Threads(1) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class EscapeProcessing { - - private String fnEscapeSQL = "{fn week({d '2005-01-24'})}"; - private boolean replaceProcessingEnabled = true; - private boolean standardConformingStrings = false; - - @Benchmark - public String escapeFunctionWithDate() throws Exception { - return Parser.replaceProcessing(fnEscapeSQL, replaceProcessingEnabled, standardConformingStrings); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/profilers/FlightRecorderProfiler.java b/ubenchmark/src/main/java/org/postgresql/benchmark/profilers/FlightRecorderProfiler.java deleted file mode 100644 index 0e31a61d71..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/profilers/FlightRecorderProfiler.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.profilers; - -import org.openjdk.jmh.infra.BenchmarkParams; -import org.openjdk.jmh.infra.IterationParams; -import org.openjdk.jmh.profile.ExternalProfiler; -import org.openjdk.jmh.results.BenchmarkResult; -import org.openjdk.jmh.results.Result; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.TimeUnit; - -/** - * Captures Flight Recorder log. Note: Flight Recorder is available in OracleJDK only. Usage of - * Flight Recorder in production requires a LICENSE FEE, however Flight Recorder is free for use in - * test systems. It is assumed you would not use pgjdbc benchmarks for running a production system, - * thus it is believed to be safe. - */ -public class FlightRecorderProfiler implements ExternalProfiler { - @Override - public Collection addJVMInvokeOptions(BenchmarkParams params) { - return Collections.emptyList(); - } - - @Override - public Collection addJVMOptions(BenchmarkParams params) { - StringBuilder sb = new StringBuilder(); - for (String param : params.getParamsKeys()) { - if (sb.length() != 0) { - sb.append('-'); - } - sb.append(param).append('-').append(params.getParam(param)); - } - - long duration = - getDurationSeconds(params.getWarmup()) + getDurationSeconds(params.getMeasurement()); - List opts = new ArrayList<>(); - opts.add("-XX:+UnlockCommercialFeatures"); - opts.add("-XX:+FlightRecorder"); - if (!System.getProperty("java.version").startsWith("1.7")) { - // DebugNonSafepoints requires java 1.8u40+ - opts.add("-XX:+UnlockDiagnosticVMOptions"); - opts.add("-XX:+DebugNonSafepoints"); - } - opts.add("-XX:StartFlightRecording=settings=profile,duration=" + duration + "s,filename=" - + params.getBenchmark() + "_" + sb + ".jfr"); - return opts; - } - - private static long getDurationSeconds(IterationParams warmup) { - return warmup.getTime().convertTo(TimeUnit.SECONDS) * warmup.getCount(); - } - - @Override - public void beforeTrial(BenchmarkParams benchmarkParams) { - - } - - @Override - public Collection afterTrial(BenchmarkResult br, long pid, File stdOut, - File stdErr) { - return Collections.emptyList(); - } - - @Override - public boolean allowPrintOut() { - return true; - } - - @Override - public boolean allowPrintErr() { - return true; - } - - @Override - public String getDescription() { - return "Collects Java Flight Recorder profile"; - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java deleted file mode 100644 index 2882b2f1f6..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindArray.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2017, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.benchmark.profilers.FlightRecorderProfiler; -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Array; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Types; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class BindArray { - private Connection connection; - private PreparedStatement ps; - - Integer[] ints; - - @Param({"1", "5", "10", "50", "100", "1000"}) - int arraySize; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - ps = connection.prepareStatement("SELECT ?"); - ints = new Integer[arraySize]; - for (int i = 0; i < arraySize; i++) { - ints[i] = i + 1; - } - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - ps.close(); - connection.close(); - } - - @Benchmark - public Statement setObject() throws SQLException { - Array sqlInts = connection.createArrayOf("int", ints); - ps.setObject(1, sqlInts, Types.ARRAY); - return ps; - } - - @Benchmark - public Statement setArray() throws SQLException { - Array sqlInts = connection.createArrayOf("int", ints); - ps.setArray(1, sqlInts); - return ps; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(BindArray.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindBoolean.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindBoolean.java deleted file mode 100644 index 05b464e1ea..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindBoolean.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.benchmark.profilers.FlightRecorderProfiler; -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Types; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -@Fork(value = 0, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class BindBoolean { - private Connection connection; - private PreparedStatement ps; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - ps = connection.prepareStatement("select ?"); - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - ps.close(); - connection.close(); - } - - @Benchmark - public Statement boolAsInt() throws SQLException { - ps.setObject(1, 1, Types.BOOLEAN); - return ps; - } - - @Benchmark - public Statement boolAsBoolean() throws SQLException { - ps.setObject(1, true, Types.BOOLEAN); - return ps; - } - - @Benchmark - public Statement bindBoolean() throws SQLException { - ps.setBoolean(1, true); - return ps; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(BindBoolean.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindTimestamp.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindTimestamp.java deleted file mode 100644 index bed949cbca..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/BindTimestamp.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.benchmark.profilers.FlightRecorderProfiler; -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Timestamp; -import java.util.Calendar; -import java.util.Properties; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; - -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class BindTimestamp { - private Connection connection; - private PreparedStatement ps; - private Timestamp ts = new Timestamp(System.currentTimeMillis()); - private Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC")); - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - ps = connection.prepareStatement("select ?"); - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - ps.close(); - connection.close(); - } - - @Benchmark - public Statement timestampLocal() throws SQLException { - ps.setTimestamp(1, ts); - return ps; - } - - @Benchmark - public Statement timestampCal() throws SQLException { - ps.setTimestamp(1, ts, cal); - return ps; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(BindTimestamp.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/FinalizeStatement.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/FinalizeStatement.java deleted file mode 100644 index 06b1310e12..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/FinalizeStatement.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; -import java.util.Random; -import java.util.concurrent.TimeUnit; - -/** - * Here we measure the time it takes to create and close a dummy statement. - * - *

To run this and other benchmarks (you can run the class from within IDE): - * - *

mvn package && java -classpath postgresql-driver.jar:target/benchmarks.jar - * -Duser=postgres -Dpassword=postgres -Dport=5433 -wi 10 -i 10 -f 1
- * - *

To run with profiling: - * - *

java -classpath postgresql-driver.jar:target/benchmarks.jar -prof gc -f 1 -wi - * 10 -i 10
- */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class FinalizeStatement { - @Param({"0", "1", "10", "100"}) - private int leakPct; - - private float leakPctFloat; - - private Connection connection; - - //#if mvn.project.property.current.jdk < "1.7" - private Random random = new Random(); - //#endif - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - leakPctFloat = 0.01f * leakPct; - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - connection.close(); - } - - @Benchmark - public Statement createAndLeak() throws SQLException { - Statement statement = connection.createStatement(); - Random rnd; - //#if mvn.project.property.current.jdk < "1.7" - rnd = random; - //#else - rnd = java.util.concurrent.ThreadLocalRandom.current(); - //#endif - if (rnd.nextFloat() >= leakPctFloat) { - statement.close(); - } - return statement; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(FinalizeStatement.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/InsertBatch.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/InsertBatch.java deleted file mode 100644 index 41d5b2cda8..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/InsertBatch.java +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.PGConnection; -import org.postgresql.copy.CopyIn; -import org.postgresql.copy.CopyManager; -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.infra.BenchmarkParams; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.io.CharArrayWriter; -import java.io.IOException; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -public class InsertBatch { - private Connection connection; - private PreparedStatement ps; - private PreparedStatement structInsert; - String[] strings; - - @Param({"16", "128", "1024"}) - int p1nrows; - - @Param({"1", "4", "8", "16", "128"}) - int p2multi; - - @Setup(Level.Trial) - public void setUp(BenchmarkParams bp) throws SQLException { - // Test only - // 1) p1nrows in (16, 128, 1024) && p2multi == 128 - // 2) p1nrows in (1024) && p2multi in (1, 2, 4, 4, 16) - if (bp.getBenchmark().contains("insertExecute")) { - if (p2multi != 1) { - System.exit(-1); - } - } else if (!(p2multi == 128 || p1nrows == 1024)) { - System.exit(-1); - } - p2multi = Math.min(p2multi, p1nrows); - - Properties props = ConnectionUtil.getProperties(); - - if (bp.getBenchmark().contains("insertBatchWithRewrite")) { - // PGProperty.REWRITE_BATCHED_INSERTS is not used for easier use with previous pgjdbc versions - props.put("reWriteBatchedInserts", "true"); - } - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - Statement s = connection.createStatement(); - ; - try { - s.execute("drop table batch_perf_test"); - } catch (SQLException e) { - /* ignore */ - } - s.execute("create table batch_perf_test(a int4, b varchar(100), c int4)"); - s.close(); - String sql = "insert into batch_perf_test(a, b, c) values(?, ?, ?)"; - for (int i = 1; i < p2multi; i++) { - sql += ",(?,?,?)"; - } - ps = connection.prepareStatement(sql); - structInsert = connection.prepareStatement( - "insert into batch_perf_test select * from unnest(?::batch_perf_test[])"); - - strings = new String[p1nrows]; - for (int i = 0; i < p1nrows; i++) { - strings[i] = "s" + i; - } - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - ps.close(); - Statement s = connection.createStatement(); - s.execute("drop table batch_perf_test"); - s.close(); - connection.close(); - } - - @Benchmark - public int[] insertBatch() throws SQLException { - if (p2multi > 1) { - // Multi values(),(),() case - for (int i = 0; i < p1nrows; ) { - for (int k = 0, pos = 1; k < p2multi; k++, i++) { - ps.setInt(pos, i); - pos++; - ps.setString(pos, strings[i]); - pos++; - ps.setInt(pos, i); - pos++; - } - ps.addBatch(); - } - } else { - // Regular insert() values(); case - for (int i = 0; i < p1nrows; i++) { - ps.setInt(1, i); - ps.setString(2, strings[i]); - ps.setInt(3, i); - ps.addBatch(); - } - } - return ps.executeBatch(); - } - - @Benchmark - public int[] insertBatchWithRewrite() throws SQLException { - return insertBatch(); - } - - @Benchmark - public void insertExecute(Blackhole b) throws SQLException { - for (int i = 0; i < p1nrows; i++) { - ps.setInt(1, i); - ps.setString(2, strings[i]); - ps.setInt(3, i); - b.consume(ps.execute()); - } - } - - @Benchmark - public int[] insertStruct() throws SQLException, IOException { - CharArrayWriter wr = new CharArrayWriter(); - - for (int i = 0; i < p1nrows; ) { - wr.reset(); - wr.append('{'); - for (int k = 0; k < p2multi; k++, i++) { - if (k != 0) { - wr.append(','); - } - wr.append("\"("); - wr.append(Integer.toString(i)); - wr.append(','); - String str = strings[i]; - if (str != null) { - boolean hasQuotes = str.indexOf('"') != -1; - if (hasQuotes) { - wr.append("\""); - wr.append(str.replace("\"", "\\\"")); - wr.append("\""); - } else { - wr.append(str); - } - } - wr.append(','); - wr.append(Integer.toString(i)); - wr.append(")\""); - } - wr.append('}'); - structInsert.setString(1, wr.toString()); - structInsert.addBatch(); - } - - return structInsert.executeBatch(); - } - - @Benchmark - public void insertCopy(Blackhole b) throws SQLException, IOException { - CopyManager copyAPI = ((PGConnection) connection).getCopyAPI(); - CharArrayWriter wr = new CharArrayWriter(); - for (int i = 0; i < p1nrows;) { - CopyIn copyIn = copyAPI.copyIn("COPY batch_perf_test FROM STDIN"); - wr.reset(); - for (int k = 0; k < p2multi; k++, i++) { - wr.append(Integer.toString(i)); - wr.append('\t'); - String str = strings[i]; - if (str != null) { - boolean hasTabs = str.indexOf('\t') != -1; - if (hasTabs) { - wr.append("\""); - wr.append(str.replace("\"", "\"\"")); - wr.append("\""); - } else { - wr.append(str); - } - } - wr.append('\t'); - wr.append(Integer.toString(i)); - wr.append('\n'); - } - byte[] bytes = wr.toString().getBytes("UTF-8"); - copyIn.writeToCopy(bytes, 0, bytes.length); - b.consume(copyIn.endCopy()); - } - } - - - public static void main(String[] args) throws RunnerException { - //DriverManager.setLogWriter(new PrintWriter(System.out)); - //Driver.setLogLevel(2); - Options opt = new OptionsBuilder() - .include(InsertBatch.class.getSimpleName()) - //.addProfiler(org.openjdk.jmh.profile.GCProfiler.class) - //.addProfiler(org.postgresql.benchmark.profilers.FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ParseStatement.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ParseStatement.java deleted file mode 100644 index 8f1a9838dc..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ParseStatement.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -/** - * Tests the performance of preparing, executing and performing a fetch out of a simple "SELECT ?, - * ?, ... ?" statement. - */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.MICROSECONDS) -public class ParseStatement { - @Param({"0", "1", "10", "20"}) - private int bindCount; - - @Param({"false"}) - public boolean unique; - - private Connection connection; - - @Param({"conservative"}) - private String autoSave; - - private String sql; - - private int cntr; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - props.put("autosave", autoSave); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - - // Start transaction - Statement st = connection.createStatement(); - connection.setAutoCommit(false); - st.execute("BEGIN"); - st.close(); - - StringBuilder sb = new StringBuilder(); - sb.append("SELECT "); - for (int i = 0; i < bindCount; i++) { - if (i > 0) { - sb.append(','); - } - sb.append('?'); - } - sql = sb.toString(); - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - connection.close(); - } - - @Benchmark - public Statement bindExecuteFetch(Blackhole b) throws SQLException { - String sql = this.sql; - if (unique) { - sql += " -- " + cntr++; - } - PreparedStatement ps = connection.prepareStatement(sql); - for (int i = 1; i <= bindCount; i++) { - ps.setInt(i, i); - } - ResultSet rs = ps.executeQuery(); - while (rs.next()) { - for (int i = 1; i <= bindCount; i++) { - b.consume(rs.getInt(i)); - } - } - rs.close(); - ps.close(); - return ps; - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(ParseStatement.class.getSimpleName()) - .addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessBoolean.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessBoolean.java deleted file mode 100644 index 785cd29f69..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessBoolean.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2017, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Threads; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -/** - * Benchmark to test performance of ResultSet.getBoolean() method. - * - * @author jorsol - */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@Threads(1) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class ProcessBoolean { - - private Connection connection; - private PreparedStatement ps; - private ResultSet rs; - - @Param({"5", "10", "50", "100", "10000"}) - public int rowsize; - - @Param({"0", "10", "50", "100"}) - private int tokens; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - Properties props = ConnectionUtil.getProperties(); - - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - ps = connection.prepareStatement("select (random() > 0.5) from generate_series(1, ?)", - ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - ps.setInt(1, rowsize); - rs = ps.executeQuery(); - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - rs.close(); - ps.close(); - connection.close(); - } - - @Benchmark - public void getBoolean(Blackhole b) throws SQLException { - Blackhole.consumeCPU(tokens); - rs.first(); - while (rs.next()) { - b.consume(rs.getBoolean(1)); - } - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(ProcessBoolean.class.getSimpleName()) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessResultSet.java b/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessResultSet.java deleted file mode 100644 index aa42e9c956..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/statement/ProcessResultSet.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.statement; - -import org.postgresql.util.ConnectionUtil; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Level; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.TearDown; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; - -/** - * Tests the performance of preparing, executing and performing a fetch out of a simple "SELECT ?, - * ?, ... ?" statement. - */ -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.MICROSECONDS) -public class ProcessResultSet { - public enum FieldType { - INT, - BIGINT, - BIGDECIMAL, - STRING, - TIMESTAMP, - TIMESTAMPTZ, - BOOL - } - - public enum ColumnIndexType { - INDEX, - NAME - } - - public enum GetterType { - BEST, - OBJECT - } - - @Param({"1", "50", "100"}) - private int nrows; - - @Param({"5"}) - private int ncols; - - @Param - private FieldType type; - - @Param({"false"}) - public boolean unique; - - @Param({"BEST"}) - public GetterType getter; - - @Param({"NAME"}) - public ColumnIndexType columnIndexType; - - // Reuse == false is in line with what most applications do. They never reuse PreparedStatement objects - @Param({"false"}) - public boolean reuseStatement; - - private Connection connection; - - private PreparedStatement ps; - - private String sql; - - private int cntr; - - private String[] columnNames; - - @Setup(Level.Trial) - public void setUp() throws SQLException { - if (reuseStatement && unique) { - System.out.println("It does not make sense to test reuseStatement && unique combination. Terminating to save time"); - System.exit(-1); - } - if (type == FieldType.TIMESTAMP) { - System.out.println( - "TimeZone.getDefault().getDisplayName() = " + TimeZone.getDefault().getDisplayName()); - } - - Properties props = ConnectionUtil.getProperties(); - connection = DriverManager.getConnection(ConnectionUtil.getURL(), props); - StringBuilder sb = new StringBuilder(); - sb.append("SELECT "); - columnNames = new String[ncols]; - for (int i = 0; i < ncols; i++) { - if (i > 0) { - sb.append(", "); - } - if (type == FieldType.INT) { - sb.append("t.x"); - } - if (type == FieldType.BIGINT) { - sb.append("1234567890123456789"); - } - if (type == FieldType.BIGDECIMAL) { - sb.append("12345678901234567890123456789"); - } else if (type == FieldType.STRING) { - sb.append("'test string'"); - } else if (type == FieldType.TIMESTAMP) { - sb.append("localtimestamp"); - } else if (type == FieldType.TIMESTAMPTZ) { - sb.append("current_timestamp"); - } else if (type == FieldType.BOOL) { - sb.append("TRUE"); - } - String columnName = "c" + String.valueOf(System.currentTimeMillis()) + String.valueOf(i); - columnNames[i] = columnName; - sb.append(' ').append(columnName); - } - sb.append(" from generate_series(1, ?) as t(x)"); - sql = sb.toString(); - if (reuseStatement) { - this.ps = connection.prepareStatement(sql); - } - } - - @TearDown(Level.Trial) - public void tearDown() throws SQLException { - connection.close(); - } - - @Benchmark - public Statement bindExecuteFetch(Blackhole b) throws SQLException { - String sql = this.sql; - if (unique) { - sql += " -- " + cntr++; - } - - PreparedStatement ps = reuseStatement ? this.ps : connection.prepareStatement(sql); - ps.setInt(1, nrows); - ResultSet rs = ps.executeQuery(); - while (rs.next()) { - for (int i = 1; i <= ncols; i++) { - if (columnIndexType == ColumnIndexType.INDEX) { - getByIndex(b, rs, i); - } else { - getByName(b, rs, columnNames[i - 1]); - } - } - } - rs.close(); - if (!reuseStatement) { - ps.close(); - } - return ps; - } - - private void getByIndex(Blackhole b, ResultSet rs, int i) throws SQLException { - if (getter == GetterType.OBJECT) { - b.consume(rs.getObject(i)); - } else if (type == FieldType.INT) { - b.consume(rs.getInt(i)); - } else if (type == FieldType.BIGINT) { - b.consume(rs.getBigDecimal(i)); - } else if (type == FieldType.BIGDECIMAL) { - b.consume(rs.getBigDecimal(i)); - } else if (type == FieldType.STRING) { - b.consume(rs.getString(i)); - } else if (type == FieldType.TIMESTAMP) { - b.consume(rs.getTimestamp(i)); - } else if (type == FieldType.TIMESTAMPTZ) { - b.consume(rs.getTimestamp(i)); - } else if (type == FieldType.BOOL) { - b.consume(rs.getBoolean(i)); - } - } - - private void getByName(Blackhole b, ResultSet rs, String i) throws SQLException { - if (getter == GetterType.OBJECT) { - b.consume(rs.getObject(i)); - } else if (type == FieldType.INT) { - b.consume(rs.getInt(i)); - } else if (type == FieldType.BIGINT) { - b.consume(rs.getBigDecimal(i)); - } else if (type == FieldType.BIGDECIMAL) { - b.consume(rs.getBigDecimal(i)); - } else if (type == FieldType.STRING) { - b.consume(rs.getString(i)); - } else if (type == FieldType.TIMESTAMP) { - b.consume(rs.getTimestamp(i)); - } else if (type == FieldType.TIMESTAMPTZ) { - b.consume(rs.getTimestamp(i)); - } else if (type == FieldType.BOOL) { - b.consume(rs.getBoolean(i)); - } - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(ProcessResultSet.class.getSimpleName()) - //.addProfiler(GCProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/time/AddPaddingZeros.java b/ubenchmark/src/main/java/org/postgresql/benchmark/time/AddPaddingZeros.java deleted file mode 100644 index 9276d28294..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/time/AddPaddingZeros.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.time; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.profile.GCProfiler; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Timestamp; -import java.util.concurrent.TimeUnit; - -@Fork(value = 0, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class AddPaddingZeros { - - @Param({"1000", "1000000", "100000000"}) - int nanos; - - static final char[] ZEROS = "0000000000".toCharArray(); - - Timestamp ts = new Timestamp(System.currentTimeMillis()); - - StringBuffer sb = new StringBuffer(); - - @Setup - public void init() { - ts.setNanos(nanos); - } - - @Benchmark - public void charArray() { - sb.setLength(0); - int nanos = ts.getNanos(); - char[] decimalStr = {'0', '0', '0', '0', '0', '0', '0', '0', '0'}; - char[] nanoStr = Integer.toString(nanos).toCharArray(); - System.arraycopy(nanoStr, 0, decimalStr, decimalStr.length - nanoStr.length, nanoStr.length); - sb.append(decimalStr, 0, 6); - } - - @Benchmark - public void insert() { - sb.setLength(0); - int len = sb.length(); - int nanos = ts.getNanos(); - sb.append(nanos / 1000); - int needZeros = 6 - (sb.length() - len); - if (needZeros > 0) { - sb.insert(len, ZEROS, 0, needZeros); - } - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(AddPaddingZeros.class.getSimpleName()) - .addProfiler(GCProfiler.class) - //.addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToDate.java b/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToDate.java deleted file mode 100644 index a8b0d4f4ee..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToDate.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.time; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Timestamp; -import java.util.Calendar; -import java.util.GregorianCalendar; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; - -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class TimestampToDate { - private static final long ONEDAY = TimeUnit.DAYS.toMillis(1); - - @Param({"GMT+02:00", "Europe/Moscow"}) - String tz; - TimeZone timeZone; - - Timestamp ts = new Timestamp(System.currentTimeMillis()); - Calendar cachedCalendar = new GregorianCalendar(); - - @Setup - public void init() { - timeZone = TimeZone.getTimeZone(tz); - } - - @Benchmark - public long simple() { - long millis = ts.getTime() + 10; - ts.setTime(millis); - Calendar cal = cachedCalendar; - cal.setTimeZone(timeZone); - cal.setTimeInMillis(millis); - cal.set(Calendar.HOUR_OF_DAY, 0); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - cal.set(Calendar.MILLISECOND, 0); - return cal.getTimeInMillis(); - } - - private static boolean isSimpleTimeZone(String id) { - return id.startsWith("GMT") || id.startsWith("UTC"); - } - - @Benchmark - public long advanced() { - long millis = ts.getTime() + 10; - TimeZone tz = this.timeZone; - if (isSimpleTimeZone(tz.getID())) { - // Truncate to 00:00 of the day. - // Suppose the input date is 7 Jan 15:40 GMT+02:00 (that is 13:40 UTC) - // We want it to become 7 Jan 00:00 GMT+02:00 - // 1) Make sure millis becomes 15:40 in UTC, so add offset - int offset = tz.getRawOffset(); - millis += offset; - // 2) Truncate hours, minutes, etc. Day is always 86400 seconds, no matter what leap seconds are - millis = millis / ONEDAY * ONEDAY; - // 2) Now millis is 7 Jan 00:00 UTC, however we need that in GMT+02:00, so subtract some offset - millis -= offset; - // Now we have brand-new 7 Jan 00:00 GMT+02:00 - return millis; - } - Calendar cal = cachedCalendar; - cal.setTimeZone(tz); - cal.setTimeInMillis(millis); - cal.set(Calendar.HOUR_OF_DAY, 0); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - cal.set(Calendar.MILLISECOND, 0); - return cal.getTimeInMillis(); - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(TimestampToDate.class.getSimpleName()) - //.addProfiler(GCProfiler.class) - //.addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } - -} diff --git a/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToTime.java b/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToTime.java deleted file mode 100644 index f0c6f48b58..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/benchmark/time/TimestampToTime.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.benchmark.time; - -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Measurement; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Param; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; -import org.openjdk.jmh.annotations.Warmup; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Timestamp; -import java.util.Calendar; -import java.util.GregorianCalendar; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; - -@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") -@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) -@State(Scope.Thread) -@BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.NANOSECONDS) -public class TimestampToTime { - private static final long ONEDAY = TimeUnit.DAYS.toMillis(1); - - @Param({"GMT+02:00", "Europe/Moscow"}) - String tz; - TimeZone timeZone; - - Timestamp ts = new Timestamp(System.currentTimeMillis()); - Calendar cachedCalendar = new GregorianCalendar(); - - @Setup - public void init() { - timeZone = TimeZone.getTimeZone(tz); - } - - @Benchmark - public long simple() { - long millis = ts.getTime() + 10; - ts.setTime(millis); - Calendar cal = cachedCalendar; - cal.setTimeZone(timeZone); - cal.setTimeInMillis(millis); - cal.set(Calendar.ERA, GregorianCalendar.AD); - cal.set(Calendar.YEAR, 1970); - cal.set(Calendar.MONTH, 0); - cal.set(Calendar.DAY_OF_MONTH, 1); - return cal.getTimeInMillis(); - } - - private static boolean isSimpleTimeZone(String id) { - return id.startsWith("GMT") || id.startsWith("UTC"); - } - - @Benchmark - public long advanced() { - long millis = ts.getTime() + 10; - TimeZone tz = this.timeZone; - if (isSimpleTimeZone(tz.getID())) { - // Leave just time part of the day. - // Suppose the input date is 2015 7 Jan 15:40 GMT+02:00 (that is 13:40 UTC) - // We want it to become 1970 1 Jan 15:40 GMT+02:00 - // 1) Make sure millis becomes 15:40 in UTC, so add offset - int offset = tz.getRawOffset(); - millis += offset; - // 2) Truncate year, month, day. Day is always 86400 seconds, no matter what leap seconds are - millis = millis % ONEDAY; - // 2) Now millis is 1970 1 Jan 15:40 UTC, however we need that in GMT+02:00, so subtract some offset - millis -= offset; - // Now we have brand-new 1970 1 Jan 15:40 GMT+02:00 - return millis; - } - ts.setTime(millis); - Calendar cal = cachedCalendar; - cal.setTimeZone(tz); - cal.setTimeInMillis(millis); - cal.set(Calendar.ERA, GregorianCalendar.AD); - cal.set(Calendar.YEAR, 1970); - cal.set(Calendar.MONTH, 0); - cal.set(Calendar.DAY_OF_MONTH, 1); - return cal.getTimeInMillis(); - } - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(TimestampToTime.class.getSimpleName()) - //.addProfiler(GCProfiler.class) - //.addProfiler(FlightRecorderProfiler.class) - .detectJvmArgs() - .build(); - - new Runner(opt).run(); - } - -} diff --git a/ubenchmark/src/main/java/org/postgresql/util/ConnectionUtil.java b/ubenchmark/src/main/java/org/postgresql/util/ConnectionUtil.java deleted file mode 100644 index 1227646c40..0000000000 --- a/ubenchmark/src/main/java/org/postgresql/util/ConnectionUtil.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2003, PostgreSQL Global Development Group - * See the LICENSE file in the project root for more information. - */ - -package org.postgresql.util; - -import org.postgresql.PGProperty; - -import java.util.Properties; - -public class ConnectionUtil { - /** - * @return the Postgresql username - */ - public static String getUser() { - return System.getProperty("user", "test"); - } - - /** - * @return the user's password - */ - public static String getPassword() { - return System.getProperty("password", "password"); - } - - - /** - * @return the test server - */ - public static String getServer() { - return System.getProperty("server", "localhost"); - } - - /** - * @return the test port - */ - public static int getPort() { - return Integer.parseInt(System.getProperty("port", System.getProperty("def_pgport", "5432"))); - } - - /** - * @return the Test database - */ - public static String getDatabase() { - return System.getProperty("database", "test"); - } - - /** - * @return connection url to server - */ - public static String getURL() { - return "jdbc:postgresql://" + ConnectionUtil.getServer() + ":" + ConnectionUtil.getPort() + "/" - + ConnectionUtil - .getDatabase(); - } - - - /** - * @return merged with default property list - */ - public static Properties getProperties() { - Properties properties = new Properties(System.getProperties()); - - PGProperty.USER.set(properties, getUser()); - PGProperty.PASSWORD.set(properties, getPassword()); - PGProperty.PG_PORT.set(properties, getPort()); - properties.setProperty("database", getDatabase()); - properties.setProperty("server", getServer()); - - return properties; - } -} diff --git a/ubenchmark/src/test/java/readme.txt b/ubenchmark/src/test/java/readme.txt deleted file mode 100644 index c8ccb8f511..0000000000 --- a/ubenchmark/src/test/java/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -No test source yet, however the folder is required for java comment preprocessor -Otherwise it fails with - -[ERROR] Failed to execute goal com.igormaznitsa:jcp:6.0.1:preprocess (preprocessTestSources) on project pgjdbc-benchmark: Can't find a source directory [/home/travis/build/pgjdbc/pgjdbc/ubenchmark/src/test/java] -> [Help 1] From a699965ae209c32ce234fb455f04ffe6b1d1e0e5 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 10 Jun 2018 12:16:57 +0300 Subject: [PATCH 152/427] chore: remove ubenchmark from packaging/rpm as well --- packaging/rpm/postgresql-jdbc.spec.tpl | 2 -- 1 file changed, 2 deletions(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index f90698a6e8..0cb054d296 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -107,8 +107,6 @@ mv pgjdbc-parent-poms-REL%parent_ver pgjdbc-parent-poms # remove any binary libs find -name "*.jar" -or -name "*.class" | xargs rm -f -%pom_disable_module ubenchmark - # Build parent POMs in the same Maven call. %pom_xpath_inject pom:modules "%parent_poms_builddir" %pom_xpath_inject pom:parent "pgjdbc-parent-poms/pgjdbc-versions" From b7fd9f3cef734b4c219e2f6bc6c19acf68b2990b Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 22 Jun 2018 16:46:05 +0400 Subject: [PATCH 153/427] fix: support query timeouts exceeding 2147483 seconds (~25 days) (#1224) Use long field for timeout to avoid unexpected "Query timeout must be a value greater than or equals to 0" when query timeout exceeds 2147483 fixes #1223 --- .../java/org/postgresql/jdbc/PgStatement.java | 15 ++++++++++----- .../org/postgresql/test/jdbc2/StatementTest.java | 11 +++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index b70d54c4a6..06736913ff 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -113,7 +113,7 @@ public class PgStatement implements Statement, BaseStatement { /** * Timeout (in milliseconds) for a query */ - protected int timeout = 0; + protected long timeout = 0; protected boolean replaceProcessingEnabled = true; @@ -518,11 +518,16 @@ public void setEscapeProcessing(boolean enable) throws SQLException { } public int getQueryTimeout() throws SQLException { - return getQueryTimeoutMs() / 1000; + checkClosed(); + long seconds = timeout / 1000; + if (seconds >= Integer.MAX_VALUE) { + return Integer.MAX_VALUE; + } + return (int) seconds; } public void setQueryTimeout(int seconds) throws SQLException { - setQueryTimeoutMs(seconds * 1000); + setQueryTimeoutMs(seconds * 1000L); } /** @@ -532,7 +537,7 @@ public void setQueryTimeout(int seconds) throws SQLException { * @return the current query timeout limit in milliseconds; 0 = unlimited * @throws SQLException if a database access error occurs */ - public int getQueryTimeoutMs() throws SQLException { + public long getQueryTimeoutMs() throws SQLException { checkClosed(); return timeout; } @@ -543,7 +548,7 @@ public int getQueryTimeoutMs() throws SQLException { * @param millis - the new query timeout limit in milliseconds * @throws SQLException if a database access error occurs */ - public void setQueryTimeoutMs(int millis) throws SQLException { + public void setQueryTimeoutMs(long millis) throws SQLException { checkClosed(); if (millis < 0) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 013622f571..70c8e06ecc 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -695,6 +695,17 @@ public void testSetQueryTimeout() throws SQLException { } } + @Test + public void testLongQueryTimeout() throws SQLException { + Statement stmt = con.createStatement(); + stmt.setQueryTimeout(Integer.MAX_VALUE); + Assert.assertEquals("setQueryTimeout(Integer.MAX_VALUE)", Integer.MAX_VALUE, + stmt.getQueryTimeout()); + stmt.setQueryTimeout(Integer.MAX_VALUE - 1); + Assert.assertEquals("setQueryTimeout(Integer.MAX_VALUE-1)", Integer.MAX_VALUE - 1, + stmt.getQueryTimeout()); + } + /** * Test executes two queries one after another. The first one has timeout of 1ms, and the second * one does not. The timeout of the first query should not impact the second one. From 2a1e09100c4d56a37c84668135ec7fe3e05962cb Mon Sep 17 00:00:00 2001 From: benoit Date: Thu, 28 Jun 2018 10:10:47 +0300 Subject: [PATCH 154/427] perf: reduce memory allocations when JDBC escapes ({fn ...}) are used Avoid SqlParseState.values() in Parser as it always allocates an array see #1229 --- pgjdbc/src/main/java/org/postgresql/core/Parser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index ffd802b6bf..cc4a2393e8 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -1157,7 +1157,7 @@ private static int parseSql(char[] p_sql, int i, StringBuilder newsql, boolean s break; } else if (c == '{') { // start of an escape code? if (i + 1 < len) { - SqlParseState[] availableStates = SqlParseState.values(); + SqlParseState[] availableStates = SqlParseState.VALUES; // skip first state, it's not a escape code state for (int j = 1; j < availableStates.length; j++) { SqlParseState availableState = availableStates[j]; @@ -1292,6 +1292,8 @@ private enum SqlParseState { ESC_OUTERJOIN("oj", QUOTE_OR_ALPHABETIC_MARKER_OR_PARENTHESIS, null), ESC_ESCAPECHAR("escape", SINGLE_QUOTE, "ESCAPE "); + private static final SqlParseState[] VALUES = values(); + private final char[] escapeKeyword; private final char[] allowedValues; private final String replacementKeyword; From 191d84eb7541a0eba0a0f0eaac0f45e6e0c80ce4 Mon Sep 17 00:00:00 2001 From: benoit Date: Thu, 28 Jun 2018 10:33:06 +0300 Subject: [PATCH 155/427] refactor: use singleArgumentFunctionCall in EscapedFunctions --- .../org/postgresql/jdbc/EscapedFunctions.java | 93 +++++-------------- 1 file changed, 23 insertions(+), 70 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java index c3b60730db..ca6c2fc74a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java @@ -234,12 +234,12 @@ public static String sqlconcat(List parsedArgs) { * @throws SQLException if something wrong happens */ public static String sqlinsert(List parsedArgs) throws SQLException { - StringBuilder buf = new StringBuilder(); - buf.append("overlay("); if (parsedArgs.size() != 4) { throw new PSQLException(GT.tr("{0} function takes four and only four argument.", "insert"), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append("overlay("); buf.append(parsedArgs.get(0)).append(" placing ").append(parsedArgs.get(3)); buf.append(" from ").append(parsedArgs.get(1)).append(" for ").append(parsedArgs.get(2)); return buf.append(')').toString(); @@ -264,12 +264,12 @@ public static String sqllcase(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlleft(List parsedArgs) throws SQLException { - StringBuilder buf = new StringBuilder(); - buf.append("substring("); if (parsedArgs.size() != 2) { throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", "left"), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append("substring("); buf.append(parsedArgs.get(0)).append(" for ").append(parsedArgs.get(1)); return buf.append(')').toString(); } @@ -282,12 +282,12 @@ public static String sqlleft(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqllength(List parsedArgs) throws SQLException { - StringBuilder buf = new StringBuilder(); - buf.append("length(trim(trailing from "); if (parsedArgs.size() != 1) { throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "length"), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append("length(trim(trailing from "); buf.append(parsedArgs.get(0)); return buf.append("))").toString(); } @@ -320,14 +320,7 @@ public static String sqllocate(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlltrim(List parsedArgs) throws SQLException { - StringBuilder buf = new StringBuilder(); - buf.append("trim(leading from "); - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "ltrim"), - PSQLState.SYNTAX_ERROR); - } - buf.append(parsedArgs.get(0)); - return buf.append(')').toString(); + return singleArgumentFunctionCall("trim(leading from ", "ltrim", parsedArgs); } /** @@ -338,12 +331,12 @@ public static String sqlltrim(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlright(List parsedArgs) throws SQLException { - StringBuilder buf = new StringBuilder(); - buf.append("substring("); if (parsedArgs.size() != 2) { throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", "right"), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append("substring("); buf.append(parsedArgs.get(0)) .append(" from (length(") .append(parsedArgs.get(0)) @@ -457,11 +450,7 @@ public static String sqldayname(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqldayofmonth(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "dayofmonth"), - PSQLState.SYNTAX_ERROR); - } - return "extract(day from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(day from ", "dayofmonth", parsedArgs); } /** @@ -487,11 +476,7 @@ public static String sqldayofweek(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqldayofyear(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "dayofyear"), - PSQLState.SYNTAX_ERROR); - } - return "extract(doy from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(doy from ", "dayofyear", parsedArgs); } /** @@ -502,11 +487,7 @@ public static String sqldayofyear(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlhour(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "hour"), - PSQLState.SYNTAX_ERROR); - } - return "extract(hour from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(hour from ", "hour", parsedArgs); } /** @@ -517,11 +498,7 @@ public static String sqlhour(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlminute(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "minute"), - PSQLState.SYNTAX_ERROR); - } - return "extract(minute from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(minute from ", "minute", parsedArgs); } /** @@ -532,11 +509,7 @@ public static String sqlminute(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlmonth(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "month"), - PSQLState.SYNTAX_ERROR); - } - return "extract(month from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(month from ", "month", parsedArgs); } /** @@ -562,11 +535,7 @@ public static String sqlmonthname(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlquarter(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "quarter"), - PSQLState.SYNTAX_ERROR); - } - return "extract(quarter from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(quarter from ", "quarter", parsedArgs); } /** @@ -577,11 +546,7 @@ public static String sqlquarter(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlsecond(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "second"), - PSQLState.SYNTAX_ERROR); - } - return "extract(second from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(second from ", "second", parsedArgs); } /** @@ -592,11 +557,7 @@ public static String sqlsecond(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlweek(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "week"), - PSQLState.SYNTAX_ERROR); - } - return "extract(week from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(week from ", "week", parsedArgs); } /** @@ -607,11 +568,7 @@ public static String sqlweek(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlyear(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 1) { - throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "year"), - PSQLState.SYNTAX_ERROR); - } - return "extract(year from " + parsedArgs.get(0) + ")"; + return singleArgumentFunctionCall("extract(year from ", "year", parsedArgs); } /** @@ -745,11 +702,7 @@ public static String sqldatabase(List parsedArgs) throws SQLException { * @throws SQLException if something wrong happens */ public static String sqlifnull(List parsedArgs) throws SQLException { - if (parsedArgs.size() != 2) { - throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", "ifnull"), - PSQLState.SYNTAX_ERROR); - } - return "coalesce(" + parsedArgs.get(0) + "," + parsedArgs.get(1) + ")"; + return twoArgumentsFunctionCall("coalesce(", "ifnull", parsedArgs); } /** @@ -769,24 +722,24 @@ public static String sqluser(List parsedArgs) throws SQLException { private static String singleArgumentFunctionCall(String call, String functionName, List parsedArgs) throws PSQLException { - StringBuilder buf = new StringBuilder(); - buf.append(call); if (parsedArgs.size() != 1) { throw new PSQLException(GT.tr("{0} function takes one and only one argument.", functionName), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append(call); buf.append(parsedArgs.get(0)); return buf.append(')').toString(); } private static String twoArgumentsFunctionCall(String call, String functionName, List parsedArgs) throws PSQLException { - StringBuilder buf = new StringBuilder(); - buf.append(call); if (parsedArgs.size() != 2) { throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", functionName), PSQLState.SYNTAX_ERROR); } + StringBuilder buf = new StringBuilder(); + buf.append(call); buf.append(parsedArgs.get(0)).append(',').append(parsedArgs.get(1)); return buf.append(')').toString(); } From 669fc31ec187b27d15ee24f84c389260c54ddf25 Mon Sep 17 00:00:00 2001 From: benoit Date: Fri, 29 Jun 2018 23:21:03 +0300 Subject: [PATCH 156/427] perf: avoid BaseQueryKey.toString in CachedQuery.getSize (#1227) LruCache uses .getSize to limit the size of the cache, so this method should refrain from doing memory allocations. closes #1226 --- .../java/org/postgresql/core/BaseQueryKey.java | 12 +++++++++++- .../java/org/postgresql/core/CachedQuery.java | 14 ++++++++++---- .../core/QueryWithReturningColumnsKey.java | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/BaseQueryKey.java b/pgjdbc/src/main/java/org/postgresql/core/BaseQueryKey.java index 3082e9d614..d9d4aea95f 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/BaseQueryKey.java +++ b/pgjdbc/src/main/java/org/postgresql/core/BaseQueryKey.java @@ -5,13 +5,15 @@ package org.postgresql.core; +import org.postgresql.util.CanEstimateSize; + /** * This class is used as a cache key for simple statements that have no "returning columns". * Prepared statements that have no returning columns use just {@code String sql} as a key. * Simple and Prepared statements that have returning columns use {@link QueryWithReturningColumnsKey} * as a cache key. */ -class BaseQueryKey { +class BaseQueryKey implements CanEstimateSize { public final String sql; public final boolean isParameterized; public final boolean escapeProcessing; @@ -31,6 +33,14 @@ public String toString() { + '}'; } + @Override + public long getSize() { + if (sql == null) { // just in case + return 16; + } + return 16 + sql.length() * 2L; // 2 bytes per char, revise with Java 9's compact strings + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java index 78eab110ee..adb2fa92f5 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java @@ -13,9 +13,7 @@ */ public class CachedQuery implements CanEstimateSize { /** - * Cache key. {@link String} or {@code org.postgresql.jdbc.CallableQueryKey}. It is assumed that - * {@code String.valueOf(key)*2} would give reasonable estimate of the number of retained bytes by - * given key (see {@link #getSize}). + * Cache key. {@link String} or {@code org.postgresql.util.CanEstimateSize}. */ public final Object key; public final Query query; @@ -25,6 +23,9 @@ public class CachedQuery implements CanEstimateSize { private int executeCount; public CachedQuery(Object key, Query query, boolean isFunction, boolean outParmBeforeFunc) { + assert key instanceof String || key instanceof CanEstimateSize + : "CachedQuery.key should either be String or implement CanEstimateSize." + + " Actual class is " + key.getClass(); this.key = key; this.query = query; this.isFunction = isFunction; @@ -55,7 +56,12 @@ public int getExecuteCount() { @Override public long getSize() { - int queryLength = String.valueOf(key).length() * 2 /* 2 bytes per char */; + long queryLength; + if (key instanceof String) { + queryLength = ((String) key).length() * 2L; // 2 bytes per char, revise with Java 9's compact strings + } else { + queryLength = ((CanEstimateSize) key).getSize(); + } return queryLength * 2 /* original query and native sql */ + 100L /* entry in hash map, CachedQuery wrapper, etc */; } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryWithReturningColumnsKey.java b/pgjdbc/src/main/java/org/postgresql/core/QueryWithReturningColumnsKey.java index 0b1dfd7680..04bcb56e7c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryWithReturningColumnsKey.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryWithReturningColumnsKey.java @@ -16,6 +16,7 @@ */ class QueryWithReturningColumnsKey extends BaseQueryKey { public final String[] columnNames; + private int size; // query length cannot exceed MAX_INT QueryWithReturningColumnsKey(String sql, boolean isParameterized, boolean escapeProcessing, String[] columnNames) { @@ -27,6 +28,23 @@ class QueryWithReturningColumnsKey extends BaseQueryKey { this.columnNames = columnNames; } + @Override + public long getSize() { + int size = this.size; + if (size != 0) { + return size; + } + size = (int) super.getSize(); + if (columnNames != null) { + size += 16L; // array itself + for (String columnName: columnNames) { + size += columnName.length() * 2L; // 2 bytes per char, revise with Java 9's compact strings + } + } + this.size = size; + return size; + } + @Override public String toString() { return "QueryWithReturningColumnsKey{" From 177f63be788a80529bfa7c2234cfabb039cc29b4 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 29 Jun 2018 23:25:17 +0300 Subject: [PATCH 157/427] perf: improve performance of replacing JDBC {...} escapes (#1230) There are the key improvements: 1) Function arguments for {fn ...} were parsed twice 2) EscapedFunctions now appends data to existing StringBuilder instead of producing intermediate Strings 3) EscapedFunctions.getFunction avoids string concatenation (suggested by benbenw) and toLowerCase on a hot path closes #1229 --- .../main/java/org/postgresql/core/Parser.java | 126 ++-- .../org/postgresql/jdbc/EscapedFunctions.java | 2 + .../postgresql/jdbc/EscapedFunctions2.java | 665 ++++++++++++++++++ .../postgresql/test/jdbc2/StatementTest.java | 2 +- 4 files changed, 737 insertions(+), 58 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index cc4a2393e8..de26262a43 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -5,7 +5,7 @@ package org.postgresql.core; -import org.postgresql.jdbc.EscapedFunctions; +import org.postgresql.jdbc.EscapedFunctions2; import org.postgresql.util.GT; import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; @@ -1179,25 +1179,7 @@ private static int parseSql(char[] p_sql, int i, StringBuilder newsql, boolean s case ESC_FUNCTION: // extract function name - String functionName; - int posArgs; - for (posArgs = i; posArgs < len && p_sql[posArgs] != '('; posArgs++) { - ; - } - if (posArgs < len) { - functionName = new String(p_sql, i, posArgs - i).trim(); - // extract arguments - i = posArgs + 1;// we start the scan after the first ( - StringBuilder args = new StringBuilder(); - i = parseSql(p_sql, i, args, false, stdStrings); - // translate the function and parse arguments - newsql.append(escapeFunction(functionName, args.toString(), stdStrings)); - } - // go to the end of the function copying anything found - i++; - while (i < len && p_sql[i] != '}') { - newsql.append(p_sql[i++]); - } + i = escapeFunction(p_sql, i, newsql, stdStrings); state = SqlParseState.IN_SQLCODE; // end of escaped function (or query) break; case ESC_DATE: @@ -1216,6 +1198,14 @@ private static int parseSql(char[] p_sql, int i, StringBuilder newsql, boolean s return i; } + private static int findOpenBrace(char[] p_sql, int i) { + int posArgs; + for (posArgs = i; posArgs < p_sql.length && p_sql[posArgs] != '('; posArgs++) { + ; + } + return posArgs; + } + private static void checkParsePosition(int i, int len, int i0, char[] p_sql, String message) throws PSQLException { @@ -1227,54 +1217,71 @@ private static void checkParsePosition(int i, int len, int i0, char[] p_sql, PSQLState.SYNTAX_ERROR); } + private static int escapeFunction(char[] p_sql, int i, StringBuilder newsql, boolean stdStrings) throws SQLException { + String functionName; + int argPos = findOpenBrace(p_sql, i); + if (argPos < p_sql.length) { + functionName = new String(p_sql, i, argPos - i).trim(); + // extract arguments + i = argPos + 1;// we start the scan after the first ( + i = escapeFunctionArguments(newsql, functionName, p_sql, i, stdStrings); + } + // go to the end of the function copying anything found + i++; + while (i < p_sql.length && p_sql[i] != '}') { + newsql.append(p_sql[i++]); + } + return i; + } + /** * generate sql for escaped functions * + * @param newsql destination StringBuilder * @param functionName the escaped function name - * @param args the arguments for this function + * @param p_sql input SQL text (containing arguments of a function call with possible JDBC escapes) + * @param i position in the input SQL * @param stdStrings whether standard_conforming_strings is on - * @return the right postgreSql sql + * @return the right PostgreSQL sql * @throws SQLException if something goes wrong */ - private static String escapeFunction(String functionName, String args, boolean stdStrings) + private static int escapeFunctionArguments(StringBuilder newsql, String functionName, char[] p_sql, int i, + boolean stdStrings) throws SQLException { - // parse function arguments - int len = args.length(); - char[] argChars = args.toCharArray(); - int i = 0; - ArrayList parsedArgs = new ArrayList(); - while (i < len) { + // Maximum arity of functions in EscapedFunctions is 3 + List parsedArgs = new ArrayList(3); + while (true) { StringBuilder arg = new StringBuilder(); int lastPos = i; - i = parseSql(argChars, i, arg, true, stdStrings); - if (lastPos != i) { + i = parseSql(p_sql, i, arg, true, stdStrings); + if (i != lastPos) { parsedArgs.add(arg); } + if (i >= p_sql.length // should not happen + || p_sql[i] != ',') { + break; + } i++; } - // we can now translate escape functions + Method method = EscapedFunctions2.getFunction(functionName); + if (method == null) { + newsql.append(functionName); + EscapedFunctions2.appendCall(newsql, "(", ",", ")", parsedArgs); + return i; + } try { - Method escapeMethod = EscapedFunctions.getFunction(functionName); - return (String) escapeMethod.invoke(null, parsedArgs); + method.invoke(null, newsql, parsedArgs); } catch (InvocationTargetException e) { - if (e.getTargetException() instanceof SQLException) { - throw (SQLException) e.getTargetException(); + Throwable targetException = e.getTargetException(); + if (targetException instanceof SQLException) { + throw (SQLException) targetException; } else { - throw new PSQLException(e.getTargetException().getMessage(), PSQLState.SYSTEM_ERROR); - } - } catch (Exception e) { - // by default the function name is kept unchanged - StringBuilder buf = new StringBuilder(); - buf.append(functionName).append('('); - for (int iArg = 0; iArg < parsedArgs.size(); iArg++) { - buf.append(parsedArgs.get(iArg)); - if (iArg != (parsedArgs.size() - 1)) { - buf.append(','); - } + throw new PSQLException(targetException.getMessage(), PSQLState.SYSTEM_ERROR); } - buf.append(')'); - return buf.toString(); + } catch (IllegalAccessException e) { + throw new PSQLException(e.getMessage(), PSQLState.SYSTEM_ERROR); } + return i; } private static final char[] QUOTE_OR_ALPHABETIC_MARKER = {'\"', '0'}; @@ -1308,23 +1315,28 @@ private enum SqlParseState { this.replacementKeyword = replacementKeyword; } - private int getMatchedPosition(char[] p_sql, int pos) { - int newPos = pos; - + private boolean startMatches(char[] p_sql, int pos) { // check for the keyword for (char c : escapeKeyword) { - if (newPos >= p_sql.length) { - return 0; + if (pos >= p_sql.length) { + return false; } - char curr = p_sql[newPos++]; + char curr = p_sql[pos++]; if (curr != c && curr != Character.toUpperCase(c)) { - return 0; + return false; } } - if (newPos >= p_sql.length) { + return pos < p_sql.length; + } + + private int getMatchedPosition(char[] p_sql, int pos) { + // check for the keyword + if (!startMatches(p_sql, pos)) { return 0; } + int newPos = pos + escapeKeyword.length; + // check for the beginning of the value char curr = p_sql[newPos]; // ignore any in-between whitespace diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java index ca6c2fc74a..76970f7e31 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java @@ -20,7 +20,9 @@ * This class stores supported escaped function * * @author Xavier Poinsard + * @deprecated see {@link EscapedFunctions2} */ +@Deprecated public class EscapedFunctions { // numeric functions names public static final String ABS = "abs"; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java new file mode 100644 index 0000000000..79373253c4 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java @@ -0,0 +1,665 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import org.postgresql.util.GT; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +import java.lang.reflect.Method; +import java.sql.SQLException; +import java.util.List; +import java.util.Locale; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * This class stores supported escaped function. + * Note: this is a pgjdbc-internal class, so it is not supposed to be used outside of the driver. + */ +public final class EscapedFunctions2 { + // constants for timestampadd and timestampdiff + private static final String SQL_TSI_ROOT = "SQL_TSI_"; + private static final String SQL_TSI_DAY = "SQL_TSI_DAY"; + private static final String SQL_TSI_FRAC_SECOND = "SQL_TSI_FRAC_SECOND"; + private static final String SQL_TSI_HOUR = "SQL_TSI_HOUR"; + private static final String SQL_TSI_MINUTE = "SQL_TSI_MINUTE"; + private static final String SQL_TSI_MONTH = "SQL_TSI_MONTH"; + private static final String SQL_TSI_QUARTER = "SQL_TSI_QUARTER"; + private static final String SQL_TSI_SECOND = "SQL_TSI_SECOND"; + private static final String SQL_TSI_WEEK = "SQL_TSI_WEEK"; + private static final String SQL_TSI_YEAR = "SQL_TSI_YEAR"; + + /** + * storage for functions implementations + */ + private static final ConcurrentMap FUNCTION_MAP = createFunctionMap("sql"); + + private static ConcurrentMap createFunctionMap(String prefix) { + Method[] methods = EscapedFunctions2.class.getMethods(); + ConcurrentMap functionMap = new ConcurrentHashMap(methods.length * 2); + for (Method method : methods) { + if (method.getName().startsWith(prefix)) { + functionMap.put(method.getName().substring(prefix.length()).toLowerCase(Locale.US), method); + } + } + return functionMap; + } + + /** + * get Method object implementing the given function + * + * @param functionName name of the searched function + * @return a Method object or null if not found + */ + public static Method getFunction(String functionName) { + Method method = FUNCTION_MAP.get(functionName); + if (method != null) { + return method; + } + String nameLower = functionName.toLowerCase(Locale.US); + if (nameLower == functionName) { + // Input name was in lower case, the function is not there + return null; + } + method = FUNCTION_MAP.get(nameLower); + if (method != null && FUNCTION_MAP.size() < 1000) { + // Avoid OutOfMemoryError in case input function names are randomized + // The number of methods is finite, however the number of upper-lower case combinations + // is quite a few (e.g. substr, Substr, sUbstr, SUbstr, etc). + FUNCTION_MAP.putIfAbsent(functionName, method); + } + return method; + } + + // ** numeric functions translations ** + + /** + * ceiling to ceil translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlceiling(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "ceil(", "ceiling", parsedArgs); + } + + /** + * log to ln translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqllog(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "ln(", "log", parsedArgs); + } + + /** + * log10 to log translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqllog10(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "log(", "log10", parsedArgs); + } + + /** + * power to pow translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlpower(StringBuilder buf, List parsedArgs) throws SQLException { + twoArgumentsFunctionCall(buf, "pow(", "power", parsedArgs); + } + + /** + * truncate to trunc translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqltruncate(StringBuilder buf, List parsedArgs) throws SQLException { + twoArgumentsFunctionCall(buf, "trunc(", "truncate", parsedArgs); + } + + // ** string functions translations ** + + /** + * char to chr translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlchar(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "chr(", "char", parsedArgs); + } + + /** + * concat translation + * + * @param parsedArgs arguments + */ + public static void sqlconcat(StringBuilder buf, List parsedArgs) { + appendCall(buf, "(", "||", ")", parsedArgs); + } + + /** + * insert to overlay translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlinsert(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 4) { + throw new PSQLException(GT.tr("{0} function takes four and only four argument.", "insert"), + PSQLState.SYNTAX_ERROR); + } + buf.append("overlay("); + buf.append(parsedArgs.get(0)).append(" placing ").append(parsedArgs.get(3)); + buf.append(" from ").append(parsedArgs.get(1)).append(" for ").append(parsedArgs.get(2)); + buf.append(')'); + } + + /** + * lcase to lower translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqllcase(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "lower(", "lcase", parsedArgs); + } + + /** + * left to substring translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlleft(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 2) { + throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", "left"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "substring(", " for ", ")", parsedArgs); + } + + /** + * length translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqllength(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 1) { + throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "length"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "length(trim(trailing from ", "", "))", parsedArgs); + } + + /** + * locate translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqllocate(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() == 2) { + appendCall(buf, "position(", " in ", ")", parsedArgs); + } else if (parsedArgs.size() == 3) { + String tmp = "position(" + parsedArgs.get(0) + " in substring(" + parsedArgs.get(1) + " from " + + parsedArgs.get(2) + "))"; + buf.append("(") + .append(parsedArgs.get(2)) + .append("*sign(") + .append(tmp) + .append(")+") + .append(tmp) + .append(")"); + } else { + throw new PSQLException(GT.tr("{0} function takes two or three arguments.", "locate"), + PSQLState.SYNTAX_ERROR); + } + } + + /** + * ltrim translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlltrim(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "trim(leading from ", "ltrim", parsedArgs); + } + + /** + * right to substring translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlright(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 2) { + throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", "right"), + PSQLState.SYNTAX_ERROR); + } + buf.append("substring("); + buf.append(parsedArgs.get(0)) + .append(" from (length(") + .append(parsedArgs.get(0)) + .append(")+1-") + .append(parsedArgs.get(1)); + buf.append("))"); + } + + /** + * rtrim translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlrtrim(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "trim(trailing from ", "rtrim", parsedArgs); + } + + /** + * space translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlspace(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "repeat(' ',", "space", parsedArgs); + } + + /** + * substring to substr translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlsubstring(StringBuilder buf, List parsedArgs) throws SQLException { + int argSize = parsedArgs.size(); + if (argSize != 2 && argSize != 3) { + throw new PSQLException(GT.tr("{0} function takes two or three arguments.", "substring"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "substr(", ",", ")", parsedArgs); + } + + /** + * ucase to upper translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlucase(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "upper(", "ucase", parsedArgs); + } + + /** + * curdate to current_date translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlcurdate(StringBuilder buf, List parsedArgs) throws SQLException { + zeroArgumentFunctionCall(buf, "current_date", "curdate", parsedArgs); + } + + /** + * curtime to current_time translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlcurtime(StringBuilder buf, List parsedArgs) throws SQLException { + zeroArgumentFunctionCall(buf, "current_time", "curtime", parsedArgs); + } + + /** + * dayname translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqldayname(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 1) { + throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "dayname"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "to_char(", ",", ",'Day')", parsedArgs); + } + + /** + * dayofmonth translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqldayofmonth(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(day from ", "dayofmonth", parsedArgs); + } + + /** + * dayofweek translation adding 1 to postgresql function since we expect values from 1 to 7 + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqldayofweek(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 1) { + throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "dayofweek"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "extract(dow from ", ",", ")+1", parsedArgs); + } + + /** + * dayofyear translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqldayofyear(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(doy from ", "dayofyear", parsedArgs); + } + + /** + * hour translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlhour(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(hour from ", "hour", parsedArgs); + } + + /** + * minute translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlminute(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(minute from ", "minute", parsedArgs); + } + + /** + * month translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlmonth(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(month from ", "month", parsedArgs); + } + + /** + * monthname translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlmonthname(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 1) { + throw new PSQLException(GT.tr("{0} function takes one and only one argument.", "monthname"), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, "to_char(", ",", ",'Month')", parsedArgs); + } + + /** + * quarter translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlquarter(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(quarter from ", "quarter", parsedArgs); + } + + /** + * second translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlsecond(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(second from ", "second", parsedArgs); + } + + /** + * week translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlweek(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(week from ", "week", parsedArgs); + } + + /** + * year translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlyear(StringBuilder buf, List parsedArgs) throws SQLException { + singleArgumentFunctionCall(buf, "extract(year from ", "year", parsedArgs); + } + + /** + * time stamp add + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqltimestampadd(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 3) { + throw new PSQLException( + GT.tr("{0} function takes three and only three arguments.", "timestampadd"), + PSQLState.SYNTAX_ERROR); + } + buf.append('('); + appendInterval(buf, parsedArgs.get(0).toString(), parsedArgs.get(1).toString()); + buf.append('+').append(parsedArgs.get(2)).append(')'); + } + + private static void appendInterval(StringBuilder buf, String type, String value) throws SQLException { + if (!isTsi(type)) { + throw new PSQLException(GT.tr("Interval {0} not yet implemented", type), + PSQLState.SYNTAX_ERROR); + } + if (appendSingleIntervalCast(buf, SQL_TSI_DAY, type, value, "day") + || appendSingleIntervalCast(buf, SQL_TSI_SECOND, type, value, "second") + || appendSingleIntervalCast(buf, SQL_TSI_HOUR, type, value, "hour") + || appendSingleIntervalCast(buf, SQL_TSI_MINUTE, type, value, "minute") + || appendSingleIntervalCast(buf, SQL_TSI_MONTH, type, value, "month") + || appendSingleIntervalCast(buf, SQL_TSI_WEEK, type, value, "week") + || appendSingleIntervalCast(buf, SQL_TSI_YEAR, type, value, "year") + ) { + return; + } + if (areSameTsi(SQL_TSI_QUARTER, type)) { + buf.append("CAST((").append(value).append("::int * 3) || ' month' as interval)"); + return; + } + throw new PSQLException(GT.tr("Interval {0} not yet implemented", type), + PSQLState.NOT_IMPLEMENTED); + } + + private static boolean appendSingleIntervalCast(StringBuilder buf, String cmp, String type, String value, String pgType) { + if (!areSameTsi(type, cmp)) { + return false; + } + buf.ensureCapacity(buf.length() + 5 + 4 + 14 + value.length() + pgType.length()); + buf.append("CAST(").append(value).append("||' ").append(pgType).append("' as interval)"); + return true; + } + + /** + * Compares two TSI intervals. It is + * @param a first interval to compare + * @param b second interval to compare + * @return true when both intervals are equal (case insensitive) + */ + private static boolean areSameTsi(String a, String b) { + return a.length() == b.length() && b.length() > SQL_TSI_ROOT.length() + && a.regionMatches(true, SQL_TSI_ROOT.length(), b, SQL_TSI_ROOT.length(), SQL_TSI_ROOT.length() - b.length()); + } + + /** + * Checks if given input starts with {@link #SQL_TSI_ROOT} + * @param interval input string + * @return true if interval.startsWithIgnoreCase(SQL_TSI_ROOT) + */ + private static boolean isTsi(String interval) { + return interval.regionMatches(true, 0, SQL_TSI_ROOT, 0, SQL_TSI_ROOT.length()); + } + + + /** + * time stamp diff + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqltimestampdiff(StringBuilder buf, List parsedArgs) throws SQLException { + if (parsedArgs.size() != 3) { + throw new PSQLException( + GT.tr("{0} function takes three and only three arguments.", "timestampdiff"), + PSQLState.SYNTAX_ERROR); + } + buf.append("extract( ") + .append(constantToDatePart(buf, parsedArgs.get(0).toString())) + .append(" from (") + .append(parsedArgs.get(2)) + .append("-") + .append(parsedArgs.get(1)) + .append("))"); + } + + private static String constantToDatePart(StringBuilder buf, String type) throws SQLException { + if (!isTsi(type)) { + throw new PSQLException(GT.tr("Interval {0} not yet implemented", type), + PSQLState.SYNTAX_ERROR); + } + if (areSameTsi(SQL_TSI_DAY, type)) { + return "day"; + } else if (areSameTsi(SQL_TSI_SECOND, type)) { + return "second"; + } else if (areSameTsi(SQL_TSI_HOUR, type)) { + return "hour"; + } else if (areSameTsi(SQL_TSI_MINUTE, type)) { + return "minute"; + } else { + throw new PSQLException(GT.tr("Interval {0} not yet implemented", type), + PSQLState.SYNTAX_ERROR); + } + // See http://archives.postgresql.org/pgsql-jdbc/2006-03/msg00096.php + /* + * else if (SQL_TSI_MONTH.equalsIgnoreCase(shortType)) return "month"; else if + * (SQL_TSI_QUARTER.equalsIgnoreCase(shortType)) return "quarter"; else if + * (SQL_TSI_WEEK.equalsIgnoreCase(shortType)) return "week"; else if + * (SQL_TSI_YEAR.equalsIgnoreCase(shortType)) return "year"; + */ + } + + /** + * database translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqldatabase(StringBuilder buf, List parsedArgs) throws SQLException { + zeroArgumentFunctionCall(buf, "current_database()", "database", parsedArgs); + } + + /** + * ifnull translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqlifnull(StringBuilder buf, List parsedArgs) throws SQLException { + twoArgumentsFunctionCall(buf, "coalesce(", "ifnull", parsedArgs); + } + + /** + * user translation + * + * @param parsedArgs arguments + * @throws SQLException if something wrong happens + */ + public static void sqluser(StringBuilder buf, List parsedArgs) throws SQLException { + zeroArgumentFunctionCall(buf, "user", "user", parsedArgs); + } + + private static void zeroArgumentFunctionCall(StringBuilder buf, String call, String functionName, + List parsedArgs) throws PSQLException { + if (!parsedArgs.isEmpty()) { + throw new PSQLException(GT.tr("{0} function doesn''t take any argument.", functionName), + PSQLState.SYNTAX_ERROR); + } + buf.append(call); + } + + private static void singleArgumentFunctionCall(StringBuilder buf, String call, String functionName, + List parsedArgs) throws PSQLException { + if (parsedArgs.size() != 1) { + throw new PSQLException(GT.tr("{0} function takes one and only one argument.", functionName), + PSQLState.SYNTAX_ERROR); + } + CharSequence arg0 = parsedArgs.get(0); + buf.ensureCapacity(buf.length() + call.length() + arg0.length() + 1); + buf.append(call).append(arg0).append(')'); + } + + private static void twoArgumentsFunctionCall(StringBuilder buf, String call, String functionName, + List parsedArgs) throws PSQLException { + if (parsedArgs.size() != 2) { + throw new PSQLException(GT.tr("{0} function takes two and only two arguments.", functionName), + PSQLState.SYNTAX_ERROR); + } + appendCall(buf, call, ",", ")", parsedArgs); + } + + /** + * Appends {@code begin arg0 separator arg1 separator end} sequence to the input {@link StringBuilder} + * @param sb destination StringBuilder + * @param begin begin string + * @param separator separator string + * @param end end string + * @param args arguments + */ + public static void appendCall(StringBuilder sb, String begin, String separator, + String end, List args) { + int size = begin.length(); + // Typically just-in-time compiler would eliminate Iterator in case foreach is used, + // however the code below uses indexed iteration to keep the conde independent from + // various JIT implementations (== avoid Iterator allocations even for not-so-smart JITs) + // see https://bugs.openjdk.java.net/browse/JDK-8166840 + // see http://2016.jpoint.ru/talks/cheremin/ (video and slides) + int numberOfArguments = args.size(); + for (int i = 0; i < numberOfArguments; i++) { + size += args.get(i).length(); + } + size += separator.length() * (numberOfArguments - 1); + sb.ensureCapacity(sb.length() + size + 1); + sb.append(begin); + for (int i = 0; i < numberOfArguments; i++) { + if (i > 0) { + sb.append(separator); + } + sb.append(args.get(i)); + } + sb.append(end); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 70c8e06ecc..185da6b4b7 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -376,7 +376,7 @@ public void testDateFunctions() throws SQLException { assertEquals(3, rs.getInt(1)); // HOUR rs = stmt.executeQuery( - "select {fn timestampdiff(SQL_TSI_HOUR,{fn now()},{fn timestampadd(SQL_TSI_HOUR,3,{fn now()})})} "); + "select {fn timestampdiff(SQL_tsi_HOUR,{fn now()},{fn timestampadd(SQL_TSI_HOUR,3,{fn now()})})} "); assertTrue(rs.next()); assertEquals(3, rs.getInt(1)); // day From 70189203574d9f0faf37b8a9bcee1d76ffa6b676 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 30 Jun 2018 09:44:10 +0300 Subject: [PATCH 158/427] docs: use union merge strategy for CHANGELOG This avoids "conflicts" on CHANGELOG.md changes, including rebase, etc closes #1107 --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index c9bd97fb72..21bec18c8f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,4 @@ *.xml text *.yaml text *.yml text +/CHANGELOG.md merge=union From e9ced455fd118731eb7dea38a63e0b400df32a1b Mon Sep 17 00:00:00 2001 From: Stephen Nelson Date: Sat, 30 Jun 2018 08:30:42 +0100 Subject: [PATCH 159/427] chore: add missing javadoc tags to avoid warnings (#1164) Some missing javadoc tags were generating warnings when building the documentation. This commit provides those missing tags. --- pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java | 4 ---- pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java | 2 +- .../src/main/java/org/postgresql/jdbc/TimestampUtils.java | 2 ++ .../postgresql/replication/PGReplicationConnection.java | 1 + .../replication/fluent/ChainedCommonStreamBuilder.java | 1 + pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPI.java | 3 ++- .../src/main/java/org/postgresql/sspi/NTDSAPIWrapper.java | 4 ++-- pgjdbc/src/main/java/org/postgresql/util/Base64.java | 2 +- pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java | 7 +++---- .../src/main/java/org/postgresql/util/WriterHandler.java | 3 +-- pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java | 3 --- 11 files changed, 14 insertions(+), 18 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java index 1ea3838882..50dfaf6933 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java @@ -3,10 +3,6 @@ * See the LICENSE file in the project root for more information. */ -/** - * Bulk data copy for PostgreSQL - */ - package org.postgresql.copy; import org.postgresql.core.BaseConnection; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 62261672bf..e8c0a45dca 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -3027,7 +3027,7 @@ private double readDoubleValue(byte[] bytes, int oid, String targetType) throws * @param bytes The bytes of the numeric field. * @param oid The oid of the field. * @param minVal the minimum value allowed. - * @param minVal the maximum value allowed. + * @param maxVal the maximum value allowed. * @param targetType The target type. Used for error reporting. * @return The value as long. * @throws PSQLException If the field type is not supported numeric type or if the value is out of diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 20492383ed..1d75784d20 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -820,6 +820,8 @@ public synchronized String toString(OffsetDateTime offsetDateTime) { /** * Formats {@link LocalDateTime} to be sent to the backend, thus it adds time zone. * Do not use this method in {@link java.sql.ResultSet#getString(int)} + * @param localDateTime The local date to format as a String + * @return The formatted local date */ public synchronized String toString(LocalDateTime localDateTime) { if (localDateTime.isAfter(MAX_LOCAL_DATETIME)) { diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java index ab6598803e..9e1a04ea66 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java @@ -39,6 +39,7 @@ public interface PGReplicationConnection { /** * @param slotName not null replication slot name exists in database that should be drop + * @throws SQLException if the replication slot cannot be dropped. */ void dropReplicationSlot(String slotName) throws SQLException; } diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java index 0d6d8b7520..bc03468e8f 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java @@ -20,6 +20,7 @@ public interface ChainedCommonStreamBuilder + * https://msdn.microsoft.com/en-us/library/ms676007(v=vs.85).aspx
*/ int DsMakeSpnW(WString serviceClass, /* in */ WString serviceName, /* in */ diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPIWrapper.java b/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPIWrapper.java index cd8acd4aa0..46cc8db7d5 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPIWrapper.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPIWrapper.java @@ -24,8 +24,8 @@ public class NTDSAPIWrapper { * @param referrer See MSDN * @return SPN generated * @throws LastErrorException If buffer too small or parameter incorrect - * @see http://msdn. - * microsoft.com/en-us/library/ms676007 + * @see + * https://msdn.microsoft.com/en-us/library/ms676007(v=vs.85).aspx */ public String DsMakeSpn(String serviceClass, String serviceName, String instanceName, short instancePort, String referrer) throws LastErrorException { diff --git a/pgjdbc/src/main/java/org/postgresql/util/Base64.java b/pgjdbc/src/main/java/org/postgresql/util/Base64.java index 35fb7f5d1d..0caf016105 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/Base64.java +++ b/pgjdbc/src/main/java/org/postgresql/util/Base64.java @@ -126,7 +126,7 @@ public class Base64 { (byte) '6', (byte) '7', (byte) '8', (byte) '9', (byte) '+', (byte) '/' }; - /** Determine which ALPHABET to use. */ + /* Determine which ALPHABET to use. */ static { byte[] __bytes; try { diff --git a/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java b/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java index fec1fa737c..2677db7b82 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java +++ b/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java @@ -5,15 +5,14 @@ package org.postgresql.util; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + /** * MD5-based utility function to obfuscate passwords before network transmission. * * @author Jeremy Wohl */ - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - public class MD5Digest { private MD5Digest() { } diff --git a/pgjdbc/src/main/java/org/postgresql/util/WriterHandler.java b/pgjdbc/src/main/java/org/postgresql/util/WriterHandler.java index 822f9536f6..a86770fad0 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/WriterHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/util/WriterHandler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -17,7 +17,6 @@ * under the License. */ - package org.postgresql.util; import java.io.Writer; diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index fdf123e258..06f59313a4 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -152,9 +152,6 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl } } - - /**** XAResource interface ****/ - /** * Preconditions: 1. flags must be one of TMNOFLAGS, TMRESUME or TMJOIN 2. xid != null 3. * connection must not be associated with a transaction 4. the TM hasn't seen the xid before From 86c46f94535823ab7f6edde25f38d6e1182272a0 Mon Sep 17 00:00:00 2001 From: bpd0018 <17967090+bpd0018@users.noreply.github.com> Date: Sat, 30 Jun 2018 02:33:27 -0500 Subject: [PATCH 160/427] style: rephrase comment on named portals (#1129) 1734 - 1738 - I think this is what the original comment was trying to convey 1743 - 1744 - clarify the meaning of the "usePortal" flag --- .../org/postgresql/core/v3/QueryExecutorImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index e15e57e307..e438f17151 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1731,14 +1731,17 @@ private void sendOneQuery(SimpleQuery query, SimpleParameterList params, int max : "Queries that might contain ; must be executed with QueryExecutor.QUERY_EXECUTE_AS_SIMPLE mode. " + "Given query is " + query.getNativeSql(); - // As per "46.2. Message Flow" documentation (quote from 9.1): - // If successfully created, a named portal object lasts till the end of the current transaction, unless explicitly destroyed - // - // That is named portals do not require to use named statements. + // Per https://www.postgresql.org/docs/current/static/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY + // A Bind message can use the unnamed prepared statement to create a named portal. + // If the Bind is successful, an Execute message can reference that named portal until either + // the end of the current transaction + // or the named portal is explicitly destroyed boolean noResults = (flags & QueryExecutor.QUERY_NO_RESULTS) != 0; boolean noMeta = (flags & QueryExecutor.QUERY_NO_METADATA) != 0; boolean describeOnly = (flags & QueryExecutor.QUERY_DESCRIBE_ONLY) != 0; + // extended queries always use a portal + // the usePortal flag controls whether or not we use a *named* portal boolean usePortal = (flags & QueryExecutor.QUERY_FORWARD_CURSOR) != 0 && !noResults && !noMeta && fetchSize > 0 && !describeOnly; boolean oneShot = (flags & QueryExecutor.QUERY_ONESHOT) != 0; From 5dc03f63f170ed371a4f4ba06d491be489627b11 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 30 Jun 2018 11:09:07 +0300 Subject: [PATCH 161/427] chore: use 5432 as default port when running code from IDE When code is compiled from IDE, mvn.project.property.template.default.pg.port might be unresolved, however it's better to just use 5432 --- pgjdbc/src/main/java/org/postgresql/Driver.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index 637af62c71..e53c5c02e4 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -6,7 +6,6 @@ package org.postgresql; import org.postgresql.jdbc.PgConnection; - import org.postgresql.util.DriverInfo; import org.postgresql.util.ExpressionProperties; import org.postgresql.util.GT; @@ -64,6 +63,8 @@ public class Driver implements java.sql.Driver { private static final Logger PARENT_LOGGER = Logger.getLogger("org.postgresql"); private static final Logger LOGGER = Logger.getLogger("org.postgresql.Driver"); private static SharedTimer sharedTimer = new SharedTimer(); + private static final String DEFAULT_PORT = + /*$"\""+mvn.project.property.template.default.pg.port+"\";"$*//*-*/"5431"; static { try { @@ -580,7 +581,7 @@ public static Properties parseURL(String url, Properties defaults) { ports.append(portStr); hosts.append(address.subSequence(0, portIdx)); } else { - ports.append("/*$mvn.project.property.template.default.pg.port$*/"); + ports.append(DEFAULT_PORT); hosts.append(address); } ports.append(','); @@ -596,7 +597,7 @@ public static Properties parseURL(String url, Properties defaults) { then set it to default */ if (defaults == null || !defaults.containsKey("PGPORT")) { - urlProps.setProperty("PGPORT", "/*$mvn.project.property.template.default.pg.port$*/"); + urlProps.setProperty("PGPORT", DEFAULT_PORT); } if (defaults == null || !defaults.containsKey("PGHOST")) { urlProps.setProperty("PGHOST", "localhost"); From 9f3838f749d370a13a2fcef8e3ef67062d6e35eb Mon Sep 17 00:00:00 2001 From: bazzargh Date: Sat, 30 Jun 2018 09:29:58 +0100 Subject: [PATCH 162/427] fix: encode url query parameters DataSource (#1201) BaseDataSource did not properly encode url parameters, meaning that users could not log in if their password contained illegal characters. The bug can be reproduced by setting the test user password to ';/?:@&=+$,' (a bunch of illegal characters for query parameters). Encode the parameters. Strictly speaking the parameter names should also be encoded but in this case they are a fixed set of words which only consist of safe characters. With the problem password, DriverTest also fails because it did not encode the parameters either. Encode the parameters in the test too. * fix: do not leak password to URL round-tripping a datasource through JNDI added the user and password to the ds properties as well as to the instance variables - which was not possible to do via setProperty. This may be a security issue if the URL is logged, and was in part why passwords with non-url-safe characters failed to connect in some circumstances. Set properties using setProperty, so that consistent logic applies to processing the user/password keys. --- CHANGELOG.md | 1 + .../src/main/java/org/postgresql/Driver.java | 8 +-- .../postgresql/ds/common/BaseDataSource.java | 12 ++-- .../java/org/postgresql/util/URLCoder.java | 55 +++++++++++++++++++ .../org/postgresql/test/jdbc2/DriverTest.java | 5 +- .../postgresql/test/jdbc2/PGPropertyTest.java | 31 +++++++++-- .../jdbc2/optional/BaseDataSourceTest.java | 5 ++ 7 files changed, 100 insertions(+), 17 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/util/URLCoder.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b5e8de832..8c34e5e9b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Wrong results when single statement is used with different bind types[PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) - Support generated keys for WITH queries that miss RETURNING [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) - Support generated keys when INSERT/UPDATE/DELETE keyword is followed by a comment [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) +- Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) ## [42.2.1] (2018-01-25) ### Known issues diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index e53c5c02e4..0d222a0944 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -13,12 +13,12 @@ import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; import org.postgresql.util.SharedTimer; +import org.postgresql.util.URLCoder; import org.postgresql.util.WriterHandler; import java.io.IOException; import java.io.InputStream; import java.net.URL; -import java.net.URLDecoder; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; @@ -562,7 +562,7 @@ public static Properties parseURL(String url, Properties defaults) { if (slash == -1) { return null; } - urlProps.setProperty("PGDBNAME", URLDecoder.decode(l_urlServer.substring(slash + 1))); + urlProps.setProperty("PGDBNAME", URLCoder.decode(l_urlServer.substring(slash + 1))); String[] addresses = l_urlServer.substring(0, slash).split(","); StringBuilder hosts = new StringBuilder(); @@ -603,7 +603,7 @@ public static Properties parseURL(String url, Properties defaults) { urlProps.setProperty("PGHOST", "localhost"); } if (defaults == null || !defaults.containsKey("PGDBNAME")) { - urlProps.setProperty("PGDBNAME", URLDecoder.decode(l_urlServer)); + urlProps.setProperty("PGDBNAME", URLCoder.decode(l_urlServer)); } } @@ -617,7 +617,7 @@ public static Properties parseURL(String url, Properties defaults) { if (l_pos == -1) { urlProps.setProperty(token, ""); } else { - urlProps.setProperty(token.substring(0, l_pos), URLDecoder.decode(token.substring(l_pos + 1))); + urlProps.setProperty(token.substring(0, l_pos), URLCoder.decode(token.substring(l_pos + 1))); } } diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 0d5261a33b..0d6aff8431 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -12,6 +12,7 @@ import org.postgresql.util.GT; import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; +import org.postgresql.util.URLCoder; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -25,7 +26,6 @@ import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; - import javax.naming.NamingException; import javax.naming.RefAddr; import javax.naming.Reference; @@ -1069,17 +1069,17 @@ public String getUrl() { if (portNumber != 0) { url.append(":").append(portNumber); } - url.append("/").append(databaseName); + url.append("/").append(URLCoder.encode(databaseName)); StringBuilder query = new StringBuilder(100); - for (PGProperty property : PGProperty.values()) { + for (PGProperty property: PGProperty.values()) { if (property.isPresent(properties)) { if (query.length() != 0) { query.append("&"); } query.append(property.getName()); query.append("="); - query.append(property.get(properties)); + query.append(URLCoder.encode(property.get(properties))); } } @@ -1216,11 +1216,9 @@ public void setFromReference(Reference ref) { portNumber = Integer.parseInt(port); } serverName = getReferenceProperty(ref, "serverName"); - user = getReferenceProperty(ref, "user"); - password = getReferenceProperty(ref, "password"); for (PGProperty property : PGProperty.values()) { - property.set(properties, getReferenceProperty(ref, property.getName())); + setProperty(property, getReferenceProperty(ref, property.getName())); } } diff --git a/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java b/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java new file mode 100644 index 0000000000..accbc23362 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.util; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; + +/** + * This class helps with URL encoding and decoding. UTF-8 encoding is used by default to make + * encoding consistent across the driver, and encoding might be changed via {@code + * postgresql.url.encoding} property + * + * Note: this should not be used outside of PostgreSQL source, this is not a public API of the + * driver. + */ +public final class URLCoder { + private static final String ENCODING_FOR_URL = + System.getProperty("postgresql.url.encoding", "UTF-8"); + + /** + * Decodes {@code x-www-form-urlencoded} string into Java string. + * + * @param encoded encoded value + * @return decoded value + * @see URLDecoder#decode(String, String) + */ + public static String decode(String encoded) { + try { + return URLDecoder.decode(encoded, ENCODING_FOR_URL); + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException( + "Unable to decode URL entry via " + ENCODING_FOR_URL + ". This should not happen", e); + } + } + + /** + * Encodes Java string into {@code x-www-form-urlencoded} format + * + * @param plain input value + * @return encoded value + * @see URLEncoder#encode(String, String) + */ + public static String encode(String plain) { + try { + return URLEncoder.encode(plain, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException( + "Unable to encode URL entry via " + ENCODING_FOR_URL + ". This should not happen", e); + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java index 317f437414..502cced139 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java @@ -16,6 +16,7 @@ import org.postgresql.PGProperty; import org.postgresql.test.TestUtil; import org.postgresql.util.NullOutputStream; +import org.postgresql.util.URLCoder; import org.postgresql.util.WriterHandler; import org.junit.Test; @@ -106,7 +107,9 @@ public void testConnect() throws Exception { // Test with the username in the url con = DriverManager.getConnection( - TestUtil.getURL() + "&user=" + TestUtil.getUser() + "&password=" + TestUtil.getPassword()); + TestUtil.getURL() + + "&user=" + URLCoder.encode(TestUtil.getUser()) + + "&password=" + URLCoder.encode(TestUtil.getPassword())); assertNotNull(con); con.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java index 7d20eea4a8..7c5b5299ed 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java @@ -16,6 +16,7 @@ import org.postgresql.ds.PGSimpleDataSource; import org.postgresql.ds.common.BaseDataSource; import org.postgresql.test.TestUtil; +import org.postgresql.util.URLCoder; import org.junit.After; import org.junit.Before; @@ -24,7 +25,6 @@ import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; -import java.net.URLEncoder; import java.sql.DriverPropertyInfo; import java.util.ArrayList; import java.util.Map; @@ -205,10 +205,10 @@ public void testEncodedUrlValues() { String userName = "&u%ser"; String password = "p%a&s^s#w!o@r*"; String url = "jdbc:postgresql://" - + "localhost" + ":" + 5432 + "/" - + URLEncoder.encode(databaseName) - + "?user=" + URLEncoder.encode(userName) - + "&password=" + URLEncoder.encode(password); + + "localhost" + ":" + 5432 + "/" + + URLCoder.encode(databaseName) + + "?user=" + URLCoder.encode(userName) + + "&password=" + URLCoder.encode(password); Properties parsed = Driver.parseURL(url, new Properties()); assertEquals("database", databaseName, PGProperty.PG_DBNAME.get(parsed)); assertEquals("user", userName, PGProperty.USER.get(parsed)); @@ -257,4 +257,25 @@ public void testLowerCamelCase() { } } } + + @Test + public void testEncodedUrlValuesFromDataSource() { + String databaseName = "d&a%ta+base"; + String userName = "&u%ser"; + String password = "p%a&s^s#w!o@r*"; + String applicationName = "Laurel&Hardy=Best?Yes"; + PGSimpleDataSource dataSource = new PGSimpleDataSource(); + + dataSource.setDatabaseName(databaseName); + dataSource.setUser(userName); + dataSource.setPassword(password); + dataSource.setApplicationName(applicationName); + + Properties parsed = Driver.parseURL(dataSource.getURL(), new Properties()); + assertEquals("database", databaseName, PGProperty.PG_DBNAME.get(parsed)); + // datasources do not pass username and password as URL parameters + assertFalse("user", PGProperty.USER.isPresent(parsed)); + assertFalse("password", PGProperty.PASSWORD.isPresent(parsed)); + assertEquals("APPLICATION_NAME", applicationName, PGProperty.APPLICATION_NAME.get(parsed)); + } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java index 36e970b09c..f17be0ffe0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java @@ -5,6 +5,7 @@ package org.postgresql.test.jdbc2.optional; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; @@ -197,6 +198,7 @@ public void testPGConnection() { public void testJndi() { initializeDataSource(); BaseDataSource oldbds = bds; + String oldurl = bds.getURL(); InitialContext ic = getInitialContext(); try { ic.rebind(DATA_SOURCE_JNDI, bds); @@ -207,9 +209,12 @@ public void testJndi() { fail(e.getMessage()); } oldbds = bds; + String url = bds.getURL(); testUseConnection(); assertSame("Test should not have changed DataSource (" + bds + " != " + oldbds + ")!", oldbds , bds); + assertEquals("Test should not have changed DataSource URL", + oldurl, url); } /** From ba360f731cb9a2eca9924b700cee234aba572fe5 Mon Sep 17 00:00:00 2001 From: AlexElin Date: Sat, 30 Jun 2018 14:36:44 +0600 Subject: [PATCH 163/427] refactor: simplify PgConnection.java (#1047) --- .../org/postgresql/jdbc/PgConnection.java | 120 ++++++++++-------- 1 file changed, 69 insertions(+), 51 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index caf3be8b75..8feb8e6f30 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -204,43 +204,12 @@ public PgConnection(HostSpec[] hostSpecs, setReadOnly(true); } - boolean binaryTransfer = PGProperty.BINARY_TRANSFER.getBoolean(info); - // Formats that currently have binary protocol support - Set binaryOids = new HashSet(); - if (binaryTransfer && queryExecutor.getProtocolVersion() >= 3) { - binaryOids.add(Oid.BYTEA); - binaryOids.add(Oid.INT2); - binaryOids.add(Oid.INT4); - binaryOids.add(Oid.INT8); - binaryOids.add(Oid.FLOAT4); - binaryOids.add(Oid.FLOAT8); - binaryOids.add(Oid.TIME); - binaryOids.add(Oid.DATE); - binaryOids.add(Oid.TIMETZ); - binaryOids.add(Oid.TIMESTAMP); - binaryOids.add(Oid.TIMESTAMPTZ); - binaryOids.add(Oid.INT2_ARRAY); - binaryOids.add(Oid.INT4_ARRAY); - binaryOids.add(Oid.INT8_ARRAY); - binaryOids.add(Oid.FLOAT4_ARRAY); - binaryOids.add(Oid.FLOAT8_ARRAY); - binaryOids.add(Oid.FLOAT8_ARRAY); - binaryOids.add(Oid.VARCHAR_ARRAY); - binaryOids.add(Oid.TEXT_ARRAY); - binaryOids.add(Oid.POINT); - binaryOids.add(Oid.BOX); - binaryOids.add(Oid.UUID); - } - - binaryOids.addAll(getOidSet(PGProperty.BINARY_TRANSFER_ENABLE.get(info))); - binaryOids.removeAll(getOidSet(PGProperty.BINARY_TRANSFER_DISABLE.get(info))); + Set binaryOids = getBinaryOids(info); // split for receive and send for better control - Set useBinarySendForOids = new HashSet(); - useBinarySendForOids.addAll(binaryOids); + Set useBinarySendForOids = new HashSet(binaryOids); - Set useBinaryReceiveForOids = new HashSet(); - useBinaryReceiveForOids.addAll(binaryOids); + Set useBinaryReceiveForOids = new HashSet(binaryOids); /* * Does not pass unit tests because unit tests expect setDate to have millisecond accuracy @@ -301,14 +270,9 @@ public TimeZone get() { } this.disableColumnSanitiser = PGProperty.DISABLE_COLUMN_SANITISER.getBoolean(info); - TypeInfo types1 = getTypeInfo(); if (haveMinimumServerVersion(ServerVersion.v8_3)) { - types1.addCoreType("uuid", Oid.UUID, Types.OTHER, "java.util.UUID", Oid.UUID_ARRAY); - } - - TypeInfo types = getTypeInfo(); - if (haveMinimumServerVersion(ServerVersion.v8_3)) { - types.addCoreType("xml", Oid.XML, Types.SQLXML, "java.sql.SQLXML", Oid.XML_ARRAY); + _typeCache.addCoreType("uuid", Oid.UUID, Types.OTHER, "java.util.UUID", Oid.UUID_ARRAY); + _typeCache.addCoreType("xml", Oid.XML, Types.SQLXML, "java.sql.SQLXML", Oid.XML_ARRAY); } this._clientInfo = new Properties(); @@ -328,7 +292,40 @@ public TimeZone get() { replicationConnection = PGProperty.REPLICATION.get(info) != null; } - private Set getOidSet(String oidList) throws PSQLException { + private static Set getBinaryOids(Properties info) throws PSQLException { + boolean binaryTransfer = PGProperty.BINARY_TRANSFER.getBoolean(info); + // Formats that currently have binary protocol support + Set binaryOids = new HashSet(32); + if (binaryTransfer) { + binaryOids.add(Oid.BYTEA); + binaryOids.add(Oid.INT2); + binaryOids.add(Oid.INT4); + binaryOids.add(Oid.INT8); + binaryOids.add(Oid.FLOAT4); + binaryOids.add(Oid.FLOAT8); + binaryOids.add(Oid.TIME); + binaryOids.add(Oid.DATE); + binaryOids.add(Oid.TIMETZ); + binaryOids.add(Oid.TIMESTAMP); + binaryOids.add(Oid.TIMESTAMPTZ); + binaryOids.add(Oid.INT2_ARRAY); + binaryOids.add(Oid.INT4_ARRAY); + binaryOids.add(Oid.INT8_ARRAY); + binaryOids.add(Oid.FLOAT4_ARRAY); + binaryOids.add(Oid.FLOAT8_ARRAY); + binaryOids.add(Oid.VARCHAR_ARRAY); + binaryOids.add(Oid.TEXT_ARRAY); + binaryOids.add(Oid.POINT); + binaryOids.add(Oid.BOX); + binaryOids.add(Oid.UUID); + } + + binaryOids.addAll(getOidSet(PGProperty.BINARY_TRANSFER_ENABLE.get(info))); + binaryOids.removeAll(getOidSet(PGProperty.BINARY_TRANSFER_DISABLE.get(info))); + return binaryOids; + } + + private static Set getOidSet(String oidList) throws PSQLException { Set oids = new HashSet(); StringTokenizer tokenizer = new StringTokenizer(oidList, ","); while (tokenizer.hasMoreTokens()) { @@ -363,22 +360,23 @@ public TimestampUtils getTimestampUtils() { */ protected Map> typemap; - public java.sql.Statement createStatement() throws SQLException { + @Override + public Statement createStatement() throws SQLException { // We now follow the spec and default to TYPE_FORWARD_ONLY. - return createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, - java.sql.ResultSet.CONCUR_READ_ONLY); + return createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); } - public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException { - return prepareStatement(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, - java.sql.ResultSet.CONCUR_READ_ONLY); + @Override + public PreparedStatement prepareStatement(String sql) throws SQLException { + return prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); } - public java.sql.CallableStatement prepareCall(String sql) throws SQLException { - return prepareCall(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, - java.sql.ResultSet.CONCUR_READ_ONLY); + @Override + public CallableStatement prepareCall(String sql) throws SQLException { + return prepareCall(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); } + @Override public Map> getTypeMap() throws SQLException { checkClosed(); return typemap; @@ -407,10 +405,12 @@ public void addWarning(SQLWarning warn) { } + @Override public ResultSet execSQLQuery(String s) throws SQLException { return execSQLQuery(s, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); } + @Override public ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) throws SQLException { BaseStatement stat = (BaseStatement) createStatement(resultSetType, resultSetConcurrency); @@ -434,6 +434,7 @@ public ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurre return stat.getResultSet(); } + @Override public void execSQLUpdate(String s) throws SQLException { BaseStatement stmt = (BaseStatement) createStatement(); if (stmt.executeWithFlags(s, QueryExecutor.QUERY_NO_METADATA | QueryExecutor.QUERY_NO_RESULTS @@ -537,6 +538,7 @@ public LargeObjectManager getLargeObjectAPI() throws SQLException { * * @exception SQLException if value is not correct for this type */ + @Override public Object getObject(String type, String value, byte[] byteValue) throws SQLException { if (typemap != null) { Class c = typemap.get(type); @@ -654,6 +656,7 @@ private void initObjectTypes(Properties info) throws SQLException { * * {@inheritDoc} */ + @Override public void close() throws SQLException { if (queryExecutor == null) { // This might happen in case constructor throws an exception (e.g. host being not available). @@ -665,6 +668,7 @@ public void close() throws SQLException { openStackTrace = null; } + @Override public String nativeSQL(String sql) throws SQLException { checkClosed(); CachedQuery cachedQuery = queryExecutor.createQuery(sql, false, true); @@ -672,6 +676,7 @@ public String nativeSQL(String sql) throws SQLException { return cachedQuery.query.getNativeSql(); } + @Override public synchronized SQLWarning getWarnings() throws SQLException { checkClosed(); SQLWarning newWarnings = queryExecutor.getWarnings(); // NB: also clears them. @@ -684,6 +689,7 @@ public synchronized SQLWarning getWarnings() throws SQLException { return firstWarning; } + @Override public synchronized void clearWarnings() throws SQLException { checkClosed(); queryExecutor.getWarnings(); // Clear and discard. @@ -691,6 +697,7 @@ public synchronized void clearWarnings() throws SQLException { } + @Override public void setReadOnly(boolean readOnly) throws SQLException { checkClosed(); if (queryExecutor.getTransactionState() != TransactionState.IDLE) { @@ -709,11 +716,13 @@ public void setReadOnly(boolean readOnly) throws SQLException { LOGGER.log(Level.FINE, " setReadOnly = {0}", readOnly); } + @Override public boolean isReadOnly() throws SQLException { checkClosed(); return readOnly; } + @Override public void setAutoCommit(boolean autoCommit) throws SQLException { checkClosed(); @@ -729,6 +738,7 @@ public void setAutoCommit(boolean autoCommit) throws SQLException { LOGGER.log(Level.FINE, " setAutoCommit = {0}", autoCommit); } + @Override public boolean getAutoCommit() throws SQLException { checkClosed(); return this.autoCommit; @@ -754,6 +764,7 @@ private void executeTransactionCommand(Query query) throws SQLException { } } + @Override public void commit() throws SQLException { checkClosed(); @@ -775,6 +786,7 @@ protected void checkClosed() throws SQLException { } + @Override public void rollback() throws SQLException { checkClosed(); @@ -1467,11 +1479,13 @@ public T createQueryObject(Class ifc) throws SQLException { throw org.postgresql.Driver.notImplemented(this.getClass(), "createQueryObject(Class)"); } + @Override public boolean isWrapperFor(Class iface) throws SQLException { checkClosed(); return iface.isAssignableFrom(getClass()); } + @Override public T unwrap(Class iface) throws SQLException { checkClosed(); if (iface.isAssignableFrom(getClass())) { @@ -1653,18 +1667,21 @@ public void releaseSavepoint(Savepoint savepoint) throws SQLException { pgSavepoint.invalidate(); } + @Override public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { checkClosed(); return createStatement(resultSetType, resultSetConcurrency, getHoldability()); } + @Override public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { checkClosed(); return prepareStatement(sql, resultSetType, resultSetConcurrency, getHoldability()); } + @Override public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { checkClosed(); @@ -1691,6 +1708,7 @@ public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throw PSQLState.NOT_IMPLEMENTED); } + @Override public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException { if (columnNames != null && columnNames.length == 0) { return prepareStatement(sql); From 7a0b7d65582a21376fc114eb197b5bae1fe1ea00 Mon Sep 17 00:00:00 2001 From: Jesper Pedersen Date: Sat, 30 Jun 2018 12:22:15 -0400 Subject: [PATCH 164/427] perf: guard logging statements (#1112) Guard certain logging statements with `isLoggable` to prevent `Object[]` allocation for the argument vararg. --- .../postgresql/core/v3/ConnectionFactoryImpl.java | 12 ++++++++---- .../org/postgresql/core/v3/QueryExecutorImpl.java | 12 +++++++++--- .../postgresql/jre8/sasl/ScramAuthenticator.java | 14 +++++++++----- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 2d34e354d6..eb086bed85 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -142,8 +142,10 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin // GlobalHostStatusTracker HostStatus knownStatus = knownStates.get(hostSpec); if (knownStatus != null && !candidateHost.targetServerType.allowConnectingTo(knownStatus)) { - LOGGER.log(Level.FINER, "Known status of host {0} is {1}, and required status was {2}. Will try next host", - new Object[]{hostSpec, knownStatus, candidateHost.targetServerType}); + if (LOGGER.isLoggable(Level.FINER)) { + LOGGER.log(Level.FINER, "Known status of host {0} is {1}, and required status was {2}. Will try next host", + new Object[]{hostSpec, knownStatus, candidateHost.targetServerType}); + } continue; } @@ -195,8 +197,10 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin } } - LOGGER.log(Level.FINE, "Receive Buffer Size is {0}", newStream.getSocket().getReceiveBufferSize()); - LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.log(Level.FINE, "Receive Buffer Size is {0}", newStream.getSocket().getReceiveBufferSize()); + LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); + } List paramList = getParametersForStartup(user, database, info); sendStartupPacket(newStream, paramList); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index e438f17151..ef5af61f9f 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2387,7 +2387,9 @@ private Field[] receiveFields() throws IOException { int size = pgStream.receiveInteger2(); Field[] fields = new Field[size]; - LOGGER.log(Level.FINEST, " <=BE RowDescription({0})", size); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, " <=BE RowDescription({0})", size); + } for (int i = 0; i < fields.length; i++) { String columnLabel = pgStream.receiveString(); @@ -2510,7 +2512,9 @@ private void receiveRFQ() throws IOException { } char tStatus = (char) pgStream.receiveChar(); - LOGGER.log(Level.FINEST, " <=BE ReadyForQuery({0})", tStatus); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, " <=BE ReadyForQuery({0})", tStatus); + } // Update connection state. switch (tStatus) { @@ -2580,7 +2584,9 @@ public void readStartupMessages() throws IOException, SQLException { break; default: - LOGGER.log(Level.FINEST, " invalid message type={0}", (char) beresp); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, " invalid message type={0}", (char) beresp); + } throw new PSQLException(GT.tr("Protocol error. Session setup failed."), PSQLState.PROTOCOL_VIOLATION); } diff --git a/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java b/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java index 87daa05ae1..e183d73894 100644 --- a/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java +++ b/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java @@ -82,7 +82,9 @@ public void processServerMechanismsAndInit() throws IOException, PSQLException { PSQLState.CONNECTION_REJECTED ); } - LOGGER.log(Level.FINEST, " Using SCRAM mechanism {0}", scramClient.getScramMechanism().getName()); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, " Using SCRAM mechanism {0}", scramClient.getScramMechanism().getName()); + } scramSession = scramClient.scramSession("*"); // Real username is ignored by server, uses startup one @@ -119,10 +121,12 @@ public void processServerFirstMessage(int length) throws IOException, PSQLExcept e ); } - LOGGER.log(Level.FINEST, - " <=BE AuthenticationSASLContinue(salt={0}, iterations={1})", - new Object[] { serverFirstProcessor.getSalt(), serverFirstProcessor.getIteration() } - ); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, + " <=BE AuthenticationSASLContinue(salt={0}, iterations={1})", + new Object[] { serverFirstProcessor.getSalt(), serverFirstProcessor.getIteration() } + ); + } clientFinalProcessor = serverFirstProcessor.clientFinalProcessor(password); From 825c092483aa8a4ea1d0937cd081f1657983aa6d Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 30 Jun 2018 12:47:27 -0400 Subject: [PATCH 165/427] docs: improve javadocs in PgResultSetMetaData (#792) --- .../postgresql/jdbc/PgResultSetMetaData.java | 203 ++++-------------- 1 file changed, 42 insertions(+), 161 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java index 27ba7496c2..c73939a086 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java @@ -28,7 +28,7 @@ public class PgResultSetMetaData implements ResultSetMetaData, PGResultSetMetaDa private boolean fieldInfoFetched; - /* + /** * Initialise for a result with a tuple set and a field descriptor set * * @param fields the array of field descriptors @@ -39,25 +39,17 @@ public PgResultSetMetaData(BaseConnection connection, Field[] fields) { fieldInfoFetched = false; } - /* - * Whats the number of columns in the ResultSet? - * - * @return the number - * - * @exception SQLException if a database access error occurs - */ public int getColumnCount() throws SQLException { return fields.length; } - /* - * Is the column automatically numbered (and thus read-only) I believe that PostgreSQL does not - * support this feature. + /** + * {@inheritDoc} * - * @param column the first column is 1, the second is 2... + *

It is believed that PostgreSQL does not support this feature. * + * @param column the first column is 1, the second is 2... * @return true if so - * * @exception SQLException if a database access error occurs */ public boolean isAutoIncrement(int column) throws SQLException { @@ -67,14 +59,14 @@ public boolean isAutoIncrement(int column) throws SQLException { return metadata != null && metadata.autoIncrement; } - /* - * Does a column's case matter? ASSUMPTION: Any field that is not obviously case insensitive is + /** + * {@inheritDoc} + * + *

Does a column's case matter? ASSUMPTION: Any field that is not obviously case insensitive is * assumed to be case sensitive * * @param column the first column is 1, the second is 2... - * * @return true if so - * * @exception SQLException if a database access error occurs */ public boolean isCaseSensitive(int column) throws SQLException { @@ -82,30 +74,30 @@ public boolean isCaseSensitive(int column) throws SQLException { return connection.getTypeInfo().isCaseSensitive(field.getOID()); } - /* - * Can the column be used in a WHERE clause? Basically for this, I split the functions into two + /** + * {@inheritDoc} + * + *

Can the column be used in a WHERE clause? Basically for this, I split the functions into two * types: recognised types (which are always useable), and OTHER types (which may or may not be * useable). The OTHER types, for now, I will assume they are useable. We should really query the * catalog to see if they are useable. * * @param column the first column is 1, the second is 2... - * * @return true if they can be used in a WHERE clause - * * @exception SQLException if a database access error occurs */ public boolean isSearchable(int column) throws SQLException { return true; } - /* - * Is the column a cash value? 6.1 introduced the cash/money type, which haven't been incorporated + /** + * {@inheritDoc} + * + *

Is the column a cash value? 6.1 introduced the cash/money type, which haven't been incorporated * as of 970414, so I just check the type name for both 'cash' and 'money' * * @param column the first column is 1, the second is 2... - * * @return true if its a cash column - * * @exception SQLException if a database access error occurs */ public boolean isCurrency(int column) throws SQLException { @@ -114,29 +106,20 @@ public boolean isCurrency(int column) throws SQLException { return type_name.equals("cash") || type_name.equals("money"); } - /* - * Indicates the nullability of values in the designated column. - * - * @param column the first column is 1, the second is 2... - * - * @return one of the columnNullable values - * - * @exception SQLException if a database access error occurs - */ public int isNullable(int column) throws SQLException { fetchFieldMetaData(); Field field = getField(column); return field.getMetadata().nullable; } - /* - * Is the column a signed number? In PostgreSQL, all numbers are signed, so this is trivial. + /** + * {@inheritDoc} + * + *

Is the column a signed number? In PostgreSQL, all numbers are signed, so this is trivial. * However, strings are not signed (duh!) * * @param column the first column is 1, the second is 2... - * * @return true if so - * * @exception SQLException if a database access error occurs */ public boolean isSigned(int column) throws SQLException { @@ -144,45 +127,21 @@ public boolean isSigned(int column) throws SQLException { return connection.getTypeInfo().isSigned(field.getOID()); } - /* - * What is the column's normal maximum width in characters? - * - * @param column the first column is 1, the second is 2, etc. - * - * @return the maximum width - * - * @exception SQLException if a database access error occurs - */ public int getColumnDisplaySize(int column) throws SQLException { Field field = getField(column); return connection.getTypeInfo().getDisplaySize(field.getOID(), field.getMod()); } - /* - * @param column the first column is 1, the second is 2, etc. - * - * @return the column label - * - * @exception SQLException if a database access error occurs - */ public String getColumnLabel(int column) throws SQLException { Field field = getField(column); return field.getColumnLabel(); } - /* - * What's a column's name? - * - * @param column the first column is 1, the second is 2, etc. - * - * @return the column name - * - * @exception SQLException if a database access error occurs - */ public String getColumnName(int column) throws SQLException { return getColumnLabel(column); } + public String getBaseColumnName(int column) throws SQLException { Field field = getField(column); if (field.getTableOid() == 0) { @@ -192,13 +151,6 @@ public String getBaseColumnName(int column) throws SQLException { return field.getMetadata().columnName; } - /* - * @param column the first column is 1, the second is 2... - * - * @return the Schema Name - * - * @exception SQLException if a database access error occurs - */ public String getSchemaName(int column) throws SQLException { return ""; } @@ -316,43 +268,16 @@ public String getBaseSchemaName(int column) throws SQLException { return field.getMetadata().schemaName; } - /* - * What is a column's number of decimal digits. - * - * @param column the first column is 1, the second is 2... - * - * @return the precision - * - * @exception SQLException if a database access error occurs - */ public int getPrecision(int column) throws SQLException { Field field = getField(column); return connection.getTypeInfo().getPrecision(field.getOID(), field.getMod()); } - /* - * What is a column's number of digits to the right of the decimal point? - * - * @param column the first column is 1, the second is 2... - * - * @return the scale - * - * @exception SQLException if a database access error occurs - */ public int getScale(int column) throws SQLException { Field field = getField(column); return connection.getTypeInfo().getScale(field.getOID(), field.getMod()); } - /* - * @param column the first column is 1, the second is 2... - * - * @return column name, or "" if not applicable - * - * @exception SQLException if a database access error occurs - * - * @see #getBaseTableName - */ public String getTableName(int column) throws SQLException { return getBaseTableName(column); } @@ -363,59 +288,29 @@ public String getBaseTableName(int column) throws SQLException { return field.getMetadata().tableName; } - /* - * What's a column's table's catalog name? As with getSchemaName(), we can say that if + /** + * {@inheritDoc} + * + *

As with getSchemaName(), we can say that if * getTableName() returns n/a, then we can too - otherwise, we need to work on it. * * @param column the first column is 1, the second is 2... - * * @return catalog name, or "" if not applicable - * * @exception SQLException if a database access error occurs */ public String getCatalogName(int column) throws SQLException { return ""; } - /* - * What is a column's SQL Type? (java.sql.Type int) - * - * @param column the first column is 1, the second is 2, etc. - * - * @return the java.sql.Type value - * - * @exception SQLException if a database access error occurs - * - * @see org.postgresql.Field#getSQLType - * - * @see java.sql.Types - */ public int getColumnType(int column) throws SQLException { return getSQLType(column); } - /* - * Is a column Text or Binary? - * - * @param column the first column is 1, the second is 2... - * - * @return 0 if column data foramt is TEXT, or 1 if BINARY - * - * @exception SQLException if a database access error occurs - */ + public int getFormat(int column) throws SQLException { return getField(column).getFormat(); } - /* - * Whats is the column's data source specific type name? - * - * @param column the first column is 1, the second is 2, etc. - * - * @return the type name - * - * @exception SQLException if a database access error occurs - */ public String getColumnTypeName(int column) throws SQLException { String type = getPGType(column); if (isAutoIncrement(column)) { @@ -429,45 +324,45 @@ public String getColumnTypeName(int column) throws SQLException { return type; } - /* - * Is the column definitely not writable? In reality, we would have to check the GRANT/REVOKE + /** + * {@inheritDoc} + * + *

In reality, we would have to check the GRANT/REVOKE * stuff for this to be effective, and I haven't really looked into that yet, so this will get * re-visited. * - * @param column the first column is 1, the second is 2, etc. - * - * @return true if so - * + * @param column the first column is 1, the second is 2, etc.* + * @return true if so* * @exception SQLException if a database access error occurs */ public boolean isReadOnly(int column) throws SQLException { return false; } - /* - * Is it possible for a write on the column to succeed? Again, we would in reality have to check + /** + * {@inheritDoc} + * + *

In reality have to check * the GRANT/REVOKE stuff, which I haven't worked with as yet. However, if it isn't ReadOnly, then * it is obviously writable. * * @param column the first column is 1, the second is 2, etc. - * * @return true if so - * * @exception SQLException if a database access error occurs */ public boolean isWritable(int column) throws SQLException { return !isReadOnly(column); } - /* - * Will a write on this column definately succeed? Hmmm...this is a bad one, since the two + /** + * {@inheritDoc} + * + *

Hmmm...this is a bad one, since the two * preceding functions have not been really defined. I cannot tell is the short answer. I thus * return isWritable() just to give us an idea. * * @param column the first column is 1, the second is 2, etc.. - * * @return true if so - * * @exception SQLException if a database access error occurs */ public boolean isDefinitelyWritable(int column) throws SQLException { @@ -478,14 +373,12 @@ public boolean isDefinitelyWritable(int column) throws SQLException { // END OF PUBLIC INTERFACE // ******************************************************** - /* + /** * For several routines in this package, we need to convert a columnIndex into a Field[] * descriptor. Rather than do the same code several times, here it is. * * @param columnIndex the first column is 1, the second is 2... - * * @return the Field description - * * @exception SQLException if a database access error occurs */ protected Field getField(int columnIndex) throws SQLException { @@ -511,18 +404,6 @@ protected int getSQLType(int columnIndex) throws SQLException { // This can hook into our PG_Object mechanism - /** - * Returns the fully-qualified name of the Java class whose instances are manufactured if the - * method ResultSet.getObject is called to retrieve a value from the column. - * - * ResultSet.getObject may return a subclass of the class returned by this method. - * - * @param column the first column is 1, the second is 2, ... - * @return the fully-qualified name of the class in the Java programming language that would be - * used by the method ResultSet.getObject to retrieve the value in the - * specified column. This is the class name used for custom mapping. - * @throws SQLException if a database access error occurs - */ public String getColumnClassName(int column) throws SQLException { Field field = getField(column); String result = connection.getTypeInfo().getJavaClass(field.getOID()); From 83f2e385947c56376a03fc14178f5d28e427c832 Mon Sep 17 00:00:00 2001 From: Michele Mancioppi Date: Sat, 30 Jun 2018 18:50:54 +0200 Subject: [PATCH 166/427] docs: clarify database and username for the build (#859) Clarify that the build needs a database and a user called both `test` to run. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4035c11afc..97632257d4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -144,7 +144,7 @@ Git repository typically contains -SNAPSHOT versions, so you can use the followi Prerequisites: - JDK 6, JDK 7, and JDK8 configured in `~/.m2/toolchains.xml` -- a PostgreSQL instance for running tests +- a PostgreSQL instance for running tests; it must have a user named `test` as well as a database named `test` - ensure that the RPM packaging CI isn't failing at [copr web page](https://copr.fedorainfracloud.org/coprs/g/pgjdbc/pgjdbc-travis/builds/) - possibly bump `parent poms` or `pgjdbc` versions in RPM [spec file](packaging/rpm/postgresql-jdbc.spec). From 71028532bcbc36e8239a4a7f9ad87e1acd070dc9 Mon Sep 17 00:00:00 2001 From: benbenw Date: Sun, 1 Jul 2018 09:01:14 +0200 Subject: [PATCH 167/427] refactor: remove obsolete outParmBeforeFunc (#1234) --- .../main/java/org/postgresql/core/CachedQuery.java | 5 +---- .../org/postgresql/core/CachedQueryCreateAction.java | 5 +---- .../java/org/postgresql/core/JdbcCallParseInfo.java | 12 +----------- pgjdbc/src/main/java/org/postgresql/core/Parser.java | 6 +++--- .../org/postgresql/jdbc/PgCallableStatement.java | 1 - .../org/postgresql/jdbc/PgPreparedStatement.java | 5 ----- 6 files changed, 6 insertions(+), 28 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java index adb2fa92f5..45d4f1e9ad 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java @@ -18,18 +18,16 @@ public class CachedQuery implements CanEstimateSize { public final Object key; public final Query query; public final boolean isFunction; - public final boolean outParmBeforeFunc; private int executeCount; - public CachedQuery(Object key, Query query, boolean isFunction, boolean outParmBeforeFunc) { + public CachedQuery(Object key, Query query, boolean isFunction) { assert key instanceof String || key instanceof CanEstimateSize : "CachedQuery.key should either be String or implement CanEstimateSize." + " Actual class is " + key.getClass(); this.key = key; this.query = query; this.isFunction = isFunction; - this.outParmBeforeFunc = outParmBeforeFunc; } public void increaseExecuteCount() { @@ -72,7 +70,6 @@ public String toString() { + "executeCount=" + executeCount + ", query=" + query + ", isFunction=" + isFunction - + ", outParmBeforeFunc=" + outParmBeforeFunc + '}'; } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java b/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java index 2f7c087413..df74aa2b62 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java +++ b/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java @@ -41,17 +41,14 @@ public CachedQuery create(Object key) throws SQLException { Parser.replaceProcessing(parsedSql, true, queryExecutor.getStandardConformingStrings()); } boolean isFunction; - boolean outParmBeforeFunc; if (key instanceof CallableQueryKey) { JdbcCallParseInfo callInfo = Parser.modifyJdbcCall(parsedSql, queryExecutor.getStandardConformingStrings(), queryExecutor.getServerVersionNum(), queryExecutor.getProtocolVersion()); parsedSql = callInfo.getSql(); isFunction = callInfo.isFunction(); - outParmBeforeFunc = callInfo.isOutParmBeforeFunc(); } else { isFunction = false; - outParmBeforeFunc = false; } boolean isParameterized = key instanceof String || queryKey.isParameterized; boolean splitStatements = isParameterized || queryExecutor.getPreferQueryMode().compareTo(PreferQueryMode.EXTENDED) >= 0; @@ -68,6 +65,6 @@ public CachedQuery create(Object key) throws SQLException { queryExecutor.isReWriteBatchedInsertsEnabled(), returningColumns); Query query = queryExecutor.wrap(queries); - return new CachedQuery(key, query, isFunction, outParmBeforeFunc); + return new CachedQuery(key, query, isFunction); } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java index 1103b36dd1..01ee48e7e2 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java +++ b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java @@ -11,12 +11,10 @@ public class JdbcCallParseInfo { private final String sql; private final boolean isFunction; - private final boolean outParmBeforeFunc; - public JdbcCallParseInfo(String sql, boolean isFunction, boolean outParmBeforeFunc) { + public JdbcCallParseInfo(String sql, boolean isFunction) { this.sql = sql; this.isFunction = isFunction; - this.outParmBeforeFunc = outParmBeforeFunc; } /** @@ -37,12 +35,4 @@ public boolean isFunction() { return isFunction; } - /** - * Returns if given SQL is a function with one out parameter - * - * @return true if given SQL is a function with one out parameter - */ - public boolean isOutParmBeforeFunc() { - return outParmBeforeFunc; - } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index de26262a43..0699093c98 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -994,7 +994,7 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString if (i == len && !syntaxError) { if (state == 1) { // Not an escaped syntax. - return new JdbcCallParseInfo(sql, isFunction, outParmBeforeFunc); + return new JdbcCallParseInfo(sql, isFunction); } if (state != 8) { syntaxError = true; // Ran out of query while still parsing @@ -1009,7 +1009,7 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString if (serverVersion < 80100 /* 8.1 */ || protocolVersion != 3) { sql = "select " + jdbcSql.substring(startIndex, endIndex) + " as result"; - return new JdbcCallParseInfo(sql, isFunction, outParmBeforeFunc); + return new JdbcCallParseInfo(sql, isFunction); } String s = jdbcSql.substring(startIndex, endIndex); StringBuilder sb = new StringBuilder(s); @@ -1036,7 +1036,7 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString } } sql = "select * from " + sb.toString() + " as result"; - return new JdbcCallParseInfo(sql, isFunction, outParmBeforeFunc); + return new JdbcCallParseInfo(sql, isFunction); } /** diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java index f1a1660278..5d5de9fa58 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java @@ -48,7 +48,6 @@ class PgCallableStatement extends PgPreparedStatement implements CallableStateme int rsHoldability) throws SQLException { super(connection, connection.borrowCallableQuery(sql), rsType, rsConcurrency, rsHoldability); this.isFunction = preparedQuery.isFunction; - this.outParmBeforeFunc = preparedQuery.outParmBeforeFunc; if (this.isFunction) { int inParamCount = this.preparedParameters.getInParameterCount() + 1; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index db0a3782d5..d093828b5f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -78,11 +78,6 @@ class PgPreparedStatement extends PgStatement implements PreparedStatement { */ protected boolean adjustIndex = false; - /* - * Used to set adjustIndex above - */ - protected boolean outParmBeforeFunc = false; - private TimeZone defaultTimeZone; PgPreparedStatement(PgConnection connection, String sql, int rsType, int rsConcurrency, From 435e2f791bc848494b4f08c5d0b90ecf520ae5fe Mon Sep 17 00:00:00 2001 From: benbenw Date: Sun, 1 Jul 2018 12:32:14 +0200 Subject: [PATCH 168/427] perf: improve parsing performance of JDBC-style { call ...} calls (#1233) Avoid intermediate string allocations in Parser#modifyJdbcCall Remove support for version < 8.1 in Parser#modifyJdbcCall --- .../main/java/org/postgresql/core/Parser.java | 42 ++++++++++++------- .../java/org/postgresql/core/ParserTest.java | 9 ++++ 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 0699093c98..1b94f9d82a 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -862,7 +862,7 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString // RE: frequently used statements are cached (see {@link org.postgresql.jdbc.PgConnection#borrowQuery}), so this "merge" is not that important. String sql = jdbcSql; boolean isFunction = false; - boolean outParmBeforeFunc = false; + boolean outParamBeforeFunc = false; int len = jdbcSql.length(); int state = 1; @@ -891,7 +891,7 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString case 2: // After {, looking for ? or =, skipping whitespace if (ch == '?') { - outParmBeforeFunc = + outParamBeforeFunc = isFunction = true; // { ? = call ... } -- function with one out parameter ++i; ++state; @@ -1007,35 +1007,47 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString PSQLState.STATEMENT_NOT_ALLOWED_IN_FUNCTION_CALL); } - if (serverVersion < 80100 /* 8.1 */ || protocolVersion != 3) { - sql = "select " + jdbcSql.substring(startIndex, endIndex) + " as result"; - return new JdbcCallParseInfo(sql, isFunction); - } + String prefix = "select * from "; + String suffix = " as result"; + String s = jdbcSql.substring(startIndex, endIndex); - StringBuilder sb = new StringBuilder(s); + int prefixLength = prefix.length(); + StringBuilder sb = new StringBuilder(prefixLength + jdbcSql.length() + suffix.length() + 10); + sb.append(prefix); + sb.append(s); int opening = s.indexOf('(') + 1; if (opening == 0) { - sb.append(outParmBeforeFunc ? "(?)" : "()"); - } else if (outParmBeforeFunc) { + // here the function call has no parameters declaration eg : "{ ? = call pack_getValue}" + sb.append(outParamBeforeFunc ? "(?)" : "()"); + } else if (outParamBeforeFunc) { // move the single out parameter into the function call // so that it can be treated like all other parameters boolean needComma = false; - int closing = s.indexOf(')', opening); - for (int j = opening; j < closing; j++) { - if (!Character.isWhitespace(sb.charAt(j))) { + // the following loop will check if the function call has parameters + // eg "{ ? = call pack_getValue(?) }" vs "{ ? = call pack_getValue() } + for (int j = opening + prefixLength; j < sb.length(); j++) { + char c = sb.charAt(j); + if (c == ')') { + break; + } + + if (!Character.isWhitespace(c)) { needComma = true; break; } } + + // insert the return parameter as the first parameter of the function call if (needComma) { - sb.insert(opening, "?,"); + sb.insert(opening + prefixLength, "?,"); } else { - sb.insert(opening, "?"); + sb.insert(opening + prefixLength, "?"); } } - sql = "select * from " + sb.toString() + " as result"; + + sql = sb.append(suffix).toString(); return new JdbcCallParseInfo(sql, isFunction); } diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 1d6da292c8..4274fcde6e 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -134,6 +134,15 @@ public void testEscapeProcessing() throws Exception { assertEquals("{obj : 1}", Parser.replaceProcessing("{obj : 1}", true, false)); } + @Test + public void testModifyJdbcCall() throws SQLException { + assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + assertEquals("select * from pack_getValue(?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?) }", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue()}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + assertEquals("select * from pack_getValue(?,?,?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?,?,?) }", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + } + @Test public void testUnterminatedEscape() throws Exception { assertEquals("{oj ", Parser.replaceProcessing("{oj ", true, false)); From 30f06e1411373d72ab59debc352ddf746f6812da Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Sun, 1 Jul 2018 14:44:27 +0200 Subject: [PATCH 169/427] fix: logger should be generally quiet (#1187) The logger used in the driver has some calls to levels WARNING and SEVERE this lower the level to FINE to make the logger quiet in some cases. fixes #1009 fixes #1162 closes #1149 --- CHANGELOG.md | 2 ++ .../src/main/java/org/postgresql/Driver.java | 23 +++++++++++------- .../core/v3/ConnectionFactoryImpl.java | 24 ++++--------------- .../postgresql/core/v3/QueryExecutorImpl.java | 2 +- .../postgresql/ds/common/BaseDataSource.java | 2 +- .../org/postgresql/jdbc/PgConnection.java | 2 +- .../java/org/postgresql/sspi/SSPIClient.java | 2 +- .../org/postgresql/test/jdbc2/DriverTest.java | 11 +++++---- 8 files changed, 32 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c34e5e9b9..a9894a0090 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Changed +- Avoid the print of highest logger levels when the exception is re-thrown. [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) ## [42.2.2] (2018-03-15) ### Added diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index 0d222a0944..820762912d 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -122,11 +122,14 @@ private Properties loadDefaultProperties() throws IOException { // neither case can throw SecurityException. ClassLoader cl = getClass().getClassLoader(); if (cl == null) { + LOGGER.log(Level.FINE, "Can't find our classloader for the Driver; " + + "attempt to use the system class loader"); cl = ClassLoader.getSystemClassLoader(); } if (cl == null) { - LOGGER.log(Level.WARNING, "Can't find a classloader for the Driver; not loading driver configuration"); + LOGGER.log(Level.WARNING, "Can't find a classloader for the Driver; not loading driver " + + "configuration from org/postgresql/driverconfig.properties"); return merged; // Give up on finding defaults. } @@ -233,7 +236,6 @@ public Connection connect(String url, Properties info) throws SQLException { } // parse URL and add more properties if ((props = parseURL(url, props)) == null) { - LOGGER.log(Level.SEVERE, "Error in url: {0}", url); return null; } try { @@ -261,7 +263,7 @@ public Connection connect(String url, Properties info) throws SQLException { thread.start(); return ct.getResult(timeout); } catch (PSQLException ex1) { - LOGGER.log(Level.SEVERE, "Connection error: ", ex1); + LOGGER.log(Level.FINE, "Connection error: ", ex1); // re-throw the exception, otherwise it will be caught next, and a // org.postgresql.unusual error will be returned instead. throw ex1; @@ -271,7 +273,7 @@ public Connection connect(String url, Properties info) throws SQLException { "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."), PSQLState.UNEXPECTED_ERROR, ace); } catch (Exception ex2) { - LOGGER.log(Level.SEVERE, "Unexpected connection error: ", ex2); + LOGGER.log(Level.FINE, "Unexpected connection error: ", ex2); throw new PSQLException( GT.tr( "Something unusual has occurred to cause the driver to fail. Please report this exception."), @@ -552,6 +554,7 @@ public static Properties parseURL(String url, Properties defaults) { } if (!l_urlServer.startsWith("jdbc:postgresql:")) { + LOGGER.log(Level.FINE, "JDBC URL must start with \"jdbc:postgresql:\" but was: {0}", url); return null; } l_urlServer = l_urlServer.substring("jdbc:postgresql:".length()); @@ -560,6 +563,7 @@ public static Properties parseURL(String url, Properties defaults) { l_urlServer = l_urlServer.substring(2); int slash = l_urlServer.indexOf('/'); if (slash == -1) { + LOGGER.log(Level.WARNING, "JDBC URL must contain a slash at the end of the host or port: {0}", url); return null; } urlProps.setProperty("PGDBNAME", URLCoder.decode(l_urlServer.substring(slash + 1))); @@ -572,10 +576,13 @@ public static Properties parseURL(String url, Properties defaults) { if (portIdx != -1 && address.lastIndexOf(']') < portIdx) { String portStr = address.substring(portIdx + 1); try { - // squid:S2201 The return value of "parseInt" must be used. - // The side effect is NumberFormatException, thus ignore sonar error here - Integer.parseInt(portStr); //NOSONAR - } catch (NumberFormatException ex) { + int port = Integer.parseInt(portStr); + if (port < 1 || port > 65535) { + LOGGER.log(Level.WARNING, "JDBC URL port in invalid range: {0}", portStr); + return null; + } + } catch (NumberFormatException ignore) { + LOGGER.log(Level.WARNING, "JDBC URL invalid port number: {0}", portStr); return null; } ports.append(portStr); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index eb086bed85..749af95889 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -67,12 +67,6 @@ public class ConnectionFactoryImpl extends ConnectionFactory { private static final int AUTH_REQ_SASL_CONTINUE = 11; private static final int AUTH_REQ_SASL_FINAL = 12; - /** - * Marker exception; thrown when we want to fall back to using V2. - */ - private static class UnsupportedProtocolException extends IOException { - } - private ISSPIClient createSSPI(PGStream pgStream, String spnServiceClass, boolean enableNegotiate) { @@ -230,18 +224,13 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin // And we're done. return queryExecutor; - } catch (UnsupportedProtocolException upe) { - // Swallow this and return null so ConnectionFactory tries the next protocol. - LOGGER.log(Level.SEVERE, "Protocol not supported, abandoning connection.", upe); - closeStream(newStream); - return null; } catch (ConnectException cex) { // Added by Peter Mount // ConnectException is thrown when the connection cannot be made. // we trap this an return a more meaningful message for the end user GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); - log(Level.WARNING, "ConnectException occurred while connecting to {0}", cex, hostSpec); + log(Level.FINE, "ConnectException occurred while connecting to {0}", cex, hostSpec); if (hostIter.hasNext()) { // still more addresses to try continue; @@ -253,7 +242,7 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin closeStream(newStream); GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); - log(Level.WARNING, "IOException occurred while connecting to {0}", ioe, hostSpec); + log(Level.FINE, "IOException occurred while connecting to {0}", ioe, hostSpec); if (hostIter.hasNext()) { // still more addresses to try continue; @@ -262,7 +251,7 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT, ioe); } catch (SQLException se) { closeStream(newStream); - log(Level.WARNING, "SQLException occurred while connecting to {0}", se, hostSpec); + log(Level.FINE, "SQLException occurred while connecting to {0}", se, hostSpec); GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); if (hostIter.hasNext()) { @@ -467,11 +456,6 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope // "User authentication failed" // int l_elen = pgStream.receiveInteger4(); - if (l_elen > 30000) { - // if the error length is > than 30000 we assume this is really a v2 protocol - // server, so trigger fallback. - throw new UnsupportedProtocolException(); - } ServerErrorMessage errorMsg = new ServerErrorMessage(pgStream.receiveErrorString(l_elen - 4)); @@ -668,7 +652,7 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope try { sspiClient.dispose(); } catch (RuntimeException ex) { - LOGGER.log(Level.WARNING, "Unexpected error during SSPI context disposal", ex); + LOGGER.log(Level.FINE, "Unexpected error during SSPI context disposal", ex); } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index ef5af61f9f..251c840522 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2608,7 +2608,7 @@ public void receiveParameterStatus() throws IOException, SQLException { if (name.equals("client_encoding")) { if (allowEncodingChanges) { if (!value.equalsIgnoreCase("UTF8") && !value.equalsIgnoreCase("UTF-8")) { - LOGGER.log(Level.WARNING, + LOGGER.log(Level.FINE, "pgjdbc expects client_encoding to be UTF8 for proper operation. Actual encoding is {0}", value); } diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 0d6aff8431..268d936f2e 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -97,7 +97,7 @@ public Connection getConnection(String user, String password) throws SQLExceptio } return con; } catch (SQLException e) { - LOGGER.log(Level.SEVERE, "Failed to create a {0} for {1} at {2}: {3}", + LOGGER.log(Level.FINE, "Failed to create a {0} for {1} at {2}: {3}", new Object[]{getDescription(), user, getUrl(), e}); throw e; } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 8feb8e6f30..a35a5c851d 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -1386,7 +1386,7 @@ public boolean isValid(int timeout) throws SQLException { // "current transaction aborted", assume the connection is up and running return true; } - LOGGER.log(Level.WARNING, GT.tr("Validating connection."), e); + LOGGER.log(Level.FINE, GT.tr("Validating connection."), e); } return false; } diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java index a41c954a35..82ae6f2192 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java @@ -88,7 +88,7 @@ public boolean isSSPISupported() { * won't have JNA and this will throw a NoClassDefFoundError. */ if (!Platform.isWindows()) { - LOGGER.log(Level.WARNING, "SSPI not supported: non-Windows host"); + LOGGER.log(Level.FINE, "SSPI not supported: non-Windows host"); return false; } /* Waffle must be on the CLASSPATH */ diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java index 502cced139..b6834911e0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java @@ -65,10 +65,13 @@ public void testAcceptsURL() throws Exception { verifyUrl(drv, "jdbc:postgresql://[::1]:5740/db", "[::1]", "5740", "db"); // Badly formatted url's - assertTrue(!drv.acceptsURL("jdbc:postgres:test")); - assertTrue(!drv.acceptsURL("postgresql:test")); - assertTrue(!drv.acceptsURL("db")); - assertTrue(!drv.acceptsURL("jdbc:postgresql://localhost:5432a/test")); + assertFalse(drv.acceptsURL("jdbc:postgres:test")); + assertFalse(drv.acceptsURL("postgresql:test")); + assertFalse(drv.acceptsURL("db")); + assertFalse(drv.acceptsURL("jdbc:postgresql://localhost:5432a/test")); + assertFalse(drv.acceptsURL("jdbc:postgresql://localhost:500000/test")); + assertFalse(drv.acceptsURL("jdbc:postgresql://localhost:0/test")); + assertFalse(drv.acceptsURL("jdbc:postgresql://localhost:-2/test")); // failover urls verifyUrl(drv, "jdbc:postgresql://localhost,127.0.0.1:5432/test", "localhost,127.0.0.1", From 38c8845e645cabce89e7610d1d5e735cc30543b1 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Sun, 1 Jul 2018 14:46:25 +0200 Subject: [PATCH 170/427] docs: improve CONTRIBUTING.md (#951) This is a rewrite of CONTRIBUTING.md to have clear sections about how to contribute (code, docs, ideas, issues) to the project. [skip ci] --- CONTRIBUTING.md | 84 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 97632257d4..b6216fb92d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,55 @@ -# How to contribute +# Guidelines for Contributing -Thank you so much for wanting to contribute to PostgreSQL JDBC Driver! Here are a few important -things you should know about contributing: +Thank you so much for wanting to contribute to **PostgreSQL JDBC Driver**! - 1. API changes require discussion, use cases, etc. Code comes later. - 2. Pull requests are great for small fixes for bugs, documentation, etc. - 3. Pull requests are not merged directly into the master branch. +The purpose of the *Guidelines for Contributing* is to create a collaboration baseline. +**Do NOT** blindly obey these guidelines, use them (after understanding) where they make sense. + +You must know that the PgJDBC driver support Java versions **6**, **7** and **8** mostly the +Oracle and OpenJDK implementations; and PostgreSQL server versions from **8.2** and higher. + +Some PostgreSQL forks *might* work but are not officially supported, we cheer the vendors of forks +that want to improve this driver sending us pull requests that are not disruptive to the +community ecosystem of PostgreSQL. + +## Issues + +Issues are a great way to keep track of tasks, enhancements, and bugs for the PgJDBC project. + +### How to submit a bug report + +If you found a bug in the PgJDBC driver please use an issue to report it, try to be concise +and detailed in your report, please ensure to specify at least the following: + + * Use a concise subject. + * PgJDBC driver version (e.g. 42.0.0.jre7) + * JDK/JRE version or the output of `java -version` (e.g. OpenJDK Java 8u144, Oracle Java 7u79) + * PostgreSQL server version or the output of `select version()` (e.g. PostgreSQL 9.6.2) + * Context information: what you were trying to achieve with PgJDBC. + * Simplest possible steps to reproduce + * More complex the steps are, lower the priority will be. + * A pull request with failing JUnit test case is most preferred, although it's OK to paste + the test case into the issue description. + +You can consider a bug: some behavior that worked before and now it does not; a violation of the +JDBC spec in any form, unless it's stated otherwise as an extension. -## Ideas +It's hard, but possible, to introduce some breaking changes to the driver every major version update, +so, please read carefully the changelog and test thoroughly for any potential problem with your app. +What is not acceptable is to introduce breaking changes in the minor or patch update of the driver, +if you found a regression in a minor o patch update, please fill an issue. -If you have ideas or proposed changes, please post on the mailing list or -open a detailed, specific GitHub issue. +Not every bug report needs to be of code, some can be documentation erratum that can be improved as +well, the website source code along with the documentation is under **docs**, your are welcome to +report issues and send pull request too. + +For enhancements request keep reading the *Ideas, enhancements and new features* seccion. + +### Ideas, enhancements and new features + +If you have ideas or proposed changes, please post on the +[mailing list](https://www.postgresql.org/list/pgsql-jdbc/) or open a detailed, +specific [GitHub issue](https://github.com/pgjdbc/pgjdbc/issues/new). Think about how the change would affect other users, what side effects it might have, how practical it is to implement, what implications it would @@ -23,31 +62,42 @@ desired feature or improvement happens is to implement it yourself. The PgJDBC sources are reasonably clear and they're pure Java, so it's sometimes easier than you might expect. -## Build requirements +## Contributing code + +Here are a few important things you should know about contributing code: + + 1. API changes require discussion, use cases, etc. Code comes later. + 2. Pull requests are great for small fixes for bugs, documentation, etc. + 3. Pull request needs to be approved and merged by maintainers into the master branch. + 4. Pull requests needs to fully pass CI tests. + +### Build requirements In order to build the source code for PgJDBC you will need the following tools: -- A git client -- A recent version of Maven (3.x) -- A JDK for the JDBC version you'd like to build (JDK6 for JDBC 4, JDK7 for JDBC 4.1 or JDK8 for JDBC 4.2) -- A running PostgreSQL instance + - A git client + - A recent version of Maven (3.x) + - A JDK for the JDBC version you'd like to build (JDK6 for JDBC 4, JDK7 for JDBC 4.1 or JDK8 for JDBC 4.2) + - A running PostgreSQL instance (optional for unit/integration tests) Additionally, in order to update translations (not typical), you will need the following additional tools: -- the gettext package, which contains the commands "msgfmt", "msgmerge", and "xgettext" + - the gettext package, which contains the commands "msgfmt", "msgmerge", and "xgettext" -## Checking out the source code +### Hacking on PgJDBC The PgJDBC project uses git for version control. You can check out the current code by running: git clone https://github.com/pgjdbc/pgjdbc.git - + This will create a pgjdbc directory containing the checked-out source code. In order do build jre7 or jre6 compatible versions, check out those repositories under `pgjdbc` +```bash cd pgjdbc # <-- that is pgjdbc/pgjdbc.git clone git clone https://github.com/pgjdbc/pgjdbc-jre7.git git clone https://github.com/pgjdbc/pgjdbc-jre6.git +``` Note: all the source code is stored in `pgjdbc.git` repository, so just `pgjdbc.git` is sufficient for development. From f4ae60eca7b6dd8828f9e1b7a53c1dfee38f8201 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 3 Jul 2018 17:03:53 +0300 Subject: [PATCH 171/427] docs: use "PR 42" references instead of "PR#42" in the changelog (#1239) --- docs/_posts/2017-02-20-42.0.0-release.md | 86 +++++++------- docs/_posts/2017-05-04-42.1.0-release.md | 34 +++--- docs/_posts/2017-07-12-42.1.2-release.md | 32 +++--- docs/_posts/2017-07-14-42.1.3-release.md | 2 +- docs/_posts/2017-08-01-42.1.4-release.md | 18 +-- docs/_posts/2018-01-17-42.2.0-release.md | 140 +++++++++++------------ docs/_posts/2018-01-25-42.2.1-release.md | 22 ++-- docs/_posts/2018-03-15-42.2.2-release.md | 36 +++--- 8 files changed, 185 insertions(+), 185 deletions(-) diff --git a/docs/_posts/2017-02-20-42.0.0-release.md b/docs/_posts/2017-02-20-42.0.0-release.md index e356c69f7a..bf2ef38aef 100644 --- a/docs/_posts/2017-02-20-42.0.0-release.md +++ b/docs/_posts/2017-02-20-42.0.0-release.md @@ -38,85 +38,85 @@ You may have noticed the change in the versioning of the driver, you can [read t AlexElin (6): -* refactor: use varargs [PR#681](https://github.com/pgjdbc/pgjdbc/pull/681) [50b7fe0f](https://github.com/pgjdbc/pgjdbc/commit/50b7fe0fe901ee24160615bebd4b86603b960b86) -* refactor: make HostChooser implement Iterable [PR#645](https://github.com/pgjdbc/pgjdbc/pull/645) [3d37db78](https://github.com/pgjdbc/pgjdbc/commit/3d37db78ae4a82cab8809bac86e3b55537e91d95) -* refactor: migrate to Junit4 [PR#682](https://github.com/pgjdbc/pgjdbc/pull/682) [f4a067cc](https://github.com/pgjdbc/pgjdbc/commit/f4a067cc5d32dde2698a062d6f9855d50fa3127d) -* refactor: remove deprecated Utils' methods [PR#678](https://github.com/pgjdbc/pgjdbc/pull/678) [0275d40f](https://github.com/pgjdbc/pgjdbc/commit/0275d40f6f2b8b30faef8aed31761e1ff7a0ed90) -* refactor: migrate tests to junit4 [PR#685](https://github.com/pgjdbc/pgjdbc/pull/685) [faab4998](https://github.com/pgjdbc/pgjdbc/commit/faab499853c56f67cb70fb242f75b918452f2a6f) -* refactor: remove checks for jdk version 1.4 (tests) [PR#737](https://github.com/pgjdbc/pgjdbc/pull/737) [ee51dfce](https://github.com/pgjdbc/pgjdbc/commit/ee51dfce99dcd922b66373cd0c69c83bf339dbdb) +* refactor: use varargs [PR 681](https://github.com/pgjdbc/pgjdbc/pull/681) [50b7fe0f](https://github.com/pgjdbc/pgjdbc/commit/50b7fe0fe901ee24160615bebd4b86603b960b86) +* refactor: make HostChooser implement Iterable [PR 645](https://github.com/pgjdbc/pgjdbc/pull/645) [3d37db78](https://github.com/pgjdbc/pgjdbc/commit/3d37db78ae4a82cab8809bac86e3b55537e91d95) +* refactor: migrate to Junit4 [PR 682](https://github.com/pgjdbc/pgjdbc/pull/682) [f4a067cc](https://github.com/pgjdbc/pgjdbc/commit/f4a067cc5d32dde2698a062d6f9855d50fa3127d) +* refactor: remove deprecated Utils' methods [PR 678](https://github.com/pgjdbc/pgjdbc/pull/678) [0275d40f](https://github.com/pgjdbc/pgjdbc/commit/0275d40f6f2b8b30faef8aed31761e1ff7a0ed90) +* refactor: migrate tests to junit4 [PR 685](https://github.com/pgjdbc/pgjdbc/pull/685) [faab4998](https://github.com/pgjdbc/pgjdbc/commit/faab499853c56f67cb70fb242f75b918452f2a6f) +* refactor: remove checks for jdk version 1.4 (tests) [PR 737](https://github.com/pgjdbc/pgjdbc/pull/737) [ee51dfce](https://github.com/pgjdbc/pgjdbc/commit/ee51dfce99dcd922b66373cd0c69c83bf339dbdb) Eric McCormack (1): -* fix: accept server version with more than 3 parts [PR#741](https://github.com/pgjdbc/pgjdbc/pull/741) [8437f6c1](https://github.com/pgjdbc/pgjdbc/commit/8437f6c1c76c3560331d75c4332ab50959d57228) +* fix: accept server version with more than 3 parts [PR 741](https://github.com/pgjdbc/pgjdbc/pull/741) [8437f6c1](https://github.com/pgjdbc/pgjdbc/commit/8437f6c1c76c3560331d75c4332ab50959d57228) Jordan Lewis (1): -* feat: do not use pg_depend against PostgreSQL 9.0+ [PR#689](https://github.com/pgjdbc/pgjdbc/pull/689) [62e25fba](https://github.com/pgjdbc/pgjdbc/commit/62e25fba70002d7639472c5a1dcd9d1de5b7f872) +* feat: do not use pg_depend against PostgreSQL 9.0+ [PR 689](https://github.com/pgjdbc/pgjdbc/pull/689) [62e25fba](https://github.com/pgjdbc/pgjdbc/commit/62e25fba70002d7639472c5a1dcd9d1de5b7f872) Jorge Solorzano (22): -* refactor: remove support for postgresql < 8.2 [PR#661](https://github.com/pgjdbc/pgjdbc/pull/661) [14e64be7](https://github.com/pgjdbc/pgjdbc/commit/14e64be7dc43feaef210e82fcd9b6089e54e5e4f) -* fix: add query to support postgresql 8.2 without t.typarray [PR#699](https://github.com/pgjdbc/pgjdbc/pull/699) [cb3995b5](https://github.com/pgjdbc/pgjdbc/commit/cb3995b5a0311a2f5f7737fdfe83457680305efb) -* test: add CI tests against PostgreSQL 8.3 [PR#710](https://github.com/pgjdbc/pgjdbc/pull/710) [436365b0](https://github.com/pgjdbc/pgjdbc/commit/436365b095d0a276b876433fd00d9bbac72708cc) -* fix: robust castToBoolean for setObject in PreparedStatement [PR#714](https://github.com/pgjdbc/pgjdbc/pull/714) [edc2a14a](https://github.com/pgjdbc/pgjdbc/commit/edc2a14af8837911a48bb322363bb8b70d2b173d) -* refactor: remove unused V2ReplicationProtocol.java [PR#718](https://github.com/pgjdbc/pgjdbc/pull/718) [7881e41e](https://github.com/pgjdbc/pgjdbc/commit/7881e41ea93f3bd6a3f58e85cb4329f77b667db0) -* test: ignore tests that don't apply to Pg8.2 and Pg8.3 [PR#703](https://github.com/pgjdbc/pgjdbc/pull/703) [3bc0951e](https://github.com/pgjdbc/pgjdbc/commit/3bc0951e84ad3b7af746e2dece04b4ea816605e2) -* style: reorder checkstyle in travis [PR#721](https://github.com/pgjdbc/pgjdbc/pull/721) [ba812fb4](https://github.com/pgjdbc/pgjdbc/commit/ba812fb404852b73a304f7ccb068a2030b8604b3) -* refactor: remove charset property not used [PR#709](https://github.com/pgjdbc/pgjdbc/pull/709) [f6fd5a5a](https://github.com/pgjdbc/pgjdbc/commit/f6fd5a5abea1efe9b987825b7874ffd962772197) -* fix: huntbugs on PgDatabaseMetaData, String concatenation in a loop [PR#693](https://github.com/pgjdbc/pgjdbc/pull/693) [3a00ef94](https://github.com/pgjdbc/pgjdbc/commit/3a00ef9436c6b04c472330802a8adb22adaa9b63) -* refactor: fix getDriverVersion, getDriverName and getJDBCMajor/MinorVersion methods [PR#668](https://github.com/pgjdbc/pgjdbc/pull/668) [aa974341](https://github.com/pgjdbc/pgjdbc/commit/aa9743417f18a10a1a7c7a4bc25ad2862155ddc8) -* docs: reword supported versions, include datasources section, compare versions [PR#673](https://github.com/pgjdbc/pgjdbc/pull/673) [b2cdd057](https://github.com/pgjdbc/pgjdbc/commit/b2cdd057664a00928d97290ed7435fcf57f3a360) -* test: fix test replication on PG_HEAD [PR#734](https://github.com/pgjdbc/pgjdbc/pull/734) [3b406a18](https://github.com/pgjdbc/pgjdbc/commit/3b406a18a7c1751aa477e8378ee8cad0a60efd1e) -* refactor: deprecated PGPoolingDataSource [PR#739](https://github.com/pgjdbc/pgjdbc/pull/739) [55e2cd16](https://github.com/pgjdbc/pgjdbc/commit/55e2cd16cc7e30b1370e777d71556aa625bace9f) -* fix: strict handling of getBoolean and setObject with postgres accepted values [PR#732](https://github.com/pgjdbc/pgjdbc/pull/732) [4942f7d1](https://github.com/pgjdbc/pgjdbc/commit/4942f7d1cc812feeeca331878334a3d4058615e4) -* docs: move docs from www/documentation/head [PR#744](https://github.com/pgjdbc/pgjdbc/pull/744) [70e23c45](https://github.com/pgjdbc/pgjdbc/commit/70e23c45c904ebded42ab1b5efc10d66f34ab68c) -* test: fix replication test in Pg10 [PR#746](https://github.com/pgjdbc/pgjdbc/pull/746) [63ed2129](https://github.com/pgjdbc/pgjdbc/commit/63ed2129f7aa4375d009f19c64dc2404e725aabb) -* feat: use java.util.logging [PR#722](https://github.com/pgjdbc/pgjdbc/pull/722) [43e6505e](https://github.com/pgjdbc/pgjdbc/commit/43e6505e3aa16e6acdf08f02f2dd1e3cf131ac3e) -* perf: short circuit Oid.BOOL in getBoolean [PR#745](https://github.com/pgjdbc/pgjdbc/pull/745) [e69e4a1d](https://github.com/pgjdbc/pgjdbc/commit/e69e4a1d5502319bc810e0e4529611ba52ea386c) -* fix: add isLoggable around parameterized logger [PR#752](https://github.com/pgjdbc/pgjdbc/pull/752) [8b50cfe5](https://github.com/pgjdbc/pgjdbc/commit/8b50cfe58c47d19adc0c241488a24037f4a4416f) +* refactor: remove support for postgresql < 8.2 [PR 661](https://github.com/pgjdbc/pgjdbc/pull/661) [14e64be7](https://github.com/pgjdbc/pgjdbc/commit/14e64be7dc43feaef210e82fcd9b6089e54e5e4f) +* fix: add query to support postgresql 8.2 without t.typarray [PR 699](https://github.com/pgjdbc/pgjdbc/pull/699) [cb3995b5](https://github.com/pgjdbc/pgjdbc/commit/cb3995b5a0311a2f5f7737fdfe83457680305efb) +* test: add CI tests against PostgreSQL 8.3 [PR 710](https://github.com/pgjdbc/pgjdbc/pull/710) [436365b0](https://github.com/pgjdbc/pgjdbc/commit/436365b095d0a276b876433fd00d9bbac72708cc) +* fix: robust castToBoolean for setObject in PreparedStatement [PR 714](https://github.com/pgjdbc/pgjdbc/pull/714) [edc2a14a](https://github.com/pgjdbc/pgjdbc/commit/edc2a14af8837911a48bb322363bb8b70d2b173d) +* refactor: remove unused V2ReplicationProtocol.java [PR 718](https://github.com/pgjdbc/pgjdbc/pull/718) [7881e41e](https://github.com/pgjdbc/pgjdbc/commit/7881e41ea93f3bd6a3f58e85cb4329f77b667db0) +* test: ignore tests that don't apply to Pg8.2 and Pg8.3 [PR 703](https://github.com/pgjdbc/pgjdbc/pull/703) [3bc0951e](https://github.com/pgjdbc/pgjdbc/commit/3bc0951e84ad3b7af746e2dece04b4ea816605e2) +* style: reorder checkstyle in travis [PR 721](https://github.com/pgjdbc/pgjdbc/pull/721) [ba812fb4](https://github.com/pgjdbc/pgjdbc/commit/ba812fb404852b73a304f7ccb068a2030b8604b3) +* refactor: remove charset property not used [PR 709](https://github.com/pgjdbc/pgjdbc/pull/709) [f6fd5a5a](https://github.com/pgjdbc/pgjdbc/commit/f6fd5a5abea1efe9b987825b7874ffd962772197) +* fix: huntbugs on PgDatabaseMetaData, String concatenation in a loop [PR 693](https://github.com/pgjdbc/pgjdbc/pull/693) [3a00ef94](https://github.com/pgjdbc/pgjdbc/commit/3a00ef9436c6b04c472330802a8adb22adaa9b63) +* refactor: fix getDriverVersion, getDriverName and getJDBCMajor/MinorVersion methods [PR 668](https://github.com/pgjdbc/pgjdbc/pull/668) [aa974341](https://github.com/pgjdbc/pgjdbc/commit/aa9743417f18a10a1a7c7a4bc25ad2862155ddc8) +* docs: reword supported versions, include datasources section, compare versions [PR 673](https://github.com/pgjdbc/pgjdbc/pull/673) [b2cdd057](https://github.com/pgjdbc/pgjdbc/commit/b2cdd057664a00928d97290ed7435fcf57f3a360) +* test: fix test replication on PG_HEAD [PR 734](https://github.com/pgjdbc/pgjdbc/pull/734) [3b406a18](https://github.com/pgjdbc/pgjdbc/commit/3b406a18a7c1751aa477e8378ee8cad0a60efd1e) +* refactor: deprecated PGPoolingDataSource [PR 739](https://github.com/pgjdbc/pgjdbc/pull/739) [55e2cd16](https://github.com/pgjdbc/pgjdbc/commit/55e2cd16cc7e30b1370e777d71556aa625bace9f) +* fix: strict handling of getBoolean and setObject with postgres accepted values [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) [4942f7d1](https://github.com/pgjdbc/pgjdbc/commit/4942f7d1cc812feeeca331878334a3d4058615e4) +* docs: move docs from www/documentation/head [PR 744](https://github.com/pgjdbc/pgjdbc/pull/744) [70e23c45](https://github.com/pgjdbc/pgjdbc/commit/70e23c45c904ebded42ab1b5efc10d66f34ab68c) +* test: fix replication test in Pg10 [PR 746](https://github.com/pgjdbc/pgjdbc/pull/746) [63ed2129](https://github.com/pgjdbc/pgjdbc/commit/63ed2129f7aa4375d009f19c64dc2404e725aabb) +* feat: use java.util.logging [PR 722](https://github.com/pgjdbc/pgjdbc/pull/722) [43e6505e](https://github.com/pgjdbc/pgjdbc/commit/43e6505e3aa16e6acdf08f02f2dd1e3cf131ac3e) +* perf: short circuit Oid.BOOL in getBoolean [PR 745](https://github.com/pgjdbc/pgjdbc/pull/745) [e69e4a1d](https://github.com/pgjdbc/pgjdbc/commit/e69e4a1d5502319bc810e0e4529611ba52ea386c) +* fix: add isLoggable around parameterized logger [PR 752](https://github.com/pgjdbc/pgjdbc/pull/752) [8b50cfe5](https://github.com/pgjdbc/pgjdbc/commit/8b50cfe58c47d19adc0c241488a24037f4a4416f) * docs: move www repository to pgjdbc/docs [d4e99198](https://github.com/pgjdbc/pgjdbc/commit/d4e99198336bf41fc7f3fe9c0746036d5477601c) * add syntax highlight to documentation [8c035ade](https://github.com/pgjdbc/pgjdbc/commit/8c035adeb820c8a19e372f0b76a70e511b657cad) * add more style [9c510e65](https://github.com/pgjdbc/pgjdbc/commit/9c510e65f573354a47b7e94553870231e8dc2935) Pavel Raiskup (3): -* fix: sync with latest Fedora [PR#637](https://github.com/pgjdbc/pgjdbc/pull/637) [a29ad80b](https://github.com/pgjdbc/pgjdbc/commit/a29ad80bcfdd65d11257f6339eb6bf2512612eed) +* fix: sync with latest Fedora [PR 637](https://github.com/pgjdbc/pgjdbc/pull/637) [a29ad80b](https://github.com/pgjdbc/pgjdbc/commit/a29ad80bcfdd65d11257f6339eb6bf2512612eed) * packaging: rpm: update srpm generator [5c3c9239](https://github.com/pgjdbc/pgjdbc/commit/5c3c92392d66608ed7d9d1f96eb5b380e2667cd9) * packaging: rpm_ci: use curl -L to download rawhide logs [c8125cff](https://github.com/pgjdbc/pgjdbc/commit/c8125cff3ae719675983185d49cd49e6c028d7b7) Philippe Marschall (3): -* refactor: clean up PgDatabaseMetaData [PR#692](https://github.com/pgjdbc/pgjdbc/pull/692) [d32b077e](https://github.com/pgjdbc/pgjdbc/commit/d32b077e20b2afae9c4c80f704f7c8a26a8b8e11) -* refactor: delete Keyword enum [PR#697](https://github.com/pgjdbc/pgjdbc/pull/697) [677e3c4c](https://github.com/pgjdbc/pgjdbc/commit/677e3c4cf2533ce283a2d444cee6da8a94a4ca82) -* feat: support microsecond resolution for JSR-310 types [PR#691](https://github.com/pgjdbc/pgjdbc/pull/691) [6b3a1efb](https://github.com/pgjdbc/pgjdbc/commit/6b3a1efb36709e570caf0dc71a42a53e89f5a5e0) +* refactor: clean up PgDatabaseMetaData [PR 692](https://github.com/pgjdbc/pgjdbc/pull/692) [d32b077e](https://github.com/pgjdbc/pgjdbc/commit/d32b077e20b2afae9c4c80f704f7c8a26a8b8e11) +* refactor: delete Keyword enum [PR 697](https://github.com/pgjdbc/pgjdbc/pull/697) [677e3c4c](https://github.com/pgjdbc/pgjdbc/commit/677e3c4cf2533ce283a2d444cee6da8a94a4ca82) +* feat: support microsecond resolution for JSR-310 types [PR 691](https://github.com/pgjdbc/pgjdbc/pull/691) [6b3a1efb](https://github.com/pgjdbc/pgjdbc/commit/6b3a1efb36709e570caf0dc71a42a53e89f5a5e0) Roman Ivanov (2): -* config: move version of checkstyle to property [PR#723](https://github.com/pgjdbc/pgjdbc/pull/723) [9ef7d6f1](https://github.com/pgjdbc/pgjdbc/commit/9ef7d6f1f274a75a14b380c57f4c140b47b25888) -* chore: upgrade checkstyle to 7.4, make checkstyle version configurable via property [PR#725](https://github.com/pgjdbc/pgjdbc/pull/725) [e1a25782](https://github.com/pgjdbc/pgjdbc/commit/e1a2578247684667a51bc34ee53449e4457755df) +* config: move version of checkstyle to property [PR 723](https://github.com/pgjdbc/pgjdbc/pull/723) [9ef7d6f1](https://github.com/pgjdbc/pgjdbc/commit/9ef7d6f1f274a75a14b380c57f4c140b47b25888) +* chore: upgrade checkstyle to 7.4, make checkstyle version configurable via property [PR 725](https://github.com/pgjdbc/pgjdbc/pull/725) [e1a25782](https://github.com/pgjdbc/pgjdbc/commit/e1a2578247684667a51bc34ee53449e4457755df) Steve Ungerer (1): -* fix: ensure executeBatch() does not use server-side prepared statements when prepareThreshold=0 [PR#690](https://github.com/pgjdbc/pgjdbc/pull/690) [aca26a07](https://github.com/pgjdbc/pgjdbc/commit/aca26a07026e9b289a209799ab28131a33b296dd) +* fix: ensure executeBatch() does not use server-side prepared statements when prepareThreshold=0 [PR 690](https://github.com/pgjdbc/pgjdbc/pull/690) [aca26a07](https://github.com/pgjdbc/pgjdbc/commit/aca26a07026e9b289a209799ab28131a33b296dd) Trygve Laugstøl (1): -* feat: connect the socket only if the socket factory created an unconnected socket [PR#587](https://github.com/pgjdbc/pgjdbc/pull/587) [f75572be](https://github.com/pgjdbc/pgjdbc/commit/f75572beb8b59a7a73f6e1d12d692b483dc04c85) +* feat: connect the socket only if the socket factory created an unconnected socket [PR 587](https://github.com/pgjdbc/pgjdbc/pull/587) [f75572be](https://github.com/pgjdbc/pgjdbc/commit/f75572beb8b59a7a73f6e1d12d692b483dc04c85) Vladimir Gordiychuk (4): -* bug: fix not enscaped special symbol that fail build [PR#686](https://github.com/pgjdbc/pgjdbc/pull/686) [b4604cd7](https://github.com/pgjdbc/pgjdbc/commit/b4604cd7de0c297c8b56608642055ed6eb3645e0) -* feat: add replication protocol API [PR#550](https://github.com/pgjdbc/pgjdbc/pull/550) [f48c6bb7](https://github.com/pgjdbc/pgjdbc/commit/f48c6bb7e726479bbf4be4ef95e4c138db5cac96) -* test: fix drop replication slot on 9.4 for tests [PR#696](https://github.com/pgjdbc/pgjdbc/pull/696) [c1c48bd7](https://github.com/pgjdbc/pgjdbc/commit/c1c48bd705f04e8d1b1cb8b998dda0a6893f891d) -* chore: Gather backtrace from core dump on CI [PR#736](https://github.com/pgjdbc/pgjdbc/pull/736) [da5e4ef1](https://github.com/pgjdbc/pgjdbc/commit/da5e4ef1cbc4a5c9f41e9aee8d183560ba679541) +* bug: fix not enscaped special symbol that fail build [PR 686](https://github.com/pgjdbc/pgjdbc/pull/686) [b4604cd7](https://github.com/pgjdbc/pgjdbc/commit/b4604cd7de0c297c8b56608642055ed6eb3645e0) +* feat: add replication protocol API [PR 550](https://github.com/pgjdbc/pgjdbc/pull/550) [f48c6bb7](https://github.com/pgjdbc/pgjdbc/commit/f48c6bb7e726479bbf4be4ef95e4c138db5cac96) +* test: fix drop replication slot on 9.4 for tests [PR 696](https://github.com/pgjdbc/pgjdbc/pull/696) [c1c48bd7](https://github.com/pgjdbc/pgjdbc/commit/c1c48bd705f04e8d1b1cb8b998dda0a6893f891d) +* chore: Gather backtrace from core dump on CI [PR 736](https://github.com/pgjdbc/pgjdbc/pull/736) [da5e4ef1](https://github.com/pgjdbc/pgjdbc/commit/da5e4ef1cbc4a5c9f41e9aee8d183560ba679541) Vladimir Sitnikov (12): * fedora: add BuildRequires: classloader-leak-test-framework [64b6750c](https://github.com/pgjdbc/pgjdbc/commit/64b6750cbd49ca8a9f0596bed1876132b64c34d4) * tests: remove Class.forName(..driver..) from test code [c99507b5](https://github.com/pgjdbc/pgjdbc/commit/c99507b5661804b5b1b2340ba747fe553dc37a68) -* test: add CI tests against PostgreSQL 8.2 [PR#659](https://github.com/pgjdbc/pgjdbc/pull/659) [63ee60e2](https://github.com/pgjdbc/pgjdbc/commit/63ee60e2ad93441ff55dab08213cc09815b614e0) -* feat: display error position when SQL has unterminated literals, comments, etc [PR#688](https://github.com/pgjdbc/pgjdbc/pull/688) [8a95d991](https://github.com/pgjdbc/pgjdbc/commit/8a95d991e2032cf0406be8e54e70cfafaad794b5) -* feat: add support for PreparedStatement.setCharacterStream(int, Reader) [PR#671](https://github.com/pgjdbc/pgjdbc/pull/671) [ee4c4265](https://github.com/pgjdbc/pgjdbc/commit/ee4c4265aebc1c73a1d1fabac5ba259d1fbfd1e4) +* test: add CI tests against PostgreSQL 8.2 [PR 659](https://github.com/pgjdbc/pgjdbc/pull/659) [63ee60e2](https://github.com/pgjdbc/pgjdbc/commit/63ee60e2ad93441ff55dab08213cc09815b614e0) +* feat: display error position when SQL has unterminated literals, comments, etc [PR 688](https://github.com/pgjdbc/pgjdbc/pull/688) [8a95d991](https://github.com/pgjdbc/pgjdbc/commit/8a95d991e2032cf0406be8e54e70cfafaad794b5) +* feat: add support for PreparedStatement.setCharacterStream(int, Reader) [PR 671](https://github.com/pgjdbc/pgjdbc/pull/671) [ee4c4265](https://github.com/pgjdbc/pgjdbc/commit/ee4c4265aebc1c73a1d1fabac5ba259d1fbfd1e4) * chore: update next version to 42.0.0-SNAPSHOT [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) * refactor: add CallableQueryKey#equals override [401c51a1](https://github.com/pgjdbc/pgjdbc/commit/401c51a15d80d2f24cddbe5cd4b2ca7509a0a765) * doc: correct wording in readme regarding PostgreSQL versions used in pgjdbc regression testing [60391d75](https://github.com/pgjdbc/pgjdbc/commit/60391d7559d6ee4e579ec2e36d7aa8199a99189d) @@ -127,7 +127,7 @@ Vladimir Sitnikov (12): bd-infor (1): -* docs: clarify handling of loglevel [PR#711](https://github.com/pgjdbc/pgjdbc/pull/711) [6334bac0](https://github.com/pgjdbc/pgjdbc/commit/6334bac036efaa4a9f2a445f1cbdcc310f4c6263) +* docs: clarify handling of loglevel [PR 711](https://github.com/pgjdbc/pgjdbc/pull/711) [6334bac0](https://github.com/pgjdbc/pgjdbc/commit/6334bac036efaa4a9f2a445f1cbdcc310f4c6263) ### Contributors to this release diff --git a/docs/_posts/2017-05-04-42.1.0-release.md b/docs/_posts/2017-05-04-42.1.0-release.md index 08f4a8db92..95444eb656 100644 --- a/docs/_posts/2017-05-04-42.1.0-release.md +++ b/docs/_posts/2017-05-04-42.1.0-release.md @@ -24,40 +24,40 @@ version: 42.1.0 Alexander Kjäll (1): -* documentation typo [PR#818](https://github.com/pgjdbc/pgjdbc/pull/818) [90f5556f](https://github.com/pgjdbc/pgjdbc/commit/90f5556fd3de2395971496fc4b0b4cacd5d5d562) +* documentation typo [PR 818](https://github.com/pgjdbc/pgjdbc/pull/818) [90f5556f](https://github.com/pgjdbc/pgjdbc/commit/90f5556fd3de2395971496fc4b0b4cacd5d5d562) Daniel Migowski (1): -* feat: improve waiting for notifications by providing a timeout option [PR#778](https://github.com/pgjdbc/pgjdbc/pull/778) [a7e0c83b](https://github.com/pgjdbc/pgjdbc/commit/a7e0c83be93600c6299ae99907942e2530cb5e30) +* feat: improve waiting for notifications by providing a timeout option [PR 778](https://github.com/pgjdbc/pgjdbc/pull/778) [a7e0c83b](https://github.com/pgjdbc/pgjdbc/commit/a7e0c83be93600c6299ae99907942e2530cb5e30) Dave Cramer (4): * Update index.html [4d8b1b38](https://github.com/pgjdbc/pgjdbc/commit/4d8b1b381d8e2ae4ca19c2d84a195412bfc472ee) -* Review the documentation for the replication API [PR#756](https://github.com/pgjdbc/pgjdbc/pull/756) [3e1eb34d](https://github.com/pgjdbc/pgjdbc/commit/3e1eb34d2500eae9fdf4938ebbced4cff886edef) -* fix callproc escape documentation the specification [PR#785](https://github.com/pgjdbc/pgjdbc/pull/785) [95a3f41d](https://github.com/pgjdbc/pgjdbc/commit/95a3f41d6c0debbc6658312c484c6709e3da2225) -* Honour setLogStream. If the logStream is set [PR#780](https://github.com/pgjdbc/pgjdbc/pull/780) [b97ad630](https://github.com/pgjdbc/pgjdbc/commit/b97ad63089a9042cfef0ce97d1eaacce0fe47d4e) +* Review the documentation for the replication API [PR 756](https://github.com/pgjdbc/pgjdbc/pull/756) [3e1eb34d](https://github.com/pgjdbc/pgjdbc/commit/3e1eb34d2500eae9fdf4938ebbced4cff886edef) +* fix callproc escape documentation the specification [PR 785](https://github.com/pgjdbc/pgjdbc/pull/785) [95a3f41d](https://github.com/pgjdbc/pgjdbc/commit/95a3f41d6c0debbc6658312c484c6709e3da2225) +* Honour setLogStream. If the logStream is set [PR 780](https://github.com/pgjdbc/pgjdbc/pull/780) [b97ad630](https://github.com/pgjdbc/pgjdbc/commit/b97ad63089a9042cfef0ce97d1eaacce0fe47d4e) Jacques Fuentes (1): -* Make replication docs use PREFER_QUERY_MODE [PR#761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070) +* Make replication docs use PREFER_QUERY_MODE [PR 761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070) James (1): -* fix: use SQLWarning(String reason) constructor for correct DriverManager [PR#751](https://github.com/pgjdbc/pgjdbc/pull/751) [74a426b9](https://github.com/pgjdbc/pgjdbc/commit/74a426b929f47a3f585dd6e535300d2ffe77a9da) +* fix: use SQLWarning(String reason) constructor for correct DriverManager [PR 751](https://github.com/pgjdbc/pgjdbc/pull/751) [74a426b9](https://github.com/pgjdbc/pgjdbc/commit/74a426b929f47a3f585dd6e535300d2ffe77a9da) Joe Kutner (1): -* fix: Only resolve hostname if not using a SOCKS proxy [PR#774](https://github.com/pgjdbc/pgjdbc/pull/774) [480b0cf1](https://github.com/pgjdbc/pgjdbc/commit/480b0cf1ffe266e41e259f1f7a016d3ea681cc3a) +* fix: Only resolve hostname if not using a SOCKS proxy [PR 774](https://github.com/pgjdbc/pgjdbc/pull/774) [480b0cf1](https://github.com/pgjdbc/pgjdbc/commit/480b0cf1ffe266e41e259f1f7a016d3ea681cc3a) Jorge Solorzano (3): -* fix: build site with jekyll 2.2.0 [PR#755](https://github.com/pgjdbc/pgjdbc/pull/755) [773ee679](https://github.com/pgjdbc/pgjdbc/commit/773ee679ae61ae48fed56c915bf4e19576cbb292) -* test: check that new properties follow correct lower camel case [PR#740](https://github.com/pgjdbc/pgjdbc/pull/740) [3f2a02e1](https://github.com/pgjdbc/pgjdbc/commit/3f2a02e128367df6ae47b6f850203200cef223fe) -* refactor: simplify Encoding class [PR#765](https://github.com/pgjdbc/pgjdbc/pull/765) [ef8c6f96](https://github.com/pgjdbc/pgjdbc/commit/ef8c6f9651f54a220f7231a2bc5b8ad0ca08d0c7) +* fix: build site with jekyll 2.2.0 [PR 755](https://github.com/pgjdbc/pgjdbc/pull/755) [773ee679](https://github.com/pgjdbc/pgjdbc/commit/773ee679ae61ae48fed56c915bf4e19576cbb292) +* test: check that new properties follow correct lower camel case [PR 740](https://github.com/pgjdbc/pgjdbc/pull/740) [3f2a02e1](https://github.com/pgjdbc/pgjdbc/commit/3f2a02e128367df6ae47b6f850203200cef223fe) +* refactor: simplify Encoding class [PR 765](https://github.com/pgjdbc/pgjdbc/pull/765) [ef8c6f96](https://github.com/pgjdbc/pgjdbc/commit/ef8c6f9651f54a220f7231a2bc5b8ad0ca08d0c7) Philippe Marschall (1): -* feat: support fetching a REF_CURSOR using getObject [PR#809](https://github.com/pgjdbc/pgjdbc/pull/809) [4ab5ccb7](https://github.com/pgjdbc/pgjdbc/commit/4ab5ccb7a299cfcec8a5b1cddf612d3f828fa157) +* feat: support fetching a REF_CURSOR using getObject [PR 809](https://github.com/pgjdbc/pgjdbc/pull/809) [4ab5ccb7](https://github.com/pgjdbc/pgjdbc/commit/4ab5ccb7a299cfcec8a5b1cddf612d3f828fa157) Robert Zenz (1): @@ -65,18 +65,18 @@ Robert Zenz (1): Vladimir Gordiychuk (2): -* chore: fix false alarm on check coredump [PR#806](https://github.com/pgjdbc/pgjdbc/pull/806) [3883a846](https://github.com/pgjdbc/pgjdbc/commit/3883a846febfe92582be2785737da9460ece1176) -* bug: fix calculation of lastReceiveLSN for logical replication [PR#801](https://github.com/pgjdbc/pgjdbc/pull/801) [170d9c27](https://github.com/pgjdbc/pgjdbc/commit/170d9c27810349456e56aff1c36a0ad6584b9e28) +* chore: fix false alarm on check coredump [PR 806](https://github.com/pgjdbc/pgjdbc/pull/806) [3883a846](https://github.com/pgjdbc/pgjdbc/commit/3883a846febfe92582be2785737da9460ece1176) +* bug: fix calculation of lastReceiveLSN for logical replication [PR 801](https://github.com/pgjdbc/pgjdbc/pull/801) [170d9c27](https://github.com/pgjdbc/pgjdbc/commit/170d9c27810349456e56aff1c36a0ad6584b9e28) Vladimir Sitnikov (3): -* fix: make sure org.postgresql.Driver is loaded when accessing though DataSource interface [PR#768](https://github.com/pgjdbc/pgjdbc/pull/768) [9c80adc2](https://github.com/pgjdbc/pgjdbc/commit/9c80adc24776ae02e0aff419e1cddf26a28eeff0) +* fix: make sure org.postgresql.Driver is loaded when accessing though DataSource interface [PR 768](https://github.com/pgjdbc/pgjdbc/pull/768) [9c80adc2](https://github.com/pgjdbc/pgjdbc/commit/9c80adc24776ae02e0aff419e1cddf26a28eeff0) * refactor: add encoding, fix expected/actual, use proper constructor [77cace40](https://github.com/pgjdbc/pgjdbc/commit/77cace40a4ce33fadafcb5f144b5238bff2854a3) -* fix: infinity handling for java.time types [PR#789](https://github.com/pgjdbc/pgjdbc/pull/789) [f375701b](https://github.com/pgjdbc/pgjdbc/commit/f375701b571c308b7e389df49c1d958f416e4340) +* fix: infinity handling for java.time types [PR 789](https://github.com/pgjdbc/pgjdbc/pull/789) [f375701b](https://github.com/pgjdbc/pgjdbc/commit/f375701b571c308b7e389df49c1d958f416e4340) slmsbrhgn (1): -* bug: fix data being truncated in setCharacterStream (the bug introduced in 42.0.0) [PR#802](https://github.com/pgjdbc/pgjdbc/pull/802) [28c98418](https://github.com/pgjdbc/pgjdbc/commit/28c98418b576394b7a0a4a6415ae86ba47be40ae) +* bug: fix data being truncated in setCharacterStream (the bug introduced in 42.0.0) [PR 802](https://github.com/pgjdbc/pgjdbc/pull/802) [28c98418](https://github.com/pgjdbc/pgjdbc/commit/28c98418b576394b7a0a4a6415ae86ba47be40ae) ### Contributors to this release diff --git a/docs/_posts/2017-07-12-42.1.2-release.md b/docs/_posts/2017-07-12-42.1.2-release.md index 914686bc37..58a4cde960 100644 --- a/docs/_posts/2017-07-12-42.1.2-release.md +++ b/docs/_posts/2017-07-12-42.1.2-release.md @@ -23,39 +23,39 @@ version: 42.1.2 AlexElin (1): -* refactor: make PSQLState as enum [PR#837](https://github.com/pgjdbc/pgjdbc/pull/837) [fb5df7fe](https://github.com/pgjdbc/pgjdbc/commit/fb5df7fee1d3568356e680c6ac5a62336ec7bf6e) +* refactor: make PSQLState as enum [PR 837](https://github.com/pgjdbc/pgjdbc/pull/837) [fb5df7fe](https://github.com/pgjdbc/pgjdbc/commit/fb5df7fee1d3568356e680c6ac5a62336ec7bf6e) Dave Cramer (8): -* Initial support of partitioned tables via JDBC metadata API [PR#823](https://github.com/pgjdbc/pgjdbc/pull/823) [9c3471f2](https://github.com/pgjdbc/pgjdbc/commit/9c3471f21f6ac9cf1a5e5700115ac7d0d55e0ad9) -* fix javadoc complaints and some small edits to replication comments [PR#832](https://github.com/pgjdbc/pgjdbc/pull/832) [2d0bfceb](https://github.com/pgjdbc/pgjdbc/commit/2d0bfcebb0641ddb73d9297e6211f75537238b15) -* fix issue #834 setting statusIntervalUpdate causes high CPU load \ [PR#835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) -* fix issue #838 make sure we don't get columns that are dropped [PR#840](https://github.com/pgjdbc/pgjdbc/pull/840) [464a2d43](https://github.com/pgjdbc/pgjdbc/commit/464a2d43519004174f1b530a595ee0ad9ffda870) -* add missing connection documentation, fix spelling [PR#846](https://github.com/pgjdbc/pgjdbc/pull/846) [cd400f6f](https://github.com/pgjdbc/pgjdbc/commit/cd400f6f39d3c062fc94fa97b33b4d272a829a24) -* more spelling mistakes for preferQueryMode [PR#850](https://github.com/pgjdbc/pgjdbc/pull/850) [73bc3c1b](https://github.com/pgjdbc/pgjdbc/commit/73bc3c1b7acda676f366631ff7e28f09a3399f37) -* fix formatting of section on failover, still not perfect but better [PR#852](https://github.com/pgjdbc/pgjdbc/pull/852) [9f722014](https://github.com/pgjdbc/pgjdbc/commit/9f72201458d1ce0837e9525d947dcea2828b9475) -* small reformat to clarify read and write connections [PR#854](https://github.com/pgjdbc/pgjdbc/pull/854) [551d71b6](https://github.com/pgjdbc/pgjdbc/commit/551d71b6a513c223d8d8d8d75afbe8b5d42ce783) +* Initial support of partitioned tables via JDBC metadata API [PR 823](https://github.com/pgjdbc/pgjdbc/pull/823) [9c3471f2](https://github.com/pgjdbc/pgjdbc/commit/9c3471f21f6ac9cf1a5e5700115ac7d0d55e0ad9) +* fix javadoc complaints and some small edits to replication comments [PR 832](https://github.com/pgjdbc/pgjdbc/pull/832) [2d0bfceb](https://github.com/pgjdbc/pgjdbc/commit/2d0bfcebb0641ddb73d9297e6211f75537238b15) +* fix issue #834 setting statusIntervalUpdate causes high CPU load \ [PR 835](https://github.com/pgjdbc/pgjdbc/pull/835) [59236b74](https://github.com/pgjdbc/pgjdbc/commit/59236b74acdd400d9d91d3eb2bb07d70b15392e5) +* fix issue #838 make sure we don't get columns that are dropped [PR 840](https://github.com/pgjdbc/pgjdbc/pull/840) [464a2d43](https://github.com/pgjdbc/pgjdbc/commit/464a2d43519004174f1b530a595ee0ad9ffda870) +* add missing connection documentation, fix spelling [PR 846](https://github.com/pgjdbc/pgjdbc/pull/846) [cd400f6f](https://github.com/pgjdbc/pgjdbc/commit/cd400f6f39d3c062fc94fa97b33b4d272a829a24) +* more spelling mistakes for preferQueryMode [PR 850](https://github.com/pgjdbc/pgjdbc/pull/850) [73bc3c1b](https://github.com/pgjdbc/pgjdbc/commit/73bc3c1b7acda676f366631ff7e28f09a3399f37) +* fix formatting of section on failover, still not perfect but better [PR 852](https://github.com/pgjdbc/pgjdbc/pull/852) [9f722014](https://github.com/pgjdbc/pgjdbc/commit/9f72201458d1ce0837e9525d947dcea2828b9475) +* small reformat to clarify read and write connections [PR 854](https://github.com/pgjdbc/pgjdbc/pull/854) [551d71b6](https://github.com/pgjdbc/pgjdbc/commit/551d71b6a513c223d8d8d8d75afbe8b5d42ce783) Jorge Solorzano (3): -* test: yet another rename to use "lsn" not "location" in Pg10. [PR#822](https://github.com/pgjdbc/pgjdbc/pull/822) [90228621](https://github.com/pgjdbc/pgjdbc/commit/902286212df19b1eda9310c4174756786ad249c7) -* use zulu-9 [PR#828](https://github.com/pgjdbc/pgjdbc/pull/828) [4ac74886](https://github.com/pgjdbc/pgjdbc/commit/4ac74886e54e7689035be00c417a536717a45318) -* fix: remove type name from cast exception of getBoolean and setObject [PR#781](https://github.com/pgjdbc/pgjdbc/pull/781) [394b3a2f](https://github.com/pgjdbc/pgjdbc/commit/394b3a2f4d93e9ca701d8c31b4b66fa25fca8945) +* test: yet another rename to use "lsn" not "location" in Pg10. [PR 822](https://github.com/pgjdbc/pgjdbc/pull/822) [90228621](https://github.com/pgjdbc/pgjdbc/commit/902286212df19b1eda9310c4174756786ad249c7) +* use zulu-9 [PR 828](https://github.com/pgjdbc/pgjdbc/pull/828) [4ac74886](https://github.com/pgjdbc/pgjdbc/commit/4ac74886e54e7689035be00c417a536717a45318) +* fix: remove type name from cast exception of getBoolean and setObject [PR 781](https://github.com/pgjdbc/pgjdbc/pull/781) [394b3a2f](https://github.com/pgjdbc/pgjdbc/commit/394b3a2f4d93e9ca701d8c31b4b66fa25fca8945) Robert 'Bobby' Zenz (1): -* fix: Add fallback to setObject(int, Object) for Number [PR#812](https://github.com/pgjdbc/pgjdbc/pull/812) [5b9edb7d](https://github.com/pgjdbc/pgjdbc/commit/5b9edb7dfb1b281bffedf7c9f2583f2df354c0ea) +* fix: Add fallback to setObject(int, Object) for Number [PR 812](https://github.com/pgjdbc/pgjdbc/pull/812) [5b9edb7d](https://github.com/pgjdbc/pgjdbc/commit/5b9edb7dfb1b281bffedf7c9f2583f2df354c0ea) Vladimir Gordiychuk (1): -* bug: floating logical replcation test [PR#829](https://github.com/pgjdbc/pgjdbc/pull/829) [2d3e8972](https://github.com/pgjdbc/pgjdbc/commit/2d3e8972a0b34106a8b7426619cabf852c38ddaa) +* bug: floating logical replcation test [PR 829](https://github.com/pgjdbc/pgjdbc/pull/829) [2d3e8972](https://github.com/pgjdbc/pgjdbc/commit/2d3e8972a0b34106a8b7426619cabf852c38ddaa) Vladimir Sitnikov (7): * chore: implement a script to stage pgjdbc, pgdjbc-jre7, pgjdbc-jre6 artifacts [15d78839](https://github.com/pgjdbc/pgjdbc/commit/15d7883987d2de4b662aa8cd81c6de5be0257153) -* doc: fix 42.1.0.jre8->jre6 typo [PR#42](https://github.com/pgjdbc/pgjdbc/pull/42) [88942b58](https://github.com/pgjdbc/pgjdbc/commit/88942b58637afbea16102a6a77d922914fd27562) +* doc: fix 42.1.0.jre8->jre6 typo [PR 42](https://github.com/pgjdbc/pgjdbc/pull/42) [88942b58](https://github.com/pgjdbc/pgjdbc/commit/88942b58637afbea16102a6a77d922914fd27562) * fix: use server-prepared statements for batch inserts when prepareThreshold>0 [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) -* fix: better parsing for returning keyword [PR#824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) +* fix: better parsing for returning keyword [PR 824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) * docs: build index, changelog pages from _posts/... to reduce release overhead [d6fe07d7](https://github.com/pgjdbc/pgjdbc/commit/d6fe07d7bb613d7b8fb06ace64b9b37d3f23bbfe) * chore: make ./release_notes.sh create docs/_posts/$DATE_YMD-$VERS-release.md file [e00d4571](https://github.com/pgjdbc/pgjdbc/commit/e00d4571bb6ca24c8f93956b59fd1c9a14131394) * docs: add 42.1.2 release notes [6f127a61](https://github.com/pgjdbc/pgjdbc/commit/6f127a61eed5317133ea80f0a06f9441b170a17a) diff --git a/docs/_posts/2017-07-14-42.1.3-release.md b/docs/_posts/2017-07-14-42.1.3-release.md index f1de1f0bbd..2763e0ccac 100644 --- a/docs/_posts/2017-07-14-42.1.3-release.md +++ b/docs/_posts/2017-07-14-42.1.3-release.md @@ -17,7 +17,7 @@ version: 42.1.3 Vladimir Sitnikov (2): * doc: ensure changelog uses %Y-%m-%d format, not %Y-%d-%m [5d585aac](https://github.com/pgjdbc/pgjdbc/commit/5d585aac7e4f916d4b54dccd11c778143a1f7725) -* fix: NPE in PreparedStatement.executeBatch in case of empty batch [PR#867](https://github.com/pgjdbc/pgjdbc/pull/867) [7514552d](https://github.com/pgjdbc/pgjdbc/commit/7514552d2d105cb8e637e70c8e14ab7e36000ed4) +* fix: NPE in PreparedStatement.executeBatch in case of empty batch [PR 867](https://github.com/pgjdbc/pgjdbc/pull/867) [7514552d](https://github.com/pgjdbc/pgjdbc/commit/7514552d2d105cb8e637e70c8e14ab7e36000ed4) ### Contributors to this release diff --git a/docs/_posts/2017-08-01-42.1.4-release.md b/docs/_posts/2017-08-01-42.1.4-release.md index 81309fca34..97c43371d6 100644 --- a/docs/_posts/2017-08-01-42.1.4-release.md +++ b/docs/_posts/2017-08-01-42.1.4-release.md @@ -16,22 +16,22 @@ version: 42.1.4 AlexElin (4): -* test: migrate tests to JUnit 4 [PR#738](https://github.com/pgjdbc/pgjdbc/pull/738) [5b65e2f4](https://github.com/pgjdbc/pgjdbc/commit/5b65e2f45b1cb130b4380b31ff6c0c73210d9fe0) -* style: update checkstyle + turn on some rules [PR#847](https://github.com/pgjdbc/pgjdbc/pull/847) [246b759c](https://github.com/pgjdbc/pgjdbc/commit/246b759cdc264c2732717dbd6ff9f8f472024196) -* test: migrate tests to Junit4 [PR#883](https://github.com/pgjdbc/pgjdbc/pull/883) [5c12da16](https://github.com/pgjdbc/pgjdbc/commit/5c12da16d3aa17d299e942c4a2b3647674422920) +* test: migrate tests to JUnit 4 [PR 738](https://github.com/pgjdbc/pgjdbc/pull/738) [5b65e2f4](https://github.com/pgjdbc/pgjdbc/commit/5b65e2f45b1cb130b4380b31ff6c0c73210d9fe0) +* style: update checkstyle + turn on some rules [PR 847](https://github.com/pgjdbc/pgjdbc/pull/847) [246b759c](https://github.com/pgjdbc/pgjdbc/commit/246b759cdc264c2732717dbd6ff9f8f472024196) +* test: migrate tests to Junit4 [PR 883](https://github.com/pgjdbc/pgjdbc/pull/883) [5c12da16](https://github.com/pgjdbc/pgjdbc/commit/5c12da16d3aa17d299e942c4a2b3647674422920) * refactor: remove useless checks in the tests [0221f930](https://github.com/pgjdbc/pgjdbc/commit/0221f930b35a6f24e539ac4740886fafaebcaeac) Dave Cramer (2): -* honour PGPORT, PGHOST, PGDBNAME in connection properties [PR#862](https://github.com/pgjdbc/pgjdbc/pull/862) [2951a958](https://github.com/pgjdbc/pgjdbc/commit/2951a9583b8ea1b1b0e933896ff4be95628f834e) -* doc: fix spelling mistakes [PR#868](https://github.com/pgjdbc/pgjdbc/pull/868) [757db625](https://github.com/pgjdbc/pgjdbc/commit/757db62590f4f7b72cf565680ab79eda7880f2b3) +* honour PGPORT, PGHOST, PGDBNAME in connection properties [PR 862](https://github.com/pgjdbc/pgjdbc/pull/862) [2951a958](https://github.com/pgjdbc/pgjdbc/commit/2951a9583b8ea1b1b0e933896ff4be95628f834e) +* doc: fix spelling mistakes [PR 868](https://github.com/pgjdbc/pgjdbc/pull/868) [757db625](https://github.com/pgjdbc/pgjdbc/commit/757db62590f4f7b72cf565680ab79eda7880f2b3) Michael Glaesemann (4): * test: assume minimum server version 8.3 testing autosave with ALTER [77ee528d](https://github.com/pgjdbc/pgjdbc/commit/77ee528d021ccdf740b19f9ed48259ece5df7705) * test: assume minimum server version 8.3 when testing with uuid [ff2717e4](https://github.com/pgjdbc/pgjdbc/commit/ff2717e42a8c0394e6cde4527ed1f721ffa9fb84) * refactor: remove unused import [8afe856e](https://github.com/pgjdbc/pgjdbc/commit/8afe856e5ea22870cf1489ec1fd328efee6b7426) -* test: assume integer datetimes for timestamp tests [PR#873](https://github.com/pgjdbc/pgjdbc/pull/873) [8287e7f9](https://github.com/pgjdbc/pgjdbc/commit/8287e7f92f890a41f8d2b51980157a92e1cd57e8) +* test: assume integer datetimes for timestamp tests [PR 873](https://github.com/pgjdbc/pgjdbc/pull/873) [8287e7f9](https://github.com/pgjdbc/pgjdbc/commit/8287e7f92f890a41f8d2b51980157a92e1cd57e8) Vladimir Sitnikov (7): @@ -39,9 +39,9 @@ Vladimir Sitnikov (7): * doc: fix anchors for "contributors to this release" [c1d743f2](https://github.com/pgjdbc/pgjdbc/commit/c1d743f2408df8b377bc9d8440717541a5b627e3) * test: fix StringTypeParameterTest to skip preferQueryMode=simple [beca1692](https://github.com/pgjdbc/pgjdbc/commit/beca16922b455a6a00c655df8a3b701d008aad6e) * chore: install PostgreSQL 9.1 to Trusty builds via apt, and use Precise for Java 6 [e960f237](https://github.com/pgjdbc/pgjdbc/commit/e960f2373a8de8b1b58fa199ee85a8b73ae684d2) -* test: make StringTypeParameterTest 8.3+ since 8.2 misses enum types [PR#882](https://github.com/pgjdbc/pgjdbc/pull/882) [ed0014cc](https://github.com/pgjdbc/pgjdbc/commit/ed0014cc03cedde76003a84c06a4f7b95b823de0) -* fix: named statements were used when fetchSize was non-zero and prepareThreshold=0 [PR#870](https://github.com/pgjdbc/pgjdbc/pull/870) [f0deabf7](https://github.com/pgjdbc/pgjdbc/commit/f0deabf7d87bb5bffeb84e9cd686eeb632aa9687) -* test: skip ConcurrentStatementFetch for PostgreSQL < 8.4 [PR#884](https://github.com/pgjdbc/pgjdbc/pull/884) [5334cb6e](https://github.com/pgjdbc/pgjdbc/commit/5334cb6ef7554bba255f00baf4ff3220f16e31ea) +* test: make StringTypeParameterTest 8.3+ since 8.2 misses enum types [PR 882](https://github.com/pgjdbc/pgjdbc/pull/882) [ed0014cc](https://github.com/pgjdbc/pgjdbc/commit/ed0014cc03cedde76003a84c06a4f7b95b823de0) +* fix: named statements were used when fetchSize was non-zero and prepareThreshold=0 [PR 870](https://github.com/pgjdbc/pgjdbc/pull/870) [f0deabf7](https://github.com/pgjdbc/pgjdbc/commit/f0deabf7d87bb5bffeb84e9cd686eeb632aa9687) +* test: skip ConcurrentStatementFetch for PostgreSQL < 8.4 [PR 884](https://github.com/pgjdbc/pgjdbc/pull/884) [5334cb6e](https://github.com/pgjdbc/pgjdbc/commit/5334cb6ef7554bba255f00baf4ff3220f16e31ea) ### Contributors to this release diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 6b4e7ae714..8d253dd987 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -16,7 +16,7 @@ version: 42.2.0 - Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. [Issue 958](https://github.com/pgjdbc/pgjdbc/issues/958) [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) - Support Subject Alternative Names for SSL connections. [PR 952](https://github.com/pgjdbc/pgjdbc/pull/952) - Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) -- Support for primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) +- Support for primitive arrays [PR 887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) - Implement support for get/setNetworkTimeout() in connections. [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) - Make GSS JAAS login optional, add an option "jaasLogin" [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) see [Connecting to the Database](https://jdbc.postgresql.org/documentation/head/connect.html) @@ -47,93 +47,93 @@ version: 42.2.0 AlexElin (9): -* docs: fix header in CONTRIBUTING [PR#902](https://github.com/pgjdbc/pgjdbc/pull/902) [38ff0fe](https://github.com/pgjdbc/pgjdbc/commit/38ff0fe4728addf9a34d6fb0069ce4963aaae7ee) -* refactor: remove dead code from PGStream, implement Closeable [PR#901](https://github.com/pgjdbc/pgjdbc/pull/901) [acff949](https://github.com/pgjdbc/pgjdbc/commit/acff9495b8745bce30d93d61e77caf81d9748b4b) -* refactor: replace some usages of assertTrue [PR#957](https://github.com/pgjdbc/pgjdbc/pull/957) [c759a58](https://github.com/pgjdbc/pgjdbc/commit/c759a58313c4344924a311021e1c860580f3e318) -* refactor: state of PGXAConnection as enum [PR#966](https://github.com/pgjdbc/pgjdbc/pull/966) [7618822](https://github.com/pgjdbc/pgjdbc/commit/76188228ddb412db74959fbe59b5c2d6ef5eddfc) -* refactor: make PgStream implements Flushable [PR#1008](https://github.com/pgjdbc/pgjdbc/pull/1008) [0c3a2fc](https://github.com/pgjdbc/pgjdbc/commit/0c3a2fc132101f83dbb0990ac2c49c49b9c65ffe) -* style: add MissingDeprecated into checkstyle [PR#1019](https://github.com/pgjdbc/pgjdbc/pull/1019) [d74386d](https://github.com/pgjdbc/pgjdbc/commit/d74386def0d39f450f5dcfdb21ff6171ba0a89f3) -* chore: update checkstyle [PR#1025](https://github.com/pgjdbc/pgjdbc/pull/1025) [69e3b8b](https://github.com/pgjdbc/pgjdbc/commit/69e3b8b2ef7fb80ece8df23b55855fa4208e8a00) -* refactor: simplify methods in ConnectionFactoryImpl [PR#1028](https://github.com/pgjdbc/pgjdbc/pull/1028) [ed27c5b](https://github.com/pgjdbc/pgjdbc/commit/ed27c5b464563448079189b1759ecf05d4726ea0) -* refactor: replace some usages of initCause [PR#1037](https://github.com/pgjdbc/pgjdbc/pull/1037) [0c29823](https://github.com/pgjdbc/pgjdbc/commit/0c29823ad8eca86e3b8f27bcee5f116d41e367f9) +* docs: fix header in CONTRIBUTING [PR 902](https://github.com/pgjdbc/pgjdbc/pull/902) [38ff0fe](https://github.com/pgjdbc/pgjdbc/commit/38ff0fe4728addf9a34d6fb0069ce4963aaae7ee) +* refactor: remove dead code from PGStream, implement Closeable [PR 901](https://github.com/pgjdbc/pgjdbc/pull/901) [acff949](https://github.com/pgjdbc/pgjdbc/commit/acff9495b8745bce30d93d61e77caf81d9748b4b) +* refactor: replace some usages of assertTrue [PR 957](https://github.com/pgjdbc/pgjdbc/pull/957) [c759a58](https://github.com/pgjdbc/pgjdbc/commit/c759a58313c4344924a311021e1c860580f3e318) +* refactor: state of PGXAConnection as enum [PR 966](https://github.com/pgjdbc/pgjdbc/pull/966) [7618822](https://github.com/pgjdbc/pgjdbc/commit/76188228ddb412db74959fbe59b5c2d6ef5eddfc) +* refactor: make PgStream implements Flushable [PR 1008](https://github.com/pgjdbc/pgjdbc/pull/1008) [0c3a2fc](https://github.com/pgjdbc/pgjdbc/commit/0c3a2fc132101f83dbb0990ac2c49c49b9c65ffe) +* style: add MissingDeprecated into checkstyle [PR 1019](https://github.com/pgjdbc/pgjdbc/pull/1019) [d74386d](https://github.com/pgjdbc/pgjdbc/commit/d74386def0d39f450f5dcfdb21ff6171ba0a89f3) +* chore: update checkstyle [PR 1025](https://github.com/pgjdbc/pgjdbc/pull/1025) [69e3b8b](https://github.com/pgjdbc/pgjdbc/commit/69e3b8b2ef7fb80ece8df23b55855fa4208e8a00) +* refactor: simplify methods in ConnectionFactoryImpl [PR 1028](https://github.com/pgjdbc/pgjdbc/pull/1028) [ed27c5b](https://github.com/pgjdbc/pgjdbc/commit/ed27c5b464563448079189b1759ecf05d4726ea0) +* refactor: replace some usages of initCause [PR 1037](https://github.com/pgjdbc/pgjdbc/pull/1037) [0c29823](https://github.com/pgjdbc/pgjdbc/commit/0c29823ad8eca86e3b8f27bcee5f116d41e367f9) Álvaro Hernández Tortosa (1): -* Add SCRAM-SHA-256 support [PR#842](https://github.com/pgjdbc/pgjdbc/pull/842) [befea18](https://github.com/pgjdbc/pgjdbc/commit/befea18d153dda7814daef4e036d3f5daf8de1e5) +* Add SCRAM-SHA-256 support [PR 842](https://github.com/pgjdbc/pgjdbc/pull/842) [befea18](https://github.com/pgjdbc/pgjdbc/commit/befea18d153dda7814daef4e036d3f5daf8de1e5) Barnabas Bodnar (1): -* fix: don't attempt to read a SQLXML more than once [PR#965](https://github.com/pgjdbc/pgjdbc/pull/965) [8f5e245](https://github.com/pgjdbc/pgjdbc/commit/8f5e2454185a929f1bc6ef66813d6681bb38e736) +* fix: don't attempt to read a SQLXML more than once [PR 965](https://github.com/pgjdbc/pgjdbc/pull/965) [8f5e245](https://github.com/pgjdbc/pgjdbc/commit/8f5e2454185a929f1bc6ef66813d6681bb38e736) Brett Okken (1): -* feat: primitive arrays [PR#887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) +* feat: primitive arrays [PR 887](https://github.com/pgjdbc/pgjdbc/pull/887) [3e0491a](https://github.com/pgjdbc/pgjdbc/commit/3e0491ac3833800721b98e7437635cf6ab338162) Brett Wooldridge (1): -* Fixes #638 Implement support for get/setNetworkTimeout() [PR#849](https://github.com/pgjdbc/pgjdbc/pull/849) [8a30044](https://github.com/pgjdbc/pgjdbc/commit/8a30044d9e97c1038ee4401ae745d37a11f008db) +* Fixes #638 Implement support for get/setNetworkTimeout() [PR 849](https://github.com/pgjdbc/pgjdbc/pull/849) [8a30044](https://github.com/pgjdbc/pgjdbc/commit/8a30044d9e97c1038ee4401ae745d37a11f008db) Chen Huajun (1): -* fix: improve multihost connection for preferSlave case (verify expired hosts before connecting to cached master) [PR#844](https://github.com/pgjdbc/pgjdbc/pull/844) [c6fec34](https://github.com/pgjdbc/pgjdbc/commit/c6fec34661b51cd9cbee157d0c334a3ab29859e8) +* fix: improve multihost connection for preferSlave case (verify expired hosts before connecting to cached master) [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844) [c6fec34](https://github.com/pgjdbc/pgjdbc/commit/c6fec34661b51cd9cbee157d0c334a3ab29859e8) Dave Cramer (11): -* Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe [PR#928](https://github.com/pgjdbc/pgjdbc/pull/928) [ad47aba](https://github.com/pgjdbc/pgjdbc/commit/ad47abafa1754f8d0f2126ef1d26aa9b037b49e5) -* fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX [PR#992](https://github.com/pgjdbc/pgjdbc/pull/992) [f2d8ec5](https://github.com/pgjdbc/pgjdbc/commit/f2d8ec5740aa26c417d666a7afedaaf0fdf62d37) -* fix: support Subject Alternative Names for SSL connections [PR#952](https://github.com/pgjdbc/pgjdbc/pull/952) [2dcb91e](https://github.com/pgjdbc/pgjdbc/commit/2dcb91ef1fd8f0fe08f107c9c30cdc57d4c44b05) -* test: Appveyor configuration [PR#1000](https://github.com/pgjdbc/pgjdbc/pull/1000) [059628f](https://github.com/pgjdbc/pgjdbc/commit/059628fcdf2058cfd05cb80eac64799ca26ad0d2) -* add test for identity, fix isAutoincrement in postgresql 10 fixes #130 [PR#1004](https://github.com/pgjdbc/pgjdbc/pull/1004) [2f6633b](https://github.com/pgjdbc/pgjdbc/commit/2f6633bd9e1e9d7f313ea4dfec37f9671fc07453) -* elaborate on sslmode options [PR#1054](https://github.com/pgjdbc/pgjdbc/pull/1054) [aa7a420](https://github.com/pgjdbc/pgjdbc/commit/aa7a4202e41bc58c4958e06161c5fd4daa36a7f9) -* prefer the word secondary over slave [PR#1063](https://github.com/pgjdbc/pgjdbc/pull/1063) [2e8c2b6](https://github.com/pgjdbc/pgjdbc/commit/2e8c2b67e22ddaa38894be4b2578ccd4bf97a27d) -* Revert "refactor: replace some usages of initCause [PR#1037](https://github.com/pgjdbc/pgjdbc/pull/1037)" (#1064) [e6a1ecc](https://github.com/pgjdbc/pgjdbc/commit/e6a1eccb148c3c59e8cf122e98ad01afc5bb555a) -* prefer secondary over slave referring to standby or secondary servers [PR#1070](https://github.com/pgjdbc/pgjdbc/pull/1070) [32c53902](https://github.com/pgjdbc/pgjdbc/commit/32c539020db3c940bae9b2a42425b1f23e864c73) -* first pass at release notes and some fixes to previous notes [PR#1041](https://github.com/pgjdbc/pgjdbc/pull/1041) [a8260f5](https://github.com/pgjdbc/pgjdbc/commit/a8260f5d0e31d00c1b44d2b94f62d86a72e2b2d5) +* Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe [PR 928](https://github.com/pgjdbc/pgjdbc/pull/928) [ad47aba](https://github.com/pgjdbc/pgjdbc/commit/ad47abafa1754f8d0f2126ef1d26aa9b037b49e5) +* fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) [f2d8ec5](https://github.com/pgjdbc/pgjdbc/commit/f2d8ec5740aa26c417d666a7afedaaf0fdf62d37) +* fix: support Subject Alternative Names for SSL connections [PR 952](https://github.com/pgjdbc/pgjdbc/pull/952) [2dcb91e](https://github.com/pgjdbc/pgjdbc/commit/2dcb91ef1fd8f0fe08f107c9c30cdc57d4c44b05) +* test: Appveyor configuration [PR 1000](https://github.com/pgjdbc/pgjdbc/pull/1000) [059628f](https://github.com/pgjdbc/pgjdbc/commit/059628fcdf2058cfd05cb80eac64799ca26ad0d2) +* add test for identity, fix isAutoincrement in postgresql 10 fixes #130 [PR 1004](https://github.com/pgjdbc/pgjdbc/pull/1004) [2f6633b](https://github.com/pgjdbc/pgjdbc/commit/2f6633bd9e1e9d7f313ea4dfec37f9671fc07453) +* elaborate on sslmode options [PR 1054](https://github.com/pgjdbc/pgjdbc/pull/1054) [aa7a420](https://github.com/pgjdbc/pgjdbc/commit/aa7a4202e41bc58c4958e06161c5fd4daa36a7f9) +* prefer the word secondary over slave [PR 1063](https://github.com/pgjdbc/pgjdbc/pull/1063) [2e8c2b6](https://github.com/pgjdbc/pgjdbc/commit/2e8c2b67e22ddaa38894be4b2578ccd4bf97a27d) +* Revert "refactor: replace some usages of initCause [PR 1037](https://github.com/pgjdbc/pgjdbc/pull/1037)" (#1064) [e6a1ecc](https://github.com/pgjdbc/pgjdbc/commit/e6a1eccb148c3c59e8cf122e98ad01afc5bb555a) +* prefer secondary over slave referring to standby or secondary servers [PR 1070](https://github.com/pgjdbc/pgjdbc/pull/1070) [32c53902](https://github.com/pgjdbc/pgjdbc/commit/32c539020db3c940bae9b2a42425b1f23e864c73) +* first pass at release notes and some fixes to previous notes [PR 1041](https://github.com/pgjdbc/pgjdbc/pull/1041) [a8260f5](https://github.com/pgjdbc/pgjdbc/commit/a8260f5d0e31d00c1b44d2b94f62d86a72e2b2d5) * Update 2018-01-16-42.2.0-release.md [b36867f](https://github.com/pgjdbc/pgjdbc/commit/b36867f34719d2af559b60b6f63b2df036798231) Hugh Cole-Baker (1): -* Make GSS JAAS login optional [PR#922](https://github.com/pgjdbc/pgjdbc/pull/922) [d7f0f27](https://github.com/pgjdbc/pgjdbc/commit/d7f0f271b73adbf0ae22146beea122e014d9f9f2) +* Make GSS JAAS login optional [PR 922](https://github.com/pgjdbc/pgjdbc/pull/922) [d7f0f27](https://github.com/pgjdbc/pgjdbc/commit/d7f0f271b73adbf0ae22146beea122e014d9f9f2) Jeff Klukas (1): -* fix: advance lastReceiveLSN on keepalive messages [PR#1038](https://github.com/pgjdbc/pgjdbc/pull/1038) [1be8a9e](https://github.com/pgjdbc/pgjdbc/commit/1be8a9ebafbfbcff118385a61a350745addcaf3d) +* fix: advance lastReceiveLSN on keepalive messages [PR 1038](https://github.com/pgjdbc/pgjdbc/pull/1038) [1be8a9e](https://github.com/pgjdbc/pgjdbc/commit/1be8a9ebafbfbcff118385a61a350745addcaf3d) Joe Kutner (1): -* fix: Added support for socksNonProxyHosts property [PR#975](https://github.com/pgjdbc/pgjdbc/pull/975) (#985) [9813c68](https://github.com/pgjdbc/pgjdbc/commit/9813c685cae2cbfbc561a6220ba388cef08f34b0) +* fix: Added support for socksNonProxyHosts property [PR 975](https://github.com/pgjdbc/pgjdbc/pull/975) (#985) [9813c68](https://github.com/pgjdbc/pgjdbc/commit/9813c685cae2cbfbc561a6220ba388cef08f34b0) Jorge Solorzano (13): -* chore: use mainly Trusty in Travis, reorder CI jobs, and jdk tests [PR#939](https://github.com/pgjdbc/pgjdbc/pull/939) [646a868](https://github.com/pgjdbc/pgjdbc/commit/646a868c0bc80def5fa62374e83b71d65fef9a14) -* fix: ignore replication test until 11.1 to avoid random failures [PR#949](https://github.com/pgjdbc/pgjdbc/pull/949) [ee6443d](https://github.com/pgjdbc/pgjdbc/commit/ee6443db167da735f5a9402d16f31c3ee6d719dc) -* chore: streamlining jobs [PR#959](https://github.com/pgjdbc/pgjdbc/pull/959) [ed0a398](https://github.com/pgjdbc/pgjdbc/commit/ed0a398edb47d0eea62e7f53723e14d9ed278fbb) -* docs: move changelog to separate file [PR#956](https://github.com/pgjdbc/pgjdbc/pull/956) [e67e8f9](https://github.com/pgjdbc/pgjdbc/commit/e67e8f9685e6c8235134baedeb790f39de39e77c) -* docs: improve website front page [PR#968](https://github.com/pgjdbc/pgjdbc/pull/968) [65170f1](https://github.com/pgjdbc/pgjdbc/commit/65170f1690bb571c8dbe0425b205ba8498c8173f) -* docs: fix test db password in docs [PR#984](https://github.com/pgjdbc/pgjdbc/pull/984) [7df56f8](https://github.com/pgjdbc/pgjdbc/commit/7df56f816770a7129cb56d150c6d556c64632a5c) -* test: add openj9 to the matrix [PR#974](https://github.com/pgjdbc/pgjdbc/pull/974) [f187645](https://github.com/pgjdbc/pgjdbc/commit/f187645896e9f86a654390581163a7064b611404) -* chore: remove testing of the latest Java updates [PR#993](https://github.com/pgjdbc/pgjdbc/pull/993) [0d8fde6](https://github.com/pgjdbc/pgjdbc/commit/0d8fde6da6dd28a14e12715a3b01d3787cac7fb8) -* chore: updates to CHANGELOG.md in release_notes.sh [PR#981](https://github.com/pgjdbc/pgjdbc/pull/981) [bdfc1db](https://github.com/pgjdbc/pgjdbc/commit/bdfc1dbb45315d659a49c1ef7a831ca2d6326be4) -* test: querymode extendedCacheEverything [PR#1007](https://github.com/pgjdbc/pgjdbc/pull/1007) [f574285](https://github.com/pgjdbc/pgjdbc/commit/f5742853b6d79cc20f718339855904c1384c59cd) -* fix: first composite query not calling getNativeSql() [PR#1020](https://github.com/pgjdbc/pgjdbc/pull/1020) [2cae5a1](https://github.com/pgjdbc/pgjdbc/commit/2cae5a199c2d08768ea9f784ee3f60cef244c4b0) -* drop old and unused crypt auth [PR#1026](https://github.com/pgjdbc/pgjdbc/pull/1026) [405f14e](https://github.com/pgjdbc/pgjdbc/commit/405f14eefc9d7e01bfaa1b526f1a6a0bac50d3c4) -* chore: collect coverage for Java 7 [PR#1030](https://github.com/pgjdbc/pgjdbc/pull/1030) [b629934](https://github.com/pgjdbc/pgjdbc/commit/b6299347e15ea2a40c80de9907ae3f137caa4401) +* chore: use mainly Trusty in Travis, reorder CI jobs, and jdk tests [PR 939](https://github.com/pgjdbc/pgjdbc/pull/939) [646a868](https://github.com/pgjdbc/pgjdbc/commit/646a868c0bc80def5fa62374e83b71d65fef9a14) +* fix: ignore replication test until 11.1 to avoid random failures [PR 949](https://github.com/pgjdbc/pgjdbc/pull/949) [ee6443d](https://github.com/pgjdbc/pgjdbc/commit/ee6443db167da735f5a9402d16f31c3ee6d719dc) +* chore: streamlining jobs [PR 959](https://github.com/pgjdbc/pgjdbc/pull/959) [ed0a398](https://github.com/pgjdbc/pgjdbc/commit/ed0a398edb47d0eea62e7f53723e14d9ed278fbb) +* docs: move changelog to separate file [PR 956](https://github.com/pgjdbc/pgjdbc/pull/956) [e67e8f9](https://github.com/pgjdbc/pgjdbc/commit/e67e8f9685e6c8235134baedeb790f39de39e77c) +* docs: improve website front page [PR 968](https://github.com/pgjdbc/pgjdbc/pull/968) [65170f1](https://github.com/pgjdbc/pgjdbc/commit/65170f1690bb571c8dbe0425b205ba8498c8173f) +* docs: fix test db password in docs [PR 984](https://github.com/pgjdbc/pgjdbc/pull/984) [7df56f8](https://github.com/pgjdbc/pgjdbc/commit/7df56f816770a7129cb56d150c6d556c64632a5c) +* test: add openj9 to the matrix [PR 974](https://github.com/pgjdbc/pgjdbc/pull/974) [f187645](https://github.com/pgjdbc/pgjdbc/commit/f187645896e9f86a654390581163a7064b611404) +* chore: remove testing of the latest Java updates [PR 993](https://github.com/pgjdbc/pgjdbc/pull/993) [0d8fde6](https://github.com/pgjdbc/pgjdbc/commit/0d8fde6da6dd28a14e12715a3b01d3787cac7fb8) +* chore: updates to CHANGELOG.md in release_notes.sh [PR 981](https://github.com/pgjdbc/pgjdbc/pull/981) [bdfc1db](https://github.com/pgjdbc/pgjdbc/commit/bdfc1dbb45315d659a49c1ef7a831ca2d6326be4) +* test: querymode extendedCacheEverything [PR 1007](https://github.com/pgjdbc/pgjdbc/pull/1007) [f574285](https://github.com/pgjdbc/pgjdbc/commit/f5742853b6d79cc20f718339855904c1384c59cd) +* fix: first composite query not calling getNativeSql() [PR 1020](https://github.com/pgjdbc/pgjdbc/pull/1020) [2cae5a1](https://github.com/pgjdbc/pgjdbc/commit/2cae5a199c2d08768ea9f784ee3f60cef244c4b0) +* drop old and unused crypt auth [PR 1026](https://github.com/pgjdbc/pgjdbc/pull/1026) [405f14e](https://github.com/pgjdbc/pgjdbc/commit/405f14eefc9d7e01bfaa1b526f1a6a0bac50d3c4) +* chore: collect coverage for Java 7 [PR 1030](https://github.com/pgjdbc/pgjdbc/pull/1030) [b629934](https://github.com/pgjdbc/pgjdbc/commit/b6299347e15ea2a40c80de9907ae3f137caa4401) Magnus (1): -* fix: make warnings available as soon as they are received [PR#857](https://github.com/pgjdbc/pgjdbc/pull/857) [83dd5fe](https://github.com/pgjdbc/pgjdbc/commit/83dd5fea94928b349e05c1417e264797052f2bbe) +* fix: make warnings available as soon as they are received [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) [83dd5fe](https://github.com/pgjdbc/pgjdbc/commit/83dd5fea94928b349e05c1417e264797052f2bbe) Magnus Hagander (1): -* Fix documentation spelling of sslpasswordcallback [PR#1021](https://github.com/pgjdbc/pgjdbc/pull/1021) [8ba5841](https://github.com/pgjdbc/pgjdbc/commit/8ba58418ae10f80530f67f0c8628161011c5a228) +* Fix documentation spelling of sslpasswordcallback [PR 1021](https://github.com/pgjdbc/pgjdbc/pull/1021) [8ba5841](https://github.com/pgjdbc/pgjdbc/commit/8ba58418ae10f80530f67f0c8628161011c5a228) MichaelZg (1): -* fix: trim trailing zeros in timestamp strings returned in binary mode [PR#896](https://github.com/pgjdbc/pgjdbc/pull/896) [d28deff](https://github.com/pgjdbc/pgjdbc/commit/d28deff57684349707d2b2a357048f59b0861bb1) +* fix: trim trailing zeros in timestamp strings returned in binary mode [PR 896](https://github.com/pgjdbc/pgjdbc/pull/896) [d28deff](https://github.com/pgjdbc/pgjdbc/commit/d28deff57684349707d2b2a357048f59b0861bb1) Michael Glaesemann (1): -* refactor: use TypeInfo getPGArrayType instead of munging type name [PR#913](https://github.com/pgjdbc/pgjdbc/pull/913) [634e157](https://github.com/pgjdbc/pgjdbc/commit/634e157e4cdbc2f78f1a90ac4d9f538f39caf4f9) +* refactor: use TypeInfo getPGArrayType instead of munging type name [PR 913](https://github.com/pgjdbc/pgjdbc/pull/913) [634e157](https://github.com/pgjdbc/pgjdbc/commit/634e157e4cdbc2f78f1a90ac4d9f538f39caf4f9) Pavel Raiskup (2): @@ -142,82 +142,82 @@ Pavel Raiskup (2): Philippe Marschall (2): -* feat: improve ResultSet#getObject(int, Class) [PR#932](https://github.com/pgjdbc/pgjdbc/pull/932) [fcb28c7](https://github.com/pgjdbc/pgjdbc/commit/fcb28c7c87a18ba6673b7fd3a48f3421410eb942) -* test: add ubenchmark for UTF-8 decoding [PR#988](https://github.com/pgjdbc/pgjdbc/pull/988) [0d918c3](https://github.com/pgjdbc/pgjdbc/commit/0d918c3b21ba2a368da34bd30668908723dc4d36) +* feat: improve ResultSet#getObject(int, Class) [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) [fcb28c7](https://github.com/pgjdbc/pgjdbc/commit/fcb28c7c87a18ba6673b7fd3a48f3421410eb942) +* test: add ubenchmark for UTF-8 decoding [PR 988](https://github.com/pgjdbc/pgjdbc/pull/988) [0d918c3](https://github.com/pgjdbc/pgjdbc/commit/0d918c3b21ba2a368da34bd30668908723dc4d36) Piyush Sharma (1): -* doc: Added quotes to URL in '@see' tag over org.postgresql.sspi.NTDSAPI#DsMakeSpnW for syntactic correctness [PR#926](https://github.com/pgjdbc/pgjdbc/pull/926) [29f574a](https://github.com/pgjdbc/pgjdbc/commit/29f574a0116ab93eade3c80e2db20573390a6a31) +* doc: Added quotes to URL in '@see' tag over org.postgresql.sspi.NTDSAPI#DsMakeSpnW for syntactic correctness [PR 926](https://github.com/pgjdbc/pgjdbc/pull/926) [29f574a](https://github.com/pgjdbc/pgjdbc/commit/29f574a0116ab93eade3c80e2db20573390a6a31) Sehrope Sarkuni (1): -* feat: parse command complete message via regex [PR#962](https://github.com/pgjdbc/pgjdbc/pull/962) [097db5e](https://github.com/pgjdbc/pgjdbc/commit/097db5e70ae8bf193c736b11603332feadb8d544) +* feat: parse command complete message via regex [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) [097db5e](https://github.com/pgjdbc/pgjdbc/commit/097db5e70ae8bf193c736b11603332feadb8d544) Thach Hoang (2): -* Update ServerVersionTest to actually compare versions [PR#1015](https://github.com/pgjdbc/pgjdbc/pull/1015) [cccd6cd](https://github.com/pgjdbc/pgjdbc/commit/cccd6cde4672de30ac0bbac6621b63e81aae9474) -* fix: always return Short[] for java.sql.Array.getArray() on smallint[] [PR#1017](https://github.com/pgjdbc/pgjdbc/pull/1017) [279fb43](https://github.com/pgjdbc/pgjdbc/commit/279fb435b392114c45266ecef901bfd59470842a) +* Update ServerVersionTest to actually compare versions [PR 1015](https://github.com/pgjdbc/pgjdbc/pull/1015) [cccd6cd](https://github.com/pgjdbc/pgjdbc/commit/cccd6cde4672de30ac0bbac6621b63e81aae9474) +* fix: always return Short[] for java.sql.Array.getArray() on smallint[] [PR 1017](https://github.com/pgjdbc/pgjdbc/pull/1017) [279fb43](https://github.com/pgjdbc/pgjdbc/commit/279fb435b392114c45266ecef901bfd59470842a) Vladimir Sitnikov (23): -* fix: reintroduce Driver.getVersion for backward compatibility reasons [PR#905](https://github.com/pgjdbc/pgjdbc/pull/905) [50d5dd3](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) -* style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ [PR#1016](https://github.com/pgjdbc/pgjdbc/pull/1016) [9f07c9a](https://github.com/pgjdbc/pgjdbc/commit/9f07c9ae2eb0c1ec18455e3a3d66460dd264c790) -* fix: prevent statement hang in case close() called when query is in progress [PR#1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315) +* fix: reintroduce Driver.getVersion for backward compatibility reasons [PR 905](https://github.com/pgjdbc/pgjdbc/pull/905) [50d5dd3](https://github.com/pgjdbc/pgjdbc/commit/50d5dd3e708a92602e04d6b4aa0822ad3f110a78) +* style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ [PR 1016](https://github.com/pgjdbc/pgjdbc/pull/1016) [9f07c9a](https://github.com/pgjdbc/pgjdbc/commit/9f07c9ae2eb0c1ec18455e3a3d66460dd264c790) +* fix: prevent statement hang in case close() called when query is in progress [PR 1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315) * fix: synchronize Statement#result field access to make #close() more thread-safe [4139248](https://github.com/pgjdbc/pgjdbc/commit/41392481d5f2c7f89d783a535ade2d3afb565654) -* fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR#1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5) +* fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5) * fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0) -* fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [PR#811](https://github.com/pgjdbc/pgjdbc/pull/811) [082d009](https://github.com/pgjdbc/pgjdbc/commit/082d00941ad5f8abf44a0785a6f086c106b3c746) +* fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [PR 811](https://github.com/pgjdbc/pgjdbc/pull/811) [082d009](https://github.com/pgjdbc/pgjdbc/commit/082d00941ad5f8abf44a0785a6f086c106b3c746) * tests: correct assertion to use proper column [63918eb](https://github.com/pgjdbc/pgjdbc/commit/63918eb9b1211e0115c8b55401e22c7a3f37e534) * fix: add type parameter so code is Java 6/7 compatible [1361c52](https://github.com/pgjdbc/pgjdbc/commit/1361c5208d6afc5d54e4df1053c48cdb31df9038) * chore: avoid non-blocking IO for stdout to workaround "stdout: write error" in Travis [12bb084](https://github.com/pgjdbc/pgjdbc/commit/12bb084035a13c4fb690df93837b37e85354ebc4) * test: run Travis tests with non-default time zone [a3982b4](https://github.com/pgjdbc/pgjdbc/commit/a3982b474dd92cd32c8fb1b7dafbd28c853c4177) -* fix: execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving [PR#955](https://github.com/pgjdbc/pgjdbc/pull/955) [684a699](https://github.com/pgjdbc/pgjdbc/commit/684a69920e08017c74ab4194d1a77067f544a28b) +* fix: execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving [PR 955](https://github.com/pgjdbc/pgjdbc/pull/955) [684a699](https://github.com/pgjdbc/pgjdbc/commit/684a69920e08017c74ab4194d1a77067f544a28b) * fix: use 'time with time zone' and 'timestamp with time zone' values as is and avoid computation with user-provided/default Calendars [e8c43f3](https://github.com/pgjdbc/pgjdbc/commit/e8c43f36ab2a6843f37d27e7417a5214f7142084) * test: refactor SetObject310Test to use proper assertion messages and use less statements (make it faster) [be06946](https://github.com/pgjdbc/pgjdbc/commit/be06946f8b908536f4d659aaf6fc660bed339f67) * refactor: factor out receiveParameterStatus so all the ParameterStatus messages are handled in the same way [a94cfea](https://github.com/pgjdbc/pgjdbc/commit/a94cfeace5d66b4fe8d8fa3b16986baebaec2a11) -* fix: add Provide-Capability OSGi manifest [PR#1029](https://github.com/pgjdbc/pgjdbc/pull/1029) [236805b](https://github.com/pgjdbc/pgjdbc/commit/236805bcaf0dd1d9df3542c5865a15b24375a01c) +* fix: add Provide-Capability OSGi manifest [PR 1029](https://github.com/pgjdbc/pgjdbc/pull/1029) [236805b](https://github.com/pgjdbc/pgjdbc/commit/236805bcaf0dd1d9df3542c5865a15b24375a01c) * chore: update version to 42.2.0-SNAPSHOT to reflect the next release version [e27ee74](https://github.com/pgjdbc/pgjdbc/commit/e27ee740535a4034084d450cddefda2fbcb1b2af) * packaging: add missing maven-clean-plugin dependency [a2ed9b5](https://github.com/pgjdbc/pgjdbc/commit/a2ed9b50e304a3437f92b945217c19197226d53f) * chore: introduce release via Travis [acb9bdd](https://github.com/pgjdbc/pgjdbc/commit/acb9bddf36a8af6d1dd09857a6a05014c3e8849a) * chore: skip CI builds for tags; skip Fedora and extendedCacheEverything jobs when building pull requests [3ba3b63](https://github.com/pgjdbc/pgjdbc/commit/3ba3b6334761909183334a3be3af0aa8dc4798da) -* fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR#1071](https://github.com/pgjdbc/pgjdbc/pull/1071) [eb33c4c](https://github.com/pgjdbc/pgjdbc/commit/eb33c4c8e27d6df6ccd9c0a81eb119edeb069d55) +* fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps [PR 1071](https://github.com/pgjdbc/pgjdbc/pull/1071) [eb33c4c](https://github.com/pgjdbc/pgjdbc/commit/eb33c4c8e27d6df6ccd9c0a81eb119edeb069d55) * test: add "as" to test queries so they work with PostgreSQL 8.3 [71b3c11](https://github.com/pgjdbc/pgjdbc/commit/71b3c118f6a9e125c06e58faa50bf54b6a8f3400) * docs: make pgjdbc's javadocs to inherit base Java documentation [eb406dc](https://github.com/pgjdbc/pgjdbc/commit/eb406dcbee469a8724723f008f7dc5a515457cbe) Zemian Deng (3): -* refactor: use PGProperty enum instead of text ref for targetServerType, hostRecheckSeconds, loadBalanceHosts [PR#912](https://github.com/pgjdbc/pgjdbc/pull/912) (#915) [b0cfc33](https://github.com/pgjdbc/pgjdbc/commit/b0cfc33483759ed3583b57cd845311d17670524f) -* fix: correct javadoc on PGResultSetMetaData.getFormat [PR#917](https://github.com/pgjdbc/pgjdbc/pull/917) [cd77693](https://github.com/pgjdbc/pgjdbc/commit/cd77693ca22924479a39b8d925f276879023672a) -* fix: Correct DatabaseMetaData.getFunctions() implementation [PR#918](https://github.com/pgjdbc/pgjdbc/pull/918) [8884202](https://github.com/pgjdbc/pgjdbc/commit/8884202b9e7785a1eaf67ddcd97f2ba689d0cf19) +* refactor: use PGProperty enum instead of text ref for targetServerType, hostRecheckSeconds, loadBalanceHosts [PR 912](https://github.com/pgjdbc/pgjdbc/pull/912) (#915) [b0cfc33](https://github.com/pgjdbc/pgjdbc/commit/b0cfc33483759ed3583b57cd845311d17670524f) +* fix: correct javadoc on PGResultSetMetaData.getFormat [PR 917](https://github.com/pgjdbc/pgjdbc/pull/917) [cd77693](https://github.com/pgjdbc/pgjdbc/commit/cd77693ca22924479a39b8d925f276879023672a) +* fix: Correct DatabaseMetaData.getFunctions() implementation [PR 918](https://github.com/pgjdbc/pgjdbc/pull/918) [8884202](https://github.com/pgjdbc/pgjdbc/commit/8884202b9e7785a1eaf67ddcd97f2ba689d0cf19) bpd0018 (3): -* docs - change load.md to reflect current practice [PR#1058](https://github.com/pgjdbc/pgjdbc/pull/1058) [90535d9](https://github.com/pgjdbc/pgjdbc/commit/90535d9289141c398b2e62f2ee7571617c5aecc3) -* docs: fix the URL regex [PR#1057](https://github.com/pgjdbc/pgjdbc/pull/1057) [6c5490f](https://github.com/pgjdbc/pgjdbc/commit/6c5490f90da434f37abd0be0f7bbdc38169ec33f) -* docs: fix no parameter connect string example [PR#1056](https://github.com/pgjdbc/pgjdbc/pull/1056) [bb8a315](https://github.com/pgjdbc/pgjdbc/commit/bb8a31508f3caef7532b87b50c19e092af2ec5f0) +* docs - change load.md to reflect current practice [PR 1058](https://github.com/pgjdbc/pgjdbc/pull/1058) [90535d9](https://github.com/pgjdbc/pgjdbc/commit/90535d9289141c398b2e62f2ee7571617c5aecc3) +* docs: fix the URL regex [PR 1057](https://github.com/pgjdbc/pgjdbc/pull/1057) [6c5490f](https://github.com/pgjdbc/pgjdbc/commit/6c5490f90da434f37abd0be0f7bbdc38169ec33f) +* docs: fix no parameter connect string example [PR 1056](https://github.com/pgjdbc/pgjdbc/pull/1056) [bb8a315](https://github.com/pgjdbc/pgjdbc/commit/bb8a31508f3caef7532b87b50c19e092af2ec5f0) djydewang (1): -* style: disallowing user to use incomplete fully qualified Check names in config file [PR#961](https://github.com/pgjdbc/pgjdbc/pull/961) [3286c8c](https://github.com/pgjdbc/pgjdbc/commit/3286c8caa16efe59307b2713784c348e603ee67d) +* style: disallowing user to use incomplete fully qualified Check names in config file [PR 961](https://github.com/pgjdbc/pgjdbc/pull/961) [3286c8c](https://github.com/pgjdbc/pgjdbc/commit/3286c8caa16efe59307b2713784c348e603ee67d) eperez (1): -* Someone forgot to get the next column [PR#973](https://github.com/pgjdbc/pgjdbc/pull/973) [15aec6a](https://github.com/pgjdbc/pgjdbc/commit/15aec6a99c5615cdf0c0adaf5fc47b5419c617d4) +* Someone forgot to get the next column [PR 973](https://github.com/pgjdbc/pgjdbc/pull/973) [15aec6a](https://github.com/pgjdbc/pgjdbc/commit/15aec6a99c5615cdf0c0adaf5fc47b5419c617d4) mjanczykowski (1): -* feat: add setURL method to BaseDataSource [PR#999](https://github.com/pgjdbc/pgjdbc/pull/999) [2277ffb](https://github.com/pgjdbc/pgjdbc/commit/2277ffb7b65d3cba9ef05be36408e2fdbef00ee7) +* feat: add setURL method to BaseDataSource [PR 999](https://github.com/pgjdbc/pgjdbc/pull/999) [2277ffb](https://github.com/pgjdbc/pgjdbc/commit/2277ffb7b65d3cba9ef05be36408e2fdbef00ee7) rnveach (1): -* style: remove deprecated maxLineLength from LeftCurlyCheck [PR#904](https://github.com/pgjdbc/pgjdbc/pull/904) [5f083d1](https://github.com/pgjdbc/pgjdbc/commit/5f083d118eea30e180500864d70f292b411c19af) +* style: remove deprecated maxLineLength from LeftCurlyCheck [PR 904](https://github.com/pgjdbc/pgjdbc/pull/904) [5f083d1](https://github.com/pgjdbc/pgjdbc/commit/5f083d118eea30e180500864d70f292b411c19af) steinarb (1): * fix: add Provide-Capability org.osgi.service.jdbc.DataSourceFactory to OSGi manifest [Issue 1029](https://github.com/pgjdbc/pgjdbc/issues/1029) zapov (1): -* fix: avoid integer overflow when sending large arguments [PR#946](https://github.com/pgjdbc/pgjdbc/pull/946) [266ed61](https://github.com/pgjdbc/pgjdbc/commit/266ed61b30e89c2840b7967a8af7ac8ab86407ff) +* fix: avoid integer overflow when sending large arguments [PR 946](https://github.com/pgjdbc/pgjdbc/pull/946) [266ed61](https://github.com/pgjdbc/pgjdbc/commit/266ed61b30e89c2840b7967a8af7ac8ab86407ff) ### Contributors to this release diff --git a/docs/_posts/2018-01-25-42.2.1-release.md b/docs/_posts/2018-01-25-42.2.1-release.md index 6ef3b38214..3f7ea7260c 100644 --- a/docs/_posts/2018-01-25-42.2.1-release.md +++ b/docs/_posts/2018-01-25-42.2.1-release.md @@ -15,7 +15,7 @@ version: 42.2.1 ### Fixed - Avoid connection failure when `DateStyle` is set to `ISO` (~PgBouncer) [Issue 1080](https://github.com/pgjdbc/pgjdbc/issues/1080) -- Package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) +- Package scram:client classes, so SCRAM works when using a shaded jar [PR 1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) - reWriteBatchedInserts=true causes syntax error with ON CONFLICT [Issue 1045](https://github.com/pgjdbc/pgjdbc/issues/1045) [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) - Avoid failure in getPGArrayType when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) @@ -26,32 +26,32 @@ version: 42.2.1 AlexElin (1): -* test: check if url is not for PostgreSQL [PR#1077](https://github.com/pgjdbc/pgjdbc/pull/1077) [fe463bce](https://github.com/pgjdbc/pgjdbc/commit/fe463bceb3d6449443bd5e6abf2929516effccff) +* test: check if url is not for PostgreSQL [PR 1077](https://github.com/pgjdbc/pgjdbc/pull/1077) [fe463bce](https://github.com/pgjdbc/pgjdbc/commit/fe463bceb3d6449443bd5e6abf2929516effccff) Alexander Kjäll (1): -* feat: add support for fetching 'TIMESTAMP(6) WITHOUT TIME ZONE' as LocalDate to getObject() [PR#1083](https://github.com/pgjdbc/pgjdbc/pull/1083) [09af4b23](https://github.com/pgjdbc/pgjdbc/commit/09af4b23ad589e3691314e955c130a8755436e2d) +* feat: add support for fetching 'TIMESTAMP(6) WITHOUT TIME ZONE' as LocalDate to getObject() [PR 1083](https://github.com/pgjdbc/pgjdbc/pull/1083) [09af4b23](https://github.com/pgjdbc/pgjdbc/commit/09af4b23ad589e3691314e955c130a8755436e2d) Dave Cramer (1): -* fix: package scram:client classes, so SCRAM works when using a shaded jar [PR#1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) +* fix: package scram:client classes, so SCRAM works when using a shaded jar [PR 1091](https://github.com/pgjdbc/pgjdbc/pull/1091) [1a89290e](https://github.com/pgjdbc/pgjdbc/commit/1a89290e110d5863b35e0a2ccf79e4292c1056f8) Ivan (2): -* chore: remove braces for LeftCurlyCheck checkstyle [PR#1075](https://github.com/pgjdbc/pgjdbc/pull/1075) [c2664b44](https://github.com/pgjdbc/pgjdbc/commit/c2664b444ffa1390d0dd5e4104d4200823d145ba) -* chore: remove additional braces for LeftCurlyCheck checkstyle [PR#1076](https://github.com/pgjdbc/pgjdbc/pull/1076) [975aaf5a](https://github.com/pgjdbc/pgjdbc/commit/975aaf5ae489b3efeda3fd0241a4d39d260105cd) +* chore: remove braces for LeftCurlyCheck checkstyle [PR 1075](https://github.com/pgjdbc/pgjdbc/pull/1075) [c2664b44](https://github.com/pgjdbc/pgjdbc/commit/c2664b444ffa1390d0dd5e4104d4200823d145ba) +* chore: remove additional braces for LeftCurlyCheck checkstyle [PR 1076](https://github.com/pgjdbc/pgjdbc/pull/1076) [975aaf5a](https://github.com/pgjdbc/pgjdbc/commit/975aaf5ae489b3efeda3fd0241a4d39d260105cd) JCzogalla (1): -* Fixes issue #1078 [PR#1079](https://github.com/pgjdbc/pgjdbc/pull/1079) [0d51370b](https://github.com/pgjdbc/pgjdbc/commit/0d51370b68cd26ccfa92b0bae4a66da1015cf9ee) +* Fixes issue #1078 [PR 1079](https://github.com/pgjdbc/pgjdbc/pull/1079) [0d51370b](https://github.com/pgjdbc/pgjdbc/commit/0d51370b68cd26ccfa92b0bae4a66da1015cf9ee) Jamie Pullar (1): -* fix: getPGArrayType fails in when stringType=unspecified [PR#1036](https://github.com/pgjdbc/pgjdbc/pull/1036) [d5f1cf7c](https://github.com/pgjdbc/pgjdbc/commit/d5f1cf7c35b05318947021d41e73b6953f623256) +* fix: getPGArrayType fails in when stringType=unspecified [PR 1036](https://github.com/pgjdbc/pgjdbc/pull/1036) [d5f1cf7c](https://github.com/pgjdbc/pgjdbc/commit/d5f1cf7c35b05318947021d41e73b6953f623256) Jorge Solorzano (1): -* Fix style changelog [PR#1089](https://github.com/pgjdbc/pgjdbc/pull/1089) [5ebd2090](https://github.com/pgjdbc/pgjdbc/commit/5ebd20900ebf7af5b55c56eac7f2fae6d40d9f5c) +* Fix style changelog [PR 1089](https://github.com/pgjdbc/pgjdbc/pull/1089) [5ebd2090](https://github.com/pgjdbc/pgjdbc/commit/5ebd20900ebf7af5b55c56eac7f2fae6d40d9f5c) Pavel Raiskup (1): @@ -60,8 +60,8 @@ Pavel Raiskup (1): Vladimir Sitnikov (3): * docs: reflect 42.2.0 release in readme.md [6d02e958](https://github.com/pgjdbc/pgjdbc/commit/6d02e9587e47921e66d8d029e5056bab72f15565) -* fix: avoid connection failure when DateStyle is set to ISO [PR#1081](https://github.com/pgjdbc/pgjdbc/pull/1081) [e442db1f](https://github.com/pgjdbc/pgjdbc/commit/e442db1f064c78372f8312d65faee30842a68aea) -* fix: reWriteBatchedInserts=true causes syntax error with ON CONFLICT [PR#1082](https://github.com/pgjdbc/pgjdbc/pull/1082) [e133510e](https://github.com/pgjdbc/pgjdbc/commit/e133510e70114db128784911b6790b5690d77320) +* fix: avoid connection failure when DateStyle is set to ISO [PR 1081](https://github.com/pgjdbc/pgjdbc/pull/1081) [e442db1f](https://github.com/pgjdbc/pgjdbc/commit/e442db1f064c78372f8312d65faee30842a68aea) +* fix: reWriteBatchedInserts=true causes syntax error with ON CONFLICT [PR 1082](https://github.com/pgjdbc/pgjdbc/pull/1082) [e133510e](https://github.com/pgjdbc/pgjdbc/commit/e133510e70114db128784911b6790b5690d77320) ### Contributors to this release diff --git a/docs/_posts/2018-03-15-42.2.2-release.md b/docs/_posts/2018-03-15-42.2.2-release.md index c7fa289f3f..442108eb4d 100644 --- a/docs/_posts/2018-03-15-42.2.2-release.md +++ b/docs/_posts/2018-03-15-42.2.2-release.md @@ -30,54 +30,54 @@ Dave Cramer (5): * Update about.html [6fe76a3c](https://github.com/pgjdbc/pgjdbc/commit/6fe76a3c9289c78b2a8875e101020747584c36a7) * Update documentation.md [3b3fd8c9](https://github.com/pgjdbc/pgjdbc/commit/3b3fd8c90a4bdcde101f45ae255ca2fe30bac338) * Update documentation.md [a8ef9f96](https://github.com/pgjdbc/pgjdbc/commit/a8ef9f96feb02246a3d7967ada2ffe146778f7ed) -* test: add Travis configuration to test SSL [PR#1095](https://github.com/pgjdbc/pgjdbc/pull/1095) [298683b1](https://github.com/pgjdbc/pgjdbc/commit/298683b1bd11a4b16cdba861c8ca93134cfb037b) +* test: add Travis configuration to test SSL [PR 1095](https://github.com/pgjdbc/pgjdbc/pull/1095) [298683b1](https://github.com/pgjdbc/pgjdbc/commit/298683b1bd11a4b16cdba861c8ca93134cfb037b) Jorge Solorzano (1): -* fix: improve DatabaseMetaData.getSQLKeywords() [PR#940](https://github.com/pgjdbc/pgjdbc/pull/940) [7a586b6e](https://github.com/pgjdbc/pgjdbc/commit/7a586b6e492e8911a928d50113a68569981fa731) +* fix: improve DatabaseMetaData.getSQLKeywords() [PR 940](https://github.com/pgjdbc/pgjdbc/pull/940) [7a586b6e](https://github.com/pgjdbc/pgjdbc/commit/7a586b6e492e8911a928d50113a68569981fa731) Pawel (1): -* Fixes #1096 [PR#1097](https://github.com/pgjdbc/pgjdbc/pull/1097) [df4e7fa0](https://github.com/pgjdbc/pgjdbc/commit/df4e7fa07c205e12f7fe5e3c80ab90ea63c1bc17) +* Fixes #1096 [PR 1097](https://github.com/pgjdbc/pgjdbc/pull/1097) [df4e7fa0](https://github.com/pgjdbc/pgjdbc/commit/df4e7fa07c205e12f7fe5e3c80ab90ea63c1bc17) Selene Feigl (1): -* fix: wrong data from Blob/Clob when mark/reset is used [PR#971](https://github.com/pgjdbc/pgjdbc/pull/971) [61e1c300](https://github.com/pgjdbc/pgjdbc/commit/61e1c300fb52237b05b7649d61603dd339fbdd9b) +* fix: wrong data from Blob/Clob when mark/reset is used [PR 971](https://github.com/pgjdbc/pgjdbc/pull/971) [61e1c300](https://github.com/pgjdbc/pgjdbc/commit/61e1c300fb52237b05b7649d61603dd339fbdd9b) Simon Stelling (1): -* fix: handle Timestamp values with fractional seconds < 1 microsecond correctly in PreparedStatement arguments [PR#1119](https://github.com/pgjdbc/pgjdbc/pull/1119) [8ff2a617](https://github.com/pgjdbc/pgjdbc/commit/8ff2a617c8a153eb364d8b762102b6b6b1cb53f8) +* fix: handle Timestamp values with fractional seconds < 1 microsecond correctly in PreparedStatement arguments [PR 1119](https://github.com/pgjdbc/pgjdbc/pull/1119) [8ff2a617](https://github.com/pgjdbc/pgjdbc/commit/8ff2a617c8a153eb364d8b762102b6b6b1cb53f8) Vladimir Sitnikov (14): * docs: reflect 42.2.1 release in readme.md [1a4256b9](https://github.com/pgjdbc/pgjdbc/commit/1a4256b973da36c0fc42f0268e58e1535073247b) * chore: make sure TEST_CLIENTS performs regular tests as well [aa676bb3](https://github.com/pgjdbc/pgjdbc/commit/aa676bb39117dc47cbd51a236b232227e9128220) * chore: remove unused variable lastKnownTime in ConnectionFactoryImpl [48b98971](https://github.com/pgjdbc/pgjdbc/commit/48b98971d085a7988b67a31cf5ff9fb52c5534e5) -* fix: ArrayIndexOutOfBoundsException when using the same SQL for regular and updateable resultset [PR#1123](https://github.com/pgjdbc/pgjdbc/pull/1123) [45c32bc6](https://github.com/pgjdbc/pgjdbc/commit/45c32bc6af2e140ff86dabd718344c74fc244394) -* fix: support insert ... on conflict...update for reWriteBatchedInserts=true [PR#1130](https://github.com/pgjdbc/pgjdbc/pull/1130) [1ca0c586](https://github.com/pgjdbc/pgjdbc/commit/1ca0c5864a8b6c575b32aee03e2e1e8848fee143) -* fix: allowEncodingChanges should allow set client_encoding=... [PR#1125](https://github.com/pgjdbc/pgjdbc/pull/1125) [af64ed2d](https://github.com/pgjdbc/pgjdbc/commit/af64ed2dac035c621b4aec4a0471730457725194) -* tests: UUID vs setString test [PR#1133](https://github.com/pgjdbc/pgjdbc/pull/1133) [5827858b](https://github.com/pgjdbc/pgjdbc/commit/5827858ba5b72b519feb86fc65301a7bffa10c4d) +* fix: ArrayIndexOutOfBoundsException when using the same SQL for regular and updateable resultset [PR 1123](https://github.com/pgjdbc/pgjdbc/pull/1123) [45c32bc6](https://github.com/pgjdbc/pgjdbc/commit/45c32bc6af2e140ff86dabd718344c74fc244394) +* fix: support insert ... on conflict...update for reWriteBatchedInserts=true [PR 1130](https://github.com/pgjdbc/pgjdbc/pull/1130) [1ca0c586](https://github.com/pgjdbc/pgjdbc/commit/1ca0c5864a8b6c575b32aee03e2e1e8848fee143) +* fix: allowEncodingChanges should allow set client_encoding=... [PR 1125](https://github.com/pgjdbc/pgjdbc/pull/1125) [af64ed2d](https://github.com/pgjdbc/pgjdbc/commit/af64ed2dac035c621b4aec4a0471730457725194) +* tests: UUID vs setString test [PR 1133](https://github.com/pgjdbc/pgjdbc/pull/1133) [5827858b](https://github.com/pgjdbc/pgjdbc/commit/5827858ba5b72b519feb86fc65301a7bffa10c4d) * fix: UUID test for preferQueryMode=simple [44bb7f8d](https://github.com/pgjdbc/pgjdbc/commit/44bb7f8d66829705bf46a6cfcad8a179eb14e441) -* fix: wrong results when a single statement is used with UNSPECIFIED types [PR#1137](https://github.com/pgjdbc/pgjdbc/pull/1137) [fcd1ea14](https://github.com/pgjdbc/pgjdbc/commit/fcd1ea14545a113fe4a124e17132824e279f572e) +* fix: wrong results when a single statement is used with UNSPECIFIED types [PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) [fcd1ea14](https://github.com/pgjdbc/pgjdbc/commit/fcd1ea14545a113fe4a124e17132824e279f572e) * test: workaround DST issue in StatementTest#testDateFunctions [af499625](https://github.com/pgjdbc/pgjdbc/commit/af499625fb99043fe0bf605ec4b23f3dd64c18d7) -* docs: improve documentation and tests for server-side prepared statements [PR#1135](https://github.com/pgjdbc/pgjdbc/pull/1135) [4204f094](https://github.com/pgjdbc/pgjdbc/commit/4204f09446edbc7caaecb4c8cd7c8f78abd9344e) -* test: make testAlternatingBindType Java 6-compatible [PR#1139](https://github.com/pgjdbc/pgjdbc/pull/1139) [bcdd4273](https://github.com/pgjdbc/pgjdbc/commit/bcdd4273bba7ae6b3348d47d4cdeb72e941d5acc) -* fix: better support for RETURNING for WITH queries and queries with comments [PR#1138](https://github.com/pgjdbc/pgjdbc/pull/1138) [04e76661](https://github.com/pgjdbc/pgjdbc/commit/04e76661586b54157a1220552c005569231388a9) +* docs: improve documentation and tests for server-side prepared statements [PR 1135](https://github.com/pgjdbc/pgjdbc/pull/1135) [4204f094](https://github.com/pgjdbc/pgjdbc/commit/4204f09446edbc7caaecb4c8cd7c8f78abd9344e) +* test: make testAlternatingBindType Java 6-compatible [PR 1139](https://github.com/pgjdbc/pgjdbc/pull/1139) [bcdd4273](https://github.com/pgjdbc/pgjdbc/commit/bcdd4273bba7ae6b3348d47d4cdeb72e941d5acc) +* fix: better support for RETURNING for WITH queries and queries with comments [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) [04e76661](https://github.com/pgjdbc/pgjdbc/commit/04e76661586b54157a1220552c005569231388a9) * chore: add contributor links to release script [2568d38e](https://github.com/pgjdbc/pgjdbc/commit/2568d38e5ff7c9b23f92011c7dc936c307f53008) bpd0018 (3): -* docs: fix spelling and chapter, update sample code [PR#1098](https://github.com/pgjdbc/pgjdbc/pull/1098) [0cfffa84](https://github.com/pgjdbc/pgjdbc/commit/0cfffa841b9b8d2040fe6c576aa77edfd399bbc0) -* style: spelling in comment [PR#1121](https://github.com/pgjdbc/pgjdbc/pull/1121) [cc219aa7](https://github.com/pgjdbc/pgjdbc/commit/cc219aa79b37f03432db4fe61e06b5f27fcb7f83) -* docs: fix JavaDoc for getPreferQueryMode() [PR#1122](https://github.com/pgjdbc/pgjdbc/pull/1122) [43d80cd4](https://github.com/pgjdbc/pgjdbc/commit/43d80cd48a54ea91868d15bd2f3806b467519883) +* docs: fix spelling and chapter, update sample code [PR 1098](https://github.com/pgjdbc/pgjdbc/pull/1098) [0cfffa84](https://github.com/pgjdbc/pgjdbc/commit/0cfffa841b9b8d2040fe6c576aa77edfd399bbc0) +* style: spelling in comment [PR 1121](https://github.com/pgjdbc/pgjdbc/pull/1121) [cc219aa7](https://github.com/pgjdbc/pgjdbc/commit/cc219aa79b37f03432db4fe61e06b5f27fcb7f83) +* docs: fix JavaDoc for getPreferQueryMode() [PR 1122](https://github.com/pgjdbc/pgjdbc/pull/1122) [43d80cd4](https://github.com/pgjdbc/pgjdbc/commit/43d80cd48a54ea91868d15bd2f3806b467519883) chalda (1): -* Adjust XAException return codes for better compatibility with XA specification [PR#782](https://github.com/pgjdbc/pgjdbc/pull/782) [e5aab1cd](https://github.com/pgjdbc/pgjdbc/commit/e5aab1cd3e49051f46298d8f1fd9f66af1731299) +* Adjust XAException return codes for better compatibility with XA specification [PR 782](https://github.com/pgjdbc/pgjdbc/pull/782) [e5aab1cd](https://github.com/pgjdbc/pgjdbc/commit/e5aab1cd3e49051f46298d8f1fd9f66af1731299) trtrmitya (1): -* fix: use Locale.Category.DISPLAY (~lc_messages) when selecting resource bundle. [PR#1115](https://github.com/pgjdbc/pgjdbc/pull/1115) [0e9dfce4](https://github.com/pgjdbc/pgjdbc/commit/0e9dfce42c80391d0eefa830600e0ac4c1baae50) +* fix: use Locale.Category.DISPLAY (~lc_messages) when selecting resource bundle. [PR 1115](https://github.com/pgjdbc/pgjdbc/pull/1115) [0e9dfce4](https://github.com/pgjdbc/pgjdbc/commit/0e9dfce42c80391d0eefa830600e0ac4c1baae50) ### Contributors to this release From e19ee7ae5742ec0cd8976c66ae22e7e500e0107b Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 3 Jul 2018 14:34:03 -0400 Subject: [PATCH 172/427] minor language updates (#1241) * reword the commit message correctly --- CHANGELOG.md | 3 ++- pgjdbc/src/main/java/org/postgresql/Driver.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9894a0090..8ec304ce33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed -- Avoid the print of highest logger levels when the exception is re-thrown. [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) +- Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be +thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) ## [42.2.2] (2018-03-15) ### Added diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index 820762912d..7cdeb76031 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -563,7 +563,7 @@ public static Properties parseURL(String url, Properties defaults) { l_urlServer = l_urlServer.substring(2); int slash = l_urlServer.indexOf('/'); if (slash == -1) { - LOGGER.log(Level.WARNING, "JDBC URL must contain a slash at the end of the host or port: {0}", url); + LOGGER.log(Level.WARNING, "JDBC URL must contain a / at the end of the host or port: {0}", url); return null; } urlProps.setProperty("PGDBNAME", URLCoder.decode(l_urlServer.substring(slash + 1))); @@ -578,7 +578,7 @@ public static Properties parseURL(String url, Properties defaults) { try { int port = Integer.parseInt(portStr); if (port < 1 || port > 65535) { - LOGGER.log(Level.WARNING, "JDBC URL port in invalid range: {0}", portStr); + LOGGER.log(Level.WARNING, "JDBC URL port: {0} not valid (1:65535) ", portStr); return null; } } catch (NumberFormatException ignore) { From 481460a32426c3d3a532f2a9a1b078ed9e98129a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 5 Jul 2018 23:18:50 +0300 Subject: [PATCH 173/427] test: close of replication connection has not been fixed at backend side, so disable the test till 12.1 (#1243) test: close of replication connection has not been fixed at backend side, so disable the test till 12.1 --- .../java/org/postgresql/replication/LogicalReplicationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java index f6441914c7..c9844bb80b 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java @@ -333,7 +333,7 @@ isActive, equalTo(false) * wait new changes and until waiting messages from client ignores. */ @Test(timeout = 10000) - @HaveMinimalServerVersion("11.1") + @HaveMinimalServerVersion("12.1") public void testDuringSendBigTransactionConnectionCloseSlotStatusNotActive() throws Exception { PGConnection pgConnection = (PGConnection) replConnection; From 08631ccdabdb8ba6d52f398e2b0b46a9cf0cafbf Mon Sep 17 00:00:00 2001 From: Stephen Nelson Date: Thu, 5 Jul 2018 21:22:24 +0100 Subject: [PATCH 174/427] docs: correct the Javadoc and enforce with Checkstyle (#1236) --- pgjdbc/src/main/checkstyle/checks.xml | 4 +- .../src/main/java/org/postgresql/Driver.java | 89 ++++++------ .../java/org/postgresql/PGConnection.java | 28 ++-- .../java/org/postgresql/PGNotification.java | 6 +- .../main/java/org/postgresql/PGProperty.java | 90 ++++++------ .../main/java/org/postgresql/PGStatement.java | 18 +-- .../java/org/postgresql/copy/CopyManager.java | 2 +- .../postgresql/copy/PGCopyInputStream.java | 6 +- .../postgresql/copy/PGCopyOutputStream.java | 10 +- .../org/postgresql/core/BaseConnection.java | 24 ++-- .../java/org/postgresql/core/CachedQuery.java | 2 +- .../postgresql/core/ConnectionFactory.java | 12 +- .../java/org/postgresql/core/Encoding.java | 4 +- .../postgresql/core/EncodingPredictor.java | 11 +- .../java/org/postgresql/core/JavaVersion.java | 2 +- .../postgresql/core/JdbcCallParseInfo.java | 4 +- .../java/org/postgresql/core/PGStream.java | 40 +++--- .../org/postgresql/core/ParameterList.java | 16 +-- .../main/java/org/postgresql/core/Parser.java | 24 ++-- .../main/java/org/postgresql/core/Query.java | 28 ++-- .../org/postgresql/core/QueryExecutor.java | 36 +++-- .../postgresql/core/ReplicationProtocol.java | 7 +- .../org/postgresql/core/ResultHandler.java | 16 +-- .../org/postgresql/core/ServerVersion.java | 22 +-- .../postgresql/core/SocketFactoryFactory.java | 2 +- .../java/org/postgresql/core/TypeInfo.java | 2 +- .../main/java/org/postgresql/core/Utils.java | 20 +-- .../org/postgresql/core/v3/CopyInImpl.java | 6 +- .../postgresql/core/v3/CopyOperationImpl.java | 2 +- .../org/postgresql/core/v3/CopyOutImpl.java | 6 +- .../postgresql/core/v3/ExecuteRequest.java | 2 +- .../postgresql/core/v3/QueryExecutorImpl.java | 34 ++--- .../org/postgresql/core/v3/SimpleQuery.java | 6 +- .../core/v3/TypeTransferModeRegistry.java | 4 +- .../v3/replication/V3PGReplicationStream.java | 2 +- .../v3/replication/V3ReplicationProtocol.java | 2 +- .../org/postgresql/ds/PGPooledConnection.java | 8 +- .../postgresql/ds/PGPoolingDataSource.java | 2 +- .../org/postgresql/fastpath/Fastpath.java | 77 +++++------ .../org/postgresql/fastpath/FastpathArg.java | 8 +- .../java/org/postgresql/geometric/PGbox.java | 2 +- .../org/postgresql/geometric/PGcircle.java | 6 +- .../java/org/postgresql/geometric/PGline.java | 10 +- .../java/org/postgresql/geometric/PGlseg.java | 4 +- .../java/org/postgresql/geometric/PGpath.java | 10 +- .../org/postgresql/geometric/PGpoint.java | 16 +-- .../org/postgresql/geometric/PGpolygon.java | 6 +- .../hostchooser/HostRequirement.java | 7 +- .../org/postgresql/jdbc/AbstractBlobClob.java | 4 +- .../org/postgresql/jdbc/BooleanTypeUtil.java | 8 +- .../org/postgresql/jdbc/EscapedFunctions.java | 80 +++++------ .../postgresql/jdbc/EscapedFunctions2.java | 37 +++++ .../java/org/postgresql/jdbc/PgArray.java | 12 +- .../postgresql/jdbc/PgCallableStatement.java | 22 ++- .../main/java/org/postgresql/jdbc/PgClob.java | 2 +- .../org/postgresql/jdbc/PgConnection.java | 38 ++--- .../postgresql/jdbc/PgDatabaseMetaData.java | 52 +++---- .../postgresql/jdbc/PgPreparedStatement.java | 6 +- .../java/org/postgresql/jdbc/PgResultSet.java | 39 +++--- .../postgresql/jdbc/PgResultSetMetaData.java | 1 + .../java/org/postgresql/jdbc/PgStatement.java | 20 +-- .../org/postgresql/jdbc/PreferQueryMode.java | 6 +- .../org/postgresql/jdbc/TimestampUtils.java | 8 +- .../org/postgresql/jdbc2/ArrayAssistant.java | 8 +- .../jdbc2/ArrayAssistantRegistry.java | 2 +- .../largeobject/BlobInputStream.java | 40 +++--- .../largeobject/BlobOutputStream.java | 14 +- .../postgresql/largeobject/LargeObject.java | 78 +++++------ .../largeobject/LargeObjectManager.java | 80 +++++------ .../postgresql/osgi/PGBundleActivator.java | 2 +- .../postgresql/osgi/PGDataSourceFactory.java | 4 +- .../replication/LogSequenceNumber.java | 6 +- .../replication/PGReplicationConnection.java | 4 +- .../replication/PGReplicationStream.java | 20 +-- .../ChainedCommonCreateSlotBuilder.java | 2 +- .../fluent/ChainedCommonStreamBuilder.java | 4 +- .../ChainedCreateReplicationSlotBuilder.java | 8 +- .../fluent/ChainedStreamBuilder.java | 13 +- .../replication/fluent/CommonOptions.java | 2 +- .../ChainedLogicalCreateSlotBuilder.java | 6 +- .../logical/ChainedLogicalStreamBuilder.java | 2 +- .../logical/LogicalReplicationOptions.java | 2 +- .../ChainedPhysicalCreateSlotBuilder.java | 2 +- .../ChainedPhysicalStreamBuilder.java | 2 +- .../ssl/SingleCertValidatingFactory.java | 128 ++++------------- .../postgresql/ssl/jdbc4/LazyKeyManager.java | 2 +- .../postgresql/ssl/jdbc4/LibPQFactory.java | 2 +- .../java/org/postgresql/sspi/ISSPIClient.java | 6 +- .../java/org/postgresql/sspi/NTDSAPI.java | 6 +- .../java/org/postgresql/sspi/SSPIClient.java | 14 +- .../main/java/org/postgresql/util/Base64.java | 42 +++--- .../postgresql/util/ExpressionProperties.java | 8 +- .../java/org/postgresql/util/LruCache.java | 4 +- .../java/org/postgresql/util/MD5Digest.java | 2 +- .../java/org/postgresql/util/PGInterval.java | 50 +++---- .../java/org/postgresql/util/PGTimestamp.java | 10 +- .../java/org/postgresql/util/PGmoney.java | 2 +- .../java/org/postgresql/util/PGobject.java | 13 +- .../java/org/postgresql/util/PGtokenizer.java | 31 ++--- .../postgresql/util/ReaderInputStream.java | 10 +- .../java/org/postgresql/util/URLCoder.java | 8 +- .../org/postgresql/xa/PGXAConnection.java | 130 +++++++++++++----- .../java/org/postgresql/xa/RecoveredXid.java | 2 +- .../jdbc/DeepBatchedInsertStatementTest.java | 2 +- .../LogicalReplicationStatusTest.java | 4 +- .../replication/LogicalReplicationTest.java | 12 +- .../java/org/postgresql/test/TestUtil.java | 14 +- .../test/jdbc2/AutoRollbackTestSuite.java | 6 +- .../org/postgresql/test/jdbc2/BaseTest4.java | 4 +- .../test/jdbc2/BatchExecuteTest.java | 7 +- .../BatchedInsertReWriteEnabledTest.java | 10 +- .../test/jdbc2/BlobTransactionTest.java | 2 +- .../test/jdbc2/CopyBothResponseTest.java | 2 +- .../org/postgresql/test/jdbc2/DriverTest.java | 2 +- .../postgresql/test/jdbc2/PGPropertyTest.java | 8 +- .../test/jdbc2/SearchPathLookupTest.java | 2 +- .../postgresql/test/jdbc2/StatementTest.java | 10 +- .../postgresql/test/jdbc2/TimezoneTest.java | 33 +++-- .../jdbc2/optional/BaseDataSourceTest.java | 10 +- .../optional/CaseOptimiserDataSourceTest.java | 4 +- .../jdbc2/optional/ConnectionPoolTest.java | 2 +- .../postgresql/test/jdbc4/ClientInfoTest.java | 4 +- .../postgresql/test/jdbc4/IsValidTest.java | 2 +- .../postgresql/test/jdbc4/WrapperTest.java | 2 +- .../jdbc4/jdbc41/CloseOnCompletionTest.java | 8 +- .../test/jdbc4/jdbc41/GetObjectTest.java | 5 +- .../test/jdbc4/jdbc41/SchemaTest.java | 4 +- .../SharedTimerClassLoaderLeakTest.java | 10 +- .../test/jdbc42/SimpleJdbc42Test.java | 4 +- .../test/jre8/core/SocksProxyTest.java | 2 +- .../socketfactory/SocketFactoryTestSuite.java | 2 +- .../SingleCertValidatingFactoryTestSuite.java | 36 ++--- .../postgresql/test/util/LruCacheTest.java | 2 +- .../test/util/rules/ServerVersionRule.java | 6 +- .../postgresql/test/xa/XADataSourceTest.java | 6 +- 135 files changed, 1028 insertions(+), 1050 deletions(-) diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index 4b4c089c37..ae846b03c3 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -204,12 +204,12 @@ - + - + diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index 7cdeb76031..e5f955d251 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -38,21 +38,18 @@ import java.util.logging.StreamHandler; /** - * The Java SQL framework allows for multiple database drivers. Each driver should supply a class - * that implements the Driver interface + *

The Java SQL framework allows for multiple database drivers. Each driver should supply a class + * that implements the Driver interface

* - *

- * The DriverManager will try to load as many drivers as it can find and then for any given - * connection request, it will ask each driver in turn to try to connect to the target URL. + *

The DriverManager will try to load as many drivers as it can find and then for any given + * connection request, it will ask each driver in turn to try to connect to the target URL.

* - *

- * It is strongly recommended that each Driver class should be small and standalone so that the - * Driver class can be loaded and queried without bringing in vast quantities of supporting code. + *

It is strongly recommended that each Driver class should be small and standalone so that the + * Driver class can be loaded and queried without bringing in vast quantities of supporting code.

* - *

- * When a Driver class is loaded, it should create an instance of itself and register it with the + *

When a Driver class is loaded, it should create an instance of itself and register it with the * DriverManager. This means that a user can load and register a driver by doing - * Class.forName("foo.bah.Driver") + * Class.forName("foo.bah.Driver")

* * @see org.postgresql.PGConnection * @see java.sql.Driver @@ -157,46 +154,48 @@ private Properties loadDefaultProperties() throws IOException { } /** - * Try to make a database connection to the given URL. The driver should return "null" if it + *

Try to make a database connection to the given URL. The driver should return "null" if it * realizes it is the wrong kind of driver to connect to the given URL. This will be common, as * when the JDBC driverManager is asked to connect to a given URL, it passes the URL to each - * loaded driver in turn. + * loaded driver in turn.

* - *

- * The driver should raise an SQLException if it is the right driver to connect to the given URL, - * but has trouble connecting to the database. + *

The driver should raise an SQLException if it is the right driver to connect to the given URL, + * but has trouble connecting to the database.

* - *

- * The java.util.Properties argument can be used to pass arbitrary string tag/value pairs as - * connection arguments. + *

The java.util.Properties argument can be used to pass arbitrary string tag/value pairs as + * connection arguments.

* - * user - (required) The user to connect as password - (optional) The password for the user ssl - - * (optional) Use SSL when connecting to the server readOnly - (optional) Set connection to - * read-only by default charSet - (optional) The character set to be used for converting to/from + *
    + *
  • user - (required) The user to connect as
  • + *
  • password - (optional) The password for the user
  • + *
  • ssl -(optional) Use SSL when connecting to the server
  • + *
  • readOnly - (optional) Set connection to read-only by default
  • + *
  • charSet - (optional) The character set to be used for converting to/from * the database to unicode. If multibyte is enabled on the server then the character set of the * database is used as the default, otherwise the jvm character encoding is used as the default. - * This value is only used when connecting to a 7.2 or older server. loglevel - (optional) Enable - * logging of messages from the driver. The value is an integer from 0 to 2 where: OFF = 0, INFO = - * 1, DEBUG = 2 The output is sent to DriverManager.getPrintWriter() if set, otherwise it is sent - * to System.out. compatible - (optional) This is used to toggle between different functionality + * This value is only used when connecting to a 7.2 or older server.
  • + *
  • loglevel - (optional) Enable logging of messages from the driver. The value is an integer + * from 0 to 2 where: OFF = 0, INFO =1, DEBUG = 2 The output is sent to + * DriverManager.getPrintWriter() if set, otherwise it is sent to System.out.
  • + *
  • compatible - (optional) This is used to toggle between different functionality * as it changes across different releases of the jdbc driver code. The values here are versions * of the jdbc client and not server versions. For example in 7.1 get/setBytes worked on * LargeObject values, in 7.2 these methods were changed to work on bytea values. This change in * functionality could be disabled by setting the compatible level to be "7.1", in which case the - * driver will revert to the 7.1 functionality. + * driver will revert to the 7.1 functionality.
  • + *
* - *

- * Normally, at least "user" and "password" properties should be included in the properties. For a + *

Normally, at least "user" and "password" properties should be included in the properties. For a * list of supported character encoding , see * http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html Note that you will * probably want to have set up the Postgres database itself to use the same encoding, with the - * {@code -E } argument to createdb. + * {@code -E } argument to createdb.

* - * Our protocol takes the forms: + *

Our protocol takes the forms:

* - *
+   * 
    *  jdbc:postgresql://host:port/database?param1=val1&...
-   * 
+ *
* * @param url the URL of the database to connect to * @param info a list of arbitrary tag/value pairs as connection arguments @@ -285,9 +284,9 @@ public Connection connect(String url, Properties info) throws SQLException { private static String loggerHandlerFile; /** - * Setup java.util.logging.Logger using connection properties. - *

- * See {@link PGProperty#LOGGER_FILE} and {@link PGProperty#LOGGER_FILE} + *

Setup java.util.logging.Logger using connection properties.

+ * + *

See {@link PGProperty#LOGGER_FILE} and {@link PGProperty#LOGGER_FILE}

* * @param props Connection Properties */ @@ -470,12 +469,11 @@ public boolean acceptsURL(String url) { } /** - * The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties - * it should prompt a human for in order to get enough information to connect to a database. + *

The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties + * it should prompt a human for in order to get enough information to connect to a database.

* - *

- * Note that depending on the values the human has supplied so far, additional values may become - * necessary, so it may be necessary to iterate through several calls to getPropertyInfo + *

Note that depending on the values the human has supplied so far, additional values may become + * necessary, so it may be necessary to iterate through several calls to getPropertyInfo

* * @param url the Url of the database to connect to * @param info a proposed list of tag/value pairs that will be sent on connect open. @@ -522,12 +520,11 @@ public static String getVersion() { } /** - * Report whether the driver is a genuine JDBC compliant driver. A driver may only report "true" + *

Report whether the driver is a genuine JDBC compliant driver. A driver may only report "true" * here if it passes the JDBC compliance tests, otherwise it is required to return false. JDBC - * compliance requires full support for the JDBC API and full support for SQL 92 Entry Level. + * compliance requires full support for the JDBC API and full support for SQL 92 Entry Level.

* - *

- * For PostgreSQL, this is not yet possible, as we are not SQL92 compliant (yet). + *

For PostgreSQL, this is not yet possible, as we are not SQL92 compliant (yet).

*/ @Override public boolean jdbcCompliant() { @@ -535,7 +532,7 @@ public boolean jdbcCompliant() { } /** - * Constructs a new DriverURL, splitting the specified URL into its component parts + * Constructs a new DriverURL, splitting the specified URL into its component parts. * * @param url JDBC URL to parse * @param defaults Default properties diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index eea200e2f2..078474ca73 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -112,13 +112,11 @@ public interface PGConnection { void addDataType(String type, String className); /** - * This allows client code to add a handler for one of org.postgresql's more unique data types. + *

This allows client code to add a handler for one of org.postgresql's more unique data types.

* - *

- * NOTE: This is not part of JDBC, but an extension. + *

NOTE: This is not part of JDBC, but an extension.

* - *

- * The best way to use this is as follows: + *

The best way to use this is as follows:

* *
    * ...
@@ -126,11 +124,9 @@ public interface PGConnection {
    * ...
    * 
* - *

- * where myconn is an open Connection to org.postgresql. + *

where myconn is an open Connection to org.postgresql.

* - *

- * The handling class must extend org.postgresql.util.PGobject + *

The handling class must extend org.postgresql.util.PGobject

* * @param type the PostgreSQL type to register * @param klass the class implementing the Java representation of the type; this class must @@ -161,7 +157,7 @@ public interface PGConnection { int getPrepareThreshold(); /** - * Set the default fetch size for statements created from this connection + * Set the default fetch size for statements created from this connection. * * @param fetchSize new default fetch size * @throws SQLException if specified negative fetchSize parameter @@ -171,7 +167,7 @@ public interface PGConnection { /** - * Get the default fetch size for statements created from this connection + * Get the default fetch size for statements created from this connection. * * @return current state for default fetch size * @see PGProperty#DEFAULT_ROW_FETCH_SIZE @@ -209,11 +205,11 @@ public interface PGConnection { String escapeLiteral(String literal) throws SQLException; /** - * Returns the query mode for this connection. - *

- * When running in simple query mode, certain features are not available: callable statements, - * partial result set fetch, bytea type, etc. - * The list of supported features is subject to change. + *

Returns the query mode for this connection.

+ * + *

When running in simple query mode, certain features are not available: callable statements, + * partial result set fetch, bytea type, etc.

+ *

The list of supported features is subject to change.

* * @return the preferred query mode * @see PreferQueryMode diff --git a/pgjdbc/src/main/java/org/postgresql/PGNotification.java b/pgjdbc/src/main/java/org/postgresql/PGNotification.java index 9824a24b34..03c8bb87bd 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGNotification.java +++ b/pgjdbc/src/main/java/org/postgresql/PGNotification.java @@ -6,11 +6,11 @@ package org.postgresql; /** - * This interface defines the public PostgreSQL extension for Notifications + * This interface defines the public PostgreSQL extension for Notifications. */ public interface PGNotification { /** - * Returns name of this notification + * Returns name of this notification. * * @return name of this notification * @since 7.3 @@ -18,7 +18,7 @@ public interface PGNotification { String getName(); /** - * Returns the process id of the backend process making this notification + * Returns the process id of the backend process making this notification. * * @return process id of the backend process making this notification * @since 7.3 diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index cc24669e16..e56e05eb73 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -20,19 +20,19 @@ public enum PGProperty { /** - * Database name to connect to (may be specified directly in the JDBC URL) + * Database name to connect to (may be specified directly in the JDBC URL). */ PG_DBNAME("PGDBNAME", null, "Database name to connect to (may be specified directly in the JDBC URL)", true), /** - * Hostname of the PostgreSQL server (may be specified directly in the JDBC URL) + * Hostname of the PostgreSQL server (may be specified directly in the JDBC URL). */ PG_HOST("PGHOST", null, "Hostname of the PostgreSQL server (may be specified directly in the JDBC URL)", false), /** - * Port of the PostgreSQL server (may be specified directly in the JDBC URL) + * Port of the PostgreSQL server (may be specified directly in the JDBC URL). */ PG_PORT("PGPORT", null, "Port of the PostgreSQL server (may be specified directly in the JDBC URL)"), @@ -56,27 +56,28 @@ public enum PGProperty { false, "3"), /** - * Logger level of the driver. Allowed values: {@code OFF}, {@code DEBUG} or {@code TRACE}. - *

- * This enable the {@link java.util.logging.Logger} of the driver based on the following mapping - * of levels: - *

- * FINE -> DEBUG
- * FINEST -> TRACE - *

- * NOTE: The recommended approach to enable java.util.logging is using a + *

Logger level of the driver. Allowed values: {@code OFF}, {@code DEBUG} or {@code TRACE}.

+ * + *

This enable the {@link java.util.logging.Logger} of the driver based on the following mapping + * of levels:

+ *
    + *
  • FINE -> DEBUG
  • + *
  • FINEST -> TRACE
  • + *
+ * + *

NOTE: The recommended approach to enable java.util.logging is using a * {@code logging.properties} configuration file with the property * {@code -Djava.util.logging.config.file=myfile} or if your are using an application server - * you should use the appropriate logging subsystem. + * you should use the appropriate logging subsystem.

*/ LOGGER_LEVEL("loggerLevel", null, "Logger level of the driver", false, "OFF", "DEBUG", "TRACE"), /** - * File name output of the Logger, if set, the Logger will use a + *

File name output of the Logger, if set, the Logger will use a * {@link java.util.logging.FileHandler} to write to a specified file. If the parameter is not set - * or the file can't be created the {@link java.util.logging.ConsoleHandler} will be used instead. - *

- * Parameter should be use together with {@link PGProperty#LOGGER_LEVEL} + * or the file can't be created the {@link java.util.logging.ConsoleHandler} will be used instead.

+ * + *

Parameter should be use together with {@link PGProperty#LOGGER_LEVEL}

*/ LOGGER_FILE("loggerFile", null, "File name output of the Logger"), @@ -190,7 +191,7 @@ public enum PGProperty { SSL_FACTORY("sslfactory", null, "Provide a SSLSocketFactory class when using SSL."), /** - * The String argument to give to the constructor of the SSL Factory + * The String argument to give to the constructor of the SSL Factory. */ SSL_FACTORY_ARG("sslfactoryarg", null, "Argument forwarded to constructor of SSLSocketFactory class."), @@ -229,7 +230,7 @@ public enum PGProperty { "The password for the client's ssl key (ignored if sslpasswordcallback is set)"), /** - * The classname instantiating {@code javax.security.auth.callback.CallbackHandler} to use + * The classname instantiating {@code javax.security.auth.callback.CallbackHandler} to use. */ SSL_PASSWORD_CALLBACK("sslpasswordcallback", null, "A class, implementing javax.security.auth.callback.CallbackHandler that can handle PassworCallback for the ssl password."), @@ -248,10 +249,10 @@ public enum PGProperty { "Specify how long to wait for establishment of a database connection."), /** - * The timeout value used for socket connect operations. If connecting to the server takes longer - * than this value, the connection is broken. - *

- * The timeout is specified in seconds and a value of zero means that it is disabled. + *

The timeout value used for socket connect operations. If connecting to the server takes longer + * than this value, the connection is broken.

+ * + *

The timeout is specified in seconds and a value of zero means that it is disabled.

*/ CONNECT_TIMEOUT("connectTimeout", "10", "The timeout value used for socket connect operations."), @@ -277,7 +278,7 @@ public enum PGProperty { SOCKET_FACTORY("socketFactory", null, "Specify a socket factory for socket creation"), /** - * The String argument to give to the constructor of the Socket Factory + * The String argument to give to the constructor of the Socket Factory. */ SOCKET_FACTORY_ARG("socketFactoryArg", null, "Argument forwarded to constructor of SocketFactory class."), @@ -295,13 +296,13 @@ public enum PGProperty { SEND_BUFFER_SIZE("sendBufferSize", "-1", "Socket write buffer size"), /** - * Assume the server is at least that version + * Assume the server is at least that version. */ ASSUME_MIN_SERVER_VERSION("assumeMinServerVersion", null, "Assume the server is at least that version"), /** - * The application name (require server version >= 9.0) + * The application name (require server version >= 9.0). */ APPLICATION_NAME("ApplicationName", DriverInfo.DRIVER_NAME, "Name of the Application (backend >= 9.0)"), @@ -326,7 +327,7 @@ public enum PGProperty { "The Kerberos service name to use when authenticating with GSSAPI."), /** - * Use SPNEGO in SSPI authentication requests + * Use SPNEGO in SSPI authentication requests. */ USE_SPNEGO("useSpnego", "false", "Use SPNEGO in SSPI authentication requests"), @@ -370,11 +371,11 @@ public enum PGProperty { "Specifies period (seconds) after which the host status is checked again in case it has changed"), /** - * Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), + *

Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), * extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, - * extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache. + * extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.

* - * This mode is meant for debugging purposes and/or for cases when extended protocol cannot be used (e.g. logical replication protocol) + *

This mode is meant for debugging purposes and/or for cases when extended protocol cannot be used (e.g. logical replication protocol)

*/ PREFER_QUERY_MODE("preferQueryMode", "extended", "Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), " @@ -407,8 +408,9 @@ public enum PGProperty { * of replication commands can be issued instead of SQL statements. Only the simple query protocol * can be used in walsender mode. Passing "database" as the value instructs walsender to connect * to the database specified in the dbname parameter, which will allow the connection to be used - * for logical replication from that database.

Parameter should be use together with {@link - * PGProperty#ASSUME_MIN_SERVER_VERSION} with parameter >= 9.4 (backend >= 9.4) + * for logical replication from that database.

+ *

Parameter should be use together with {@link PGProperty#ASSUME_MIN_SERVER_VERSION} with + * parameter >= 9.4 (backend >= 9.4)

*/ REPLICATION("replication", null, "Connection parameter passed in startup message, one of 'true' or 'database' " @@ -455,7 +457,7 @@ public String getName() { } /** - * Returns the default value for this connection parameter + * Returns the default value for this connection parameter. * * @return the default value for this connection parameter or null */ @@ -464,7 +466,7 @@ public String getDefaultValue() { } /** - * Returns the available values for this connection parameter + * Returns the available values for this connection parameter. * * @return the available values for this connection parameter or null */ @@ -474,7 +476,7 @@ public String[] getChoices() { /** * Returns the value of the connection parameters according to the given {@code Properties} or the - * default value + * default value. * * @param properties properties to take actual value from * @return evaluated value for this connection parameter @@ -484,7 +486,7 @@ public String get(Properties properties) { } /** - * Set the value for this connection parameter in the given {@code Properties} + * Set the value for this connection parameter in the given {@code Properties}. * * @param properties properties in which the value should be set * @param value value for this connection parameter @@ -498,7 +500,7 @@ public void set(Properties properties, String value) { } /** - * Return the boolean value for this connection parameter in the given {@code Properties} + * Return the boolean value for this connection parameter in the given {@code Properties}. * * @param properties properties to take actual value from * @return evaluated value for this connection parameter converted to boolean @@ -509,7 +511,7 @@ public boolean getBoolean(Properties properties) { /** * Return the int value for this connection parameter in the given {@code Properties}. Prefer the - * use of {@link #getInt(Properties)} anywhere you can throw an {@link java.sql.SQLException} + * use of {@link #getInt(Properties)} anywhere you can throw an {@link java.sql.SQLException}. * * @param properties properties to take actual value from * @return evaluated value for this connection parameter converted to int @@ -521,7 +523,7 @@ public int getIntNoCheck(Properties properties) { } /** - * Return the int value for this connection parameter in the given {@code Properties} + * Return the int value for this connection parameter in the given {@code Properties}. * * @param properties properties to take actual value from * @return evaluated value for this connection parameter converted to int @@ -538,7 +540,7 @@ public int getInt(Properties properties) throws PSQLException { } /** - * Return the {@code Integer} value for this connection parameter in the given {@code Properties} + * Return the {@code Integer} value for this connection parameter in the given {@code Properties}. * * @param properties properties to take actual value from * @return evaluated value for this connection parameter converted to Integer or null @@ -558,7 +560,7 @@ public Integer getInteger(Properties properties) throws PSQLException { } /** - * Set the boolean value for this connection parameter in the given {@code Properties} + * Set the boolean value for this connection parameter in the given {@code Properties}. * * @param properties properties in which the value should be set * @param value boolean value for this connection parameter @@ -568,7 +570,7 @@ public void set(Properties properties, boolean value) { } /** - * Set the int value for this connection parameter in the given {@code Properties} + * Set the int value for this connection parameter in the given {@code Properties}. * * @param properties properties in which the value should be set * @param value int value for this connection parameter @@ -578,7 +580,7 @@ public void set(Properties properties, int value) { } /** - * Test whether this property is present in the given {@code Properties} + * Test whether this property is present in the given {@code Properties}. * * @param properties set of properties to check current in * @return true if the parameter is specified in the given properties @@ -589,7 +591,7 @@ public boolean isPresent(Properties properties) { /** * Convert this connection parameter and the value read from the given {@code Properties} into a - * {@code DriverPropertyInfo} + * {@code DriverPropertyInfo}. * * @param properties properties to take actual value from * @return a DriverPropertyInfo representing this connection parameter diff --git a/pgjdbc/src/main/java/org/postgresql/PGStatement.java b/pgjdbc/src/main/java/org/postgresql/PGStatement.java index b1d53872b1..17d2ffde86 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/PGStatement.java @@ -56,15 +56,15 @@ public interface PGStatement { boolean isUseServerPrepare(); /** - * Sets the reuse threshold for using server-prepared statements. - *

- * If threshold is a non-zero value N, the Nth and subsequent reuses of a - * PreparedStatement will use server-side prepare. - *

- * If threshold is zero, server-side prepare will not be used. - *

- * The reuse threshold is only used by PreparedStatement and CallableStatement objects; it is - * ignored for plain Statements. + *

Sets the reuse threshold for using server-prepared statements.

+ * + *

If threshold is a non-zero value N, the Nth and subsequent reuses of a + * PreparedStatement will use server-side prepare.

+ * + *

If threshold is zero, server-side prepare will not be used.

+ * + *

The reuse threshold is only used by PreparedStatement and CallableStatement objects; it is + * ignored for plain Statements.

* * @param threshold the new threshold for this statement * @throws SQLException if an exception occurs while changing the threshold diff --git a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java index 50dfaf6933..ed2d5876ce 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java @@ -20,7 +20,7 @@ import java.sql.SQLException; /** - * API for PostgreSQL COPY bulk data transfer + * API for PostgreSQL COPY bulk data transfer. */ public class CopyManager { // I don't know what the best buffer size is, so we let people specify it if diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java index 0a166a98d1..4b4060ccc2 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java @@ -15,7 +15,7 @@ import java.sql.SQLException; /** - * InputStream for reading from a PostgreSQL COPY TO STDOUT operation + * InputStream for reading from a PostgreSQL COPY TO STDOUT operation. */ public class PGCopyInputStream extends InputStream implements CopyOut { private CopyOut op; @@ -24,7 +24,7 @@ public class PGCopyInputStream extends InputStream implements CopyOut { private int len; /** - * Uses given connection for specified COPY TO STDOUT operation + * Uses given connection for specified COPY TO STDOUT operation. * * @param connection database connection to use for copying (protocol version 3 required) * @param sql COPY TO STDOUT statement @@ -35,7 +35,7 @@ public PGCopyInputStream(PGConnection connection, String sql) throws SQLExceptio } /** - * Use given CopyOut operation for reading + * Use given CopyOut operation for reading. * * @param op COPY TO STDOUT operation */ diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java index 5f420e52e8..ce5459c85e 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java @@ -13,7 +13,7 @@ import java.sql.SQLException; /** - * OutputStream for buffered input into a PostgreSQL COPY FROM STDIN operation + * OutputStream for buffered input into a PostgreSQL COPY FROM STDIN operation. */ public class PGCopyOutputStream extends OutputStream implements CopyIn { private CopyIn op; @@ -22,7 +22,7 @@ public class PGCopyOutputStream extends OutputStream implements CopyIn { private int at = 0; /** - * Uses given connection for specified COPY FROM STDIN operation + * Uses given connection for specified COPY FROM STDIN operation. * * @param connection database connection to use for copying (protocol version 3 required) * @param sql COPY FROM STDIN statement @@ -33,7 +33,7 @@ public PGCopyOutputStream(PGConnection connection, String sql) throws SQLExcepti } /** - * Uses given connection for specified COPY FROM STDIN operation + * Uses given connection for specified COPY FROM STDIN operation. * * @param connection database connection to use for copying (protocol version 3 required) * @param sql COPY FROM STDIN statement @@ -46,7 +46,7 @@ public PGCopyOutputStream(PGConnection connection, String sql, int bufferSize) } /** - * Use given CopyIn operation for writing + * Use given CopyIn operation for writing. * * @param op COPY FROM STDIN operation */ @@ -55,7 +55,7 @@ public PGCopyOutputStream(CopyIn op) { } /** - * Use given CopyIn operation for writing + * Use given CopyIn operation for writing. * * @param op COPY FROM STDIN operation * @param bufferSize try to send this many bytes at a time diff --git a/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java b/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java index 2e03611b01..1d316a079c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java @@ -64,12 +64,12 @@ ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) ReplicationProtocol getReplicationProtocol(); /** - * Construct and return an appropriate object for the given type and value. This only considers + *

Construct and return an appropriate object for the given type and value. This only considers * the types registered via {@link org.postgresql.PGConnection#addDataType(String, Class)} and - * {@link org.postgresql.PGConnection#addDataType(String, String)}. - *

- * If no class is registered as handling the given type, then a generic - * {@link org.postgresql.util.PGobject} instance is returned. + * {@link org.postgresql.PGConnection#addDataType(String, String)}.

+ * + *

If no class is registered as handling the given type, then a generic + * {@link org.postgresql.util.PGobject} instance is returned.

* * @param type the backend typename * @param value the type-specific string representation of the value @@ -84,10 +84,10 @@ ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) TypeInfo getTypeInfo(); /** - * Check if we have at least a particular server version. + *

Check if we have at least a particular server version.

* - * The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 - * is 90012 . + *

The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 + * is 90012.

* * @param ver the server version to check, of the form xxyyzz eg 90401 * @return true if the server version is at least "ver". @@ -95,10 +95,10 @@ ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) boolean haveMinimumServerVersion(int ver); /** - * Check if we have at least a particular server version. + *

Check if we have at least a particular server version.

* - * The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 - * is 90012 . + *

The input version is of the form xxyyzz, matching a PostgreSQL version like xx.yy.zz. So 9.0.12 + * is 90012.

* * @param ver the server version to check * @return true if the server version is at least "ver". @@ -184,7 +184,7 @@ ResultSet execSQLQuery(String s, int resultSetType, int resultSetConcurrency) void purgeTimerTasks(); /** - * Return metadata cache for given connection + * Return metadata cache for given connection. * * @return metadata cache */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java index 45d4f1e9ad..23ac4cd05a 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/CachedQuery.java @@ -44,7 +44,7 @@ public void increaseExecuteCount(int inc) { } /** - * Number of times this statement has been used + * Number of times this statement has been used. * * @return number of times this statement has been used */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java b/pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java index 039fe065bb..7e2399a74c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java @@ -24,12 +24,12 @@ */ public abstract class ConnectionFactory { /** - * Establishes and initializes a new connection. - *

- * If the "protocolVersion" property is specified, only that protocol version is tried. Otherwise, - * all protocols are tried in order, falling back to older protocols as necessary. - *

- * Currently, protocol versions 3 (7.4+) is supported. + *

Establishes and initializes a new connection.

+ * + *

If the "protocolVersion" property is specified, only that protocol version is tried. Otherwise, + * all protocols are tried in order, falling back to older protocols as necessary.

+ * + *

Currently, protocol versions 3 (7.4+) is supported.

* * @param hostSpecs at least one host and port to connect to; multiple elements for round-robin * failover diff --git a/pgjdbc/src/main/java/org/postgresql/core/Encoding.java b/pgjdbc/src/main/java/org/postgresql/core/Encoding.java index db7f9bce53..5914aaf4f7 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Encoding.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Encoding.java @@ -118,7 +118,7 @@ public boolean hasAsciiNumbers() { * * @param jvmEncoding the name of the JVM encoding * @return an Encoding instance for the specified encoding, or an Encoding instance for the - * default JVM encoding if the specified encoding is unavailable. + * default JVM encoding if the specified encoding is unavailable. */ public static Encoding getJVMEncoding(String jvmEncoding) { if ("UTF-8".equals(jvmEncoding)) { @@ -136,7 +136,7 @@ public static Encoding getJVMEncoding(String jvmEncoding) { * * @param databaseEncoding the name of the database encoding * @return an Encoding instance for the specified encoding, or an Encoding instance for the - * default JVM encoding if the specified encoding is unavailable. + * default JVM encoding if the specified encoding is unavailable. */ public static Encoding getDatabaseEncoding(String databaseEncoding) { if ("UTF8".equals(databaseEncoding)) { diff --git a/pgjdbc/src/main/java/org/postgresql/core/EncodingPredictor.java b/pgjdbc/src/main/java/org/postgresql/core/EncodingPredictor.java index 1ed55c06e5..a720d88c80 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/EncodingPredictor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/EncodingPredictor.java @@ -8,10 +8,13 @@ import java.io.IOException; /** - * Predicts encoding for error messages based on some heuristics: - * 1) For certain languages, it is known how "FATAL" is translated - * 2) For Japanese, several common words are hardcoded - * 3) Then try various LATIN encodings + *

Predicts encoding for error messages based on some heuristics.

+ * + *
    + *
  1. For certain languages, it is known how "FATAL" is translated
  2. + *
  3. For Japanese, several common words are hardcoded
  4. + *
  5. Then try various LATIN encodings
  6. + *
*/ public class EncodingPredictor { /** diff --git a/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java b/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java index 82773b27fc..eee6b9c188 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java +++ b/pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java @@ -25,7 +25,7 @@ public static JavaVersion getRuntimeVersion() { } /** - * Java version string like in {@code "java.version"} property + * Java version string like in {@code "java.version"} property. * * @param version string like 1.6, 1.7, etc * @return JavaVersion enum diff --git a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java index 01ee48e7e2..db9f84230b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java +++ b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java @@ -18,7 +18,7 @@ public JdbcCallParseInfo(String sql, boolean isFunction) { } /** - * SQL in a native for certain backend version + * SQL in a native for certain backend version. * * @return SQL in a native for certain backend version */ @@ -27,7 +27,7 @@ public String getSql() { } /** - * Returns if given SQL is a function + * Returns if given SQL is a function. * * @return {@code true} if given SQL is a function */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index cbb1bd63fd..63065730a0 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -25,11 +25,11 @@ import javax.net.SocketFactory; /** - * Wrapper around the raw connection to the server that implements some basic primitives - * (reading/writing formatted data, doing string encoding, etc). - *

- * In general, instances of PGStream are not threadsafe; the caller must ensure that only one thread - * at a time is accessing a particular PGStream instance. + *

Wrapper around the raw connection to the server that implements some basic primitives + * (reading/writing formatted data, doing string encoding, etc).

+ * + *

In general, instances of PGStream are not threadsafe; the caller must ensure that only one thread + * at a time is accessing a particular PGStream instance.

*/ public class PGStream implements Closeable, Flushable { private final SocketFactory socketFactory; @@ -172,12 +172,12 @@ public void close() throws IOException { } /** - * Get a Writer instance that encodes directly onto the underlying stream. - *

- * The returned Writer should not be closed, as it's a shared object. Writer.flush needs to be + *

Get a Writer instance that encodes directly onto the underlying stream.

+ * + *

The returned Writer should not be closed, as it's a shared object. Writer.flush needs to be * called when switching between use of the Writer and use of the PGStream write methods, but it * won't actually flush output all the way out -- call {@link #flush} to actually ensure all - * output has been pushed to the server. + * output has been pushed to the server.

* * @return the shared Writer instance * @throws IOException if something goes wrong. @@ -190,7 +190,7 @@ public Writer getEncodingWriter() throws IOException { } /** - * Sends a single character to the back end + * Sends a single character to the back end. * * @param val the character to be sent * @throws IOException if an I/O error occurs @@ -200,7 +200,7 @@ public void sendChar(int val) throws IOException { } /** - * Sends a 4-byte integer to the back end + * Sends a 4-byte integer to the back end. * * @param val the integer to be sent * @throws IOException if an I/O error occurs @@ -214,7 +214,7 @@ public void sendInteger4(int val) throws IOException { } /** - * Sends a 2-byte integer (short) to the back end + * Sends a 2-byte integer (short) to the back end. * * @param val the integer to be sent * @throws IOException if an I/O error occurs or {@code val} cannot be encoded in 2 bytes @@ -230,7 +230,7 @@ public void sendInteger2(int val) throws IOException { } /** - * Send an array of bytes to the backend + * Send an array of bytes to the backend. * * @param buf The array of bytes to be sent * @throws IOException if an I/O error occurs @@ -284,7 +284,7 @@ public int peekChar() throws IOException { } /** - * Receives a single character from the backend + * Receives a single character from the backend. * * @return the character received * @throws IOException if an I/O Error occurs @@ -298,7 +298,7 @@ public int receiveChar() throws IOException { } /** - * Receives a four byte integer from the backend + * Receives a four byte integer from the backend. * * @return the integer received from the backend * @throws IOException if an I/O error occurs @@ -313,7 +313,7 @@ public int receiveInteger4() throws IOException { } /** - * Receives a two byte integer from the backend + * Receives a two byte integer from the backend. * * @return the integer received from the backend * @throws IOException if an I/O error occurs @@ -422,7 +422,7 @@ public byte[][] receiveTupleV3() throws IOException, OutOfMemoryError { } /** - * Reads in a given number of bytes from the backend + * Reads in a given number of bytes from the backend. * * @param siz number of bytes to read * @return array of bytes received @@ -435,7 +435,7 @@ public byte[] receive(int siz) throws IOException { } /** - * Reads in a given number of bytes from the backend + * Reads in a given number of bytes from the backend. * * @param buf buffer to store result * @param off offset in buffer @@ -515,7 +515,7 @@ public void flush() throws IOException { } /** - * Consume an expected EOF from the backend + * Consume an expected EOF from the backend. * * @throws IOException if an I/O error occurs * @throws SQLException if we get something other than an EOF @@ -530,7 +530,7 @@ public void receiveEOF() throws SQLException, IOException { } /** - * Closes the connection + * Closes the connection. * * @throws IOException if an I/O Error occurs */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java b/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java index eac40048f8..4f7da855e5 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java @@ -10,15 +10,15 @@ import java.sql.SQLException; /** - * Abstraction of a list of parameters to be substituted into a Query. The protocol-specific details + *

Abstraction of a list of parameters to be substituted into a Query. The protocol-specific details * of how to efficiently store and stream the parameters is hidden behind implementations of this - * interface. - *

- * In general, instances of ParameterList are associated with a particular Query object (the one - * that created them) and shouldn't be used against another Query. - *

- * Parameter indexes are 1-based to match JDBC's PreparedStatement, i.e. the first parameter has - * index 1. + * interface.

+ * + *

In general, instances of ParameterList are associated with a particular Query object (the one + * that created them) and shouldn't be used against another Query.

+ * + *

Parameter indexes are 1-based to match JDBC's PreparedStatement, i.e. the first parameter has + * index 1.

* * @author Oliver Jowett (oliver@opencloud.com) */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 1b94f9d82a..5cd2dfb272 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -382,11 +382,11 @@ private static int[] toIntArray(List list) { } /** - * Find the end of the single-quoted string starting at the given offset. + *

Find the end of the single-quoted string starting at the given offset.

* - * Note: for 'single '' quote in string', this method currently returns the offset of + *

Note: for 'single '' quote in string', this method currently returns the offset of * first ' character after the initial one. The caller must call the method a second time - * for the second part of the quoted string. + * for the second part of the quoted string.

* * @param query query * @param offset start offset @@ -432,11 +432,11 @@ && charTerminatesIdentifier(query[offset - 2])) { } /** - * Find the end of the double-quoted string starting at the given offset. + *

Find the end of the double-quoted string starting at the given offset.

* - * Note: for "double "" quote in string", this method currently + *

Note: for "double "" quote in string", this method currently * returns the offset of first " character after the initial one. The caller must - * call the method a second time for the second part of the quoted string. + * call the method a second time for the second part of the quoted string.

* * @param query query * @param offset start offset @@ -736,7 +736,7 @@ public static boolean isSpace(char c) { /** * @param c character * @return true if the given character is a valid character for an operator in the backend's - * parser + * parser */ public static boolean isOperatorChar(char c) { /* @@ -1052,13 +1052,13 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString } /** - * Filter the SQL string of Java SQL Escape clauses. - *

- * Currently implemented Escape clauses are those mentioned in 11.3 in the specification. + *

Filter the SQL string of Java SQL Escape clauses.

+ * + *

Currently implemented Escape clauses are those mentioned in 11.3 in the specification. * Basically we look through the sql string for {d xxx}, {t xxx}, {ts xxx}, {oj xxx} or {fn xxx} * in non-string sql code. When we find them, we just strip the escape part leaving only the xxx * part. So, something like "select * from x where d={d '2001-10-09'}" would return "select * from - * x where d= '2001-10-09'". + * x where d= '2001-10-09'".

* * @param p_sql the original query text * @param replaceProcessingEnabled whether replace_processing_enabled is on @@ -1247,7 +1247,7 @@ private static int escapeFunction(char[] p_sql, int i, StringBuilder newsql, boo } /** - * generate sql for escaped functions + * Generate sql for escaped functions. * * @param newsql destination StringBuilder * @param functionName the escaped function name diff --git a/pgjdbc/src/main/java/org/postgresql/core/Query.java b/pgjdbc/src/main/java/org/postgresql/core/Query.java index 5976660515..b54a034843 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Query.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Query.java @@ -9,21 +9,21 @@ import java.util.Map; /** - * Abstraction of a generic Query, hiding the details of any protocol-version-specific data needed - * to execute the query efficiently. - *

- * Query objects should be explicitly closed when no longer needed; if resources are allocated on - * the server for this query, their cleanup is triggered by closing the Query. + *

Abstraction of a generic Query, hiding the details of any protocol-version-specific data needed + * to execute the query efficiently.

+ * + *

Query objects should be explicitly closed when no longer needed; if resources are allocated on + * the server for this query, their cleanup is triggered by closing the Query.

* * @author Oliver Jowett (oliver@opencloud.com) */ public interface Query { /** - * Create a ParameterList suitable for storing parameters associated with this Query. - *

- * If this query has no parameters, a ParameterList will be returned, but it may be a shared + *

Create a ParameterList suitable for storing parameters associated with this Query.

+ * + *

If this query has no parameters, a ParameterList will be returned, but it may be a shared * immutable object. If this query does have parameters, the returned ParameterList is a new list, - * unshared by other callers. + * unshared by other callers.

* * @return a suitable ParameterList instance for this query */ @@ -40,7 +40,7 @@ public interface Query { String toString(ParameterList parameters); /** - * Returns SQL in native for database format + * Returns SQL in native for database format. * @return SQL in native for database format */ String getNativeSql(); @@ -52,10 +52,10 @@ public interface Query { SqlCommand getSqlCommand(); /** - * Close this query and free any server-side resources associated with it. The resources may not - * be immediately deallocated, but closing a Query may make the deallocation more prompt. - *

- * A closed Query should not be executed. + *

Close this query and free any server-side resources associated with it. The resources may not + * be immediately deallocated, but closing a Query may make the deallocation more prompt.

+ * + *

A closed Query should not be executed.

*/ void close(); diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index f829c4320b..b22d554d40 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -22,10 +22,10 @@ import java.util.TimeZone; /** - * Abstracts the protocol-specific details of executing a query. - *

- * Every connection has a single QueryExecutor implementation associated with it. This object - * provides: + *

Abstracts the protocol-specific details of executing a query.

+ * + *

Every connection has a single QueryExecutor implementation associated with it. This object + * provides:

* *
    *
  • factory methods for Query objects ({@link #createSimpleQuery(String)} and @@ -36,18 +36,16 @@ *
  • a fastpath call interface ({@link #createFastpathParameters} and {@link #fastpathCall}). *
* - *

- * Query objects may represent a query that has parameter placeholders. To provide actual values for + *

Query objects may represent a query that has parameter placeholders. To provide actual values for * these parameters, a {@link ParameterList} object is created via a factory method ( * {@link Query#createParameterList}). The parameters are filled in by the caller and passed along * with the query to the query execution methods. Several ParameterLists for a given query might * exist at one time (or over time); this allows the underlying Query to be reused for several - * executions, or for batch execution of the same Query. + * executions, or for batch execution of the same Query.

* - *

- * In general, a Query created by a particular QueryExecutor may only be executed by that + *

In general, a Query created by a particular QueryExecutor may only be executed by that * QueryExecutor, and a ParameterList created by a particular Query may only be used as parameters - * to that Query. Unpredictable things will happen if this isn't done. + * to that Query. Unpredictable things will happen if this isn't done.

* * @author Oliver Jowett (oliver@opencloud.com) */ @@ -202,7 +200,7 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri void releaseQuery(CachedQuery cachedQuery); /** - * Wrap given native query into a ready for execution format + * Wrap given native query into a ready for execution format. * @param queries list of queries in native to database syntax * @return query object ready for execution by this query executor */ @@ -350,14 +348,14 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri boolean isClosed(); /** - * Return the server version from the server_version GUC. + *

Return the server version from the server_version GUC.

* - * Note that there's no requirement for this to be numeric or of the form x.y.z. PostgreSQL + *

Note that there's no requirement for this to be numeric or of the form x.y.z. PostgreSQL * development releases usually have the format x.ydevel e.g. 9.4devel; betas usually x.ybetan - * e.g. 9.4beta1. The --with-extra-version configure option may add an arbitrary string to this. + * e.g. 9.4beta1. The --with-extra-version configure option may add an arbitrary string to this.

* - * Don't use this string for logic, only use it when displaying the server version to the user. - * Prefer getServerVersionNum() for all logic purposes. + *

Don't use this string for logic, only use it when displaying the server version to the user. + * Prefer getServerVersionNum() for all logic purposes.

* * @return the server version string from the server_version guc */ @@ -380,12 +378,12 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri SQLWarning getWarnings(); /** - * Get a machine-readable server version. + *

Get a machine-readable server version.

* - * This returns the value of the server_version_num GUC. If no such GUC exists, it falls back on + *

This returns the value of the server_version_num GUC. If no such GUC exists, it falls back on * attempting to parse the text server version for the major version. If there's no minor version * (e.g. a devel or beta release) then the minor version is set to zero. If the version could not - * be parsed, zero is returned. + * be parsed, zero is returned.

* * @return the server version in numeric XXYYZZ form, eg 090401, from server_version_num */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/ReplicationProtocol.java b/pgjdbc/src/main/java/org/postgresql/core/ReplicationProtocol.java index 189da1c3ef..8c67c06f49 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ReplicationProtocol.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ReplicationProtocol.java @@ -12,14 +12,15 @@ import java.sql.SQLException; /** - *

Abstracts the protocol-specific details of physic and logic replication.

With each - * connection open with replication options associate own instance ReplicationProtocol. + *

Abstracts the protocol-specific details of physic and logic replication.

+ * + *

With each connection open with replication options associate own instance ReplicationProtocol.

*/ public interface ReplicationProtocol { /** * @param options not null options for logical replication stream * @return not null stream instance from which available fetch wal logs that was decode by output - * plugin + * plugin * @throws SQLException on error */ PGReplicationStream startLogical(LogicalReplicationOptions options) throws SQLException; diff --git a/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java b/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java index 33103d658f..4b9e01c469 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java @@ -11,16 +11,16 @@ import java.util.List; /** - * Callback interface for passing query results from the protocol-specific layer to the - * protocol-independent JDBC implementation code. - *

- * In general, a single query execution will consist of a number of calls to handleResultRows, + *

Callback interface for passing query results from the protocol-specific layer to the + * protocol-independent JDBC implementation code.

+ * + *

In general, a single query execution will consist of a number of calls to handleResultRows, * handleCommandStatus, handleWarning, and handleError, followed by a single call to * handleCompletion when query execution is complete. If the caller wants to throw SQLException, - * this can be done in handleCompletion. - *

- * Each executed query ends with a call to handleResultRows, handleCommandStatus, or handleError. If - * an error occurs, subsequent queries won't generate callbacks. + * this can be done in handleCompletion.

+ * + *

Each executed query ends with a call to handleResultRows, handleCommandStatus, or handleError. If + * an error occurs, subsequent queries won't generate callbacks.

* * @author Oliver Jowett (oliver@opencloud.com) */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java index 8f9bd9ce8d..5eae078dd9 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java @@ -44,10 +44,10 @@ public int getVersionNum() { } /** - * Attempt to parse the server version string into an XXYYZZ form version number into a - * {@link Version}. + *

Attempt to parse the server version string into an XXYYZZ form version number into a + * {@link Version}.

* - * If the specified version cannot be parsed, the {@link Version#getVersionNum()} will return 0. + *

If the specified version cannot be parsed, the {@link Version#getVersionNum()} will return 0.

* * @param version version in numeric XXYYZZ form, e.g. "090401" for 9.4.1 * @return a {@link Version} representing the specified version string. @@ -81,18 +81,18 @@ public String toString() { } /** - * Attempt to parse the server version string into an XXYYZZ form version number. + *

Attempt to parse the server version string into an XXYYZZ form version number.

* - * Returns 0 if the version could not be parsed. + *

Returns 0 if the version could not be parsed.

* - * Returns minor version 0 if the minor version could not be determined, e.g. devel or beta - * releases. + *

Returns minor version 0 if the minor version could not be determined, e.g. devel or beta + * releases.

* - * If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and - * returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form). + *

If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and + * returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form).

* - * The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a - * version part is out of range. + *

The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a + * version part is out of range.

* * @param serverVersion server vertion in a XXYYZZ form * @return server version in number form diff --git a/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java b/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java index 0d232b0589..e7cfd3262d 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java @@ -21,7 +21,7 @@ public class SocketFactoryFactory { /** - * Instantiates {@link SocketFactory} based on the {@link PGProperty#SOCKET_FACTORY} + * Instantiates {@link SocketFactory} based on the {@link PGProperty#SOCKET_FACTORY}. * * @param info connection properties * @return socket factory diff --git a/pgjdbc/src/main/java/org/postgresql/core/TypeInfo.java b/pgjdbc/src/main/java/org/postgresql/core/TypeInfo.java index dc2efa601c..504cde72d9 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/TypeInfo.java +++ b/pgjdbc/src/main/java/org/postgresql/core/TypeInfo.java @@ -64,7 +64,7 @@ void addCoreType(String pgTypeName, Integer oid, Integer sqlType, String javaCla int getPGArrayElement(int oid) throws SQLException; /** - * Determine the oid of the given base postgresql type's array type + * Determine the oid of the given base postgresql type's array type. * * @param elementTypeName the base type's * @return the array type's OID, or 0 if unknown diff --git a/pgjdbc/src/main/java/org/postgresql/core/Utils.java b/pgjdbc/src/main/java/org/postgresql/core/Utils.java index f945c84593..e2bf179e2c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Utils.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Utils.java @@ -75,7 +75,7 @@ public static StringBuilder escapeLiteral(StringBuilder sbuf, String value, } /** - * Common part for {@link #escapeLiteral(StringBuilder, String, boolean)} + * Common part for {@link #escapeLiteral(StringBuilder, String, boolean)}. * * @param sbuf Either StringBuffer or StringBuilder as we do not expect any IOException to be * thrown @@ -143,7 +143,7 @@ public static StringBuilder escapeIdentifier(StringBuilder sbuf, String value) } /** - * Common part for appendEscapedIdentifier + * Common part for appendEscapedIdentifier. * * @param sbuf Either StringBuffer or StringBuilder as we do not expect any IOException to be * thrown. @@ -173,18 +173,18 @@ private static void doAppendEscapedIdentifier(Appendable sbuf, String value) thr } /** - * Attempt to parse the server version string into an XXYYZZ form version number. + *

Attempt to parse the server version string into an XXYYZZ form version number.

* - * Returns 0 if the version could not be parsed. + *

Returns 0 if the version could not be parsed.

* - * Returns minor version 0 if the minor version could not be determined, e.g. devel or beta - * releases. + *

Returns minor version 0 if the minor version could not be determined, e.g. devel or beta + * releases.

* - * If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and - * returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form). + *

If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and + * returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form).

* - * The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a - * version part is out of range. + *

The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a + * version part is out of range.

* * @param serverVersion server vertion in a XXYYZZ form * @return server version in number form diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyInImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyInImpl.java index ffac1e8385..f1ce995edc 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyInImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyInImpl.java @@ -13,7 +13,9 @@ import java.sql.SQLException; /** - * Anticipated flow of a COPY FROM STDIN operation: + *

COPY FROM STDIN operation.

+ * + *

Anticipated flow: * * CopyManager.copyIn() ->QueryExecutor.startCopy() - sends given query to server * ->processCopyResults(): - receives CopyInResponse from Server - creates new CopyInImpl @@ -27,7 +29,7 @@ * ->QueryExecutorImpl.endCopy() - sends CopyDone - processCopyResults() - on CommandComplete * ->CopyOperationImpl.handleCommandComplete() - sets updatedRowCount when applicable - on * ReadyForQuery unlock() connection for use by other operations <-return: - * CopyInImpl.getUpdatedRowCount() + * CopyInImpl.getUpdatedRowCount()

*/ public class CopyInImpl extends CopyOperationImpl implements CopyIn { diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOperationImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOperationImpl.java index 7676117ded..a7bb1e8d2c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOperationImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOperationImpl.java @@ -57,7 +57,7 @@ public void handleCommandStatus(String status) throws PSQLException { } /** - * Consume received copy data + * Consume received copy data. * * @param data data that was receive by copy protocol * @throws PSQLException if some internal problem occurs diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOutImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOutImpl.java index a90ac6f9b1..f3fffb5e83 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOutImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyOutImpl.java @@ -10,9 +10,9 @@ import java.sql.SQLException; /** - * Anticipated flow of a COPY TO STDOUT operation: + *

Anticipated flow of a COPY TO STDOUT operation:

* - * CopyManager.copyOut() ->QueryExecutor.startCopy() - sends given query to server + *

CopyManager.copyOut() ->QueryExecutor.startCopy() - sends given query to server * ->processCopyResults(): - receives CopyOutResponse from Server - creates new CopyOutImpl * ->initCopy(): - receives copy metadata from server ->CopyOutImpl.init() ->lock() * connection for this operation - if query fails an exception is thrown - if query returns wrong @@ -21,7 +21,7 @@ * ->CopyOutImpl.readFromCopy() ->QueryExecutorImpl.readFromCopy() ->processCopyResults() - * on copydata row from server ->CopyOutImpl.handleCopydata() stores reference to byte array - on * CopyDone, CommandComplete, ReadyForQuery ->unlock() connection for use by other operations - * <-returned: byte array of data received from server or null at end. + * <-returned: byte array of data received from server or null at end.

*/ public class CopyOutImpl extends CopyOperationImpl implements CopyOut { private byte[] currentDataRow; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ExecuteRequest.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ExecuteRequest.java index 41a5831b1e..cf6b2a86ac 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ExecuteRequest.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ExecuteRequest.java @@ -6,7 +6,7 @@ package org.postgresql.core.v3; /** - * Information for "pending execute queue" + * Information for "pending execute queue". * * @see QueryExecutorImpl#pendingExecuteQueue */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 251c840522..edc504dba3 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -76,12 +76,12 @@ public class QueryExecutorImpl extends QueryExecutorBase { private static final Pattern COMMAND_COMPLETE_PATTERN = Pattern.compile("^([A-Za-z]++)(?: (\\d++))?+(?: (\\d++))?+$"); /** - * TimeZone of the current connection (TimeZone backend parameter) + * TimeZone of the current connection (TimeZone backend parameter). */ private TimeZone timeZone; /** - * application_name connection property + * application_name connection property. */ private String applicationName; @@ -102,7 +102,7 @@ public class QueryExecutorImpl extends QueryExecutorBase { /** * This is a fake query object so processResults can distinguish "ReadyForQuery" messages - * from Sync messages vs from simple execute (aka 'Q') + * from Sync messages vs from simple execute (aka 'Q'). */ private final SimpleQuery sync = (SimpleQuery) createQuery("SYNC", false, true).query; @@ -137,16 +137,16 @@ public int getProtocolVersion() { } /** - * Supplement to synchronization of public methods on current QueryExecutor. + *

Supplement to synchronization of public methods on current QueryExecutor.

* - * Necessary for keeping the connection intact between calls to public methods sharing a state + *

Necessary for keeping the connection intact between calls to public methods sharing a state * such as COPY subprotocol. waitOnLock() must be called at beginning of each connection access - * point. + * point.

* - * Public methods sharing that state must then be synchronized among themselves. Normal method - * synchronization typically suffices for that. + *

Public methods sharing that state must then be synchronized among themselves. Normal method + * synchronization typically suffices for that.

* - * See notes on related methods as well as currentCopy() below. + *

See notes on related methods as well as currentCopy() below.

*/ private Object lockedFor = null; @@ -847,9 +847,9 @@ public synchronized CopyOperation startCopy(String sql, boolean suppressBegin) /** * Locks connection and calls initializer for a new CopyOperation Called via startCopy -> - * processCopyResults + * processCopyResults. * - * @param op an unitialized CopyOperation + * @param op an uninitialized CopyOperation * @throws SQLException on locking failure * @throws IOException on database connection failure */ @@ -941,7 +941,7 @@ public void cancelCopy(CopyOperationImpl op) throws SQLException { } /** - * Finishes writing to copy and unlocks connection + * Finishes writing to copy and unlocks connection. * * @param op the copy operation presumably currently holding lock on this connection * @return number of rows updated for server versions 8.2 or newer @@ -1017,7 +1017,7 @@ public synchronized void flushCopy(CopyOperationImpl op) throws SQLException { /** * Wait for a row of data to be received from server on an active copy operation - * Connection gets unlocked by processCopyResults() at end of operation + * Connection gets unlocked by processCopyResults() at end of operation. * * @param op the copy operation presumably currently holding lock on this connection * @param block whether to block waiting for input @@ -2731,12 +2731,12 @@ public boolean getIntegerDateTimes() { /** - * The estimated server response size since we last consumed the input stream from the server, in - * bytes. + *

The estimated server response size since we last consumed the input stream from the server, in + * bytes.

* - * Starts at zero, reset by every Sync message. Mainly used for batches. + *

Starts at zero, reset by every Sync message. Mainly used for batches.

* - * Used to avoid deadlocks, see MAX_BUFFERED_RECV_BYTES. + *

Used to avoid deadlocks, see MAX_BUFFERED_RECV_BYTES.

*/ private int estimatedReceiveBufferBytes = 0; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java index f35f3a1a7f..4be7ac4397 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java @@ -67,10 +67,10 @@ public SimpleQuery[] getSubqueries() { } /** - * Return maximum size in bytes that each result row from this query may return. Mainly used for - * batches that return results. + *

Return maximum size in bytes that each result row from this query may return. Mainly used for + * batches that return results.

* - * Results are cached until/unless the query is re-described. + *

Results are cached until/unless the query is re-described.

* * @return Max size of result data in bytes according to returned fields, 0 if no results, -1 if * result is unbounded. diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/TypeTransferModeRegistry.java b/pgjdbc/src/main/java/org/postgresql/core/v3/TypeTransferModeRegistry.java index 7000c8872d..c50570ca65 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/TypeTransferModeRegistry.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/TypeTransferModeRegistry.java @@ -7,14 +7,14 @@ public interface TypeTransferModeRegistry { /** - * Returns if given oid should be sent in binary format + * Returns if given oid should be sent in binary format. * @param oid type oid * @return true if given oid should be sent in binary format */ boolean useBinaryForSend(int oid); /** - * Returns if given oid should be received in binary format + * Returns if given oid should be received in binary format. * @param oid type oid * @return true if given oid should be received in binary format */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java index 1ffdbba413..38d1afd89c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java @@ -33,7 +33,7 @@ public class V3PGReplicationStream implements PGReplicationStream { private LogSequenceNumber lastServerLSN = LogSequenceNumber.INVALID_LSN; /** - * Last receive LSN + payload size + * Last receive LSN + payload size. */ private LogSequenceNumber lastReceiveLSN = LogSequenceNumber.INVALID_LSN; private LogSequenceNumber lastAppliedLSN = LogSequenceNumber.INVALID_LSN; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java index b61caf0a38..682374734c 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java @@ -66,7 +66,7 @@ private PGReplicationStream initializeReplication(String query, CommonOptions op } /** - * START_REPLICATION [SLOT slot_name] [PHYSICAL] XXX/XXX + * START_REPLICATION [SLOT slot_name] [PHYSICAL] XXX/XXX. */ private String createStartPhysicalQuery(PhysicalReplicationOptions options) { StringBuilder builder = new StringBuilder(); diff --git a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java index 64b1b40108..97ad127791 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java @@ -368,13 +368,13 @@ public boolean isClosed() { } /** - * Instead of declaring classes implementing Statement, PreparedStatement, and CallableStatement, + *

Instead of declaring classes implementing Statement, PreparedStatement, and CallableStatement, * which would have to be updated for every JDK rev, use a dynamic proxy to handle all calls * through the Statement interfaces. This is the part that requires JDK 1.3 or higher, though JDK - * 1.2 could be supported with a 3rd-party proxy package. + * 1.2 could be supported with a 3rd-party proxy package.

* - * The StatementHandler is required in order to return the proper Connection proxy for the - * getConnection method. + *

The StatementHandler is required in order to return the proper Connection proxy for the + * getConnection method.

*/ private class StatementHandler implements InvocationHandler { private ConnectionHandler con; diff --git a/pgjdbc/src/main/java/org/postgresql/ds/PGPoolingDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/PGPoolingDataSource.java index c8c4ce44ba..31d8d416a6 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/PGPoolingDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/PGPoolingDataSource.java @@ -55,7 +55,7 @@ * @author Aaron Mulder (ammulder@chariotsolutions.com) * * @deprecated Since 42.0.0, instead of this class you should use a fully featured connection pool - * like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. + * like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. */ @Deprecated public class PGPoolingDataSource extends BaseDataSource implements DataSource { diff --git a/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java b/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java index f4af2b77a4..04b0db7bf8 100644 --- a/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java +++ b/pgjdbc/src/main/java/org/postgresql/fastpath/Fastpath.java @@ -20,13 +20,11 @@ import java.util.logging.Level; /** - * This class implements the Fastpath api. + *

This class implements the Fastpath api.

* - *

- * This is a means of executing functions embedded in the backend from within a java application. + *

This is a means of executing functions embedded in the backend from within a java application.

* - *

- * It is based around the file src/interfaces/libpq/fe-exec.c + *

It is based around the file src/interfaces/libpq/fe-exec.c

* * @deprecated This API is somewhat obsolete, as one may achieve similar performance * and greater functionality by setting up a prepared statement to define @@ -47,7 +45,7 @@ public class Fastpath { private final BaseConnection connection; /** - * Initialises the fastpath system + * Initialises the fastpath system. * * @param conn BaseConnection to attach to */ @@ -57,7 +55,7 @@ public Fastpath(BaseConnection conn) { } /** - * Send a function call to the PostgreSQL backend + * Send a function call to the PostgreSQL backend. * * @param fnId Function id * @param resultType True if the result is a numeric (Integer or Long) @@ -89,7 +87,7 @@ public Object fastpath(int fnId, boolean resultType, FastpathArg[] args) throws } /** - * Send a function call to the PostgreSQL backend + * Send a function call to the PostgreSQL backend. * * @param fnId Function id * @param args FastpathArguments to pass to fastpath @@ -127,15 +125,15 @@ public Object fastpath(String name, boolean resulttype, FastpathArg[] args) thro } /** - * Send a function call to the PostgreSQL backend by name. + *

Send a function call to the PostgreSQL backend by name.

* - * Note: the mapping for the procedure name to function id needs to exist, usually to an earlier - * call to addfunction(). + *

Note: the mapping for the procedure name to function id needs to exist, usually to an earlier + * call to addfunction().

* - * This is the preferred method to call, as function id's can/may change between versions of the - * backend. + *

This is the preferred method to call, as function id's can/may change between versions of the + * backend.

* - * For an example of how this works, refer to org.postgresql.largeobject.LargeObject + *

For an example of how this works, refer to org.postgresql.largeobject.LargeObject

* * @param name Function name * @param args FastpathArguments to pass to fastpath @@ -149,7 +147,7 @@ public byte[] fastpath(String name, FastpathArg[] args) throws SQLException { } /** - * This convenience method assumes that the return value is an integer + * This convenience method assumes that the return value is an integer. * * @param name Function name * @param args Function arguments @@ -174,7 +172,7 @@ public int getInteger(String name, FastpathArg[] args) throws SQLException { } /** - * This convenience method assumes that the return value is a long (bigint) + * This convenience method assumes that the return value is a long (bigint). * * @param name Function name * @param args Function arguments @@ -216,7 +214,7 @@ public long getOID(String name, FastpathArg[] args) throws SQLException { } /** - * This convenience method assumes that the return value is not an Integer + * This convenience method assumes that the return value is not an Integer. * * @param name Function name * @param args Function arguments @@ -228,12 +226,11 @@ public byte[] getData(String name, FastpathArg[] args) throws SQLException { } /** - * This adds a function to our lookup table. + *

This adds a function to our lookup table.

* - *

- * User code should use the addFunctions method, which is based upon a query, rather than hard + *

User code should use the addFunctions method, which is based upon a query, rather than hard * coding the oid. The oid for a function is not guaranteed to remain static, even on different - * servers of the same version. + * servers of the same version.

* * @param name Function name * @param fnid Function id @@ -243,35 +240,28 @@ public void addFunction(String name, int fnid) { } /** - * This takes a ResultSet containing two columns. Column 1 contains the function name, Column 2 - * the oid. + *

This takes a ResultSet containing two columns. Column 1 contains the function name, Column 2 + * the oid.

* - *

- * It reads the entire ResultSet, loading the values into the function table. + *

It reads the entire ResultSet, loading the values into the function table.

* - *

- * REMEMBER to close() the resultset after calling this!! + *

REMEMBER to close() the resultset after calling this!!

* - *

- * Implementation note about function name lookups: + *

Implementation note about function name lookups:

* - *

- * PostgreSQL stores the function id's and their corresponding names in the pg_proc table. To + *

PostgreSQL stores the function id's and their corresponding names in the pg_proc table. To * speed things up locally, instead of querying each function from that table when required, a * HashMap is used. Also, only the function's required are entered into this table, keeping - * connection times as fast as possible. + * connection times as fast as possible.

* - *

- * The org.postgresql.largeobject.LargeObject class performs a query upon it's startup, and passes - * the returned ResultSet to the addFunctions() method here. + *

The org.postgresql.largeobject.LargeObject class performs a query upon it's startup, and passes + * the returned ResultSet to the addFunctions() method here.

* - *

- * Once this has been done, the LargeObject api refers to the functions by name. + *

Once this has been done, the LargeObject api refers to the functions by name.

* - *

- * Dont think that manually converting them to the oid's will work. Ok, they will for now, but + *

Don't think that manually converting them to the oid's will work. Ok, they will for now, but * they can change during development (there was some discussion about this for V7.0), so this is - * implemented to prevent any unwarranted headaches in the future. + * implemented to prevent any unwarranted headaches in the future.

* * @param rs ResultSet * @throws SQLException if a database-access error occurs. @@ -284,11 +274,10 @@ public void addFunctions(ResultSet rs) throws SQLException { } /** - * This returns the function id associated by its name. + *

This returns the function id associated by its name.

* - *

- * If addFunction() or addFunctions() have not been called for this name, then an SQLException is - * thrown. + *

If addFunction() or addFunctions() have not been called for this name, then an SQLException is + * thrown.

* * @param name Function name to lookup * @return Function ID for fastpath call diff --git a/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java b/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java index 891bee59be..42143e14b2 100644 --- a/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java +++ b/pgjdbc/src/main/java/org/postgresql/fastpath/FastpathArg.java @@ -33,7 +33,7 @@ public class FastpathArg { private final int bytesLength; /** - * Constructs an argument that consists of an integer value + * Constructs an argument that consists of an integer value. * * @param value int value to set */ @@ -48,7 +48,7 @@ public FastpathArg(int value) { } /** - * Constructs an argument that consists of an integer value + * Constructs an argument that consists of an integer value. * * @param value int value to set */ @@ -67,7 +67,7 @@ public FastpathArg(long value) { } /** - * Constructs an argument that consists of an array of bytes + * Constructs an argument that consists of an array of bytes. * * @param bytes array to store */ @@ -76,7 +76,7 @@ public FastpathArg(byte[] bytes) { } /** - * Constructs an argument that consists of part of a byte array + * Constructs an argument that consists of part of a byte array. * * @param buf source array * @param off offset within array diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGbox.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGbox.java index 12d920bac1..d2c40a6cf0 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGbox.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGbox.java @@ -56,7 +56,7 @@ public PGbox(String s) throws SQLException { } /** - * Required constructor + * Required constructor. */ public PGbox() { setType("box"); diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGcircle.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGcircle.java index c8ae7aabe0..9f3f6802ef 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGcircle.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGcircle.java @@ -15,16 +15,16 @@ import java.sql.SQLException; /** - * This represents org.postgresql's circle datatype, consisting of a point and a radius + * This represents org.postgresql's circle datatype, consisting of a point and a radius. */ public class PGcircle extends PGobject implements Serializable, Cloneable { /** - * This is the center point + * This is the center point. */ public PGpoint center; /** - * This is the radius + * This is the radius. */ public double radius; diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGline.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGline.java index b3b6ea7262..5a82eb5073 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGline.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGline.java @@ -15,22 +15,22 @@ import java.sql.SQLException; /** - * This implements a line represented by the linear equation Ax + By + C = 0 + * This implements a line represented by the linear equation Ax + By + C = 0. **/ public class PGline extends PGobject implements Serializable, Cloneable { /** - * Coefficient of x + * Coefficient of x. */ public double a; /** - * Coefficient of y + * Coefficient of y. */ public double b; /** - * Constant + * Constant. */ public double c; @@ -89,7 +89,7 @@ public PGline(String s) throws SQLException { } /** - * required by the driver + * required by the driver. */ public PGline() { setType("line"); diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGlseg.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGlseg.java index bc4fef8b58..729ae28943 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGlseg.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGlseg.java @@ -15,7 +15,7 @@ import java.sql.SQLException; /** - * This implements a lseg (line segment) consisting of two points + * This implements a lseg (line segment) consisting of two points. */ public class PGlseg extends PGobject implements Serializable, Cloneable { /** @@ -53,7 +53,7 @@ public PGlseg(String s) throws SQLException { } /** - * reuired by the driver + * required by the driver. */ public PGlseg() { setType("lseg"); diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGpath.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGpath.java index 1b013bd2b5..2ee7dcbc81 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGpath.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGpath.java @@ -15,16 +15,16 @@ import java.sql.SQLException; /** - * This implements a path (a multiple segmented line, which may be closed) + * This implements a path (a multiple segmented line, which may be closed). */ public class PGpath extends PGobject implements Serializable, Cloneable { /** - * True if the path is open, false if closed + * True if the path is open, false if closed. */ public boolean open; /** - * The points defining this path + * The points defining this path. */ public PGpoint[] points; @@ -39,7 +39,7 @@ public PGpath(PGpoint[] points, boolean open) { } /** - * Required by the driver + * Required by the driver. */ public PGpath() { setType("path"); @@ -127,7 +127,7 @@ public Object clone() throws CloneNotSupportedException { } /** - * This returns the path in the syntax expected by org.postgresql + * This returns the path in the syntax expected by org.postgresql. */ public String getValue() { StringBuilder b = new StringBuilder(open ? "[" : "("); diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGpoint.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGpoint.java index eb860e5fa2..cbdaddf1a0 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGpoint.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGpoint.java @@ -18,18 +18,18 @@ import java.sql.SQLException; /** - * It maps to the point datatype in org.postgresql. + *

It maps to the point datatype in org.postgresql.

* - * This implements a version of java.awt.Point, except it uses double to represent the coordinates. + *

This implements a version of java.awt.Point, except it uses double to represent the coordinates.

*/ public class PGpoint extends PGobject implements PGBinaryObject, Serializable, Cloneable { /** - * The X coordinate of the point + * The X coordinate of the point. */ public double x; /** - * The Y coordinate of the point + * The Y coordinate of the point. */ public double y; @@ -56,7 +56,7 @@ public PGpoint(String value) throws SQLException { } /** - * Required by the driver + * Required by the driver. */ public PGpoint() { setType("point"); @@ -116,7 +116,7 @@ public int lengthInBytes() { } /** - * Populate the byte array with PGpoint in the binary syntax expected by org.postgresql + * Populate the byte array with PGpoint in the binary syntax expected by org.postgresql. */ public void toBytes(byte[] b, int offset) { ByteConverter.float8(b, offset, x); @@ -166,7 +166,7 @@ public void move(double x, double y) { } /** - * Moves the point to the supplied coordinates. refer to java.awt.Point for description of this + * Moves the point to the supplied coordinates. refer to java.awt.Point for description of this. * * @param x integer coordinate * @param y integer coordinate @@ -177,7 +177,7 @@ public void setLocation(int x, int y) { } /** - * Moves the point to the supplied java.awt.Point refer to java.awt.Point for description of this + * Moves the point to the supplied java.awt.Point refer to java.awt.Point for description of this. * * @param p Point to move to * @see java.awt.Point diff --git a/pgjdbc/src/main/java/org/postgresql/geometric/PGpolygon.java b/pgjdbc/src/main/java/org/postgresql/geometric/PGpolygon.java index 079efb47ef..f295f343ca 100644 --- a/pgjdbc/src/main/java/org/postgresql/geometric/PGpolygon.java +++ b/pgjdbc/src/main/java/org/postgresql/geometric/PGpolygon.java @@ -16,12 +16,12 @@ */ public class PGpolygon extends PGobject implements Serializable, Cloneable { /** - * The points defining the polygon + * The points defining the polygon. */ public PGpoint[] points; /** - * Creates a polygon using an array of PGpoints + * Creates a polygon using an array of PGpoints. * * @param points the points defining the polygon */ @@ -40,7 +40,7 @@ public PGpolygon(String s) throws SQLException { } /** - * Required by the driver + * Required by the driver. */ public PGpolygon() { setType("polygon"); diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java index 6ffaa5eacd..c5b2598921 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/HostRequirement.java @@ -33,13 +33,12 @@ public boolean allowConnectingTo(HostStatus status) { public abstract boolean allowConnectingTo(HostStatus status); /** - * - * The postgreSQL project has decided not to use the term slave to refer to alternate servers. + *

The postgreSQL project has decided not to use the term slave to refer to alternate servers. * secondary or standby is preferred. We have arbitrarily chosen secondary. * As of Jan 2018 in order not to break existint code we are going to accept both slave or - * secondary for names of alternate servers. + * secondary for names of alternate servers.

* - * The current policy is to keep accepting this silently but not document slave, or slave preferSlave + *

The current policy is to keep accepting this silently but not document slave, or slave preferSlave

* * @param targetServerType the value of {@code targetServerType} connection property * @return HostRequirement diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java b/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java index 90daeaa8ac..f53ea69241 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java @@ -128,7 +128,7 @@ public synchronized OutputStream setBinaryStream(long pos) throws SQLException { } /** - * Iterate over the buffer looking for the specified pattern + * Iterate over the buffer looking for the specified pattern. * * @param pattern A pattern of bytes to search the blob for * @param start The position to start reading from @@ -194,7 +194,7 @@ private byte next() { /** - * This is simply passing the byte value of the pattern Blob + * This is simply passing the byte value of the pattern Blob. * * @param pattern search pattern * @param start start position diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/BooleanTypeUtil.java b/pgjdbc/src/main/java/org/postgresql/jdbc/BooleanTypeUtil.java index be37a177b6..84080db22e 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/BooleanTypeUtil.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/BooleanTypeUtil.java @@ -13,10 +13,10 @@ import java.util.logging.Logger; /** - * Helper class to handle boolean type of PostgreSQL. - *

- * Based on values accepted by the PostgreSQL server: - * https://www.postgresql.org/docs/current/static/datatype-boolean.html + *

Helper class to handle boolean type of PostgreSQL.

+ * + *

Based on values accepted by the PostgreSQL server: + * https://www.postgresql.org/docs/current/static/datatype-boolean.html

*/ class BooleanTypeUtil { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java index 76970f7e31..ccc36dabc1 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions.java @@ -17,7 +17,7 @@ import java.util.Map; /** - * This class stores supported escaped function + * This class stores supported escaped function. * * @author Xavier Poinsard * @deprecated see {@link EscapedFunctions2} @@ -115,7 +115,7 @@ public class EscapedFunctions { /** - * storage for functions implementations + * storage for functions implementations. */ private static Map functionMap = createFunctionMap(); @@ -131,7 +131,7 @@ private static Map createFunctionMap() { } /** - * get Method object implementing the given function + * get Method object implementing the given function. * * @param functionName name of the searched function * @return a Method object or null if not found @@ -143,7 +143,7 @@ public static Method getFunction(String functionName) { // ** numeric functions translations ** /** - * ceiling to ceil translation + * ceiling to ceil translation. * * @param parsedArgs arguments * @return sql call @@ -154,7 +154,7 @@ public static String sqlceiling(List parsedArgs) throws SQLException { } /** - * log to ln translation + * log to ln translation. * * @param parsedArgs arguments * @return sql call @@ -165,7 +165,7 @@ public static String sqllog(List parsedArgs) throws SQLException { } /** - * log10 to log translation + * log10 to log translation. * * @param parsedArgs arguments * @return sql call @@ -176,7 +176,7 @@ public static String sqllog10(List parsedArgs) throws SQLException { } /** - * power to pow translation + * power to pow translation. * * @param parsedArgs arguments * @return sql call @@ -187,7 +187,7 @@ public static String sqlpower(List parsedArgs) throws SQLException { } /** - * truncate to trunc translation + * truncate to trunc translation. * * @param parsedArgs arguments * @return sql call @@ -200,7 +200,7 @@ public static String sqltruncate(List parsedArgs) throws SQLException { // ** string functions translations ** /** - * char to chr translation + * char to chr translation. * * @param parsedArgs arguments * @return sql call @@ -211,7 +211,7 @@ public static String sqlchar(List parsedArgs) throws SQLException { } /** - * concat translation + * concat translation. * * @param parsedArgs arguments * @return sql call @@ -229,7 +229,7 @@ public static String sqlconcat(List parsedArgs) { } /** - * insert to overlay translation + * insert to overlay translation. * * @param parsedArgs arguments * @return sql call @@ -248,7 +248,7 @@ public static String sqlinsert(List parsedArgs) throws SQLException { } /** - * lcase to lower translation + * lcase to lower translation. * * @param parsedArgs arguments * @return sql call @@ -259,7 +259,7 @@ public static String sqllcase(List parsedArgs) throws SQLException { } /** - * left to substring translation + * left to substring translation. * * @param parsedArgs arguments * @return sql call @@ -277,7 +277,7 @@ public static String sqlleft(List parsedArgs) throws SQLException { } /** - * length translation + * length translation. * * @param parsedArgs arguments * @return sql call @@ -295,7 +295,7 @@ public static String sqllength(List parsedArgs) throws SQLException { } /** - * locate translation + * locate translation. * * @param parsedArgs arguments * @return sql call @@ -315,7 +315,7 @@ public static String sqllocate(List parsedArgs) throws SQLException { } /** - * ltrim translation + * ltrim translation. * * @param parsedArgs arguments * @return sql call @@ -326,7 +326,7 @@ public static String sqlltrim(List parsedArgs) throws SQLException { } /** - * right to substring translation + * right to substring translation. * * @param parsedArgs arguments * @return sql call @@ -348,7 +348,7 @@ public static String sqlright(List parsedArgs) throws SQLException { } /** - * rtrim translation + * rtrim translation. * * @param parsedArgs arguments * @return sql call @@ -359,7 +359,7 @@ public static String sqlrtrim(List parsedArgs) throws SQLException { } /** - * space translation + * space translation. * * @param parsedArgs arguments * @return sql call @@ -370,7 +370,7 @@ public static String sqlspace(List parsedArgs) throws SQLException { } /** - * substring to substr translation + * substring to substr translation. * * @param parsedArgs arguments * @return sql call @@ -389,7 +389,7 @@ public static String sqlsubstring(List parsedArgs) throws SQLException { } /** - * ucase to upper translation + * ucase to upper translation. * * @param parsedArgs arguments * @return sql call @@ -400,7 +400,7 @@ public static String sqlucase(List parsedArgs) throws SQLException { } /** - * curdate to current_date translation + * curdate to current_date translation. * * @param parsedArgs arguments * @return sql call @@ -415,7 +415,7 @@ public static String sqlcurdate(List parsedArgs) throws SQLException { } /** - * curtime to current_time translation + * curtime to current_time translation. * * @param parsedArgs arguments * @return sql call @@ -430,7 +430,7 @@ public static String sqlcurtime(List parsedArgs) throws SQLException { } /** - * dayname translation + * dayname translation. * * @param parsedArgs arguments * @return sql call @@ -445,7 +445,7 @@ public static String sqldayname(List parsedArgs) throws SQLException { } /** - * dayofmonth translation + * dayofmonth translation. * * @param parsedArgs arguments * @return sql call @@ -456,7 +456,7 @@ public static String sqldayofmonth(List parsedArgs) throws SQLException { } /** - * dayofweek translation adding 1 to postgresql function since we expect values from 1 to 7 + * dayofweek translation adding 1 to postgresql function since we expect values from 1 to 7. * * @param parsedArgs arguments * @return sql call @@ -471,7 +471,7 @@ public static String sqldayofweek(List parsedArgs) throws SQLException { } /** - * dayofyear translation + * dayofyear translation. * * @param parsedArgs arguments * @return sql call @@ -482,7 +482,7 @@ public static String sqldayofyear(List parsedArgs) throws SQLException { } /** - * hour translation + * hour translation. * * @param parsedArgs arguments * @return sql call @@ -493,7 +493,7 @@ public static String sqlhour(List parsedArgs) throws SQLException { } /** - * minute translation + * minute translation. * * @param parsedArgs arguments * @return sql call @@ -504,7 +504,7 @@ public static String sqlminute(List parsedArgs) throws SQLException { } /** - * month translation + * month translation. * * @param parsedArgs arguments * @return sql call @@ -515,7 +515,7 @@ public static String sqlmonth(List parsedArgs) throws SQLException { } /** - * monthname translation + * monthname translation. * * @param parsedArgs arguments * @return sql call @@ -530,7 +530,7 @@ public static String sqlmonthname(List parsedArgs) throws SQLException { } /** - * quarter translation + * quarter translation. * * @param parsedArgs arguments * @return sql call @@ -541,7 +541,7 @@ public static String sqlquarter(List parsedArgs) throws SQLException { } /** - * second translation + * second translation. * * @param parsedArgs arguments * @return sql call @@ -552,7 +552,7 @@ public static String sqlsecond(List parsedArgs) throws SQLException { } /** - * week translation + * week translation. * * @param parsedArgs arguments * @return sql call @@ -563,7 +563,7 @@ public static String sqlweek(List parsedArgs) throws SQLException { } /** - * year translation + * year translation. * * @param parsedArgs arguments * @return sql call @@ -574,7 +574,7 @@ public static String sqlyear(List parsedArgs) throws SQLException { } /** - * time stamp add + * time stamp add. * * @param parsedArgs arguments * @return sql call @@ -627,7 +627,7 @@ private static String constantToInterval(String type, String value) throws SQLEx /** - * time stamp diff + * time stamp diff. * * @param parsedArgs arguments * @return sql call @@ -682,7 +682,7 @@ private static String constantToDatePart(String type) throws SQLException { } /** - * database translation + * database translation. * * @param parsedArgs arguments * @return sql call @@ -697,7 +697,7 @@ public static String sqldatabase(List parsedArgs) throws SQLException { } /** - * ifnull translation + * ifnull translation. * * @param parsedArgs arguments * @return sql call @@ -708,7 +708,7 @@ public static String sqlifnull(List parsedArgs) throws SQLException { } /** - * user translation + * user translation. * * @param parsedArgs arguments * @return sql call diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java index 79373253c4..2104cf47a2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java @@ -80,6 +80,7 @@ public static Method getFunction(String functionName) { /** * ceiling to ceil translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -90,6 +91,7 @@ public static void sqlceiling(StringBuilder buf, List pa /** * log to ln translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -100,6 +102,7 @@ public static void sqllog(StringBuilder buf, List parsed /** * log10 to log translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -110,6 +113,7 @@ public static void sqllog10(StringBuilder buf, List pars /** * power to pow translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -120,6 +124,7 @@ public static void sqlpower(StringBuilder buf, List pars /** * truncate to trunc translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -132,6 +137,7 @@ public static void sqltruncate(StringBuilder buf, List p /** * char to chr translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -142,6 +148,7 @@ public static void sqlchar(StringBuilder buf, List parse /** * concat translation * + * @param buf The buffer to append into * @param parsedArgs arguments */ public static void sqlconcat(StringBuilder buf, List parsedArgs) { @@ -151,6 +158,7 @@ public static void sqlconcat(StringBuilder buf, List par /** * insert to overlay translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -168,6 +176,7 @@ public static void sqlinsert(StringBuilder buf, List par /** * lcase to lower translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -178,6 +187,7 @@ public static void sqllcase(StringBuilder buf, List pars /** * left to substring translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -192,6 +202,7 @@ public static void sqlleft(StringBuilder buf, List parse /** * length translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -206,6 +217,7 @@ public static void sqllength(StringBuilder buf, List par /** * locate translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -231,6 +243,7 @@ public static void sqllocate(StringBuilder buf, List par /** * ltrim translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -241,6 +254,7 @@ public static void sqlltrim(StringBuilder buf, List pars /** * right to substring translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -261,6 +275,7 @@ public static void sqlright(StringBuilder buf, List pars /** * rtrim translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -271,6 +286,7 @@ public static void sqlrtrim(StringBuilder buf, List pars /** * space translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -281,6 +297,7 @@ public static void sqlspace(StringBuilder buf, List pars /** * substring to substr translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -296,6 +313,7 @@ public static void sqlsubstring(StringBuilder buf, List /** * ucase to upper translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -306,6 +324,7 @@ public static void sqlucase(StringBuilder buf, List pars /** * curdate to current_date translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -316,6 +335,7 @@ public static void sqlcurdate(StringBuilder buf, List pa /** * curtime to current_time translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -326,6 +346,7 @@ public static void sqlcurtime(StringBuilder buf, List pa /** * dayname translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -340,6 +361,7 @@ public static void sqldayname(StringBuilder buf, List pa /** * dayofmonth translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -350,6 +372,7 @@ public static void sqldayofmonth(StringBuilder buf, List /** * dayofweek translation adding 1 to postgresql function since we expect values from 1 to 7 * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -364,6 +387,7 @@ public static void sqldayofweek(StringBuilder buf, List /** * dayofyear translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -374,6 +398,7 @@ public static void sqldayofyear(StringBuilder buf, List /** * hour translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -384,6 +409,7 @@ public static void sqlhour(StringBuilder buf, List parse /** * minute translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -394,6 +420,7 @@ public static void sqlminute(StringBuilder buf, List par /** * month translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -404,6 +431,7 @@ public static void sqlmonth(StringBuilder buf, List pars /** * monthname translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -418,6 +446,7 @@ public static void sqlmonthname(StringBuilder buf, List /** * quarter translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -428,6 +457,7 @@ public static void sqlquarter(StringBuilder buf, List pa /** * second translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -438,6 +468,7 @@ public static void sqlsecond(StringBuilder buf, List par /** * week translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -448,6 +479,7 @@ public static void sqlweek(StringBuilder buf, List parse /** * year translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -458,6 +490,7 @@ public static void sqlyear(StringBuilder buf, List parse /** * time stamp add * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -528,6 +561,7 @@ private static boolean isTsi(String interval) { /** * time stamp diff * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -575,6 +609,7 @@ private static String constantToDatePart(StringBuilder buf, String type) throws /** * database translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -585,6 +620,7 @@ public static void sqldatabase(StringBuilder buf, List p /** * ifnull translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ @@ -595,6 +631,7 @@ public static void sqlifnull(StringBuilder buf, List par /** * user translation * + * @param buf The buffer to append into * @param parsedArgs arguments * @throws SQLException if something wrong happens */ diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java index 3810081f3f..729316ae94 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java @@ -28,16 +28,14 @@ import java.util.logging.Level; /** - * Array is used collect one column of query result data. + *

Array is used collect one column of query result data.

* - *

- * Read a field of type Array into either a natively-typed Java array object or a ResultSet. - * Accessor methods provide the ability to capture array slices. + *

Read a field of type Array into either a natively-typed Java array object or a ResultSet. + * Accessor methods provide the ability to capture array slices.

* - *

- * Other than the constructor all methods are direct implementations of those specified for + *

Other than the constructor all methods are direct implementations of those specified for * java.sql.Array. Please refer to the javadoc for java.sql.Array for detailed descriptions of the - * functionality and parameters of the methods of this class. + * functionality and parameters of the methods of this class.

* * @see ResultSet#getArray */ diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java index 5d5de9fa58..fb78c89c8a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java @@ -156,14 +156,13 @@ public boolean executeWithFlags(int flags) throws SQLException { } /** - * Before executing a stored procedure call you must explicitly call registerOutParameter to - * register the java.sql.Type of each out parameter. + *

Before executing a stored procedure call you must explicitly call registerOutParameter to + * register the java.sql.Type of each out parameter.

* - *

- * Note: When reading the value of an out parameter, you must use the getXXX method whose Java - * type XXX corresponds to the parameter's registered SQL type. + *

Note: When reading the value of an out parameter, you must use the getXXX method whose Java + * type XXX corresponds to the parameter's registered SQL type.

* - * ONLY 1 RETURN PARAMETER if {?= call ..} syntax is used + *

ONLY 1 RETURN PARAMETER if {?= call ..} syntax is used

* * @param parameterIndex the first parameter is 1, the second is 2,... * @param sqlType SQL type code defined by java.sql.Types; for parameters of type Numeric or @@ -222,11 +221,10 @@ public void registerOutParameter(int parameterIndex, int sqlType, boolean setPre } /** - * You must also specify the scale for numeric/decimal types: + *

You must also specify the scale for numeric/decimal types.

* - *

- * Note: When reading the value of an out parameter, you must use the getXXX method whose Java - * type XXX corresponds to the parameter's registered SQL type. + *

Note: When reading the value of an out parameter, you must use the getXXX method whose Java + * type XXX corresponds to the parameter's registered SQL type.

* * @param parameterIndex the first parameter is 1, the second is 2,... * @param sqlType use either java.sql.Type.NUMERIC or java.sql.Type.DECIMAL @@ -388,7 +386,7 @@ protected void checkIndex(int parameterIndex, int type1, int type2, String getNa } /** - * helperfunction for the getXXX calls to check isFunction and index == 1 + * Helper function for the getXXX calls to check isFunction and index == 1. * * @param parameterIndex parameter index (1-based) * @param type type @@ -411,7 +409,7 @@ private void checkIndex(int parameterIndex) throws SQLException { } /** - * helperfunction for the getXXX calls to check isFunction and index == 1 + * Helper function for the getXXX calls to check isFunction and index == 1. * * @param parameterIndex index of getXXX (index) check to make sure is a function and index == 1 * @param fetchingData fetching data diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgClob.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgClob.java index e06fa545a0..5d9fb53527 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgClob.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgClob.java @@ -67,7 +67,7 @@ public synchronized long position(String pattern, long start) throws SQLExceptio } /** - * This should be simply passing the byte value of the pattern Blob + * This should be simply passing the byte value of the pattern Blob. */ public synchronized long position(Clob pattern, long start) throws SQLException { checkFreed(); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index a35a5c851d..7140ab4ab6 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -107,7 +107,7 @@ public class PgConnection implements BaseConnection { protected int prepareThreshold; /** - * Default fetch size for statement + * Default fetch size for statement. * * @see PGProperty#DEFAULT_ROW_FETCH_SIZE */ @@ -356,7 +356,7 @@ public TimestampUtils getTimestampUtils() { } /** - * The current type mappings + * The current type mappings. */ protected Map> typemap; @@ -454,11 +454,11 @@ public void execSQLUpdate(String s) throws SQLException { } /** - * In SQL, a result table can be retrieved through a cursor that is named. The current row of a + *

In SQL, a result table can be retrieved through a cursor that is named. The current row of a * result can be updated or deleted using a positioned update/delete statement that references the - * cursor name. - *

- * We do not support positioned update/delete, so this is a no-op. + * cursor name.

+ * + *

We do not support positioned update/delete, so this is a no-op.

* * @param cursor the cursor name * @throws SQLException if a database access error occurs @@ -480,10 +480,10 @@ public String getCursorName() throws SQLException { } /** - * We are required to bring back certain information by the DatabaseMetaData class. These - * functions do that. - *

- * Method getURL() brings back the URL (good job we saved it) + *

We are required to bring back certain information by the DatabaseMetaData class. These + * functions do that.

+ * + *

Method getURL() brings back the URL (good job we saved it)

* * @return the url * @throws SQLException just in case... @@ -493,7 +493,7 @@ public String getURL() throws SQLException { } /** - * Method getUserName() brings back the User Name (again, we saved it) + * Method getUserName() brings back the User Name (again, we saved it). * * @return the user name * @throws SQLException just in case... @@ -883,11 +883,11 @@ public String getCatalog() throws SQLException { } /** - * Overrides finalize(). If called, it closes the connection. - *

- * This was done at the request of Rachel + *

Overrides finalize(). If called, it closes the connection.

+ * + *

This was done at the request of Rachel * Greenham who hit a problem where multiple clients didn't close the connection, and once a - * fortnight enough clients were open to kill the postgres server. + * fortnight enough clients were open to kill the postgres server.

*/ protected void finalize() throws Throwable { try { @@ -902,7 +902,7 @@ protected void finalize() throws Throwable { } /** - * Get server version number + * Get server version number. * * @return server version number */ @@ -911,7 +911,7 @@ public String getDBVersionNumber() { } /** - * Get server major version + * Get server major version. * * @return server major version */ @@ -925,7 +925,7 @@ public int getServerMajorVersion() { } /** - * Get server minor version + * Get server minor version. * * @return server minor version */ @@ -1004,7 +1004,7 @@ public PGNotification[] getNotifications(int timeoutMillis) throws SQLException } /** - * Handler for transaction queries + * Handler for transaction queries. */ private class TransactionCommandHandler extends ResultHandlerBase { public void handleCompletion() throws SQLException { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index b7063db4ef..4abab216c2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -244,8 +244,7 @@ public String getIdentifierQuoteString() throws SQLException { /** * {@inheritDoc} * - *

- * From PostgreSQL 9.0+ return the keywords from pg_catalog.pg_get_keywords() + *

From PostgreSQL 9.0+ return the keywords from pg_catalog.pg_get_keywords()

* * @return a comma separated list of keywords we use * @throws SQLException if a database access error occurs @@ -412,12 +411,11 @@ public String getSearchStringEscape() throws SQLException { /** * {@inheritDoc} * - *

- * Postgresql allows any high-bit character to be used in an unquoted identifier, so we can't - * possibly list them all. + *

Postgresql allows any high-bit character to be used in an unquoted identifier, so we can't + * possibly list them all.

* - * From the file src/backend/parser/scan.l, an identifier is ident_start [A-Za-z\200-\377_] - * ident_cont [A-Za-z\200-\377_0-9\$] identifier {ident_start}{ident_cont}* + *

From the file src/backend/parser/scan.l, an identifier is ident_start [A-Za-z\200-\377_] + * ident_cont [A-Za-z\200-\377_0-9\$] identifier {ident_start}{ident_cont}*

* * @return a string containing the extra characters * @throws SQLException if a database access error occurs @@ -527,14 +525,11 @@ public boolean supportsNonNullableColumns() throws SQLException { /** * {@inheritDoc} * - * This grammar is defined at: + *

This grammar is defined at: + * + * http://www.microsoft.com/msdn/sdk/platforms/doc/odbc/src/intropr.htm

* - *

- * http://www. - * microsoft.com/msdn/sdk/platforms/doc/odbc/src/intropr.htm - * - *

- * In Appendix C. From this description, we seem to support the ODBC minimal (Level 0) grammar. + *

In Appendix C. From this description, we seem to support the ODBC minimal (Level 0) grammar.

* * @return true */ @@ -636,8 +631,7 @@ public boolean supportsLimitedOuterJoins() throws SQLException { /** * {@inheritDoc} - *

- * PostgreSQL doesn't have schemas, but when it does, we'll use the term "schema". + *

PostgreSQL doesn't have schemas, but when it does, we'll use the term "schema".

* * @return {@code "schema"} */ @@ -819,10 +813,9 @@ public boolean supportsOpenCursorsAcrossRollback() throws SQLException { /** * {@inheritDoc} - *

- * Can statements remain open across commits? They may, but this driver cannot guarantee that. In + *

Can statements remain open across commits? They may, but this driver cannot guarantee that. In * further reflection. we are talking a Statement object here, so the answer is yes, since the - * Statement is only a vehicle to ExecSQL() + * Statement is only a vehicle to ExecSQL()

* * @return true */ @@ -832,10 +825,9 @@ public boolean supportsOpenStatementsAcrossCommit() throws SQLException { /** * {@inheritDoc} - *

- * Can statements remain open across rollbacks? They may, but this driver cannot guarantee that. + *

Can statements remain open across rollbacks? They may, but this driver cannot guarantee that. * In further contemplation, we are talking a Statement object here, so the answer is yes, since - * the Statement is only a vehicle to ExecSQL() in Connection + * the Statement is only a vehicle to ExecSQL() in Connection

* * @return true */ @@ -875,10 +867,9 @@ public int getMaxColumnsInSelect() throws SQLException { * {@inheritDoc} What is the maximum number of columns in a table? From the CREATE TABLE reference * page... * - *

- * "The new class is created as a heap with no initial data. A class can have no more than 1600 + *

"The new class is created as a heap with no initial data. A class can have no more than 1600 * attributes (realistically, this is limited by the fact that tuple sizes must be less than 8192 - * bytes)..." + * bytes)..."

* * @return the max columns * @throws SQLException if a database access error occurs @@ -959,9 +950,8 @@ public boolean supportsTransactions() throws SQLException { /** * {@inheritDoc} - *

- * We only support TRANSACTION_SERIALIZABLE and TRANSACTION_READ_COMMITTED before 8.0; from 8.0 - * READ_UNCOMMITTED and REPEATABLE_READ are accepted aliases for READ_COMMITTED. + *

We only support TRANSACTION_SERIALIZABLE and TRANSACTION_READ_COMMITTED before 8.0; from 8.0 + * READ_UNCOMMITTED and REPEATABLE_READ are accepted aliases for READ_COMMITTED.

*/ public boolean supportsTransactionIsolationLevel(int level) throws SQLException { switch (level) { @@ -984,8 +974,8 @@ public boolean supportsDataManipulationTransactionsOnly() throws SQLException { } /** - * Does a data definition statement within a transaction force the transaction to commit? It seems - * to mean something like: + *

Does a data definition statement within a transaction force the transaction to commit? It seems + * to mean something like:

* *
    * CREATE TABLE T (A INT);
@@ -997,7 +987,7 @@ public boolean supportsDataManipulationTransactionsOnly() throws SQLException {
    * COMMIT;
    * 
* - * does the CREATE TABLE call cause a commit? The answer is no. + *

Does the CREATE TABLE call cause a commit? The answer is no.

* * @return true if so * @throws SQLException if a database access error occurs diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index d093828b5f..d0563beb91 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -72,9 +72,9 @@ class PgPreparedStatement extends PgStatement implements PreparedStatement { protected final ParameterList preparedParameters; // Parameter values for prepared statement. /** - * used to differentiate between new function call logic and old function call logic will be set - * to true if the server is < 8.1 or if we are using v2 protocol There is an exception to this - * where we are using v3, and the call does not have an out parameter before the call + * Used to differentiate between new function call logic and old function call logic. Will be set + * to true if the server is < 8.1 or if we are using v2 protocol. There is an exception to this + * where we are using v3, and the call does not have an out parameter before the call. */ protected boolean adjustIndex = false; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index e8c0a45dca..69ebc3baa1 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1933,24 +1933,24 @@ public String getString(int columnIndex) throws SQLException { } /** - * Retrieves the value of the designated column in the current row of this ResultSet - * object as a boolean in the Java programming language. - *

- * If the designated column has a Character datatype and is one of the following values: "1", + *

Retrieves the value of the designated column in the current row of this ResultSet + * object as a boolean in the Java programming language.

+ * + *

If the designated column has a Character datatype and is one of the following values: "1", * "true", "t", "yes", "y" or "on", a value of true is returned. If the designated * column has a Character datatype and is one of the following values: "0", "false", "f", "no", * "n" or "off", a value of false is returned. Leading or trailing whitespace is - * ignored, and case does not matter. - *

- * If the designated column has a Numeric datatype and is a 1, a value of true is + * ignored, and case does not matter.

+ * + *

If the designated column has a Numeric datatype and is a 1, a value of true is * returned. If the designated column has a Numeric datatype and is a 0, a value of - * false is returned. + * false is returned.

* * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the value returned is * false * @exception SQLException if the columnIndex is not valid; if a database access error occurs; if - * this method is called on a closed result set or is an invalid cast to boolean type. + * this method is called on a closed result set or is an invalid cast to boolean type. * @see PostgreSQL * Boolean Type */ @@ -2362,13 +2362,11 @@ public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException /** * {@inheritDoc} * - *

- * In normal use, the bytes represent the raw values returned by the backend. However, if the + *

In normal use, the bytes represent the raw values returned by the backend. However, if the * column is an OID, then it is assumed to refer to a Large Object, and that object is returned as - * a byte array. + * a byte array.

* - *

- * Be warned If the large object is huge, then you may run out of memory. + *

Be warned If the large object is huge, then you may run out of memory.

*/ public byte[] getBytes(int columnIndex) throws SQLException { connection.getLogger().log(Level.FINEST, " getBytes columnIndex: {0}", columnIndex); @@ -2656,9 +2654,9 @@ public int getColumnOID(int field) { } /** - * This is used to fix get*() methods on Money fields. It should only be used by those methods! + *

This is used to fix get*() methods on Money fields. It should only be used by those methods!

* - * It converts ($##.##) to -##.## and $##.## to ##.## + *

It converts ($##.##) to -##.## and $##.## to ##.##

* * @param col column position (1-based) * @return numeric-parsable representation of money string literal @@ -3016,13 +3014,14 @@ private double readDoubleValue(byte[] bytes, int oid, String targetType) throws } /** - * Converts any numeric binary field to long value. - *

- * This method is used by getByte,getShort,getInt and getLong. It must support a subset of the + *

Converts any numeric binary field to long value.

+ * + *

This method is used by getByte,getShort,getInt and getLong. It must support a subset of the * following java types that use Binary encoding. (fields that use text encoding use a different * code path). - *

+ * * byte,short,int,long,float,double,BigDecimal,boolean,string. + *

* * @param bytes The bytes of the numeric field. * @param oid The oid of the field. diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java index c73939a086..0020219831 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java @@ -31,6 +31,7 @@ public class PgResultSetMetaData implements ResultSetMetaData, PGResultSetMetaDa /** * Initialise for a result with a tuple set and a field descriptor set * + * @param connection the connection to retrieve metadata * @param fields the array of field descriptors */ public PgResultSetMetaData(BaseConnection connection, Field[] fields) { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 06736913ff..1ca12e5ec5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -101,7 +101,7 @@ public class PgStatement implements Statement, BaseStatement { protected volatile PSQLWarningWrapper warnings = null; /** - * Maximum number of rows to return, 0 = unlimited + * Maximum number of rows to return, 0 = unlimited. */ protected int maxrows = 0; @@ -111,7 +111,7 @@ public class PgStatement implements Statement, BaseStatement { protected int fetchSize = 0; /** - * Timeout (in milliseconds) for a query + * Timeout (in milliseconds) for a query. */ protected long timeout = 0; @@ -342,7 +342,7 @@ protected void closeForNextExecution() throws SQLException { } /** - * Returns true if query is unlikely to be reused + * Returns true if query is unlikely to be reused. * * @param cachedQuery to check (null if current query) * @return true if query is unlikely to be reused @@ -543,7 +543,7 @@ public long getQueryTimeoutMs() throws SQLException { } /** - * Sets the queryTimeout limit + * Sets the queryTimeout limit. * * @param millis - the new query timeout limit in milliseconds * @throws SQLException if a database access error occurs @@ -559,11 +559,11 @@ public void setQueryTimeoutMs(long millis) throws SQLException { } /** - * Either initializes new warning wrapper, or adds warning onto the chain. + *

Either initializes new warning wrapper, or adds warning onto the chain.

* - * Although warnings are expected to be added sequentially, the warnings chain may be cleared + *

Although warnings are expected to be added sequentially, the warnings chain may be cleared * concurrently at any time via {@link #clearWarnings()}, therefore it is possible that a warning - * added via this method is placed onto the end of the previous warning chain + * added via this method is placed onto the end of the previous warning chain

* * @param warn warning to add */ @@ -599,11 +599,11 @@ public void setMaxFieldSize(int max) throws SQLException { } /** - * Clears the warning chain.

- * Note that while it is safe to clear warnings while the query is executing, warnings that are + *

Clears the warning chain.

+ *

Note that while it is safe to clear warnings while the query is executing, warnings that are * added between calls to {@link #getWarnings()} and #clearWarnings() may be missed. * Therefore you should hold a reference to the tail of the previous warning chain - * and verify if its {@link SQLWarning#getNextWarning()} value is holds any new value. + * and verify if its {@link SQLWarning#getNextWarning()} value is holds any new value.

*/ public void clearWarnings() throws SQLException { warnings = null; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PreferQueryMode.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PreferQueryMode.java index 42501e1cc0..6526a1d5ee 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PreferQueryMode.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PreferQueryMode.java @@ -6,10 +6,10 @@ package org.postgresql.jdbc; /** - * Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), - * extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only. + *

Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), + * extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only.

* - * Note: this is for debugging purposes only. + *

Note: this is for debugging purposes only.

* * @see org.postgresql.PGProperty#PREFER_QUERY_MODE */ diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 1d75784d20..21bd627972 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -1147,12 +1147,12 @@ public LocalDateTime toLocalDateTimeBin(TimeZone tz, byte[] bytes) throws PSQLEx //#endif /** - * Given a UTC timestamp {@code millis} finds another point in time that is rendered in given time - * zone {@code tz} exactly as "millis in UTC". + *

Given a UTC timestamp {@code millis} finds another point in time that is rendered in given time + * zone {@code tz} exactly as "millis in UTC".

* - * For instance, given 7 Jan 16:00 UTC and tz=GMT+02:00 it returns 7 Jan 14:00 UTC == 7 Jan 16:00 + *

For instance, given 7 Jan 16:00 UTC and tz=GMT+02:00 it returns 7 Jan 14:00 UTC == 7 Jan 16:00 * GMT+02:00 Note that is not trivial for timestamps near DST change. For such cases, we rely on - * {@link Calendar} to figure out the proper timestamp. + * {@link Calendar} to figure out the proper timestamp.

* * @param millis source timestamp * @param tz desired time zone diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistant.java b/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistant.java index eb9f9db0bf..cc57ac8694 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistant.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistant.java @@ -7,20 +7,20 @@ /** * Implement this interface and register the its instance to ArrayAssistantRegistry, to let Postgres - * driver to support more array type + * driver to support more array type. * * @author Minglei Tu */ public interface ArrayAssistant { /** - * get array base type + * get array base type. * * @return array base type */ Class baseType(); /** - * build a array element from its binary bytes + * build a array element from its binary bytes. * * @param bytes input bytes * @param pos position in input array @@ -30,7 +30,7 @@ public interface ArrayAssistant { Object buildElement(byte[] bytes, int pos, int len); /** - * build an array element from its literal string + * build an array element from its literal string. * * @param literal string representation of array element * @return array element diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistantRegistry.java b/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistantRegistry.java index 79214fc0fb..56f56a6ff8 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistantRegistry.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc2/ArrayAssistantRegistry.java @@ -9,7 +9,7 @@ import java.util.Map; /** - * Array assistants register here + * Array assistants register here. * * @author Minglei Tu */ diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java index 95f03d3046..66c61f2d09 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobInputStream.java @@ -14,37 +14,37 @@ */ public class BlobInputStream extends InputStream { /** - * The parent LargeObject + * The parent LargeObject. */ private LargeObject lo; /** - * The absolute position + * The absolute position. */ private long apos; /** - * Buffer used to improve performance + * Buffer used to improve performance. */ private byte[] buffer; /** - * Position within buffer + * Position within buffer. */ private int bpos; /** - * The buffer size + * The buffer size. */ private int bsize; /** - * The mark position + * The mark position. */ private long mpos = 0; /** - * The limit + * The limit. */ private long limit = -1; @@ -79,7 +79,7 @@ public BlobInputStream(LargeObject lo, int bsize, long limit) { } /** - * The minimum required to implement input stream + * The minimum required to implement input stream. */ public int read() throws java.io.IOException { checkClosed(); @@ -113,10 +113,9 @@ public int read() throws java.io.IOException { /** - * Closes this input stream and releases any system resources associated with the stream. + *

Closes this input stream and releases any system resources associated with the stream.

* - *

- * The close method of InputStream does nothing. + *

The close method of InputStream does nothing.

* * @throws IOException if an I/O error occurs. */ @@ -132,24 +131,21 @@ public void close() throws IOException { } /** - * Marks the current position in this input stream. A subsequent call to the reset + *

Marks the current position in this input stream. A subsequent call to the reset * method repositions this stream at the last marked position so that subsequent reads re-read the - * same bytes. + * same bytes.

* - *

- * The readlimit arguments tells this input stream to allow that many bytes to be - * read before the mark position gets invalidated. + *

The readlimit arguments tells this input stream to allow that many bytes to be + * read before the mark position gets invalidated.

* - *

- * The general contract of mark is that, if the method markSupported + *

The general contract of mark is that, if the method markSupported * returns true, the stream somehow remembers all the bytes read after the call to * mark and stands ready to supply those same bytes again if and whenever the method * reset is called. However, the stream is not required to remember any data at all * if more than readlimit bytes are read from the stream before reset is - * called. + * called.

* - *

- * Marking a closed stream should not have any effect on the stream. + *

Marking a closed stream should not have any effect on the stream.

* * @param readlimit the maximum limit of bytes that can be read before the mark position becomes * invalid. @@ -161,7 +157,7 @@ public synchronized void mark(int readlimit) { /** * Repositions this stream to the position at the time the mark method was last - * called on this input stream. NB: If mark is not called we move to the begining. + * called on this input stream. NB: If mark is not called we move to the beginning. * * @see java.io.InputStream#mark(int) * @see java.io.IOException diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobOutputStream.java b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobOutputStream.java index e95067dd3d..72bff2e576 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/BlobOutputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/BlobOutputStream.java @@ -10,31 +10,31 @@ import java.sql.SQLException; /** - * This implements a basic output stream that writes to a LargeObject + * This implements a basic output stream that writes to a LargeObject. */ public class BlobOutputStream extends OutputStream { /** - * The parent LargeObject + * The parent LargeObject. */ private LargeObject lo; /** - * Buffer + * Buffer. */ private byte[] buf; /** - * Size of the buffer (default 1K) + * Size of the buffer (default 1K). */ private int bsize; /** - * Position within the buffer + * Position within the buffer. */ private int bpos; /** - * Create an OutputStream to a large object + * Create an OutputStream to a large object. * * @param lo LargeObject */ @@ -43,7 +43,7 @@ public BlobOutputStream(LargeObject lo) { } /** - * Create an OutputStream to a large object + * Create an OutputStream to a large object. * * @param lo LargeObject * @param bsize The size of the buffer used to improve performance diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java index 38469a5786..4c689fa1ac 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java @@ -17,21 +17,18 @@ import java.sql.SQLException; /** - * This class provides the basic methods required to run the interface, plus a pair of methods that - * provide InputStream and OutputStream classes for this object. + *

This class provides the basic methods required to run the interface, plus a pair of methods that + * provide InputStream and OutputStream classes for this object.

* - *

- * Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods + *

Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods * in ResultSet, or setAsciiStream, setBinaryStream, or setUnicodeStream methods in - * PreparedStatement to access Large Objects. + * PreparedStatement to access Large Objects.

* - *

- * However, sometimes lower level access to Large Objects are required, that are not supported by - * the JDBC specification. + *

However, sometimes lower level access to Large Objects are required, that are not supported by + * the JDBC specification.

* - *

- * Refer to org.postgresql.largeobject.LargeObjectManager on how to gain access to a Large Object, - * or how to create one. + *

Refer to org.postgresql.largeobject.LargeObjectManager on how to gain access to a Large Object, + * or how to create one.

* * @see org.postgresql.largeobject.LargeObjectManager * @see java.sql.ResultSet#getAsciiStream @@ -47,17 +44,17 @@ public class LargeObject //#endif /* hi, checkstyle */ { /** - * Indicates a seek from the begining of a file + * Indicates a seek from the begining of a file. */ public static final int SEEK_SET = 0; /** - * Indicates a seek from the current position + * Indicates a seek from the current position. */ public static final int SEEK_CUR = 1; /** - * Indicates a seek from the end of a file + * Indicates a seek from the end of a file. */ public static final int SEEK_END = 2; @@ -74,10 +71,9 @@ public class LargeObject private boolean commitOnClose; // Only initialized when open a LOB with CommitOnClose /** - * This opens a large object. + *

This opens a large object.

* - *

- * If the object does not exist, then an SQLException is thrown. + *

If the object does not exist, then an SQLException is thrown.

* * @param fp FastPath API for the connection to use * @param oid of the Large Object to open @@ -107,10 +103,9 @@ protected LargeObject(Fastpath fp, long oid, int mode, BaseConnection conn, bool } /** - * This opens a large object. + *

This opens a large object.

* - *

- * If the object does not exist, then an SQLException is thrown. + *

If the object does not exist, then an SQLException is thrown.

* * @param fp FastPath API for the connection to use * @param oid of the Large Object to open @@ -184,7 +179,7 @@ public void close() throws SQLException { } /** - * Reads some data from the object, and return as a byte[] array + * Reads some data from the object, and return as a byte[] array. * * @param len number of bytes to read * @return byte[] array containing data read @@ -200,7 +195,7 @@ public byte[] read(int len) throws SQLException { } /** - * Reads some data from the object into an existing array + * Reads some data from the object into an existing array. * * @param buf destination array * @param off offset within array @@ -218,7 +213,7 @@ public int read(byte[] buf, int off, int len) throws SQLException { } /** - * Writes an array to the object + * Writes an array to the object. * * @param buf array to write * @throws SQLException if a database-access error occurs. @@ -231,7 +226,7 @@ public void write(byte[] buf) throws SQLException { } /** - * Writes some data from an array to the object + * Writes some data from an array to the object. * * @param buf destination array * @param off offset within array @@ -246,11 +241,10 @@ public void write(byte[] buf, int off, int len) throws SQLException { } /** - * Sets the current position within the object. + *

Sets the current position within the object.

* - *

- * This is similar to the fseek() call in the standard C library. It allows you to have random - * access to the large object. + *

This is similar to the fseek() call in the standard C library. It allows you to have random + * access to the large object.

* * @param pos position within object * @param ref Either SEEK_SET, SEEK_CUR or SEEK_END @@ -265,7 +259,7 @@ public void seek(int pos, int ref) throws SQLException { } /** - * Sets the current position within the object using 64-bit value (9.3+) + * Sets the current position within the object using 64-bit value (9.3+). * * @param pos position within object * @param ref Either SEEK_SET, SEEK_CUR or SEEK_END @@ -280,11 +274,10 @@ public void seek64(long pos, int ref) throws SQLException { } /** - * Sets the current position within the object. + *

Sets the current position within the object.

* - *

- * This is similar to the fseek() call in the standard C library. It allows you to have random - * access to the large object. + *

This is similar to the fseek() call in the standard C library. It allows you to have random + * access to the large object.

* * @param pos position within object from begining * @throws SQLException if a database-access error occurs. @@ -314,11 +307,10 @@ public long tell64() throws SQLException { } /** - * This method is inefficient, as the only way to find out the size of the object is to seek to - * the end, record the current position, then return to the original position. + *

This method is inefficient, as the only way to find out the size of the object is to seek to + * the end, record the current position, then return to the original position.

* - *

- * A better method will be found in the future. + *

A better method will be found in the future.

* * @return the size of the large object * @throws SQLException if a database-access error occurs. @@ -376,10 +368,9 @@ public void truncate64(long len) throws SQLException { } /** - * Returns an {@link InputStream} from this object. + *

Returns an {@link InputStream} from this object.

* - *

- * This {@link InputStream} can then be used in any method that requires an InputStream. + *

This {@link InputStream} can then be used in any method that requires an InputStream.

* * @return {@link InputStream} from this object * @throws SQLException if a database-access error occurs. @@ -390,7 +381,7 @@ public InputStream getInputStream() throws SQLException { /** * Returns an {@link InputStream} from this object, that will limit the amount of data that is - * visible + * visible. * * @param limit maximum number of bytes the resulting stream will serve * @return {@link InputStream} from this object @@ -401,10 +392,9 @@ public InputStream getInputStream(long limit) throws SQLException { } /** - * Returns an {@link OutputStream} to this object. + *

Returns an {@link OutputStream} to this object.

* - *

- * This OutputStream can then be used in any method that requires an OutputStream. + *

This OutputStream can then be used in any method that requires an OutputStream.

* * @return {@link OutputStream} from this object * @throws SQLException if a database-access error occurs. diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java index 82e9db6aeb..95b94714e5 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java @@ -20,16 +20,13 @@ /** * This class implements the large object interface to org.postgresql. * - *

- * It provides methods that allow client code to create, open and delete large objects from the + *

It provides methods that allow client code to create, open and delete large objects from the * database. When opening an object, an instance of org.postgresql.largeobject.LargeObject is - * returned, and its methods then allow access to the object. + * returned, and its methods then allow access to the object.

* - *

- * This class can only be created by {@link BaseConnection} + *

This class can only be created by {@link BaseConnection}

* - *

- * To get access to this class, use the following segment of code:
+ *

To get access to this class, use the following segment of code:

* *
  * import org.postgresql.largeobject.*;
@@ -42,18 +39,15 @@
  * lobj = ((org.postgresql.PGConnection)myconn).getLargeObjectAPI();
  * 
* - *

- * Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods + *

Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods * in ResultSet, or setAsciiStream, setBinaryStream, or setUnicodeStream methods in - * PreparedStatement to access Large Objects. + * PreparedStatement to access Large Objects.

* - *

- * However, sometimes lower level access to Large Objects are required, that are not supported by - * the JDBC specification. + *

However, sometimes lower level access to Large Objects are required, that are not supported by + * the JDBC specification.

* - *

- * Refer to org.postgresql.largeobject.LargeObject on how to manipulate the contents of a Large - * Object. + *

Refer to org.postgresql.largeobject.LargeObject on how to manipulate the contents of a Large + * Object.

* * @see java.sql.ResultSet#getAsciiStream * @see java.sql.ResultSet#getBinaryStream @@ -68,37 +62,35 @@ public class LargeObjectManager { private BaseConnection conn; /** - * This mode indicates we want to write to an object + * This mode indicates we want to write to an object. */ public static final int WRITE = 0x00020000; /** - * This mode indicates we want to read an object + * This mode indicates we want to read an object. */ public static final int READ = 0x00040000; /** - * This mode is the default. It indicates we want read and write access to a large object + * This mode is the default. It indicates we want read and write access to a large object. */ public static final int READWRITE = READ | WRITE; /** - * This prevents us being created by mere mortals + * This prevents us being created by mere mortals. */ private LargeObjectManager() { } /** - * Constructs the LargeObject API. + *

Constructs the LargeObject API.

* - *

- * Important Notice
- * This method should only be called by {@link BaseConnection} + *

Important Notice
+ * This method should only be called by {@link BaseConnection}

* - *

- * There should only be one LargeObjectManager per Connection. The {@link BaseConnection} class + *

There should only be one LargeObjectManager per Connection. The {@link BaseConnection} class * keeps track of the various extension API's and it's advised you use those to gain access, and - * not going direct. + * not going direct.

* * @param conn connection * @throws SQLException if something wrong happens @@ -195,7 +187,7 @@ public LargeObject open(long oid) throws SQLException { /** * This opens an existing large object, same as previous method, but commits the transaction on - * close if asked + * close if asked. * * @param oid of large object * @param commitOnClose commit the transaction when this LOB will be closed @@ -208,7 +200,7 @@ public LargeObject open(long oid, boolean commitOnClose) throws SQLException { } /** - * This opens an existing large object, based on its OID + * This opens an existing large object, based on its OID. * * @param oid of large object * @param mode mode of open @@ -223,7 +215,7 @@ public LargeObject open(int oid, int mode) throws SQLException { /** * This opens an existing large object, same as previous method, but commits the transaction on - * close if asked + * close if asked. * * @param oid of large object * @param mode mode of open @@ -237,7 +229,7 @@ public LargeObject open(int oid, int mode, boolean commitOnClose) throws SQLExce } /** - * This opens an existing large object, based on its OID + * This opens an existing large object, based on its OID. * * @param oid of large object * @param mode mode of open @@ -249,7 +241,7 @@ public LargeObject open(long oid, int mode) throws SQLException { } /** - * This opens an existing large object, based on its OID + * This opens an existing large object, based on its OID. * * @param oid of large object * @param mode mode of open @@ -266,10 +258,9 @@ public LargeObject open(long oid, int mode, boolean commitOnClose) throws SQLExc } /** - * This creates a large object, returning its OID. + *

This creates a large object, returning its OID.

* - *

- * It defaults to READWRITE for the new object's attributes. + *

It defaults to READWRITE for the new object's attributes.

* * @return oid of new object * @throws SQLException on error @@ -281,10 +272,9 @@ public int create() throws SQLException { } /** - * This creates a large object, returning its OID. + *

This creates a large object, returning its OID.

* - *

- * It defaults to READWRITE for the new object's attributes. + *

It defaults to READWRITE for the new object's attributes.

* * @return oid of new object * @throws SQLException if something wrong happens @@ -294,7 +284,7 @@ public long createLO() throws SQLException { } /** - * This creates a large object, returning its OID + * This creates a large object, returning its OID. * * @param mode a bitmask describing different attributes of the new object * @return oid of new object @@ -311,7 +301,7 @@ public long createLO(int mode) throws SQLException { } /** - * This creates a large object, returning its OID + * This creates a large object, returning its OID. * * @param mode a bitmask describing different attributes of the new object * @return oid of new object @@ -337,10 +327,9 @@ public void delete(long oid) throws SQLException { } /** - * This deletes a large object. + *

This deletes a large object.

* - *

- * It is identical to the delete method, and is supplied as the C API uses unlink. + *

It is identical to the delete method, and is supplied as the C API uses unlink.

* * @param oid describing object to delete * @throws SQLException on error @@ -352,10 +341,9 @@ public void unlink(int oid) throws SQLException { } /** - * This deletes a large object. + *

This deletes a large object.

* - *

- * It is identical to the delete method, and is supplied as the C API uses unlink. + *

It is identical to the delete method, and is supplied as the C API uses unlink.

* * @param oid describing object to delete * @throws SQLException on error diff --git a/pgjdbc/src/main/java/org/postgresql/osgi/PGBundleActivator.java b/pgjdbc/src/main/java/org/postgresql/osgi/PGBundleActivator.java index 20c064b942..28fb2f032f 100644 --- a/pgjdbc/src/main/java/org/postgresql/osgi/PGBundleActivator.java +++ b/pgjdbc/src/main/java/org/postgresql/osgi/PGBundleActivator.java @@ -16,7 +16,7 @@ import java.util.Hashtable; /** - * This class is an OSGi Bundle Activator and should only be used internally by the OSGi Framework + * This class is an OSGi Bundle Activator and should only be used internally by the OSGi Framework. */ public class PGBundleActivator implements BundleActivator { private ServiceRegistration _registration; diff --git a/pgjdbc/src/main/java/org/postgresql/osgi/PGDataSourceFactory.java b/pgjdbc/src/main/java/org/postgresql/osgi/PGDataSourceFactory.java index a3786396fc..25b667644b 100644 --- a/pgjdbc/src/main/java/org/postgresql/osgi/PGDataSourceFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/osgi/PGDataSourceFactory.java @@ -32,7 +32,7 @@ public class PGDataSourceFactory implements DataSourceFactory { /** * A class that removes properties as they are used (without modifying the supplied initial - * Properties) + * Properties). */ private static class SingleUseProperties extends Properties { private static final long serialVersionUID = 1L; @@ -109,7 +109,7 @@ private DataSource createSimpleDataSource(Properties props) throws SQLException /** * Will create and return either a {@link SimpleDataSource} or a {@link PoolingDataSource} * depending on the presence in the supplied properties of any pool-related property (eg.: {@code - * JDBC_INITIAL_POOL_SIZE} or {@code JDBC_MAX_POOL_SIZE}) + * JDBC_INITIAL_POOL_SIZE} or {@code JDBC_MAX_POOL_SIZE}). */ public DataSource createDataSource(Properties props) throws SQLException { props = new SingleUseProperties(props); diff --git a/pgjdbc/src/main/java/org/postgresql/replication/LogSequenceNumber.java b/pgjdbc/src/main/java/org/postgresql/replication/LogSequenceNumber.java index 0a073f2c5e..422ddc553f 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/LogSequenceNumber.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/LogSequenceNumber.java @@ -8,7 +8,7 @@ import java.nio.ByteBuffer; /** - * LSN (Log Sequence Number) data which is a pointer to a location in the XLOG + * LSN (Log Sequence Number) data which is a pointer to a location in the XLOG. */ public final class LogSequenceNumber { /** @@ -32,7 +32,7 @@ public static LogSequenceNumber valueOf(long value) { } /** - * Create LSN instance by string represent LSN + * Create LSN instance by string represent LSN. * * @param strValue not null string as two hexadecimal numbers of up to 8 digits each, separated by * a slash. For example {@code 16/3002D50}, {@code 0/15D68C50} @@ -69,7 +69,7 @@ public long asLong() { /** * @return String represent position in the write-ahead log stream as two hexadecimal numbers of - * up to 8 digits each, separated by a slash. For example {@code 16/3002D50}, {@code 0/15D68C50} + * up to 8 digits each, separated by a slash. For example {@code 16/3002D50}, {@code 0/15D68C50} */ public String asString() { ByteBuffer buf = ByteBuffer.allocate(8); diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java index 9e1a04ea66..6148f49758 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationConnection.java @@ -27,11 +27,11 @@ public interface PGReplicationConnection { ChainedStreamBuilder replicationStream(); /** - *

Create replication slot, that can be next use in {@link PGReplicationConnection#replicationStream()} + *

Create replication slot, that can be next use in {@link PGReplicationConnection#replicationStream()}

* *

Replication slots provide an automated way to ensure that the master does not remove WAL * segments until they have been received by all standbys, and that the master does not remove - * rows which could cause a recovery conflict even when the standby is disconnected. + * rows which could cause a recovery conflict even when the standby is disconnected.

* * @return not null fluent api for build create replication slot */ diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java index ea07a98524..8714c1af1c 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java @@ -25,15 +25,15 @@ public interface PGReplicationStream /** *

Read next wal record from backend. It method can be block until new message will not get - * from server. + * from server.

* *

A single WAL record is never split across two XLogData messages. When a WAL record crosses a * WAL page boundary, and is therefore already split using continuation records, it can be split * at the page boundary. In other words, the first main WAL record and its continuation records - * can be sent in different XLogData messages. + * can be sent in different XLogData messages.

* * @return not null byte array received by replication protocol, return ByteBuffer wrap around - * received byte array with use offset, so, use {@link ByteBuffer#array()} carefully + * received byte array with use offset, so, use {@link ByteBuffer#array()} carefully * @throws SQLException when some internal exception occurs during read from stream */ ByteBuffer read() throws SQLException; @@ -42,16 +42,16 @@ public interface PGReplicationStream *

Read next wal record from backend. It method can't be block and in contrast to {@link * PGReplicationStream#read()}. If message from backend absent return null. It allow periodically * check message in stream and if they absent sleep some time, but it time should be less than - * {@link CommonOptions#getStatusInterval()} to avoid disconnect from the server. + * {@link CommonOptions#getStatusInterval()} to avoid disconnect from the server.

* *

A single WAL record is never split across two XLogData messages. When a WAL record crosses a * WAL page boundary, and is therefore already split using continuation records, it can be split * at the page boundary. In other words, the first main WAL record and its continuation records - * can be sent in different XLogData messages. + * can be sent in different XLogData messages.

* * @return byte array received by replication protocol or null if pending message from server - * absent. Returns ByteBuffer wrap around received byte array with use offset, so, use {@link - * ByteBuffer#array()} carefully. + * absent. Returns ByteBuffer wrap around received byte array with use offset, so, use {@link + * ByteBuffer#array()} carefully. * @throws SQLException when some internal exception occurs during read from stream */ ByteBuffer readPending() throws SQLException; @@ -60,7 +60,7 @@ public interface PGReplicationStream * Parameter updates by execute {@link PGReplicationStream#read()} method. * * @return not null LSN position that was receive last time via {@link PGReplicationStream#read()} - * method + * method */ LogSequenceNumber getLastReceiveLSN(); @@ -115,14 +115,14 @@ public interface PGReplicationStream /** *

Stop replication changes from server and free resources. After that connection can be reuse - * to another queries. Also after close current stream they cannot be used anymore. + * to another queries. Also after close current stream they cannot be used anymore.

* *

Note: This method can spend much time for logical replication stream on postgresql * version 9.6 and lower, because postgresql have bug - during decode big transaction to logical * form and during wait new changes postgresql ignore messages from client. As workaround you can * close replication connection instead of close replication stream. For more information about it * problem see mailing list thread - * Stopping logical replication protocol + * Stopping logical replication protocol

* * @throws SQLException when some internal exception occurs during end streaming */ diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java index d171d7ddbd..78a4565f1a 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java @@ -23,7 +23,7 @@ public interface ChainedCommonCreateSlotBuilder> { @@ -24,7 +24,7 @@ public interface ChainedCommonStreamBuilder * {@code @@ -47,9 +48,9 @@ public interface ChainedCreateReplicationSlotBuilder { ChainedLogicalCreateSlotBuilder logical(); /** - * Create physical replication stream for process wal logs in binary form. + *

Create physical replication stream for process wal logs in binary form.

* - * Example usage: + *

Example usage:

*
    *   {@code
    *
@@ -75,6 +76,7 @@ public interface ChainedCreateReplicationSlotBuilder {
    *
    *   }
    * 
+ * * @return not null fluent api */ ChainedPhysicalCreateSlotBuilder physical(); diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedStreamBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedStreamBuilder.java index d8a9cc1150..58cbd2e77d 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedStreamBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedStreamBuilder.java @@ -14,13 +14,14 @@ */ public interface ChainedStreamBuilder { /** - * Create logical replication stream that decode raw wal logs by output plugin to logical form. + *

Create logical replication stream that decode raw wal logs by output plugin to logical form. * Default about logical decoding you can see by following link * - * Logical Decoding Concepts + * Logical Decoding Concepts * . + *

* - * Example usage: + *

Example usage:

*
    *   {@code
    *
@@ -41,14 +42,15 @@ public interface ChainedStreamBuilder {
    *
    *   }
    * 
+ * * @return not null fluent api */ ChainedLogicalStreamBuilder logical(); /** - * Create physical replication stream for process wal logs in binary form. + *

Create physical replication stream for process wal logs in binary form.

* - * Example usage: + *

Example usage:

*
    *   {@code
    *
@@ -69,6 +71,7 @@ public interface ChainedStreamBuilder {
    *
    *   }
    * 
+ * * @return not null fluent api */ ChainedPhysicalStreamBuilder physical(); diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/CommonOptions.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/CommonOptions.java index f0b3fe77be..6eacbee85d 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/CommonOptions.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/CommonOptions.java @@ -8,7 +8,7 @@ import org.postgresql.replication.LogSequenceNumber; /** - * Common parameters for logical and physical replication + * Common parameters for logical and physical replication. */ public interface CommonOptions { /** diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalCreateSlotBuilder.java index 48d2891197..cae77bb8ae 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalCreateSlotBuilder.java @@ -8,17 +8,17 @@ import org.postgresql.replication.fluent.ChainedCommonCreateSlotBuilder; /** - * Logical replication slot specific parameters + * Logical replication slot specific parameters. */ public interface ChainedLogicalCreateSlotBuilder extends ChainedCommonCreateSlotBuilder { /** *

Output plugin that should be use for decode physical represent WAL to some logical form. - * Output plugin should be installed on server(exists in shared_preload_libraries). + * Output plugin should be installed on server(exists in shared_preload_libraries).

* *

Package postgresql-contrib provides sample output plugin test_decoding that can be - * use for test logical replication api + * use for test logical replication api

* * @param outputPlugin not null name of the output plugin used for logical decoding * @return the logical slot builder diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalStreamBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalStreamBuilder.java index 635115a183..0dc60b963f 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalStreamBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/ChainedLogicalStreamBuilder.java @@ -14,7 +14,7 @@ public interface ChainedLogicalStreamBuilder extends ChainedCommonStreamBuilder { /** - * Open logical replication stream + * Open logical replication stream. * * @return not null PGReplicationStream available for fetch data in logical form * @throws SQLException if there are errors diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalReplicationOptions.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalReplicationOptions.java index f386161032..2355f610d0 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalReplicationOptions.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalReplicationOptions.java @@ -11,7 +11,7 @@ public interface LogicalReplicationOptions extends CommonOptions { /** - * Required parameter for logical replication + * Required parameter for logical replication. * * @return not null logical replication slot name that already exists on server and free. */ diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalCreateSlotBuilder.java index ec9b6dd427..8fdc810f3d 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalCreateSlotBuilder.java @@ -8,7 +8,7 @@ import org.postgresql.replication.fluent.ChainedCommonCreateSlotBuilder; /** - * Physical replication slot specific parameters + * Physical replication slot specific parameters. */ public interface ChainedPhysicalCreateSlotBuilder extends ChainedCommonCreateSlotBuilder { diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalStreamBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalStreamBuilder.java index dc55a42282..f458c885de 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalStreamBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/ChainedPhysicalStreamBuilder.java @@ -14,7 +14,7 @@ public interface ChainedPhysicalStreamBuilder extends ChainedCommonStreamBuilder { /** - * Open physical replication stream + * Open physical replication stream. * * @return not null PGReplicationStream available for fetch wal logs in binary form * @throws SQLException on error diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java index aa56a3fb4e..1518c14db1 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java @@ -25,130 +25,56 @@ import javax.net.ssl.X509TrustManager; /** - * Provides a SSLSocketFactory that authenticates the remote server against an explicit pre-shared + *

Provides a SSLSocketFactory that authenticates the remote server against an explicit pre-shared * SSL certificate. This is more secure than using the NonValidatingFactory as it prevents "man in * the middle" attacks. It is also more secure than relying on a central CA signing your server's - * certificate as it pins the server's certificate. + * certificate as it pins the server's certificate.

* - *

- * This class requires a single String parameter specified by setting the connection property + *

This class requires a single String parameter specified by setting the connection property * sslfactoryarg. The value of this property is the PEM-encoded remote server's SSL - * certificate. - *

- *

- * Where the certificate is loaded from is based upon the prefix of the + * certificate.

* - *
- * sslfactoryarg
- * 
+ *

Where the certificate is loaded from is based upon the prefix of the sslfactoryarg property. + * The following table lists the valid set of prefixes.

* - * property. The following table lists the valid set of prefixes. *
* - * - * - * + * + * + * * * - * - * - * + * + * + * * * - * - * - * + * + * + * * * - * - * - * + * + * + * * * - * - * - * + * + * + * * * - * - * + * - * + * +* + * * *
PrefixExampleExplanationPrefixExampleExplanation
- * - *
- * classpath:
- * 
- * - *
- * - *
- * classpath:ssl/server.crt
- * 
- * - *
Loaded from the classpath.classpath:classpath:ssl/server.crtLoaded from the classpath.
- * - *
- * file:
- * 
- * - *
- * - *
- * file:/foo/bar/server.crt
- * 
- * - *
Loaded from the filesystem.file:file:/foo/bar/server.crtLoaded from the filesystem.
- * - *
- * env:
- * 
- * - *
- * - *
- * env:mydb_cert
- * 
- * - *
Loaded from string value of the - * - *
- * mydb_cert
- * 
- * - * environment variable.
env:env:mydb_certLoaded from string value of the mydb_cert environment variable.
- * - *
- * sys:
- * 
- * - *
- * - *
- * sys:mydb_cert
- * 
- * - *
Loaded from string value of the - * - *
- * mydb_cert
- * 
- * - * system property.
sys:sys:mydb_certLoaded from string value of the mydb_cert system property.
- * - *
- * -----BEGIN CERTIFICATE------
- * 
- * - *
- * - *
+ *     
-----BEGIN CERTIFICATE------
+ *
  * -----BEGIN CERTIFICATE-----
  * MIIDQzCCAqygAwIBAgIJAOd1tlfiGoEoMA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
  * [... truncated ...]
  * UCmmYqgiVkAGWRETVo+byOSDZ4swb10=
  * -----END CERTIFICATE-----
- * 
- * - *
Loaded from string value of the argument.Loaded from string value of the argument.
*/ diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java index 0708f51227..4585f1a968 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java @@ -73,7 +73,7 @@ public LazyKeyManager(String certfile, String keyfile, CallbackHandler cbh, bool /** * getCertificateChain and getPrivateKey cannot throw exeptions, therefore any exception is stored - * in {@link #error} and can be raised by this method + * in {@link #error} and can be raised by this method. * * @throws PSQLException if any exception is stored in {@link #error} and can be raised */ diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java index 32c40d4c22..40e08df9b7 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java @@ -179,7 +179,7 @@ public LibPQFactory(Properties info) throws PSQLException { } /** - * Propagates any exception from {@link LazyKeyManager} + * Propagates any exception from {@link LazyKeyManager}. * * @throws PSQLException if there is an exception to propagate */ diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/ISSPIClient.java b/pgjdbc/src/main/java/org/postgresql/sspi/ISSPIClient.java index 4a347ad9b8..fcb14e48e4 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/ISSPIClient.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/ISSPIClient.java @@ -10,10 +10,10 @@ import java.sql.SQLException; /** - * Use Waffle-JNI to support SSPI authentication when PgJDBC is running on a Windows - * client and talking to a Windows server. + *

Use Waffle-JNI to support SSPI authentication when PgJDBC is running on a Windows + * client and talking to a Windows server.

* - * SSPI is not supported on a non-Windows client. + *

SSPI is not supported on a non-Windows client.

*/ public interface ISSPIClient { boolean isSSPISupported(); diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPI.java b/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPI.java index 3e4b0defea..0a775d38df 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPI.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/NTDSAPI.java @@ -17,15 +17,15 @@ interface NTDSAPI extends StdCallLibrary { NTDSAPI instance = (NTDSAPI) Native.loadLibrary("NTDSAPI", NTDSAPI.class); /** - * Wrap DsMakeSpn + *

Wrap DsMakeSpn

* - * To get the String result, call + *

To get the String result, call * *

    * new String(buf, 0, spnLength)
    * 
* - * on the byte[] buffer passed to 'spn' after testing to ensure ERROR_SUCCESS. + * on the byte[] buffer passed to 'spn' after testing to ensure ERROR_SUCCESS.

* * @param serviceClass SPN service class (in) * @param serviceName SPN service name (in) diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java index 82ae6f2192..b0b133b397 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java @@ -26,10 +26,10 @@ import java.util.logging.Logger; /** - * Use Waffle-JNI to support SSPI authentication when PgJDBC is running on a Windows client and - * talking to a Windows server. + *

Use Waffle-JNI to support SSPI authentication when PgJDBC is running on a Windows client and + * talking to a Windows server.

* - * SSPI is not supported on a non-Windows client. + *

SSPI is not supported on a non-Windows client.

* * @author craig */ @@ -48,12 +48,12 @@ public class SSPIClient implements ISSPIClient { /** - * Instantiate an SSPIClient for authentication of a connection. + *

Instantiate an SSPIClient for authentication of a connection.

* - * SSPIClient is not re-usable across connections. + *

SSPIClient is not re-usable across connections.

* - * It is safe to instantiate SSPIClient even if Waffle and JNA are missing or on non-Windows - * platforms, however you may not call any methods other than isSSPISupported(). + *

It is safe to instantiate SSPIClient even if Waffle and JNA are missing or on non-Windows + * platforms, however you may not call any methods other than isSSPISupported().

* * @param pgStream PostgreSQL connection stream * @param spnServiceClass SSPI SPN service class, defaults to POSTGRES if null diff --git a/pgjdbc/src/main/java/org/postgresql/util/Base64.java b/pgjdbc/src/main/java/org/postgresql/util/Base64.java index 0caf016105..0ab1d5c126 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/Base64.java +++ b/pgjdbc/src/main/java/org/postgresql/util/Base64.java @@ -6,13 +6,13 @@ package org.postgresql.util; /** - * This code is a stripped down version of Robert Harder's Public Domain Base64 implementation. GZIP + *

This code is a stripped down version of Robert Harder's Public Domain Base64 implementation. GZIP * support, InputStream and OutputStream stuff and some unneeded encode/decode methods have been - * removed. + * removed.

* - * -- Original comments follow -- + *

-- Original comments follow --

* - * Encodes and decodes to and from Base64 notation. + *

Encodes and decodes to and from Base64 notation.

* *

* Change Log: @@ -77,7 +77,7 @@ public class Base64 { /** - * Don't break lines when encoding (violates strict Base64 specification) + * Don't break lines when encoding (violates strict Base64 specification). */ public static final int DONT_BREAK_LINES = 8; @@ -286,20 +286,20 @@ public static String encodeBytes(byte[] source) { /** - * Encodes a byte array into Base64 notation. - *

- * Valid options: + *

Encodes a byte array into Base64 notation.

+ * + *

Valid options:

* *
    *   GZIP: gzip-compresses object before encoding it.
    *   DONT_BREAK_LINES: don't break lines at 76 characters
    *     Note: Technically, this makes your encoding non-compliant.
    * 
- *

- * Example: encodeBytes( myData, Base64.GZIP ) or - *

- * Example: encodeBytes( - * myData, Base64.GZIP | Base64.DONT_BREAK_LINES ) + * + *

Example: encodeBytes( myData, Base64.GZIP ) or

+ * + *

Example: encodeBytes( + * myData, Base64.GZIP | Base64.DONT_BREAK_LINES )

* * @param source The data to convert * @param options Specified options @@ -327,20 +327,20 @@ public static String encodeBytes(byte[] source, int off, int len) { /** - * Encodes a byte array into Base64 notation. - *

- * Valid options: + *

Encodes a byte array into Base64 notation.

+ * + *

Valid options:

* *
    *   GZIP: gzip-compresses object before encoding it.
    *   DONT_BREAK_LINES: don't break lines at 76 characters
    *     Note: Technically, this makes your encoding non-compliant.
    * 
- *

- * Example: encodeBytes( myData, Base64.GZIP ) or - *

- * Example: encodeBytes( - * myData, Base64.GZIP | Base64.DONT_BREAK_LINES ) + * + *

Example: encodeBytes( myData, Base64.GZIP ) or

+ * + *

Example: encodeBytes( + * myData, Base64.GZIP | Base64.DONT_BREAK_LINES )

* * @param source The data to convert * @param off Offset in array where conversion should begin diff --git a/pgjdbc/src/main/java/org/postgresql/util/ExpressionProperties.java b/pgjdbc/src/main/java/org/postgresql/util/ExpressionProperties.java index 7c9d60a98a..23590c2109 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ExpressionProperties.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ExpressionProperties.java @@ -25,10 +25,10 @@ public ExpressionProperties(Properties ...defaults) { } /** - * Returns property value with all {@code ${propKey}} like references replaced with the value of - * the relevant property with recursive resolution. + *

Returns property value with all {@code ${propKey}} like references replaced with the value of + * the relevant property with recursive resolution.

* - * The method returns null if the property is not found. + *

The method returns null if the property is not found.

* * @param key the property key. * @@ -51,7 +51,7 @@ public String getProperty(String key, String defaultValue) { } /** - * Returns raw value of a property without any replacements + * Returns raw value of a property without any replacements. * @param key property name * @return raw property value */ diff --git a/pgjdbc/src/main/java/org/postgresql/util/LruCache.java b/pgjdbc/src/main/java/org/postgresql/util/LruCache.java index 4955b91a5b..cabd4d6134 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/LruCache.java +++ b/pgjdbc/src/main/java/org/postgresql/util/LruCache.java @@ -119,7 +119,7 @@ public synchronized Value borrow(Key key) throws SQLException { } /** - * Returns given value to the cache + * Returns given value to the cache. * * @param key key * @param value value @@ -146,6 +146,8 @@ public synchronized void put(Key key, Value value) { /** * Puts all the values from the given map into the cache. + * + * @param m The map containing entries to put into the cache */ public synchronized void putAll(Map m) { for (Map.Entry entry : m.entrySet()) { diff --git a/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java b/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java index 2677db7b82..31eb29b7c4 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java +++ b/pgjdbc/src/main/java/org/postgresql/util/MD5Digest.java @@ -18,7 +18,7 @@ private MD5Digest() { } /** - * Encodes user/password/salt information in the following way: MD5(MD5(password + user) + salt) + * Encodes user/password/salt information in the following way: MD5(MD5(password + user) + salt). * * @param user The connecting user. * @param password The connecting user's password. diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java index 95c04a236a..c1861b9dd1 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java @@ -14,7 +14,7 @@ import java.util.StringTokenizer; /** - * This implements a class that handles the PostgreSQL interval type + * This implements a class that handles the PostgreSQL interval type. */ public class PGInterval extends PGobject implements Serializable, Cloneable { @@ -35,14 +35,14 @@ public class PGInterval extends PGobject implements Serializable, Cloneable { } /** - * required by the driver + * required by the driver. */ public PGInterval() { setType("interval"); } /** - * Initialize a interval with a given interval string representation + * Initialize a interval with a given interval string representation. * * @param value String representated interval (e.g. '3 years 2 mons') * @throws SQLException Is thrown if the string representation has an unknown format @@ -54,7 +54,7 @@ public PGInterval(String value) throws SQLException { } /** - * Initializes all values of this interval to the specified values + * Initializes all values of this interval to the specified values. * * @param years years * @param months months @@ -71,7 +71,7 @@ public PGInterval(int years, int months, int days, int hours, int minutes, doubl /** * Sets a interval string represented value to this instance. This method only recognize the - * format, that Postgres returns - not all input formats are supported (e.g. '1 yr 2 m 3 s')! + * format, that Postgres returns - not all input formats are supported (e.g. '1 yr 2 m 3 s'). * * @param value String representated interval (e.g. '3 years 2 mons') * @throws SQLException Is thrown if the string representation has an unknown format @@ -162,7 +162,7 @@ public void setValue(String value) throws SQLException { } /** - * Set all values of this interval to the specified values + * Set all values of this interval to the specified values. * * @param years years * @param months months @@ -181,7 +181,7 @@ public void setValue(int years, int months, int days, int hours, int minutes, do } /** - * Returns the stored interval information as a string + * Returns the stored interval information as a string. * * @return String represented interval */ @@ -195,7 +195,7 @@ public String getValue() { } /** - * Returns the years represented by this interval + * Returns the years represented by this interval. * * @return years represented by this interval */ @@ -204,7 +204,7 @@ public int getYears() { } /** - * Set the years of this interval to the specified value + * Set the years of this interval to the specified value. * * @param years years to set */ @@ -213,7 +213,7 @@ public void setYears(int years) { } /** - * Returns the months represented by this interval + * Returns the months represented by this interval. * * @return months represented by this interval */ @@ -222,7 +222,7 @@ public int getMonths() { } /** - * Set the months of this interval to the specified value + * Set the months of this interval to the specified value. * * @param months months to set */ @@ -231,7 +231,7 @@ public void setMonths(int months) { } /** - * Returns the days represented by this interval + * Returns the days represented by this interval. * * @return days represented by this interval */ @@ -240,7 +240,7 @@ public int getDays() { } /** - * Set the days of this interval to the specified value + * Set the days of this interval to the specified value. * * @param days days to set */ @@ -249,7 +249,7 @@ public void setDays(int days) { } /** - * Returns the hours represented by this interval + * Returns the hours represented by this interval. * * @return hours represented by this interval */ @@ -258,7 +258,7 @@ public int getHours() { } /** - * Set the hours of this interval to the specified value + * Set the hours of this interval to the specified value. * * @param hours hours to set */ @@ -267,7 +267,7 @@ public void setHours(int hours) { } /** - * Returns the minutes represented by this interval + * Returns the minutes represented by this interval. * * @return minutes represented by this interval */ @@ -276,7 +276,7 @@ public int getMinutes() { } /** - * Set the minutes of this interval to the specified value + * Set the minutes of this interval to the specified value. * * @param minutes minutes to set */ @@ -285,7 +285,7 @@ public void setMinutes(int minutes) { } /** - * Returns the seconds represented by this interval + * Returns the seconds represented by this interval. * * @return seconds represented by this interval */ @@ -294,7 +294,7 @@ public double getSeconds() { } /** - * Set the seconds of this interval to the specified value + * Set the seconds of this interval to the specified value. * * @param seconds seconds to set */ @@ -303,7 +303,7 @@ public void setSeconds(double seconds) { } /** - * Rolls this interval on a given calendar + * Rolls this interval on a given calendar. * * @param cal Calendar instance to add to */ @@ -322,7 +322,7 @@ public void add(Calendar cal) { } /** - * Rolls this interval on a given date + * Rolls this interval on a given date. * * @param date Date instance to add to */ @@ -366,7 +366,7 @@ public void scale(int factor) { } /** - * Returns integer value of value or 0 if value is null + * Returns integer value of value or 0 if value is null. * * @param value integer as string value * @return integer parsed from string value @@ -377,7 +377,7 @@ private static int nullSafeIntGet(String value) throws NumberFormatException { } /** - * Returns double value of value or 0 if value is null + * Returns double value of value or 0 if value is null. * * @param value double as string value * @return double parsed from string value @@ -388,7 +388,7 @@ private static double nullSafeDoubleGet(String value) throws NumberFormatExcepti } /** - * Returns whether an object is equal to this one or not + * Returns whether an object is equal to this one or not. * * @param obj Object to compare with * @return true if the two intervals are identical @@ -417,7 +417,7 @@ public boolean equals(Object obj) { } /** - * Returns a hashCode for this object + * Returns a hashCode for this object. * * @return hashCode */ diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGTimestamp.java b/pgjdbc/src/main/java/org/postgresql/util/PGTimestamp.java index e94d5b839a..96fcc146d0 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGTimestamp.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGTimestamp.java @@ -37,15 +37,15 @@ public PGTimestamp(long time) { } /** - * Constructs a PGTimestamp with the given time zone. The integral seconds are stored + *

Constructs a PGTimestamp with the given time zone. The integral seconds are stored * in the underlying date value; the fractional seconds are stored in the nanos field - * of the Timestamp object. - *

- * The calendar object is optional. If absent, the driver will treat the timestamp as + * of the Timestamp object.

+ * + *

The calendar object is optional. If absent, the driver will treat the timestamp as * timestamp without time zone. When present, the driver will treat the timestamp as * a timestamp with time zone using the TimeZone in the calendar object. * Furthermore, this calendar will be used instead of the calendar object passed to - * {@link java.sql.PreparedStatement#setTimestamp(int, Timestamp, Calendar)}. + * {@link java.sql.PreparedStatement#setTimestamp(int, Timestamp, Calendar)}.

* * @param time milliseconds since January 1, 1970, 00:00:00 GMT. A negative number is the number * of milliseconds before January 1, 1970, 00:00:00 GMT. diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGmoney.java b/pgjdbc/src/main/java/org/postgresql/util/PGmoney.java index eb3f998487..9c5bbb455a 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGmoney.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGmoney.java @@ -10,7 +10,7 @@ import java.sql.SQLException; /** - * This implements a class that handles the PostgreSQL money and cash types + * This implements a class that handles the PostgreSQL money and cash types. */ public class PGmoney extends PGobject implements Serializable, Cloneable { /* diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGobject.java b/pgjdbc/src/main/java/org/postgresql/util/PGobject.java index 90b35310bc..dbcb8534be 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGobject.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGobject.java @@ -11,7 +11,7 @@ /** * PGobject is a class used to describe unknown types An unknown type is any type that is unknown by - * JDBC Standards + * JDBC Standards. */ public class PGobject implements Serializable, Cloneable { protected String type; @@ -24,10 +24,9 @@ public PGobject() { } /** - * This method sets the type of this object. + *

This method sets the type of this object.

* - *

- * It should not be extended by subclasses, hence its final + *

It should not be extended by subclasses, hence it is final

* * @param type a string describing the type of the object */ @@ -36,7 +35,7 @@ public final void setType(String type) { } /** - * This method sets the value of this object. It must be overidden. + * This method sets the value of this object. It must be overridden. * * @param value a string representation of the value of the object * @throws SQLException thrown if value is invalid for this type @@ -65,7 +64,7 @@ public String getValue() { } /** - * This must be overidden to allow comparisons of objects + * This must be overidden to allow comparisons of objects. * * @param obj Object to compare with * @return true if the two boxes are identical @@ -83,7 +82,7 @@ public boolean equals(Object obj) { } /** - * This must be overidden to allow the object to be cloned + * This must be overidden to allow the object to be cloned. */ public Object clone() throws CloneNotSupportedException { return super.clone(); diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java b/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java index aabf4f98b2..4788fe8172 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java @@ -26,11 +26,10 @@ public class PGtokenizer { protected List tokens; /** - * Create a tokeniser. + *

Create a tokeniser.

* - *

- * We could have used StringTokenizer to do this, however, we needed to handle nesting of '(' ')' - * '[' ']' '<' and '>' as these are used by the geometric data types. + *

We could have used StringTokenizer to do this, however, we needed to handle nesting of '(' ')' + * '[' ']' '<' and '>' as these are used by the geometric data types.

* * @param string containing tokens * @param delim single character to split the tokens @@ -117,9 +116,9 @@ public String getToken(int n) { } /** - * This returns a new tokenizer based on one of our tokens. + *

This returns a new tokenizer based on one of our tokens.

* - * The geometric datatypes use this to process nested tokens (usually PGpoint). + *

The geometric datatypes use this to process nested tokens (usually PGpoint).

* * @param n Token number ( 0 ... getSize()-1 ) * @param delim The delimiter to use @@ -130,7 +129,7 @@ public PGtokenizer tokenizeToken(int n, char delim) { } /** - * This removes the lead/trailing strings from a string + * This removes the lead/trailing strings from a string. * * @param s Source string * @param l Leading string to remove @@ -148,7 +147,7 @@ public static String remove(String s, String l, String t) { } /** - * This removes the lead/trailing strings from all tokens + * This removes the lead/trailing strings from all tokens. * * @param l Leading string to remove * @param t Trailing string to remove @@ -160,7 +159,7 @@ public void remove(String l, String t) { } /** - * Removes ( and ) from the beginning and end of a string + * Removes ( and ) from the beginning and end of a string. * * @param s String to remove from * @return String without the ( or ) @@ -170,14 +169,14 @@ public static String removePara(String s) { } /** - * Removes ( and ) from the beginning and end of all tokens + * Removes ( and ) from the beginning and end of all tokens. */ public void removePara() { remove("(", ")"); } /** - * Removes [ and ] from the beginning and end of a string + * Removes [ and ] from the beginning and end of a string. * * @param s String to remove from * @return String without the [ or ] @@ -187,14 +186,14 @@ public static String removeBox(String s) { } /** - * Removes [ and ] from the beginning and end of all tokens + * Removes [ and ] from the beginning and end of all tokens. */ public void removeBox() { remove("[", "]"); } /** - * Removes < and > from the beginning and end of a string + * Removes < and > from the beginning and end of a string. * * @param s String to remove from * @return String without the < or > @@ -204,14 +203,14 @@ public static String removeAngle(String s) { } /** - * Removes < and > from the beginning and end of all tokens + * Removes < and > from the beginning and end of all tokens. */ public void removeAngle() { remove("<", ">"); } /** - * Removes curly braces { and } from the beginning and end of a string + * Removes curly braces { and } from the beginning and end of a string. * * @param s String to remove from * @return String without the { or } @@ -221,7 +220,7 @@ public static String removeCurlyBrace(String s) { } /** - * Removes < and > from the beginning and end of all tokens + * Removes < and > from the beginning and end of all tokens. */ public void removeCurlyBrace() { remove("{", "}"); diff --git a/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java b/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java index 6d7c514951..a313c30075 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java @@ -16,11 +16,11 @@ import java.nio.charset.CoderResult; /** - * ReaderInputStream accepts a UTF-16 char stream (Reader) as input and - * converts it to a UTF-8 byte stream (InputStream) as output. + *

ReaderInputStream accepts a UTF-16 char stream (Reader) as input and + * converts it to a UTF-8 byte stream (InputStream) as output.

* - * This is the inverse of java.io.InputStreamReader which converts a - * binary stream to a character stream. + *

This is the inverse of java.io.InputStreamReader which converts a + * binary stream to a character stream.

*/ public class ReaderInputStream extends InputStream { private static final int DEFAULT_CHAR_BUFFER_SIZE = 8 * 1024; @@ -33,7 +33,7 @@ public class ReaderInputStream extends InputStream { private final CharBuffer cbuf; /** - * true when all of the characters have been read from the reader into inbuf + * true when all of the characters have been read from the reader into inbuf. */ private boolean endOfInput; private final byte[] oneByte = new byte[1]; diff --git a/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java b/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java index accbc23362..92fe57788a 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java +++ b/pgjdbc/src/main/java/org/postgresql/util/URLCoder.java @@ -10,12 +10,12 @@ import java.net.URLEncoder; /** - * This class helps with URL encoding and decoding. UTF-8 encoding is used by default to make + *

This class helps with URL encoding and decoding. UTF-8 encoding is used by default to make * encoding consistent across the driver, and encoding might be changed via {@code - * postgresql.url.encoding} property + * postgresql.url.encoding} property

* - * Note: this should not be used outside of PostgreSQL source, this is not a public API of the - * driver. + *

Note: this should not be used outside of PostgreSQL source, this is not a public API of the + * driver.

*/ public final class URLCoder { private static final String ENCODING_FOR_URL = diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index 06f59313a4..b8e22a1a79 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -31,12 +31,12 @@ import javax.transaction.xa.Xid; /** - * The PostgreSQL implementation of {@link XAResource}. + *

The PostgreSQL implementation of {@link XAResource}.

* - * This implementation doesn't support transaction interleaving (see JTA specification, section - * 3.4.4) and suspend/resume. + *

This implementation doesn't support transaction interleaving (see JTA specification, section + * 3.4.4) and suspend/resume.

* - * Two-phase commit requires PostgreSQL server version 8.1 or higher. + *

Two-phase commit requires PostgreSQL server version 8.1 or higher.

* * @author Heikki Linnakangas (heikki.linnakangas@iki.fi) */ @@ -76,7 +76,7 @@ public PGXAConnection(BaseConnection conn) throws SQLException { } /** - * XAConnection interface + * XAConnection interface. */ @Override public Connection getConnection() throws SQLException { @@ -153,14 +153,26 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl } /** - * Preconditions: 1. flags must be one of TMNOFLAGS, TMRESUME or TMJOIN 2. xid != null 3. - * connection must not be associated with a transaction 4. the TM hasn't seen the xid before + *

Preconditions:

+ *
    + *
  1. Flags must be one of TMNOFLAGS, TMRESUME or TMJOIN
  2. + *
  3. xid != null
  4. + *
  5. Connection must not be associated with a transaction
  6. + *
  7. The TM hasn't seen the xid before
  8. + *
* - * Implementation deficiency preconditions: 1. TMRESUME not supported. 2. if flags is TMJOIN, we - * must be in ended state, and xid must be the current transaction 3. unless flags is TMJOIN, - * previous transaction using the connection must be committed or prepared or rolled back + *

Implementation deficiency preconditions:

+ *
    + *
  1. TMRESUME not supported.
  2. + *
  3. If flags is TMJOIN, we must be in ended state, and xid must be the current transaction
  4. + *
  5. Unless flags is TMJOIN, previous transaction using the connection must be committed or prepared or rolled + * back
  6. + *
* - * Postconditions: 1. Connection is associated with the transaction + *

Postconditions:

+ *
    + *
  1. Connection is associated with the transaction
  2. + *
*/ @Override public void start(Xid xid, int flags) throws XAException { @@ -230,12 +242,22 @@ public void start(Xid xid, int flags) throws XAException { } /** - * Preconditions: 1. Flags is one of TMSUCCESS, TMFAIL, TMSUSPEND 2. xid != null 3. Connection is - * associated with transaction xid + *

Preconditions:

+ *
    + *
  1. Flags is one of TMSUCCESS, TMFAIL, TMSUSPEND
  2. + *
  3. xid != null
  4. + *
  5. Connection is associated with transaction xid
  6. + *
* - * Implementation deficiency preconditions: 1. Flags is not TMSUSPEND + *

Implementation deficiency preconditions:

+ *
    + *
  1. Flags is not TMSUSPEND
  2. + *
* - * Postconditions: 1. connection is disassociated from the transaction. + *

Postconditions:

+ *
    + *
  1. Connection is disassociated from the transaction.
  2. + *
*/ @Override public void end(Xid xid, int flags) throws XAException { @@ -272,11 +294,21 @@ public void end(Xid xid, int flags) throws XAException { } /** - * Preconditions: 1. xid != null 2. xid is in ended state + *

Prepares transaction. Preconditions:

+ *
    + *
  1. xid != null
  2. + *
  3. xid is in ended state
  4. + *
* - * Implementation deficiency preconditions: 1. xid was associated with this connection + *

Implementation deficiency preconditions:

+ *
    + *
  1. xid was associated with this connection
  2. + *
* - * Postconditions: 1. Transaction is prepared + *

Postconditions:

+ *
    + *
  1. Transaction is prepared
  2. + *
*/ @Override public int prepare(Xid xid) throws XAException { @@ -330,11 +362,16 @@ public int prepare(Xid xid) throws XAException { } /** - * Preconditions: 1. flag must be one of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS or TMSTARTTRSCAN | - * TMENDRSCAN 2. if flag isn't TMSTARTRSCAN or TMSTARTRSCAN | TMENDRSCAN, a recovery scan must be - * in progress + *

Recovers transaction. Preconditions:

+ *
    + *
  1. flag must be one of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS or TMSTARTTRSCAN | TMENDRSCAN
  2. + *
  3. If flag isn't TMSTARTRSCAN or TMSTARTRSCAN | TMENDRSCAN, a recovery scan must be in progress
  4. + *
* - * Postconditions: 1. list of prepared xids is returned + *

Postconditions:

+ *
    + *
  1. list of prepared xids is returned
  2. + *
*/ @Override public Xid[] recover(int flag) throws XAException { @@ -382,12 +419,20 @@ public Xid[] recover(int flag) throws XAException { } /** - * Preconditions: 1. xid is known to the RM or it's in prepared state + *

Preconditions:

+ *
    + *
  1. xid is known to the RM or it's in prepared state
  2. + *
* - * Implementation deficiency preconditions: 1. xid must be associated with this connection if it's - * not in prepared state. + *

Implementation deficiency preconditions:

+ *
    + *
  1. xid must be associated with this connection if it's not in prepared state.
  2. + *
* - * Postconditions: 1. Transaction is rolled back and disassociated from connection + *

Postconditions:

+ *
    + *
  1. Transaction is rolled back and disassociated from connection
  2. + *
*/ @Override public void rollback(Xid xid) throws XAException { @@ -454,12 +499,20 @@ public void commit(Xid xid, boolean onePhase) throws XAException { } /** - * Preconditions: 1. xid must in ended state. + *

Preconditions:

+ *
    + *
  1. xid must in ended state.
  2. + *
* - * Implementation deficiency preconditions: 1. this connection must have been used to run the - * transaction + *

Implementation deficiency preconditions:

+ *
    + *
  1. this connection must have been used to run the transaction
  2. + *
* - * Postconditions: 1. Transaction is committed + *

Postconditions:

+ *
    + *
  1. Transaction is committed
  2. + *
*/ private void commitOnePhase(Xid xid) throws XAException { try { @@ -497,11 +550,20 @@ private void commitOnePhase(Xid xid) throws XAException { } /** - * Preconditions: 1. xid must be in prepared state in the server + *

Commits prepared transaction. Preconditions:

+ *
    + *
  1. xid must be in prepared state in the server
  2. + *
* - * Implementation deficiency preconditions: 1. Connection must be in idle state + *

Implementation deficiency preconditions:

+ *
    + *
  1. Connection must be in idle state
  2. + *
* - * Postconditions: 1. Transaction is committed + *

Postconditions:

+ *
    + *
  1. Transaction is committed
  2. + *
*/ private void commitPrepared(Xid xid) throws XAException { try { @@ -557,7 +619,7 @@ public boolean isSameRM(XAResource xares) throws XAException { } /** - * Does nothing, since we don't do heuristics, + * Does nothing, since we don't do heuristics. */ @Override public void forget(Xid xid) throws XAException { diff --git a/pgjdbc/src/main/java/org/postgresql/xa/RecoveredXid.java b/pgjdbc/src/main/java/org/postgresql/xa/RecoveredXid.java index 49d24879f8..7229dd7ffb 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/RecoveredXid.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/RecoveredXid.java @@ -63,7 +63,7 @@ public boolean equals(Object o) { } /** - * This is for debugging purposes only + * This is for debugging purposes only. */ public String toString() { return xidToString(this); diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/DeepBatchedInsertStatementTest.java b/pgjdbc/src/test/java/org/postgresql/jdbc/DeepBatchedInsertStatementTest.java index 0ee43ed9aa..e01f26161a 100644 --- a/pgjdbc/src/test/java/org/postgresql/jdbc/DeepBatchedInsertStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/DeepBatchedInsertStatementTest.java @@ -306,7 +306,7 @@ private int getBatchSize(BatchedQuery[] bqds) { * Again using reflection to gain access to a private field member * @param bqd BatchedQueryDecorator object on which field is present * @return byte[] array of bytes that represent the statement name - * when encoded + * when encoded * @throws Exception fault raised if access to field not possible */ private byte[] getEncodedStatementName(BatchedQuery bqd) diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java index 0f6221000e..0f483c7bb9 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java @@ -96,7 +96,7 @@ sentByServer, equalTo(lastReceivedLSN) } /** - * Test fail on PG version 9.4.5 because postgresql have bug + * Test fail on PG version 9.4.5 because postgresql have bug. */ @Test @HaveMinimalServerVersion("9.4.8") @@ -304,7 +304,7 @@ result, equalTo(applyLSN) } /** - * Test fail on PG version 9.4.5 because postgresql have bug + * Test fail on PG version 9.4.5 because postgresql have bug. */ @Test @HaveMinimalServerVersion("9.4.8") diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java index c9844bb80b..759d1c32a2 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java @@ -256,10 +256,10 @@ isActive, equalTo(true) /** *

Bug in postgreSQL that should be fixed in 10 version after code review patch - * Stopping logical replication protocol. + * Stopping logical replication protocol.

* *

If you try to run it test on version before 10 they fail with time out, because postgresql - * wait new changes and until waiting messages from client ignores. + * wait new changes and until waiting messages from client ignores.

*/ @Test(timeout = 1000) @HaveMinimalServerVersion("11.1") @@ -327,10 +327,10 @@ isActive, equalTo(false) /** *

Bug in postgreSQL that should be fixed in 10 version after code review patch - * Stopping logical replication protocol. + * Stopping logical replication protocol.

* *

If you try to run it test on version before 10 they fail with time out, because postgresql - * wait new changes and until waiting messages from client ignores. + * wait new changes and until waiting messages from client ignores.

*/ @Test(timeout = 10000) @HaveMinimalServerVersion("12.1") @@ -377,10 +377,10 @@ isActive, equalTo(false) /** *

Bug in postgreSQL that should be fixed in 10 version after code review patch - * Stopping logical replication protocol. + * Stopping logical replication protocol.

* *

If you try to run it test on version before 10 they fail with time out, because postgresql - * wait new changes and until waiting messages from client ignores. + * wait new changes and until waiting messages from client ignores.

*/ @Test(timeout = 60000) @HaveMinimalServerVersion("11.1") diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 1097b7318e..fb6e8c3a61 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -29,7 +29,7 @@ import java.util.concurrent.TimeoutException; /** - * Utility class for JDBC tests + * Utility class for JDBC tests. */ public class TestUtil { /* @@ -256,7 +256,7 @@ public static File getFile(String name) { /** * Get a connection using a priviliged user mostly for tests that the ability to load C functions - * now as of 4/14 + * now as of 4/14. * * @return connection using a priviliged user mostly for tests that the ability to load C * functions now as of 4/14 @@ -393,7 +393,7 @@ public static void createTable(Connection con, String table, String columns, boo } /** - * Helper creates a temporary table + * Helper creates a temporary table. * * @param con Connection * @param table String @@ -415,7 +415,7 @@ public static void createTempTable(Connection con, String table, String columns) } /** - * Helper creates an enum type + * Helper creates an enum type. * * @param con Connection * @param name String @@ -437,7 +437,7 @@ public static void createEnumType(Connection con, String name, String values) } /** - * Helper creates an composite type + * Helper creates an composite type. * * @param con Connection * @param name String @@ -459,7 +459,7 @@ public static void createCompositeType(Connection con, String name, String value } /** - * Drops a domain + * Drops a domain. * * @param con Connection * @param name String @@ -479,7 +479,7 @@ public static void dropDomain(Connection con, String name) } /** - * Helper creates a domain + * Helper creates a domain. * * @param con Connection * @param name String diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java index 1c2c15811f..4f1e3eb9aa 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java @@ -44,12 +44,12 @@ private enum FailMode { */ SELECT, /** - * Executes "alter table rollbacktest", thus it breaks a prepared select over that table + * Executes "alter table rollbacktest", thus it breaks a prepared select over that table. * Mitigation: "autosave in (always, conservative)" */ ALTER, /** - * Executes DEALLOCATE ALL + * Executes DEALLOCATE ALL. * Mitigation: * 1) QueryExecutor tracks "DEALLOCATE ALL" responses ({@see org.postgresql.core.QueryExecutor#setFlushCacheOnDeallocate(boolean)} * 2) QueryExecutor tracks "prepared statement name is invalid" and unprepares relevant statements ({@link org.postgresql.core.v3.QueryExecutorImpl#processResults(ResultHandler, int)} @@ -58,7 +58,7 @@ private enum FailMode { */ DEALLOCATE, /** - * Executes DISCARD ALL + * Executes DISCARD ALL. * Mitigation: the same as for {@link #DEALLOCATE} */ DISCARD, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java index 5f11196906..5640799459 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BaseTest4.java @@ -110,14 +110,14 @@ public void assumeBinaryModeForce() { } /** - * Shorthand for {@code Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, version)} + * Shorthand for {@code Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, version)}. */ public void assumeMinimumServerVersion(String message, Version version) throws SQLException { Assume.assumeTrue(message, TestUtil.haveMinimumServerVersion(con, version)); } /** - * Shorthand for {@code Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, version)} + * Shorthand for {@code Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, version)}. */ public void assumeMinimumServerVersion(Version version) throws SQLException { Assume.assumeTrue(TestUtil.haveMinimumServerVersion(con, version)); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchExecuteTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchExecuteTest.java index 62ffae7163..e1f1e0fb71 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchExecuteTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchExecuteTest.java @@ -589,12 +589,13 @@ public void testBatchWithAlternatingAndUnknownTypes6() throws SQLException { } /** - * This one is reproduced in regular (non-force binary) mode - * As of 9.4.1208 the following tests fail: + *

This one is reproduced in regular (non-force binary) mode.

+ * + *

As of 9.4.1208 the following tests fail: * BatchExecuteTest.testBatchWithAlternatingAndUnknownTypes3 * BatchExecuteTest.testBatchWithAlternatingAndUnknownTypes4 * BatchExecuteTest.testBatchWithAlternatingAndUnknownTypes5 - * BatchExecuteTest.testBatchWithAlternatingAndUnknownTypes6 + * BatchExecuteTest.testBatchWithAlternatingAndUnknownTypes6

* @throws SQLException in case of failure * @param numPreliminaryInserts number of preliminary inserts to make so the statement gets * prepared diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java index ac38742bbc..19aa1dd849 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BatchedInsertReWriteEnabledTest.java @@ -185,7 +185,7 @@ public void testBatchWithReWrittenBatchStatementWithFixedParametersOnly() } /** - * Test to make sure a statement with a semicolon is not broken + * Test to make sure a statement with a semicolon is not broken. */ private void simpleRewriteBatch(String values, String suffix) throws SQLException { @@ -216,7 +216,7 @@ private void simpleRewriteBatch(String values, String suffix) } /** - * Test to make sure a statement with a semicolon is not broken + * Test to make sure a statement with a semicolon is not broken. */ @Test public void testBatchWithReWrittenBatchStatementWithSemiColon() @@ -225,7 +225,7 @@ public void testBatchWithReWrittenBatchStatementWithSemiColon() } /** - * Test to make sure a statement with a semicolon is not broken + * Test to make sure a statement with a semicolon is not broken. */ @Test public void testBatchWithReWrittenSpaceAfterValues() @@ -247,7 +247,7 @@ public void testBatchWithReWrittenMixedCaseValues() } /** - * Test to make sure a statement with a semicolon is not broken + * Test to make sure a statement with a semicolon is not broken. */ @Test public void testBindsInNestedParens() @@ -274,7 +274,7 @@ public void testBindsInNestedParens() } /** - * Test to make sure a statement with a semicolon is not broken + * Test to make sure a statement with a semicolon is not broken. */ @Test public void testMultiValues1bind() diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java index a009115319..be1e934670 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java @@ -28,7 +28,7 @@ import javax.sql.rowset.serial.SerialBlob; /** - * Test that oid/lob are accessible in concurrent connection, in presence of the lo_manage trigger + * Test that oid/lob are accessible in concurrent connection, in presence of the lo_manage trigger. * Require the lo module accessible in $libdir */ public class BlobTransactionTest { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyBothResponseTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyBothResponseTest.java index 66defaeaa6..8f7977eb16 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyBothResponseTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyBothResponseTest.java @@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit; /** - * CopyBothResponse use since 9.1 PostgreSQL version for replication protocol + * CopyBothResponse use since 9.1 PostgreSQL version for replication protocol. */ @HaveMinimalServerVersion("9.4") public class CopyBothResponseTest { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java index b6834911e0..cf23b707b2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java @@ -96,7 +96,7 @@ private void verifyUrl(Driver drv, String url, String hosts, String ports, Strin } /** - * Tests the connect method by connecting to the test database + * Tests the connect method by connecting to the test database. */ @Test public void testConnect() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java index 7c5b5299ed..f720e68760 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java @@ -55,7 +55,7 @@ public void tearDown() { } /** - * Test that we can get and set all default values and all choices (if any) + * Test that we can get and set all default values and all choices (if any). */ @Test public void testGetSetAllProperties() { @@ -77,7 +77,7 @@ public void testGetSetAllProperties() { } /** - * Test that the enum constant is common with the underlying property name + * Test that the enum constant is common with the underlying property name. */ @Test public void testEnumConstantNaming() { @@ -108,7 +108,7 @@ public void testDriverGetPropertyInfo() { } /** - * Test if the datasource has getter and setter for all properties + * Test if the datasource has getter and setter for all properties. */ @Test public void testDataSourceProperties() throws Exception { @@ -151,7 +151,7 @@ public void testDataSourceProperties() throws Exception { } /** - * Test that {@link PGProperty#isPresent(Properties)} returns a correct result in all cases + * Test that {@link PGProperty#isPresent(Properties)} returns a correct result in all cases. */ @Test public void testIsPresentWithParseURLResult() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/SearchPathLookupTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/SearchPathLookupTest.java index c18fdc95c9..5bc7f8ac68 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/SearchPathLookupTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/SearchPathLookupTest.java @@ -34,7 +34,7 @@ public void setUp() throws Exception { /** * This usecase is most common, here the object we are searching for is in the current_schema (the - * first schema in the search_path) + * first schema in the search_path). */ @Test public void testSearchPathNormalLookup() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 185da6b4b7..5d934b62bb 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -509,12 +509,12 @@ public Void call() throws SQLException, InterruptedException { /** - * Demonstrates a safe approach to concurrently reading the latest - * warnings while periodically clearing them. + *

Demonstrates a safe approach to concurrently reading the latest + * warnings while periodically clearing them.

* - * One drawback of this approach is that it requires the reader to make it to the end of the + *

One drawback of this approach is that it requires the reader to make it to the end of the * warning chain before clearing it, so long as your warning processing step is not very slow, - * this should happen more or less instantaneously even if you receive a lot of warnings. + * this should happen more or less instantaneously even if you receive a lot of warnings.

*/ @Test public void testConcurrentWarningReadAndClear() @@ -938,7 +938,7 @@ public Void call() throws Exception { /** * Tests that calling {@code java.sql.Statement#close()} from a concurrent thread does not result - * in {@link java.util.ConcurrentModificationException} + * in {@link java.util.ConcurrentModificationException}. */ @Test public void testSideStatementFinalizers() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java index e660f05205..692f1df004 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimezoneTest.java @@ -32,25 +32,24 @@ import java.util.TimeZone; /** - * Tests for time and date types with calendars involved. TimestampTest was melting my brain, so I - * started afresh. -O + *

Tests for time and date types with calendars involved. TimestampTest was melting my brain, so I + * started afresh. -O

* - * Conversions that this code tests: - *

- * setTimestamp -> timestamp, timestamptz, date, time, timetz - *

- * setDate -> timestamp, timestamptz, date - *

- * setTime -> time, timetz + *

Conversions that this code tests:

* - *

- * getTimestamp <- timestamp, timestamptz, date, time, timetz - *

- * getDate <- timestamp, timestamptz, date - *

- * getTime <- timestamp, timestamptz, time, timetz + *

setTimestamp -> timestamp, timestamptz, date, time, timetz

* - * (this matches what we must support per JDBC 3.0, tables B-5 and B-6) + *

setDate -> timestamp, timestamptz, date

+ * + *

setTime -> time, timetz

+ * + *

getTimestamp <- timestamp, timestamptz, date, time, timetz

+ * + *

getDate <- timestamp, timestamptz, date

+ * + *

getTime <- timestamp, timestamptz, time, timetz

+ * + *

(this matches what we must support per JDBC 3.0, tables B-5 and B-6)

*/ public class TimezoneTest { private static final int DAY = 24 * 3600 * 1000; @@ -950,7 +949,7 @@ private void checkDatabaseContents(String query, String[][] correct) throws Exce } /** - * Converts the given time + * Converts the given time. * * @param t The time of day. Must be within -24 and + 24 hours of epoc. * @param tz The timezone to normalize to. diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java index f17be0ffe0..35314159da 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java @@ -57,7 +57,7 @@ public void setUp() throws Exception { } /** - * Removes the test table using a standard connection (not from a DataSource) + * Removes the test table using a standard connection (not from a DataSource). */ @After public void tearDown() throws Exception { @@ -68,7 +68,7 @@ public void tearDown() throws Exception { } /** - * Gets a connection from the current BaseDataSource + * Gets a connection from the current BaseDataSource. */ protected Connection getDataSourceConnection() throws SQLException { if (bds == null) { @@ -96,7 +96,7 @@ public static void setupDataSource(BaseDataSource bds) { } /** - * Test to make sure you can instantiate and configure the appropriate DataSource + * Test to make sure you can instantiate and configure the appropriate DataSource. */ @Test public void testCreateDataSource() { @@ -118,7 +118,7 @@ public void testGetConnection() { } /** - * A simple test to make sure you can execute SQL using the Connection from the DataSource + * A simple test to make sure you can execute SQL using the Connection from the DataSource. */ @Test public void testUseConnection() { @@ -218,7 +218,7 @@ public void testJndi() { } /** - * Uses the mini-JNDI implementation for testing purposes + * Uses the mini-JNDI implementation for testing purposes. */ protected InitialContext getInitialContext() { Hashtable env = new Hashtable(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/CaseOptimiserDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/CaseOptimiserDataSourceTest.java index 1e02ebe485..60c628367b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/CaseOptimiserDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/CaseOptimiserDataSourceTest.java @@ -22,7 +22,7 @@ import java.sql.SQLException; import java.sql.Statement; -/* +/** * DataSource test to ensure the BaseConnection is configured with column sanitiser disabled. */ public class CaseOptimiserDataSourceTest { @@ -73,7 +73,7 @@ public void testDataSourceDisabledSanitiserPropertySucceeds() throws SQLExceptio } /** - * Gets a connection from the current BaseDataSource + * Gets a connection from the current BaseDataSource. */ protected Connection getDataSourceConnection() throws SQLException { if (bds == null) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index 5d90e1eb25..dfa33c9b2b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -44,7 +44,7 @@ public class ConnectionPoolTest extends BaseDataSourceTest { private ArrayList connections = new ArrayList(); /** - * Creates and configures a ConnectionPool + * Creates and configures a ConnectionPool. */ @Override protected void initializeDataSource() { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java index d20337fba5..7b167a3fed 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ClientInfoTest.java @@ -78,7 +78,7 @@ public void testSetAppNameProps() throws SQLException { } /** - * Test that no exception is thrown when an unknown property is set + * Test that no exception is thrown when an unknown property is set. */ @Test public void testWarningOnUnknownName() throws SQLException { @@ -91,7 +91,7 @@ public void testWarningOnUnknownName() throws SQLException { } /** - * Test that a name missing in the properties given to setClientInfo should be unset (spec) + * Test that a name missing in the properties given to setClientInfo should be unset (spec). */ @Test public void testMissingName() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java index 7cfc273182..8de8f43d47 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java @@ -36,7 +36,7 @@ public void testIsValid() throws Exception { } /** - * Test that the transaction state is left unchanged + * Test that the transaction state is left unchanged. */ @Test public void testTransactionState() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/WrapperTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/WrapperTest.java index f1a4e08d48..48c024ccc8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/WrapperTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/WrapperTest.java @@ -41,7 +41,7 @@ public void tearDown() throws SQLException { } /** - * This interface is private, and so cannot be supported by any wrapper + * This interface is private, and so cannot be supported by any wrapper. */ private interface PrivateInterface { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java index 0b3477055d..ef67c6c846 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java @@ -35,7 +35,7 @@ public void tearDown() throws SQLException { } /** - * Test that the statement is not automatically closed if we do not ask for it + * Test that the statement is not automatically closed if we do not ask for it. */ @Test public void testWithoutCloseOnCompletion() throws SQLException { @@ -47,7 +47,7 @@ public void testWithoutCloseOnCompletion() throws SQLException { } /** - * Test the behavior of closeOnCompletion with a single result set + * Test the behavior of closeOnCompletion with a single result set. */ @Test public void testSingleResultSet() throws SQLException { @@ -60,7 +60,7 @@ public void testSingleResultSet() throws SQLException { } /** - * Test the behavior of closeOnCompletion with a multiple result sets + * Test the behavior of closeOnCompletion with a multiple result sets. */ @Test public void testMultipleResultSet() throws SQLException { @@ -79,7 +79,7 @@ public void testMultipleResultSet() throws SQLException { /** * Test that when execution does not produce any result sets, closeOnCompletion has no effect - * (spec) + * (spec). */ @Test public void testNoResultSet() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index 56e74e1b3f..1b8bdfcf8d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -214,7 +214,6 @@ public void testGetTimestamp() throws SQLException { } /** - * * Test the behavior getObject for timestamp columns. */ @Test @@ -717,9 +716,9 @@ public void testGetXml() throws SQLException { } /** - * Test the behavior getObject for money columns. + *

Test the behavior getObject for money columns.

* - * The test is ignored as it is locale-dependent. + *

The test is ignored as it is locale-dependent.

*/ @Ignore @Test diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java index 0c9c6482c0..e1d1bc0cd6 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java @@ -70,7 +70,7 @@ public void tearDown() throws SQLException { } /** - * Test that what you set is what you get + * Test that what you set is what you get. */ @Test public void testGetSetSchema() throws SQLException { @@ -138,7 +138,7 @@ public void testUsingSchema() throws SQLException { } /** - * Test that get schema returns the schema with the highest priority in the search path + * Test that get schema returns the schema with the highest priority in the search path. */ @Test public void testMultipleSearchPath() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SharedTimerClassLoaderLeakTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SharedTimerClassLoaderLeakTest.java index 0eb2435ff9..4ae8f72ce6 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SharedTimerClassLoaderLeakTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SharedTimerClassLoaderLeakTest.java @@ -15,11 +15,11 @@ import se.jiderhamn.classloader.leak.Leaks; /** - * Test case that verifies that the use of {@link org.postgresql.util.SharedTimer} within - * {@link org.postgresql.Driver} does not cause ClassLoader leaks + *

Test case that verifies that the use of {@link org.postgresql.util.SharedTimer} within + * {@link org.postgresql.Driver} does not cause ClassLoader leaks.

* - * The class is placed in {@code jdbc41} package so it won't be tested in JRE6 build. - * {@link JUnitClassloaderRunner} does not support JRE6, so we have to skip the test there. + *

The class is placed in {@code jdbc41} package so it won't be tested in JRE6 build. + * {@link JUnitClassloaderRunner} does not support JRE6, so we have to skip the test there.

* * @author Mattias Jiderhamn */ @@ -27,7 +27,7 @@ @PackagesLoadedOutsideClassLoader(packages = "org.postgresql", addToDefaults = true) public class SharedTimerClassLoaderLeakTest { - /** Starting a {@link org.postgresql.util.SharedTimer} should not cause ClassLoader leaks */ + /** Starting a {@link org.postgresql.util.SharedTimer} should not cause ClassLoader leaks. */ @Leaks(false) @Test public void sharedTimerDoesNotCauseLeak() { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SimpleJdbc42Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SimpleJdbc42Test.java index 9e56d922eb..d765b6f1ab 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SimpleJdbc42Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SimpleJdbc42Test.java @@ -12,12 +12,12 @@ import org.junit.Test; /** - * Most basic test to check that the right package is compiled + * Most basic test to check that the right package is compiled. */ public class SimpleJdbc42Test extends BaseTest4 { /** - * Test presence of JDBC 4.2 specific methods + * Test presence of JDBC 4.2 specific methods. */ @Test public void testSupportsRefCursors() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java index 8d01f780ab..2997731105 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/SocksProxyTest.java @@ -29,7 +29,7 @@ public void cleanup() { } /** - * Tests the connect method by connecting to the test database + * Tests the connect method by connecting to the test database. */ @Test public void testConnectWithSocksNonProxyHost() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/socketfactory/SocketFactoryTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/socketfactory/SocketFactoryTestSuite.java index e9c55f89fa..9a270de03a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/socketfactory/SocketFactoryTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/socketfactory/SocketFactoryTestSuite.java @@ -38,7 +38,7 @@ public void tearDown() throws Exception { } /** - * Test custom socket factory + * Test custom socket factory. */ @Test public void testDatabaseMetaData() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java index b5488bf6ba..58166c4f0b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java @@ -33,15 +33,15 @@ public class SingleCertValidatingFactoryTestSuite { private static String IS_ENABLED_PROP_NAME = "testsinglecertfactory"; /** - * This method returns the paramaters that JUnit will use when constructing this class for + *

This method returns the paramaters that JUnit will use when constructing this class for * testing. It returns a collection of arrays, each containing a single value for the JDBC URL to - * test against. + * test against.

* - * To point the test at a different set of test databases edit the JDBC URL list accordingly. By - * default it points to the test databases setup by the pgjdbc-test-vm virtual machine. + *

To point the test at a different set of test databases edit the JDBC URL list accordingly. By + * default it points to the test databases setup by the pgjdbc-test-vm virtual machine.

* - * Note: The test assumes that the username as password for all the test databases are the same - * (pulled from system properties). + *

Note: The test assumes that the username as password for all the test databases are the same + * (pulled from system properties).

*/ @Parameters public static Collection data() throws IOException { @@ -187,15 +187,15 @@ public void connectSSLWithValidationNoCert() throws SQLException { } /** - * Connect using SSL and attempt to validate the server's certificate against the wrong pre shared + *

Connect using SSL and attempt to validate the server's certificate against the wrong pre shared * certificate. This test uses a pre generated certificate that will *not* match the test - * PostgreSQL server (the certificate is for properssl.example.com). + * PostgreSQL server (the certificate is for properssl.example.com).

* - * This connection uses a custom SSLSocketFactory using a custom trust manager that validates the - * remote server's certificate against the pre shared certificate. + *

This connection uses a custom SSLSocketFactory using a custom trust manager that validates the + * remote server's certificate against the pre shared certificate.

* - * This test should throw an exception as the client should reject the server since the - * certificate does not match. + *

This test should throw an exception as the client should reject the server since the + * certificate does not match.

*/ @Test public void connectSSLWithValidationWrongCert() throws SQLException, IOException { @@ -276,13 +276,13 @@ public void connectSSLWithValidationProperCertSysProp() throws SQLException, IOE } /** - * Connect using SSL and attempt to validate the server's certificate against the proper pre - * shared certificate. The certificate is specified as an environment variable. + *

Connect using SSL and attempt to validate the server's certificate against the proper pre + * shared certificate. The certificate is specified as an environment variable.

* - * Note: To execute this test succesfully you need to set the value of the environment variable - * DATASOURCE_SSL_CERT prior to running the test. + *

Note: To execute this test succesfully you need to set the value of the environment variable + * DATASOURCE_SSL_CERT prior to running the test.

* - * Here's one way to do it: $ DATASOURCE_SSL_CERT=$(cat certdir/goodroot.crt) ant clean test + *

Here's one way to do it: $ DATASOURCE_SSL_CERT=$(cat certdir/goodroot.crt) ant clean test

*/ @Test public void connectSSLWithValidationProperCertEnvVar() throws SQLException, IOException { @@ -347,7 +347,7 @@ public void connectSSLWithValidationMissingEnvVar() throws SQLException, IOExcep /////////////////////////////////////////////////////////////////// /** - * Utility function to load a file as a string + * Utility function to load a file as a string. */ public static String loadFile(String path) { BufferedReader br = null; diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/LruCacheTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/LruCacheTest.java index 63d076a764..036502a6e3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/LruCacheTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/LruCacheTest.java @@ -20,7 +20,7 @@ import java.util.Deque; /** - * Tests {@link org.postgresql.util.LruCache} + * Tests {@link org.postgresql.util.LruCache}. */ public class LruCacheTest { diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/rules/ServerVersionRule.java b/pgjdbc/src/test/java/org/postgresql/test/util/rules/ServerVersionRule.java index 684d206c48..11951f04b8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/rules/ServerVersionRule.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/rules/ServerVersionRule.java @@ -19,8 +19,9 @@ /** *

Rule for ignore test if current version postgresql to old to use. And it necessary because * without it test will fail. For use it method test class or test method should be annotate with - * {@link HaveMinimalServerVersion} annotation. - * Example use: + * {@link HaveMinimalServerVersion} annotation.

+ * + *

Example use: *

  * @HaveMinimalServerVersion("8.4")
  * public class CopyAPITest {
@@ -45,6 +46,7 @@
  *     }
  * }
  * 
+ *

*/ public class ServerVersionRule implements TestRule { /** diff --git a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java index 590dbbd12b..5056515ead 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java @@ -350,13 +350,13 @@ public void testAutoCommit() throws Exception { } /** - * Get the time the current transaction was started from the server. + *

Get the time the current transaction was started from the server.

* - * This can be used to check that transaction doesn't get committed/ rolled back inadvertently, by + *

This can be used to check that transaction doesn't get committed/ rolled back inadvertently, by * calling this once before and after the suspected piece of code, and check that they match. It's * a bit iffy, conceivably you might get the same timestamp anyway if the suspected piece of code * runs fast enough, and/or the server clock is very coarse grained. But it'll do for testing - * purposes. + * purposes.

*/ private static java.sql.Timestamp getTransactionTimestamp(Connection conn) throws SQLException { ResultSet rs = conn.createStatement().executeQuery("SELECT now()"); From da831de521953aa1c168928173c9e75336682e29 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 10 Jul 2018 19:09:12 +0300 Subject: [PATCH 175/427] perf: avoid string allocation for oid/rows parsing in command tag (#1232) --- .../core/CommandCompleteParser.java | 108 ++++++++++++++++++ .../main/java/org/postgresql/core/Parser.java | 45 ++++++++ .../postgresql/core/v3/QueryExecutorImpl.java | 42 +++---- .../CommandCompleteParserNegativeTest.java | 49 ++++++++ .../core/CommandCompleteParserTest.java | 58 ++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 4 + 6 files changed, 278 insertions(+), 28 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/core/CommandCompleteParser.java create mode 100644 pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserNegativeTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/CommandCompleteParser.java b/pgjdbc/src/main/java/org/postgresql/core/CommandCompleteParser.java new file mode 100644 index 0000000000..a4e52b31b7 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/core/CommandCompleteParser.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import org.postgresql.util.GT; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +/** + * Parses {@code oid} and {@code rows} from a {@code CommandComplete (B)} message (end of Execute). + */ +public final class CommandCompleteParser { + private long oid; + private long rows; + + public CommandCompleteParser() { + } + + public long getOid() { + return oid; + } + + public long getRows() { + return rows; + } + + void set(long oid, long rows) { + this.oid = oid; + this.rows = rows; + } + + /** + * Parses {@code CommandComplete (B)} message. + * Status is in the format of "COMMAND OID ROWS" where both 'OID' and 'ROWS' are optional + * and COMMAND can have spaces within it, like CREATE TABLE. + * + * @param status COMMAND OID ROWS message + * @throws PSQLException in case the status cannot be parsed + */ + public void parse(String status) throws PSQLException { + // Assumption: command neither starts nor ends with a digit + if (!Parser.isDigitAt(status, status.length() - 1)) { + set(0, 0); + return; + } + + // Scan backwards, while searching for a maximum of two number groups + // COMMAND OID ROWS + // COMMAND ROWS + long oid = 0; + long rows = 0; + try { + int lastSpace = status.lastIndexOf(' '); + // Status ends with a digit => it is ROWS + if (Parser.isDigitAt(status, lastSpace + 1)) { + rows = Parser.parseLong(status, lastSpace + 1, status.length()); + + if (Parser.isDigitAt(status, lastSpace - 1)) { + int penultimateSpace = status.lastIndexOf(' ', lastSpace - 1); + if (Parser.isDigitAt(status, penultimateSpace + 1)) { + oid = Parser.parseLong(status, penultimateSpace + 1, lastSpace); + } + } + } + } catch (NumberFormatException e) { + // This should only occur if the oid or rows are out of 0..Long.MAX_VALUE range + throw new PSQLException( + GT.tr("Unable to parse the count in command completion tag: {0}.", status), + PSQLState.CONNECTION_FAILURE, e); + } + set(oid, rows); + } + + @Override + public String toString() { + return "CommandStatus{" + + "oid=" + oid + + ", rows=" + rows + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + CommandCompleteParser that = (CommandCompleteParser) o; + + if (oid != that.oid) { + return false; + } + return rows == that.rows; + } + + @Override + public int hashCode() { + int result = (int) (oid ^ (oid >>> 32)); + result = 31 * result + (int) (rows ^ (rows >>> 32)); + return result; + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 5cd2dfb272..c017de0bcc 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -691,6 +691,26 @@ public static boolean parseValuesKeyword(final char[] query, int offset) { && (query[offset + 5] | 32) == 's'; } + /** + * Faster version of {@link Long#parseLong(String)} when parsing a substring is required + * + * @param s string to parse + * @param beginIndex begin index + * @param endIndex end index + * @return long value + */ + public static long parseLong(String s, int beginIndex, int endIndex) { + // Fallback to default implementation in case the string is long + if (endIndex - beginIndex > 16) { + return Long.parseLong(s.substring(beginIndex, endIndex)); + } + long res = digitAt(s, beginIndex); + for (beginIndex++; beginIndex < endIndex; beginIndex++) { + res = res * 10 + digitAt(s, beginIndex); + } + return res; + } + /** * Parse string to check presence of WITH keyword regardless of case. * @@ -725,6 +745,31 @@ public static boolean parseAsKeyword(final char[] query, int offset) { && (query[offset + 1] | 32) == 's'; } + /** + * Returns true if a given string {@code s} has digit at position {@code pos}. + * @param s input string + * @param pos position (0-based) + * @return true if input string s has digit at position pos + */ + public static boolean isDigitAt(String s, int pos) { + return pos > 0 && pos < s.length() && Character.isDigit(s.charAt(pos)); + } + + /** + * Converts digit at position {@code pos} in string {@code s} to integer or throws. + * @param s input string + * @param pos position (0-based) + * @return integer value of a digit at position pos + * @throws NumberFormatException if character at position pos is not an integer + */ + public static int digitAt(String s, int pos) { + int c = s.charAt(pos) - '0'; + if (c < 0 || c > 9) { + throw new NumberFormatException("Input string: \"" + s + "\", position: " + pos); + } + return c; + } + /** * @param c character * @return true if the character is a whitespace character as defined in the backend's parser diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index edc504dba3..62030e5024 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -10,6 +10,7 @@ import org.postgresql.copy.CopyIn; import org.postgresql.copy.CopyOperation; import org.postgresql.copy.CopyOut; +import org.postgresql.core.CommandCompleteParser; import org.postgresql.core.Encoding; import org.postgresql.core.EncodingPredictor; import org.postgresql.core.Field; @@ -63,9 +64,6 @@ import java.util.TimeZone; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** * QueryExecutor implementation for the V3 protocol. @@ -73,7 +71,6 @@ public class QueryExecutorImpl extends QueryExecutorBase { private static final Logger LOGGER = Logger.getLogger(QueryExecutorImpl.class.getName()); - private static final Pattern COMMAND_COMPLETE_PATTERN = Pattern.compile("^([A-Za-z]++)(?: (\\d++))?+(?: (\\d++))?+$"); /** * TimeZone of the current connection (TimeZone backend parameter). @@ -122,6 +119,11 @@ public class QueryExecutorImpl extends QueryExecutorBase { private final ReplicationProtocol replicationProtocol; + /** + * {@code CommandComplete(B)} messages are quite common, so we reuse instance to parse those + */ + private final CommandCompleteParser commandCompleteParser = new CommandCompleteParser(); + public QueryExecutorImpl(PGStream pgStream, String user, String database, int cancelSignalTimeout, Properties info) throws SQLException, IOException { super(pgStream, user, database, cancelSignalTimeout, info); @@ -2469,31 +2471,15 @@ private String receiveCommandStatus() throws IOException { } private void interpretCommandStatus(String status, ResultHandler handler) { - long oid = 0; - long count = 0; - Matcher matcher = COMMAND_COMPLETE_PATTERN.matcher(status); - if (matcher.matches()) { - // String command = matcher.group(1); - String group2 = matcher.group(2); - String group3 = matcher.group(3); - try { - if (group3 != null) { - // COMMAND OID ROWS - oid = Long.parseLong(group2); - count = Long.parseLong(group3); - } else if (group2 != null) { - // COMMAND ROWS - count = Long.parseLong(group2); - } - } catch (NumberFormatException e) { - // As we're performing a regex validation prior to parsing, this should only - // occurr if the oid or count are out of range. - handler.handleError(new PSQLException( - GT.tr("Unable to parse the count in command completion tag: {0}.", status), - PSQLState.CONNECTION_FAILURE)); - return; - } + try { + commandCompleteParser.parse(status); + } catch (SQLException e) { + handler.handleError(e); + return; } + long oid = commandCompleteParser.getOid(); + long count = commandCompleteParser.getRows(); + int countAsInt = 0; if (count > Integer.MAX_VALUE) { // If command status indicates that we've modified more than Integer.MAX_VALUE rows diff --git a/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserNegativeTest.java b/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserNegativeTest.java new file mode 100644 index 0000000000..0e6f82ddcb --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserNegativeTest.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import org.postgresql.util.PSQLException; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class CommandCompleteParserNegativeTest { + + @Parameterized.Parameter(0) + public String input; + + @Parameterized.Parameters(name = "input={0}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"SELECT 0_0 42"}, + {"SELECT 42 0_0"}, + {"SELECT 0_0 0_0"}, + }); + } + + @Test + public void run() throws PSQLException { + CommandCompleteParser parser = new CommandCompleteParser(); + try { + parser.parse(input); + Assert.fail("CommandCompleteParser should throw NumberFormatException for " + input); + } catch (PSQLException e) { + Throwable cause = e.getCause(); + if (cause == null) { + throw e; + } + if (!(cause instanceof NumberFormatException)) { + throw e; + } + // NumerFormatException is expected + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserTest.java new file mode 100644 index 0000000000..ce3878d386 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/core/CommandCompleteParserTest.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import org.postgresql.util.PSQLException; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class CommandCompleteParserTest { + + @Parameterized.Parameter(0) + public String input; + @Parameterized.Parameter(1) + public long oid; + @Parameterized.Parameter(2) + public long rows; + + @Parameterized.Parameters(name = "input={0}, oid={1}, rows={2}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"SELECT 0", 0, 0}, + {"SELECT -42", 0, 0}, + {"SELECT", 0, 0}, + {"", 0, 0}, + {"A", 0, 0}, + {"SELECT 42", 0, 42}, + {"UPDATE 43 42", 43, 42}, + {"UPDATE 43 " + Long.MAX_VALUE, 43, Long.MAX_VALUE}, + {"UPDATE " + Long.MAX_VALUE + " " + Long.MAX_VALUE, Long.MAX_VALUE, Long.MAX_VALUE}, + {"UPDATE " + (Long.MAX_VALUE / 10) + " " + (Long.MAX_VALUE / 10), (Long.MAX_VALUE / 10), + (Long.MAX_VALUE / 10)}, + {"UPDATE " + (Long.MAX_VALUE / 100) + " " + (Long.MAX_VALUE / 100), (Long.MAX_VALUE / 100), + (Long.MAX_VALUE / 100)}, + {"CREATE TABLE " + (Long.MAX_VALUE / 100) + " " + (Long.MAX_VALUE / 100), + (Long.MAX_VALUE / 100), (Long.MAX_VALUE / 100)}, + {"CREATE TABLE", 0, 0}, + {"CREATE OR DROP OR DELETE TABLE 42", 0, 42}, + }); + } + + @Test + public void run() throws PSQLException { + CommandCompleteParser expected = new CommandCompleteParser(); + CommandCompleteParser actual = new CommandCompleteParser(); + expected.set(oid, rows); + actual.parse(input); + Assert.assertEquals(input, expected, actual); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 03ac93f8c0..f1e09d4739 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -5,6 +5,8 @@ package org.postgresql.test.jdbc2; +import org.postgresql.core.CommandCompleteParserNegativeTest; +import org.postgresql.core.CommandCompleteParserTest; import org.postgresql.core.OidToStringTest; import org.postgresql.core.OidValueOfTest; import org.postgresql.core.ParserTest; @@ -78,6 +80,8 @@ TimezoneCachingTest.class, ParserTest.class, ReturningParserTest.class, + CommandCompleteParserTest.class, + CommandCompleteParserNegativeTest.class, OidToStringTest.class, OidValueOfTest.class, From c5f5d8d28f34ad9acaa58b241ad4a265547c990b Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 1 Jul 2018 22:37:55 +0300 Subject: [PATCH 176/427] docs: prepare changelog for 42.2.3 release --- CHANGELOG.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ec304ce33..e501427fd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Changed - Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) +- Deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) +- Support parenthesis in {oj ...} JDBC escape syntax [PR 1204](https://github.com/pgjdbc/pgjdbc/pull/1204) +- ubenchmark module moved pgjdbc/benchmarks repository due to licensing issues [PR 1215](https://github.com/pgjdbc/pgjdbc/pull/1215) +- Include section on how to submit a bug report in CONTRIBUTING.md [PR 951](https://github.com/pgjdbc/pgjdbc/pull/951) + +### Fixed +- getString for PGObject-based types returned "null" string instead of null [PR 1154](https://github.com/pgjdbc/pgjdbc/pull/1154) +- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1152) +- Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) +- Adjust date, hour, minute, second when rounding nanosecond part of a timestamp [PR 1212](https://github.com/pgjdbc/pgjdbc/pull/1212) +- perf: reduce memory allocations in query cache [PR 1227](https://github.com/pgjdbc/pgjdbc/pull/1227) +- perf: reduce memory allocations in SQL parser [PR 1230](https://github.com/pgjdbc/pgjdbc/pull/1230), [PR 1233](https://github.com/pgjdbc/pgjdbc/pull/1233) +- Encode URL parameters in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) +- Improve JavaDoc formatting [PR 1236](https://github.com/pgjdbc/pgjdbc/pull/1236) ## [42.2.2] (2018-03-15) ### Added @@ -20,7 +34,6 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc - Wrong results when single statement is used with different bind types[PR 1137](https://github.com/pgjdbc/pgjdbc/pull/1137) - Support generated keys for WITH queries that miss RETURNING [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) - Support generated keys when INSERT/UPDATE/DELETE keyword is followed by a comment [PR 1138](https://github.com/pgjdbc/pgjdbc/pull/1138) -- Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) ## [42.2.1] (2018-01-25) ### Known issues @@ -56,6 +69,7 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) - Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). - Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) + ### Fixed - Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. [PR 857](https://github.com/pgjdbc/pgjdbc/pull/857) - Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. [PR 992](https://github.com/pgjdbc/pgjdbc/pull/992) From e368f058d990c5ec3b6e3c00aa5f11e8b9083854 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 2 Jul 2018 09:46:30 +0300 Subject: [PATCH 177/427] chore: fetch contributors' URL via GitHub API --- .gitattributes | 1 + contributors.json | 68 ++++++++++++++++++ release_notes.sh | 14 ++-- release_notes_filter.pl | 148 +++++++++++++++++++--------------------- 4 files changed, 150 insertions(+), 81 deletions(-) create mode 100644 contributors.json mode change 100644 => 100755 release_notes_filter.pl diff --git a/.gitattributes b/.gitattributes index 21bec18c8f..b04b5e2863 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,3 +7,4 @@ *.yaml text *.yml text /CHANGELOG.md merge=union +/contributors.json merge=union diff --git a/contributors.json b/contributors.json new file mode 100644 index 0000000000..099e3eed5e --- /dev/null +++ b/contributors.json @@ -0,0 +1,68 @@ +{ + "AlexElin" : "https://github.com/AlexElin", + "Alexander Kjäll" : "https://github.com/alexanderkjall", + "Barnabas Bodnar" : "https://github.com/bbodnar", + "Brett Okken" : "https://github.com/bokken", + "Brett Wooldridge" : "https://github.com/brettwooldridge", + "Chen Huajun" : "https://github.com/ChenHuajun", + "Christian Ullrich" : "https://github.com/chrullrich", + "Christopher Deckers" : "https://github.com/Chrriis", + "Daniel Gustafsson" : "https://github.com/danielgustafsson", + "Daniel Migowski" : "https://github.com/dmigowski", + "Dave Cramer" : "davec@postgresintl.com", + "Eric McCormack" : "https://github.com/ericmack", + "Florin Asăvoaie" : "https://github.com/FlorinAsavoaie", + "George Kankava" : "https://github.com/georgekankava", + "Hugh Cole-Baker" : "https://github.com/sigmaris", + "JCzogalla" : "https://github.com/JCzogalla", + "Jacques Fuentes" : "https://github.com/jpfuentes2", + "James" : "https://github.com/jamesthomp", + "Jamie Pullar" : "https://github.com/JamiePullar", + "Jeff Klukas" : "https://github.com/jklukas", + "Jeremy Whiting" : "https://github.com/whitingjr", + "Joe Kutner" : "https://github.com/jkutner", + "Jordan Lewis" : "https://github.com/jordanlewis", + "Jorge Solorzano" : "https://github.com/jorsol", + "Laurenz Albe" : "https://github.com/laurenz", + "Magnus" : "https://github.com/magJ", + "Magnus Hagander" : "https://github.com/mhagander", + "Marc Petzold" : "https://github.com/dosimeta", + "Marios Trivyzas" : "https://github.com/matriv", + "Mathias Fußenegger" : "https://github.com/mfussenegger", + "Michael Glaesemann" : "https://github.com/grzm", + "MichaelZg" : "https://github.com/michaelzg", + "Minglei Tu" : "https://github.com/tminglei", + "Pavel Raiskup" : "https://github.com/praiskup", + "Pawel" : "https://github.com/veselov", + "Petro Semeniuk" : "https://github.com/PetroSemeniuk", + "Philippe Marschall" : "https://github.com/marschall", + "Piyush Sharma" : "https://github.com/ps-sp", + "Rikard Pavelic" : "https://github.com/zapov", + "Robert 'Bobby' Zenz" : "https://github.com/RobertZenz", + "Robert Zenz" : "https://github.com/RobertZenz", + "Roman Ivanov" : "https://github.com/romani", + "Sebastian Utz" : "https://github.com/seut", + "Sehrope Sarkuni" : "https://github.com/sehrope", + "Selene Feigl" : "https://github.com/sfeigl", + "Simon Stelling" : "https://github.com/stellingsimon", + "Steve Ungerer" : "https://github.com/scubasau", + "Tanya Gordeeva" : "https://github.com/tmgordeeva", + "Thach Hoang" : "https://github.com/thachhoang", + "Trygve Laugstøl" : "https://github.com/trygvis", + "Vladimir Gordiychuk" : "https://github.com/Gordiychuk", + "Vladimir Sitnikov" : "https://github.com/vlsi", + "Zemian Deng" : "https://github.com/zemian", + "aryabukhin" : "https://github.com/aryabukhin", + "bd-infor" : "https://github.com/bd-infor", + "bpd0018" : "https://github.com/bpd0018", + "chalda" : "https://github.com/ochaloup", + "djydewang" : "https://github.com/djydewang", + "eperez" : "https://github.com/eperez", + "goeland86" : "https://github.com/goeland86", + "mjanczykowski" : "https://github.com/mjanczykowski", + "rnveach" : "https://github.com/rnveach", + "slmsbrhgn" : "https://github.com/slmsbrhgn", + "trtrmitya" : "https://github.com/trtrmitya", + "zapov" : "https://github.com/zapov", + "Álvaro Hernández Tortosa" : "https://github.com/ahachete" +} diff --git a/release_notes.sh b/release_notes.sh index d0994376d8..977c35db1f 100755 --- a/release_notes.sh +++ b/release_notes.sh @@ -48,8 +48,12 @@ echo git shortlog --format="%s@@@%H@@@%h@@@" --grep="maven-release-plugin|update versions in readme.md" --extended-regexp --invert-grep --no-merges $PREV_VERSION..HEAD | perl release_notes_filter.pl ${VERS} # Update CHANGELOG.md with the new version -sed -i -e "s/^## \[Unreleased\]$/## \[${VERS}\] (${DATE_YMD})/" CHANGELOG.md -sed -i -e "s/^\[Unreleased\]: /\[${VERS}\]: /" CHANGELOG.md -sed -i -e "s/$PREV_VERSION\.\.\.HEAD/$PREV_VERSION\.\.\.REL${VERS}/" CHANGELOG.md -sed -i -e "s/^## \[${VERS}\] (${DATE_YMD})$/## \[Unreleased\]\n\n&/g" CHANGELOG.md -echo "[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL${VERS}...HEAD" >> CHANGELOG.md +NL=$'\n' +if grep -q "$VERS" CHANGELOG.md; then + : # nothing to do here, CHANGELOG has already been updated +else + sed -i -e "s/^## \[Unreleased\]$/## [Unreleased]\\$NL### Changed\\$NL\\$NL### Added\\$NL\\$NL### Fixed\\$NL\\$NL## [${VERS}] (${DATE_YMD})/" CHANGELOG.md + sed -i -e "s/^\[Unreleased\]: /[${VERS}]: /" CHANGELOG.md + sed -i -e "s/$PREV_VERSION\.\.\.HEAD/$PREV_VERSION...REL${VERS}/" CHANGELOG.md + echo "[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL${VERS}...HEAD" >> CHANGELOG.md +fi diff --git a/release_notes_filter.pl b/release_notes_filter.pl old mode 100644 new mode 100755 index 32c497d795..3b943cd712 --- a/release_notes_filter.pl +++ b/release_notes_filter.pl @@ -1,85 +1,73 @@ -#!/bin/perl +#!/usr/bin/env perl use strict; +use utf8; +use open qw(:std :utf8); + +use WWW::Curl::Easy; +use JSON; +use JSON::Parse 'json_file_to_perl'; +use Unicode::Collate; my $version = shift; -my %author_url = ( - 'Alexander Kjäll' => 'https://github.com/alexanderkjall', - 'AlexElin' => 'https://github.com/AlexElin', - 'Álvaro Hernández Tortosa' => 'https://github.com/ahachete', - 'aryabukhin' => 'https://github.com/aryabukhin', - 'Barnabas Bodnar' => 'https://github.com/bbodnar', - 'bd-infor' => 'https://github.com/bd-infor', - 'bpd0018' => 'https://github.com/bpd0018', - 'Brett Okken' => 'https://github.com/bokken', - 'Brett Wooldridge' => 'https://github.com/brettwooldridge', - 'chalda' => 'https://github.com/ochaloup', - 'Chen Huajun' => 'https://github.com/ChenHuajun', - 'Christian Ullrich' => 'https://github.com/chrullrich', - 'Christopher Deckers' => 'https://github.com/Chrriis', - 'Daniel Gustafsson' => 'https://github.com/danielgustafsson', - 'Daniel Migowski' =>'https://github.com/dmigowski', - 'Dave Cramer' => 'davec@postgresintl.com', - 'djydewang' => 'https://github.com/djydewang', - 'eperez' => 'https://github.com/eperez', - 'Eric McCormack' => 'https://github.com/ericmack', - 'Florin Asăvoaie' => 'https://github.com/FlorinAsavoaie', - 'George Kankava' => 'https://github.com/georgekankava', - 'goeland86' => 'https://github.com/goeland86', - 'Hugh Cole-Baker' => 'https://github.com/sigmaris', - 'Jacques Fuentes' => 'https://github.com/jpfuentes2', - 'James' => 'https://github.com/jamesthomp', - 'Jamie Pullar' => 'https://github.com/JamiePullar', - 'JCzogalla' => 'https://github.com/JCzogalla', - 'Jeff Klukas' => 'https://github.com/jklukas', - 'Jeremy Whiting' => 'https://github.com/whitingjr', - 'Joe Kutner' => 'https://github.com/jkutner', - 'Jordan Lewis' => 'https://github.com/jordanlewis', - 'Jorge Solorzano' => 'https://github.com/jorsol', - 'Laurenz Albe' => 'https://github.com/laurenz', - 'Magnus Hagander' => 'https://github.com/mhagander', - 'Magnus' => 'https://github.com/magJ', - 'Marc Petzold' => 'https://github.com/dosimeta', - 'Marios Trivyzas' => 'https://github.com/matriv', - 'Mathias Fußenegger' => 'https://github.com/mfussenegger', - 'Michael Glaesemann' => 'https://github.com/grzm', - 'MichaelZg' => 'https://github.com/michaelzg', - 'Minglei Tu' => 'https://github.com/tminglei', - 'mjanczykowski' => 'https://github.com/mjanczykowski', - 'Pavel Raiskup' => 'https://github.com/praiskup', - 'Pawel' => 'https://github.com/veselov', - 'Petro Semeniuk' => 'https://github.com/PetroSemeniuk', - 'Philippe Marschall' => 'https://github.com/marschall', - 'Piyush Sharma' => 'https://github.com/ps-sp', - 'Rikard Pavelic' => 'https://github.com/zapov', - 'rnveach' => 'https://github.com/rnveach', - 'Robert Zenz' => 'https://github.com/RobertZenz', - 'Robert \'Bobby\' Zenz' => 'https://github.com/RobertZenz', - 'Roman Ivanov' => 'https://github.com/romani', - 'Sebastian Utz' => 'https://github.com/seut', - 'Sehrope Sarkuni' => 'https://github.com/sehrope', - 'Selene Feigl' => 'https://github.com/sfeigl', - 'Simon Stelling' => 'https://github.com/stellingsimon', - 'slmsbrhgn' => 'https://github.com/slmsbrhgn', - 'Steve Ungerer' => 'https://github.com/scubasau', - 'Tanya Gordeeva' => 'https://github.com/tmgordeeva', - 'Thach Hoang' => 'https://github.com/thachhoang', - 'trtrmitya' => 'https://github.com/trtrmitya', - 'Trygve Laugstøl' => 'https://github.com/trygvis', - 'Vladimir Gordiychuk' => 'https://github.com/Gordiychuk', - 'Vladimir Sitnikov' => 'https://github.com/vlsi', - 'zapov' => 'https://github.com/zapov', - 'Zemian Deng' => 'https://github.com/zemian', -); +my $contributors = json_file_to_perl('contributors.json'); +my $con_count = keys %$contributors; + +sub save_contributors { + if ($con_count == keys %$contributors) { + return; + } + my $fh; + open $fh, ">", "contributors.json"; + print $fh JSON->new->pretty->canonical->encode($contributors); + close $fh; +} + +my %author_url; + +my $fetch = sub { + my $curl = WWW::Curl::Easy->new(); + my ( $header, $body ); + $curl->setopt( CURLOPT_URL, shift ); + $curl->setopt( CURLOPT_WRITEHEADER, \$header ); + $curl->setopt( CURLOPT_WRITEDATA, \$body ); + $curl->setopt( CURLOPT_FOLLOWLOCATION, 1 ); + $curl->setopt( CURLOPT_TIMEOUT, 10 ); + $curl->setopt( CURLOPT_SSL_VERIFYPEER, 1 ); + $curl->setopt( CURLOPT_USERAGENT, "Awesome-Pgjdbc-App"); + $curl->perform; + { + header => $header, + body => $body, + info => $curl->getinfo(CURLINFO_HTTP_CODE), + error => $curl->errbuf, + }; +}; +sub authorUrl { + my $sha = (shift); + my $res = $fetch->("https://api.github.com/repos/pgjdbc/pgjdbc/commits/$sha"); + if ($res->{info} != 200) { + return + } + my $json = decode_json($res->{body}); + my $author = $json->{author}; + my $url = $author->{html_url}; + if ($url) { + return $url; + } + return $json->{commit}->{author}->{email}; +} my %authors; +my $currentAuthor; while(<>) { if ($_ !~ /@@@/) { print $_; if ($_ =~ /(.*) \(\d+\):/) { - $authors{$1} = 1; + $currentAuthor = $1; + $authors{$currentAuthor} = 1; print "\n"; } next; @@ -89,9 +77,14 @@ my $sha = @c[1]; my $shortSha = @c[2]; + if (!$contributors->{$currentAuthor}) { + $contributors->{$currentAuthor} = authorUrl($sha); + } + my $pr = ''; - if ($subject =~ /\(#(\d+)\)/) { - $subject =~ s;\(#(\d+)\);[PR#\1](https://github.com/pgjdbc/pgjdbc/pull/\1);; + # PR id can be either "... (#42)" or just "... #42" + if ($subject =~ /\(?#(\d+)\)?/) { + $subject =~ s;\(?#(\d+)\)?;[PR \1](https://github.com/pgjdbc/pgjdbc/pull/\1);; } else { my $body = `git log --format='%B' -n 1 $sha`; @@ -100,7 +93,7 @@ } } if ($pr != '') { - $pr = ' [PR#'.$pr.'](https://github.com/pgjdbc/pgjdbc/pull/'.$pr.')'; + $pr = ' [PR '.$pr.'](https://github.com/pgjdbc/pgjdbc/pull/'.$pr.')'; } $subject =~ s/^\s+/* /; @@ -111,11 +104,14 @@ print "### Contributors to this release\n\n"; print "We thank the following people for their contributions to this release.\n\n"; -for my $c (sort keys(%authors)) { - if ($author_url{$c}) { - print "[$c](".$author_url{$c}.")"; +for my $c (Unicode::Collate->new(level => 2)->sort(keys(%authors))) { + my $url = $contributors->{$c}; + if ($url) { + print "[$c]($url)"; } else { print $c; } print " \n" } + +save_contributors(); From c0ba2333d0aed2efbd45293a5b6bc89db974d4fb Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Fri, 6 Jul 2018 00:43:20 +0300 Subject: [PATCH 178/427] docs: update site for 42.2.3 --- CHANGELOG.md | 10 +- contributors.json | 14 +- docs/_posts/2018-07-11-42.2.3-release.md | 158 +++++++++++++++++++++++ 3 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 docs/_posts/2018-07-11-42.2.3-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index e501427fd8..802a05f941 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed + +### Added + +### Fixed + +## [42.2.3] (2018-07-11) +### Changed - Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) - Deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) @@ -151,4 +158,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.1.4...REL42.2.0 [42.2.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...REL42.2.1 [42.2.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...REL42.2.2 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...HEAD +[42.2.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...REL42.2.3 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...HEAD diff --git a/contributors.json b/contributors.json index 099e3eed5e..0d36961b0a 100644 --- a/contributors.json +++ b/contributors.json @@ -1,4 +1,5 @@ { + "AlBundy33" : "https://github.com/AlBundy33", "AlexElin" : "https://github.com/AlexElin", "Alexander Kjäll" : "https://github.com/alexanderkjall", "Barnabas Bodnar" : "https://github.com/bbodnar", @@ -13,6 +14,7 @@ "Eric McCormack" : "https://github.com/ericmack", "Florin Asăvoaie" : "https://github.com/FlorinAsavoaie", "George Kankava" : "https://github.com/georgekankava", + "Hari Babu Kommi" : "https://github.com/kommiharibabu", "Hugh Cole-Baker" : "https://github.com/sigmaris", "JCzogalla" : "https://github.com/JCzogalla", "Jacques Fuentes" : "https://github.com/jpfuentes2", @@ -20,17 +22,21 @@ "Jamie Pullar" : "https://github.com/JamiePullar", "Jeff Klukas" : "https://github.com/jklukas", "Jeremy Whiting" : "https://github.com/whitingjr", + "Jesper Pedersen" : "https://github.com/jesperpedersen", "Joe Kutner" : "https://github.com/jkutner", "Jordan Lewis" : "https://github.com/jordanlewis", "Jorge Solorzano" : "https://github.com/jorsol", + "KimBisgaardDmi" : "https://github.com/KimBisgaardDmi", "Laurenz Albe" : "https://github.com/laurenz", "Magnus" : "https://github.com/magJ", "Magnus Hagander" : "https://github.com/mhagander", "Marc Petzold" : "https://github.com/dosimeta", + "Marc Slemko" : "https://github.com/znep", "Marios Trivyzas" : "https://github.com/matriv", "Mathias Fußenegger" : "https://github.com/mfussenegger", "Michael Glaesemann" : "https://github.com/grzm", "MichaelZg" : "https://github.com/michaelzg", + "Michele Mancioppi" : "https://github.com/michele-mancioppi", "Minglei Tu" : "https://github.com/tminglei", "Pavel Raiskup" : "https://github.com/praiskup", "Pawel" : "https://github.com/veselov", @@ -44,7 +50,9 @@ "Sebastian Utz" : "https://github.com/seut", "Sehrope Sarkuni" : "https://github.com/sehrope", "Selene Feigl" : "https://github.com/sfeigl", + "Sidi Mohamed EL AATIFI" : "https://github.com/elaatifi", "Simon Stelling" : "https://github.com/stellingsimon", + "Stephen Nelson" : "https://github.com/lordnelson", "Steve Ungerer" : "https://github.com/scubasau", "Tanya Gordeeva" : "https://github.com/tmgordeeva", "Thach Hoang" : "https://github.com/thachhoang", @@ -53,7 +61,10 @@ "Vladimir Sitnikov" : "https://github.com/vlsi", "Zemian Deng" : "https://github.com/zemian", "aryabukhin" : "https://github.com/aryabukhin", + "bazzargh" : "https://github.com/bazzargh", "bd-infor" : "https://github.com/bd-infor", + "benbenw" : "https://github.com/benbenw", + "benoit" : "https://github.com/benbenw", "bpd0018" : "https://github.com/bpd0018", "chalda" : "https://github.com/ochaloup", "djydewang" : "https://github.com/djydewang", @@ -64,5 +75,6 @@ "slmsbrhgn" : "https://github.com/slmsbrhgn", "trtrmitya" : "https://github.com/trtrmitya", "zapov" : "https://github.com/zapov", - "Álvaro Hernández Tortosa" : "https://github.com/ahachete" + "Álvaro Hernández Tortosa" : "https://github.com/ahachete", + "Étienne BERSAC" : "https://github.com/bersace" } diff --git a/docs/_posts/2018-07-11-42.2.3-release.md b/docs/_posts/2018-07-11-42.2.3-release.md new file mode 100644 index 0000000000..0a3a31ea14 --- /dev/null +++ b/docs/_posts/2018-07-11-42.2.3-release.md @@ -0,0 +1,158 @@ +--- +title: PostgreSQL JDBC Driver 42.2.3 Released +date: 2018-07-10 17:42:23 +0300 +categories: + - new_release +version: 42.2.3 +--- +**Notable changes** + +### Changed +- Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) +- Deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) +- Support parenthesis in {oj ...} JDBC escape syntax [PR 1204](https://github.com/pgjdbc/pgjdbc/pull/1204) +- ubenchmark module moved pgjdbc/benchmarks repository due to licensing issues [PR 1215](https://github.com/pgjdbc/pgjdbc/pull/1215) +- Include section on how to submit a bug report in CONTRIBUTING.md [PR 951](https://github.com/pgjdbc/pgjdbc/pull/951) + +### Fixed +- getString for PGObject-based types returned "null" string instead of null [PR 1154](https://github.com/pgjdbc/pgjdbc/pull/1154) +- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1152) +- Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) +- Adjust date, hour, minute, second when rounding nanosecond part of a timestamp [PR 1212](https://github.com/pgjdbc/pgjdbc/pull/1212) +- perf: reduce memory allocations in query cache [PR 1227](https://github.com/pgjdbc/pgjdbc/pull/1227) +- perf: reduce memory allocations in SQL parser [PR 1230](https://github.com/pgjdbc/pgjdbc/pull/1230), [PR 1233](https://github.com/pgjdbc/pgjdbc/pull/1233) +- Encode URL parameters in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) +- Improve JavaDoc formatting [PR 1236](https://github.com/pgjdbc/pgjdbc/pull/1236) + + + + +**Commits by author** + +AlBundy33 (1): + +* fix: support parenthesis in {oj ...} JDBC escape syntax [PR 865](https://github.com/pgjdbc/pgjdbc/pull/865) [38356e68](https://github.com/pgjdbc/pgjdbc/commit/38356e6889613a65fc48a455495f18dbb3565731) + +AlexElin (3): + +* refactor: deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) [f8e21b63](https://github.com/pgjdbc/pgjdbc/commit/f8e21b63071f39f7f7754bfbfd051828884c1fd5) +* refactor: migrate MultiHostsConnectionTest to JUnit4 [PR 886](https://github.com/pgjdbc/pgjdbc/pull/886) [17a4d6a5](https://github.com/pgjdbc/pgjdbc/commit/17a4d6a500d4456c8bcac63d3d0cbb282fc99bea) +* refactor: simplify PgConnection.java [PR 1047](https://github.com/pgjdbc/pgjdbc/pull/1047) [ba360f73](https://github.com/pgjdbc/pgjdbc/commit/ba360f731cb9a2eca9924b700cee234aba572fe5) + +Dave Cramer (3): + +* fixed spelling mistake in PostgreSQL [PR 1202](https://github.com/pgjdbc/pgjdbc/pull/1202) [b92bd65a](https://github.com/pgjdbc/pgjdbc/commit/b92bd65a0860cc9f34b667a9fa34d7acca6aac5d) +* docs: improve javadocs in PgResultSetMetaData [PR 792](https://github.com/pgjdbc/pgjdbc/pull/792) [825c0924](https://github.com/pgjdbc/pgjdbc/commit/825c092483aa8a4ea1d0937cd081f1657983aa6d) +* minor language updates [PR 1241](https://github.com/pgjdbc/pgjdbc/pull/1241) [e19ee7ae](https://github.com/pgjdbc/pgjdbc/commit/e19ee7ae5742ec0cd8976c66ae22e7e500e0107b) + +Hari Babu Kommi (2): + +* spelling mistake correction [PR 1181](https://github.com/pgjdbc/pgjdbc/pull/1181) [e88abd79](https://github.com/pgjdbc/pgjdbc/commit/e88abd79bae4eab71561539784ccdb6b04d52cee) +* fix: set the loggerName in ConnectionFactoryImpl.log [PR 1188](https://github.com/pgjdbc/pgjdbc/pull/1188) [f78a639d](https://github.com/pgjdbc/pgjdbc/commit/f78a639d1ed3c64e80e1fa107691b4af5945cb84) + +Jesper Pedersen (1): + +* perf: guard logging statements [PR 1112](https://github.com/pgjdbc/pgjdbc/pull/1112) [7a0b7d65](https://github.com/pgjdbc/pgjdbc/commit/7a0b7d65582a21376fc114eb197b5bae1fe1ea00) + +Jorge Solorzano (6): + +* fix: error on Travis build head [PR 1186](https://github.com/pgjdbc/pgjdbc/pull/1186) [354d2857](https://github.com/pgjdbc/pgjdbc/commit/354d2857664559636a4d3b18568cb69adc47f349) +* test: add coverage for extendedCacheEverything [PR 1062](https://github.com/pgjdbc/pgjdbc/pull/1062) [f4d503c2](https://github.com/pgjdbc/pgjdbc/commit/f4d503c2ef449e8c2db0c23c27aedb09af30df62) +* Update after_n_builds to 10 [PR 1193](https://github.com/pgjdbc/pgjdbc/pull/1193) [2f9fed45](https://github.com/pgjdbc/pgjdbc/commit/2f9fed45104b56d7e2b2802359a04321755266a6) +* test: drop OpenJ9 CI tests [PR 1196](https://github.com/pgjdbc/pgjdbc/pull/1196) [9b6506df](https://github.com/pgjdbc/pgjdbc/commit/9b6506dfa1076ad27a16de8fc3e85bc23f1a5b97) +* fix: logger should be generally quiet [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) [30f06e14](https://github.com/pgjdbc/pgjdbc/commit/30f06e1411373d72ab59debc352ddf746f6812da) +* docs: improve CONTRIBUTING.md [PR 951](https://github.com/pgjdbc/pgjdbc/pull/951) [38c8845e](https://github.com/pgjdbc/pgjdbc/commit/38c8845e645cabce89e7610d1d5e735cc30543b1) + +KimBisgaardDmi (1): + +* fix: getString for PGObject columns returns null [PR 1154](https://github.com/pgjdbc/pgjdbc/pull/1154) [bbb6c1f8](https://github.com/pgjdbc/pgjdbc/commit/bbb6c1f8ac395fa793e09216ba3b710b0f6a2077) + +Marc Slemko (1): + +* fix: allow disabling field metadata cache [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1052) [6ce91721](https://github.com/pgjdbc/pgjdbc/commit/6ce91721048dea0e73231fa50c365108e9b9d49d) + +Michele Mancioppi (1): + +* docs: clarify database and username for the build [PR 859](https://github.com/pgjdbc/pgjdbc/pull/859) [83f2e385](https://github.com/pgjdbc/pgjdbc/commit/83f2e385947c56376a03fc14178f5d28e427c832) + +Pavel Raiskup (1): + +* packaging: fix RPM build requirements [6bb72e69](https://github.com/pgjdbc/pgjdbc/commit/6bb72e69ee274e55a5ec08aec3316aa78aa3fab4) + +Sidi Mohamed EL AATIFI (1): + +* Fix typos in java8-date-time.md [PR 1174](https://github.com/pgjdbc/pgjdbc/pull/1174) [dde8c020](https://github.com/pgjdbc/pgjdbc/commit/dde8c0200c409a525ef3bfc7a0aa81e7cd458a59) + +Stephen Nelson (2): + +* chore: add missing javadoc tags to avoid warnings [PR 1164](https://github.com/pgjdbc/pgjdbc/pull/1164) [e9ced455](https://github.com/pgjdbc/pgjdbc/commit/e9ced455fd118731eb7dea38a63e0b400df32a1b) +* docs: correct the Javadoc and enforce with Checkstyle [PR 1236](https://github.com/pgjdbc/pgjdbc/pull/1236) [08631ccd](https://github.com/pgjdbc/pgjdbc/commit/08631ccdabdb8ba6d52f398e2b0b46a9cf0cafbf) + +Vladimir Sitnikov (19): + +* reflect 42.2.2 release in readme.md [b1581e99](https://github.com/pgjdbc/pgjdbc/commit/b1581e99b6da96b6e44753ce231ec3acf9869fea) +* fix: avoid NPE in PgConnection.finalize [PR 1206](https://github.com/pgjdbc/pgjdbc/pull/1206) [03a1441b](https://github.com/pgjdbc/pgjdbc/commit/03a1441bbe98525412df754d3934141bc3b12168) +* chore: update gettext plugin, sort po files [eb5c8fdd](https://github.com/pgjdbc/pgjdbc/commit/eb5c8fdd6b37eb29262713584d01d73b8b7d299a) +* chore: sort messages in *.po files [10fc2fbb](https://github.com/pgjdbc/pgjdbc/commit/10fc2fbb35537e4f75c22dc7614f76b376e3f0d8) +* chore: remove obsolete translations [ed1eab9e](https://github.com/pgjdbc/pgjdbc/commit/ed1eab9ef70e499310f6730ce7ef0d5bf7bfb3ae) +* doc: add Russian translation to "No IOException expected..." [eaa0acad](https://github.com/pgjdbc/pgjdbc/commit/eaa0acad343027bf8be48b3229ef9f6386d67810) +* fix: adjust date, hour, minute, second when rounding timestamp [PR 1212](https://github.com/pgjdbc/pgjdbc/pull/1212) [4dc98be8](https://github.com/pgjdbc/pgjdbc/commit/4dc98be81829bbff3bb00c23214606757df16fab) +* chore: remove ubenchmark module due to licensing issues [PR 1215](https://github.com/pgjdbc/pgjdbc/pull/1215) [88ec13bb](https://github.com/pgjdbc/pgjdbc/commit/88ec13bb67d5bb2dbd2fc57046e05f9a3eb66abb) +* chore: remove ubenchmark from packaging/rpm as well [a699965a](https://github.com/pgjdbc/pgjdbc/commit/a699965ae209c32ce234fb455f04ffe6b1d1e0e5) +* fix: support query timeouts exceeding 2147483 seconds (~25 days) [PR 1224](https://github.com/pgjdbc/pgjdbc/pull/1224) [b7fd9f3c](https://github.com/pgjdbc/pgjdbc/commit/b7fd9f3cef734b4c219e2f6bc6c19acf68b2990b) +* perf: improve performance of replacing JDBC {...} escapes [PR 1230](https://github.com/pgjdbc/pgjdbc/pull/1230) [177f63be](https://github.com/pgjdbc/pgjdbc/commit/177f63be788a80529bfa7c2234cfabb039cc29b4) +* docs: use union merge strategy for CHANGELOG [PR 1107](https://github.com/pgjdbc/pgjdbc/pull/1107) [70189203](https://github.com/pgjdbc/pgjdbc/commit/70189203574d9f0faf37b8a9bcee1d76ffa6b676) +* chore: use 5432 as default port when running code from IDE [5dc03f63](https://github.com/pgjdbc/pgjdbc/commit/5dc03f63f170ed371a4f4ba06d491be489627b11) +* docs: use "PR 42" references instead of "PR[PR 42](https://github.com/pgjdbc/pgjdbc/pull/42)" in the changelog (#1239) [f4ae60ec](https://github.com/pgjdbc/pgjdbc/commit/f4ae60eca7b6dd8828f9e1b7a53c1dfee38f8201) +* test: close of replication connection has not been fixed at backend side, so disable the test till 12.1 [PR 1243](https://github.com/pgjdbc/pgjdbc/pull/1243) [481460a3](https://github.com/pgjdbc/pgjdbc/commit/481460a32426c3d3a532f2a9a1b078ed9e98129a) +* perf: avoid string allocation for oid/rows parsing in command tag [PR 1232](https://github.com/pgjdbc/pgjdbc/pull/1232) [da831de5](https://github.com/pgjdbc/pgjdbc/commit/da831de521953aa1c168928173c9e75336682e29) +* docs: prepare changelog for 42.3.3 release [671913b1](https://github.com/pgjdbc/pgjdbc/commit/671913b1b2e68668c11b8b4fd9a0aa9395dab5e6) +* chore: fetch contributors' URL via GitHub API [d7297984](https://github.com/pgjdbc/pgjdbc/commit/d7297984a27c5a033571fbfcece62a1c849e2ec0) +* docs: update site for 42.2.3 + +bazzargh (1): + +* fix: encode url query parameters DataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) [9f3838f7](https://github.com/pgjdbc/pgjdbc/commit/9f3838f749d370a13a2fcef8e3ef67062d6e35eb) + +benbenw (2): + +* refactor: remove obsolete outParmBeforeFunc [PR 1234](https://github.com/pgjdbc/pgjdbc/pull/1234) [71028532](https://github.com/pgjdbc/pgjdbc/commit/71028532bcbc36e8239a4a7f9ad87e1acd070dc9) +* perf: improve parsing performance of JDBC-style { call ...} calls [PR 1233](https://github.com/pgjdbc/pgjdbc/pull/1233) [435e2f79](https://github.com/pgjdbc/pgjdbc/commit/435e2f791bc848494b4f08c5d0b90ecf520ae5fe) + +benoit (3): + +* perf: reduce memory allocations when JDBC escapes ({fn ...}) are used [2a1e0910](https://github.com/pgjdbc/pgjdbc/commit/2a1e09100c4d56a37c84668135ec7fe3e05962cb) +* refactor: use singleArgumentFunctionCall in EscapedFunctions [191d84eb](https://github.com/pgjdbc/pgjdbc/commit/191d84eb7541a0eba0a0f0eaac0f45e6e0c80ce4) +* perf: avoid BaseQueryKey.toString in CachedQuery.getSize [PR 1227](https://github.com/pgjdbc/pgjdbc/pull/1227) [669fc31e](https://github.com/pgjdbc/pgjdbc/commit/669fc31ec187b27d15ee24f84c389260c54ddf25) + +bpd0018 (1): + +* style: rephrase comment on named portals [PR 1129](https://github.com/pgjdbc/pgjdbc/pull/1129) [86c46f94](https://github.com/pgjdbc/pgjdbc/commit/86c46f94535823ab7f6edde25f38d6e1182272a0) + +Étienne BERSAC (1): + +* docs: fix link to GitHub documentation [PR 1191](https://github.com/pgjdbc/pgjdbc/pull/1191) [655b6e70](https://github.com/pgjdbc/pgjdbc/commit/655b6e70b471da29b49124399eb0dab607dfc221) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[AlBundy33](https://github.com/AlBundy33) +[AlexElin](https://github.com/AlexElin) +[bazzargh](https://github.com/bazzargh) +[benbenw](https://github.com/benbenw) +[benoit](https://github.com/benbenw) +[bpd0018](https://github.com/bpd0018) +[Dave Cramer](davec@postgresintl.com) +[Étienne BERSAC](https://github.com/bersace) +[Hari Babu Kommi](https://github.com/kommiharibabu) +[Jesper Pedersen](https://github.com/jesperpedersen) +[Jorge Solorzano](https://github.com/jorsol) +[KimBisgaardDmi](https://github.com/KimBisgaardDmi) +[Marc Slemko](https://github.com/znep) +[Michele Mancioppi](https://github.com/michele-mancioppi) +[Pavel Raiskup](https://github.com/praiskup) +[Sidi Mohamed EL AATIFI](https://github.com/elaatifi) +[Stephen Nelson](https://github.com/lordnelson) +[Vladimir Sitnikov](https://github.com/vlsi) From 27be4e2beb2893c40e24422ff043a94660897f2e Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 11 Jul 2018 21:33:48 +0300 Subject: [PATCH 179/427] chore: update parent versions to 1.1.4 to enforce Javadoc warnings as errors --- pgjdbc/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index dc44bc83ca..ae12c24c3b 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-core-parent - 1.1.3 + 1.1.4 diff --git a/pom.xml b/pom.xml index ab70b9255b..7b543e1eb6 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-versions - 1.1.3 + 1.1.4 pgjdbc-aggregate From aeb6f8aa8bc849091ab3592865692bf4fc06e9f3 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 11 Jul 2018 23:28:50 +0300 Subject: [PATCH 180/427] chore: suppress Picked up _JAVA_OPTIONS warnings This results in Javadoc warning during release and it fails the release See https://github.com/travis-ci/travis-ci/issues/8408 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 53a2784739..6392396e8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,6 +47,7 @@ env: before_install: - ./.travis/travis_install_zulu.sh - test -z "${ZULU_JDK}" || export JDK${ZULU_JDK}_HOME=/usr/lib/jvm/zulu-${ZULU_JDK}-amd64 + - unset _JAVA_OPTIONS # see https://github.com/travis-ci/travis-ci/issues/8408 script: # make sure previous build artifacts are not used for subsequent builds From b4dd99d8605b5994144d65527959825b1ff9d2b8 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 12 Jul 2018 11:54:24 +0300 Subject: [PATCH 181/427] chore: move javadoc:failOnWarnings to Java8 build, so javadoc warnings in 6 and 7 allow for the release to pass --- pgjdbc/pom.xml | 9 ++++++++- pom.xml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index ae12c24c3b..687c2b4736 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-core-parent - 1.1.4 + 1.1.5 @@ -315,6 +315,13 @@ true + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + diff --git a/pom.xml b/pom.xml index 7b543e1eb6..c78aedb2ad 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-versions - 1.1.4 + 1.1.5 pgjdbc-aggregate From f3762f779ad04da6b79895e3530cc2d0d8f88e2a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 12 Jul 2018 12:38:42 +0300 Subject: [PATCH 182/427] docs: update 42.2.3 release date --- CHANGELOG.md | 2 +- ...018-07-11-42.2.3-release.md => 2018-07-12-42.2.3-release.md} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename docs/_posts/{2018-07-11-42.2.3-release.md => 2018-07-12-42.2.3-release.md} (99%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 802a05f941..25a5a27964 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed -## [42.2.3] (2018-07-11) +## [42.2.3] (2018-07-12) ### Changed - Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) diff --git a/docs/_posts/2018-07-11-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md similarity index 99% rename from docs/_posts/2018-07-11-42.2.3-release.md rename to docs/_posts/2018-07-12-42.2.3-release.md index 0a3a31ea14..54e9c7f26f 100644 --- a/docs/_posts/2018-07-11-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.3 Released -date: 2018-07-10 17:42:23 +0300 +date: 2018-07-10 12:02:03 +0300 categories: - new_release version: 42.2.3 From 220c02fce06980733163020634f97cf2d8483f39 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 12 Jul 2018 09:44:14 +0000 Subject: [PATCH 183/427] [maven-release-plugin] prepare release REL42.2.3 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 687c2b4736..632680fe67 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.3-SNAPSHOT + 42.2.3 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,4 +325,8 @@ + + + REL42.2.3 + diff --git a/pom.xml b/pom.xml index c78aedb2ad..57524bf7b5 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.3-SNAPSHOT + 42.2.3 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.3 From 57356d5b0f4ec001ef614e0dae4bedee2a956f35 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 12 Jul 2018 09:44:19 +0000 Subject: [PATCH 184/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 632680fe67..f6d4e7b9c9 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.3 + 42.2.4-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,8 +325,4 @@ - - - REL42.2.3 - diff --git a/pom.xml b/pom.xml index 57524bf7b5..c3faad2b6c 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.3 + 42.2.4-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.3 + HEAD From 01b0356020195dfc91251bd303f4ec98a82a2188 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 12 Jul 2018 13:44:06 +0300 Subject: [PATCH 185/427] reflect 42.2.3 release in readme.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9ddf73c45c..c934668709 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.2-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.3-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.2 + 42.2.3 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.2.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.3.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.2.jre7 + 42.2.3.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.2.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.3.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.2.jre6 + 42.2.3.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.2|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.3-SNAPSHOT - 42.2.3.jre7-SNAPSHOT - 42.2.3.jre6-SNAPSHOT + 42.2.4-SNAPSHOT + 42.2.4.jre7-SNAPSHOT + 42.2.4.jre6-SNAPSHOT ``` From 985b63b7228f3ef34159b68c1a4192c749994ef3 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 12 Jul 2018 10:28:29 -0400 Subject: [PATCH 186/427] use the correct date for the release --- docs/_posts/2018-07-12-42.2.3-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index 54e9c7f26f..f8485ae548 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.3 Released -date: 2018-07-10 12:02:03 +0300 +date: 2018-07-12 12:02:03 +0300 categories: - new_release version: 42.2.3 From b20df919a45435804b17f77da3a80aedd6675e15 Mon Sep 17 00:00:00 2001 From: Christian Kotzbauer Date: Thu, 12 Jul 2018 23:03:50 +0200 Subject: [PATCH 187/427] Fixed typo in CHANGELOG.md (#1249) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25a5a27964..abcf61e7d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [42.2.3] (2018-07-12) ### Changed -- Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be +- Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) - Deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) - Support parenthesis in {oj ...} JDBC escape syntax [PR 1204](https://github.com/pgjdbc/pgjdbc/pull/1204) From b0162c0a44075586a666a9d431b2230e2568a973 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 12 Jul 2018 17:04:38 -0400 Subject: [PATCH 188/427] also fix spelling of error --- docs/_posts/2018-07-12-42.2.3-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index f8485ae548..6a2f91ac96 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -8,7 +8,7 @@ version: 42.2.3 **Notable changes** ### Changed -- Reduce the severity of the erorr log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) +- Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) - Deprecate Fastpath API [PR 903](https://github.com/pgjdbc/pgjdbc/pull/903) - Support parenthesis in {oj ...} JDBC escape syntax [PR 1204](https://github.com/pgjdbc/pgjdbc/pull/1204) - ubenchmark module moved pgjdbc/benchmarks repository due to licensing issues [PR 1215](https://github.com/pgjdbc/pgjdbc/pull/1215) From cc545d28d632dcd6bb9ec06680ff2e1a12de246a Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 13 Jul 2018 07:48:27 +0200 Subject: [PATCH 189/427] packaging: sync RPM spec with Fedora Rawhide - don't distribute parent-poms as RPM - create package alias 'pgjdbc', could be renamed in future - provide /usr/share/maven-poms/postgresql.pom --- packaging/rpm/postgresql-jdbc.spec.tpl | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index 0cb054d296..e0256ff4e0 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -50,6 +50,7 @@ License: BSD URL: http://jdbc.postgresql.org/ Source0: https://github.com/pgjdbc/pgjdbc/archive/REL%{version}/pgjdbc-REL%{version}.tar.gz +Provides: pgjdbc = %version-%release # Upstream moved parent pom.xml into separate project (even though there is only # one dependant project on it?). Let's try to not complicate packaging by @@ -77,20 +78,14 @@ BuildRequires: postgresql-test-rpm-macros # gettext is only needed if we try to update translations #BuildRequires: gettext +Obsoletes: %{name}-parent-poms < 42.2.2-2 + %description PostgreSQL is an advanced Object-Relational database management system. The postgresql-jdbc package includes the .jar files needed for Java programs to access a PostgreSQL database. -%package parent-poms -Summary: Build dependency management for PostgreSQL JDBC driver. - -%description parent-poms -Pom files bringing dependencies required for successful PostgreSQL JDBC driver -build. - - %package javadoc Summary: API docs for %{name} @@ -115,10 +110,10 @@ find -name "*.jar" -or -name "*.class" | xargs rm -f # compat symlink: requested by dtardon (libreoffice), reverts part of # 0af97ce32de877 commit. -%mvn_file org.postgresql:postgresql %{name}/postgresql %{name} +%mvn_file org.postgresql:postgresql %{name}/postgresql %{name} postgresql -# Parent POMs should be installed in a separate subpackage. -%mvn_package ":*{parent,versions,prevjre}*" parent-poms +# Parent POMs should not be installed. +%mvn_package ":*{parent,versions,prevjre}*" __noinstall # For compat reasons, make Maven artifact available under older coordinates. %mvn_alias org.postgresql:postgresql postgresql:postgresql @@ -174,11 +169,6 @@ opts="-f" %doc README.md -%files parent-poms -f .mfiles-parent-poms -%license LICENSE -%doc pgjdbc-parent-poms/CHANGELOG.md pgjdbc-parent-poms/README.md - - %files javadoc -f .mfiles-javadoc %license LICENSE From 776e1717cfe34219dba2f04e2a808d8ca867a860 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 12:54:41 +0300 Subject: [PATCH 190/427] docs: fix broken commit link in 42.2.3 changelog --- docs/_posts/2018-07-12-42.2.3-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index 6a2f91ac96..0f7da8c8bf 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -106,7 +106,7 @@ Vladimir Sitnikov (19): * docs: use "PR 42" references instead of "PR[PR 42](https://github.com/pgjdbc/pgjdbc/pull/42)" in the changelog (#1239) [f4ae60ec](https://github.com/pgjdbc/pgjdbc/commit/f4ae60eca7b6dd8828f9e1b7a53c1dfee38f8201) * test: close of replication connection has not been fixed at backend side, so disable the test till 12.1 [PR 1243](https://github.com/pgjdbc/pgjdbc/pull/1243) [481460a3](https://github.com/pgjdbc/pgjdbc/commit/481460a32426c3d3a532f2a9a1b078ed9e98129a) * perf: avoid string allocation for oid/rows parsing in command tag [PR 1232](https://github.com/pgjdbc/pgjdbc/pull/1232) [da831de5](https://github.com/pgjdbc/pgjdbc/commit/da831de521953aa1c168928173c9e75336682e29) -* docs: prepare changelog for 42.3.3 release [671913b1](https://github.com/pgjdbc/pgjdbc/commit/671913b1b2e68668c11b8b4fd9a0aa9395dab5e6) +* docs: prepare changelog for 42.2.3 release [c5f5d8d2](https://github.com/pgjdbc/pgjdbc/commit/c5f5d8d28f34ad9acaa58b241ad4a265547c990b) * chore: fetch contributors' URL via GitHub API [d7297984](https://github.com/pgjdbc/pgjdbc/commit/d7297984a27c5a033571fbfcece62a1c849e2ec0) * docs: update site for 42.2.3 From 6287c9547880b5cdfc596cf932354511a4e310cb Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 14 Jul 2018 07:01:07 -0400 Subject: [PATCH 191/427] fix: setNull for types not in java.sql.Types (e.g. uuid) (#1160) Fix PreparedStatement.setNull(pos, type, pgtype) This enables to pass nulls for uuids like "where ? is null"; setNull(1, Types.OTHER, "uuid"); fixes #1159 --- CHANGELOG.md | 2 ++ .../postgresql/jdbc/PgPreparedStatement.java | 20 +++++++++++++++++-- .../test/jdbc2/PreparedStatementTest.java | 16 +++++++++++++++ .../org/postgresql/test/jdbc4/ArrayTest.java | 2 +- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abcf61e7d6..11f2590421 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed +- PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName +argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) ### Added diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index d0563beb91..9a698c9261 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -1232,9 +1232,25 @@ public void setClob(int i, Clob x) throws SQLException { setLong(i, oid); } - public void setNull(int i, int t, String s) throws SQLException { + public void setNull(int parameterIndex, int t, String typeName) throws SQLException { + + if (typeName == null) { + setNull(parameterIndex, t); + return; + } + checkClosed(); - setNull(i, t); + + TypeInfo typeInfo = connection.getTypeInfo(); + + int oid = typeInfo.getPGType(typeName); + + if (adjustIndex) { + parameterIndex--; + } + + preparedParameters.setNull(parameterIndex, oid); + } public void setRef(int i, Ref x) throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index 15cf6ce363..eeabb4e79e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -12,6 +12,7 @@ import static org.junit.Assert.fail; import org.postgresql.PGStatement; +import org.postgresql.core.ServerVersion; import org.postgresql.jdbc.PgStatement; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; @@ -39,6 +40,7 @@ import java.sql.Types; import java.util.ArrayList; import java.util.Collection; +import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Handler; @@ -285,6 +287,20 @@ public void testSetNull() throws SQLException { pstmt.executeUpdate(); pstmt.close(); + + assumeMinimumServerVersion(ServerVersion.v8_3); + pstmt = con.prepareStatement("select 'ok' where ?=? or (? is null) "); + pstmt.setObject(1, UUID.randomUUID(), Types.OTHER); + pstmt.setNull(2, Types.OTHER, "uuid"); + pstmt.setNull(3, Types.OTHER, "uuid"); + ResultSet rs = pstmt.executeQuery(); + + assertTrue(rs.next()); + assertEquals("ok",rs.getObject(1)); + + rs.close(); + pstmt.close(); + } @Test diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java index dba8f899fd..7e3c17078b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/ArrayTest.java @@ -560,7 +560,7 @@ public void testToString() throws SQLException { public void nullArray() throws SQLException { PreparedStatement ps = con.prepareStatement("INSERT INTO arrtest(floatarr) VALUES (?)"); - ps.setNull(1, Types.ARRAY, "float8"); + ps.setNull(1, Types.ARRAY, "float8[]"); ps.execute(); ps.close(); From 4668f43fa11fabce9d12d8c9ade73b9426061284 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 15:10:42 +0300 Subject: [PATCH 192/427] fix: treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE (#1250) Reported by Adam Rauch: https://www.postgresql.org/message-id/6f4f4d3d-f781-010b-0686-f25c6a7537af@labkey.com --- CHANGELOG.md | 6 ++- .../postgresql/jdbc/EscapedFunctions2.java | 2 +- .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 1 + .../test/jdbc2/ReplaceProcessingTest.java | 48 +++++++++++++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/ReplaceProcessingTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 11f2590421..9ffdd40a06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) -### Added - ### Fixed +- Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) ## [42.2.3] (2018-07-12) +### Known issues +- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as minute + ### Changed - Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java index 2104cf47a2..1147c816fb 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java @@ -545,7 +545,7 @@ private static boolean appendSingleIntervalCast(StringBuilder buf, String cmp, S */ private static boolean areSameTsi(String a, String b) { return a.length() == b.length() && b.length() > SQL_TSI_ROOT.length() - && a.regionMatches(true, SQL_TSI_ROOT.length(), b, SQL_TSI_ROOT.length(), SQL_TSI_ROOT.length() - b.length()); + && a.regionMatches(true, SQL_TSI_ROOT.length(), b, SQL_TSI_ROOT.length(), b.length() - SQL_TSI_ROOT.length()); } /** diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index f1e09d4739..18a406b57e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -82,6 +82,7 @@ ReturningParserTest.class, CommandCompleteParserTest.class, CommandCompleteParserNegativeTest.class, + ReplaceProcessingTest.class, OidToStringTest.class, OidValueOfTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ReplaceProcessingTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ReplaceProcessingTest.java new file mode 100644 index 0000000000..3790b28745 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ReplaceProcessingTest.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.SQLException; +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class ReplaceProcessingTest extends BaseTest4 { + + @Parameterized.Parameter(0) + public String input; + @Parameterized.Parameter(1) + public String expected; + + + @Parameterized.Parameters(name = "input={0}, expected={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"{fn timestampadd(SQL_TSI_YEAR, ?, {fn now()})}", "(CAST( $1||' year' as interval)+ now())"}, + {"{fn timestampadd(SQL_TSI_MONTH, ?, {fn now()})}", "(CAST( $1||' month' as interval)+ now())"}, + {"{fn timestampadd(SQL_TSI_DAY, ?, {fn now()})}", "(CAST( $1||' day' as interval)+ now())"}, + {"{fn timestampadd(SQL_TSI_WEEK, ?, {fn now()})}", "(CAST( $1||' week' as interval)+ now())"}, + {"{fn timestampadd(SQL_TSI_MINUTE, ?, {fn now()})}", "(CAST( $1||' minute' as interval)+ now())"}, + {"{fn timestampadd(SQL_TSI_SECOND, ?, {fn now()})}", "(CAST( $1||' second' as interval)+ now())"}, + {"{fn user()}", "user"}, + {"{fn ifnull(?,?)}", "coalesce($1,$2)"}, + {"{fn database()}", "current_database()"}, + // Not yet supported + // {"{fn timestampadd(SQL_TSI_QUATER, ?, {fn now()})}", "(CAST( $1||' quater' as interval)+ now())"}, + // {"{fn timestampadd(SQL_TSI_FRAC_SECOND, ?, {fn now()})}", "(CAST( $1||' second' as interval)+ now())"}, + }); + } + + + @Test + public void run() throws SQLException { + Assert.assertEquals(input, expected, con.nativeSQL(input)); + } +} From f2d1352c2b3ea98492beb6127cd6d95039a0b92f Mon Sep 17 00:00:00 2001 From: Jan Van den Bergh Date: Sat, 14 Jul 2018 13:52:17 +0100 Subject: [PATCH 193/427] fix: map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL (#1175) fixes #1171 --- .../org/postgresql/xa/PGXAConnection.java | 18 ++++++++++-- .../postgresql/test/xa/XADataSourceTest.java | 28 +++++++++++++++++-- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index b8e22a1a79..bbf442e77f 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -357,7 +357,7 @@ public int prepare(Xid xid) throws XAException { return XA_OK; } catch (SQLException ex) { - throw new PGXAException(GT.tr("Error preparing transaction. prepare xid={0}", xid), ex, XAException.XAER_RMERR); + throw new PGXAException(GT.tr("Error preparing transaction. prepare xid={0}", xid), ex, mapSQLStateToXAErrorCode(ex)); } } @@ -545,7 +545,7 @@ private void commitOnePhase(Xid xid) throws XAException { conn.commit(); conn.setAutoCommit(localAutoCommitMode); } catch (SQLException ex) { - throw new PGXAException(GT.tr("Error during one-phase commit. commit xid={0}", xid), ex, XAException.XAER_RMFAIL); + throw new PGXAException(GT.tr("Error during one-phase commit. commit xid={0}", xid), ex, mapSQLStateToXAErrorCode(ex)); } } @@ -643,6 +643,20 @@ public boolean setTransactionTimeout(int seconds) { return false; } + private int mapSQLStateToXAErrorCode(SQLException sqlException) { + if (isPostgreSQLIntegrityConstraintViolation(sqlException)) { + return XAException.XA_RBINTEGRITY; + } + + return XAException.XAER_RMFAIL; + } + + private boolean isPostgreSQLIntegrityConstraintViolation(SQLException sqlException) { + return sqlException instanceof PSQLException + && sqlException.getSQLState().length() == 5 + && sqlException.getSQLState().startsWith("23"); // Class 23 - Integrity Constraint Violation + } + private enum State { /** * {@code PGXAConnection} not associated with a XA-transaction. You can still call {@link #getConnection()} and diff --git a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java index 5056515ead..31bd1933e8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java @@ -23,13 +23,11 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; - import java.util.Arrays; import java.util.Random; import javax.sql.XAConnection; import javax.sql.XADataSource; - import javax.transaction.xa.XAException; import javax.transaction.xa.XAResource; import javax.transaction.xa.Xid; @@ -66,6 +64,8 @@ public void setUp() throws Exception { st.close(); TestUtil.createTable(_conn, "testxa1", "foo int"); + TestUtil.createTable(_conn, "testxa2", "foo int primary key"); + TestUtil.createTable(_conn, "testxa3", "foo int references testxa2(foo) deferrable"); clearAllPrepared(); @@ -92,6 +92,8 @@ public void tearDown() throws SQLException { } clearAllPrepared(); + TestUtil.dropTable(_conn, "testxa3"); + TestUtil.dropTable(_conn, "testxa2"); TestUtil.dropTable(_conn, "testxa1"); TestUtil.closeDB(_conn); @@ -780,6 +782,28 @@ public void testNetworkIssueOnRollback() throws Exception { } } + /** + * When using deferred constraints a contraint violation can occur on prepare. This has to be + * mapped to the correct XA Error Code + */ + @Test + public void testMappingOfConstraintViolations() throws Exception { + Xid xid = new CustomXid(1); + xaRes.start(xid, XAResource.TMNOFLAGS); + assertEquals(0, conn.createStatement().executeUpdate("SET CONSTRAINTS ALL DEFERRED")); + assertEquals(1, conn.createStatement().executeUpdate("INSERT INTO testxa3 VALUES (4)")); + xaRes.end(xid, XAResource.TMSUCCESS); + + try { + xaRes.prepare(xid); + + fail("Prepare is expected to fail as an integrity violation occurred"); + } catch (XAException xae) { + assertEquals("Prepare call with deferred constraints violations expects XA_RBINTEGRITY", + XAException.XA_RBINTEGRITY, xae.errorCode); + } + } + /* * We don't support transaction interleaving. public void testInterleaving1() throws Exception { * Xid xid1 = new CustomXid(1); Xid xid2 = new CustomXid(2); From 11cd27bdf1c17f23a2a8e6e6efe5525aa524b135 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 16:37:54 +0300 Subject: [PATCH 194/427] docs: update site for 42.2.4 (#1251) --- CHANGELOG.md | 11 ++++- contributors.json | 2 + docs/_posts/2018-07-14-42.2.4-release.md | 55 ++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docs/_posts/2018-07-14-42.2.4-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ffdd40a06..7a3408a756 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,19 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed + +### Added + +### Fixed + +## [42.2.4] (2018-07-14) +### Changed - PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) ### Fixed - Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) +- Map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) ## [42.2.3] (2018-07-12) ### Known issues @@ -163,4 +171,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.0...REL42.2.1 [42.2.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...REL42.2.2 [42.2.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...REL42.2.3 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...HEAD +[42.2.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...REL42.2.4 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...HEAD diff --git a/contributors.json b/contributors.json index 0d36961b0a..bc75010f0d 100644 --- a/contributors.json +++ b/contributors.json @@ -6,6 +6,7 @@ "Brett Okken" : "https://github.com/bokken", "Brett Wooldridge" : "https://github.com/brettwooldridge", "Chen Huajun" : "https://github.com/ChenHuajun", + "Christian Kotzbauer" : "https://github.com/code-chris", "Christian Ullrich" : "https://github.com/chrullrich", "Christopher Deckers" : "https://github.com/Chrriis", "Daniel Gustafsson" : "https://github.com/danielgustafsson", @@ -20,6 +21,7 @@ "Jacques Fuentes" : "https://github.com/jpfuentes2", "James" : "https://github.com/jamesthomp", "Jamie Pullar" : "https://github.com/JamiePullar", + "Jan Van den Bergh" : "https://github.com/janvdbergh", "Jeff Klukas" : "https://github.com/jklukas", "Jeremy Whiting" : "https://github.com/whitingjr", "Jesper Pedersen" : "https://github.com/jesperpedersen", diff --git a/docs/_posts/2018-07-14-42.2.4-release.md b/docs/_posts/2018-07-14-42.2.4-release.md new file mode 100644 index 0000000000..c47a0e615f --- /dev/null +++ b/docs/_posts/2018-07-14-42.2.4-release.md @@ -0,0 +1,55 @@ +--- +title: PostgreSQL JDBC Driver 42.2.4 Released +date: 2018-07-14 19:02:04 +0300 +categories: + - new_release +version: 42.2.4 +--- +**Notable changes** + +### Changed +- PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName +argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) + +### Fixed +- Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) +- Map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) + + + + +**Commits by author** + +Christian Kotzbauer (1): + +* Fixed typo in CHANGELOG.md [PR 1249](https://github.com/pgjdbc/pgjdbc/pull/1249) [b20df919](https://github.com/pgjdbc/pgjdbc/commit/b20df919a45435804b17f77da3a80aedd6675e15) + +Dave Cramer (3): + +* use the correct date for the release [985b63b7](https://github.com/pgjdbc/pgjdbc/commit/985b63b7228f3ef34159b68c1a4192c749994ef3) +* also fix spelling of error [b0162c0a](https://github.com/pgjdbc/pgjdbc/commit/b0162c0a44075586a666a9d431b2230e2568a973) +* fix: setNull for types not in java.sql.Types (e.g. uuid) [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) [6287c954](https://github.com/pgjdbc/pgjdbc/commit/6287c9547880b5cdfc596cf932354511a4e310cb) + +Jan Van den Bergh (1): + +* fix: map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) + +Pavel Raiskup (1): + +* packaging: sync RPM spec with Fedora Rawhide [cc545d28](https://github.com/pgjdbc/pgjdbc/commit/cc545d28d632dcd6bb9ec06680ff2e1a12de246a) + +Vladimir Sitnikov (2): + +* docs: fix broken commit link in 42.2.3 changelog [776e1717](https://github.com/pgjdbc/pgjdbc/commit/776e1717cfe34219dba2f04e2a808d8ca867a860) +* fix: treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) [4668f43f](https://github.com/pgjdbc/pgjdbc/commit/4668f43fa11fabce9d12d8c9ade73b9426061284) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Christian Kotzbauer](https://github.com/code-chris) +[Dave Cramer](davec@postgresintl.com) +[Jan Van den Bergh](https://github.com/janvdbergh) +[Pavel Raiskup](https://github.com/praiskup) +[Vladimir Sitnikov](https://github.com/vlsi) From b3821baff00a9517f40278b5160a7495fa42a7ad Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Sat, 14 Jul 2018 13:42:24 +0000 Subject: [PATCH 195/427] [maven-release-plugin] prepare release REL42.2.4 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index f6d4e7b9c9..e927cb3012 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.4-SNAPSHOT + 42.2.4 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,4 +325,8 @@ + + + REL42.2.4 + diff --git a/pom.xml b/pom.xml index c3faad2b6c..99e80e521b 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.4-SNAPSHOT + 42.2.4 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.4 From 80713afe93b480913f5c43921373c49bc091231b Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Sat, 14 Jul 2018 13:42:30 +0000 Subject: [PATCH 196/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index e927cb3012..aa255e6665 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.4 + 42.2.5-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,8 +325,4 @@ - - - REL42.2.4 - diff --git a/pom.xml b/pom.xml index 99e80e521b..95e94c15de 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.4 + 42.2.5-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.4 + HEAD From b99cea0de0e67f0c641c77bcbff8d2889a441290 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 17:20:28 +0300 Subject: [PATCH 197/427] reflect 42.2.4 release in readme.md [ci-skip] --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c934668709..e018dcfffb 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.3-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.4-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.3 + 42.2.4 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.3.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.4.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.3.jre7 + 42.2.4.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.3.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.4.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.3.jre6 + 42.2.4.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.4-SNAPSHOT - 42.2.4.jre7-SNAPSHOT - 42.2.4.jre6-SNAPSHOT + 42.2.5-SNAPSHOT + 42.2.5.jre7-SNAPSHOT + 42.2.5.jre6-SNAPSHOT ``` From 2da319a07d47015467bd3ace029827f67f4778bc Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 17:38:59 +0300 Subject: [PATCH 198/427] doc: add SQL_TSI to the known issues for 42.2.3 [ci-skip] --- docs/_posts/2018-07-12-42.2.3-release.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index 0f7da8c8bf..c34c490cb6 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -6,6 +6,8 @@ categories: version: 42.2.3 --- **Notable changes** +### Known issues +- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as minute (fixed in 42.2.4) ### Changed - Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) From b1507f849b732012d5312c79a62dad24fd6a7261 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 14 Jul 2018 18:21:20 +0300 Subject: [PATCH 199/427] docs: escape underscores in changelog otherwise it produces italic --- docs/_posts/2017-05-04-42.1.0-release.md | 2 +- docs/_posts/2017-07-12-42.1.2-release.md | 2 +- docs/_posts/2018-01-17-42.2.0-release.md | 2 +- docs/_posts/2018-07-12-42.2.3-release.md | 4 ++-- docs/_posts/2018-07-14-42.2.4-release.md | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/_posts/2017-05-04-42.1.0-release.md b/docs/_posts/2017-05-04-42.1.0-release.md index 95444eb656..8922abc7b4 100644 --- a/docs/_posts/2017-05-04-42.1.0-release.md +++ b/docs/_posts/2017-05-04-42.1.0-release.md @@ -39,7 +39,7 @@ Dave Cramer (4): Jacques Fuentes (1): -* Make replication docs use PREFER_QUERY_MODE [PR 761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070) +* Make replication docs use PREFER\_QUERY\_MODE [PR 761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070) James (1): diff --git a/docs/_posts/2017-07-12-42.1.2-release.md b/docs/_posts/2017-07-12-42.1.2-release.md index 58a4cde960..5420569276 100644 --- a/docs/_posts/2017-07-12-42.1.2-release.md +++ b/docs/_posts/2017-07-12-42.1.2-release.md @@ -57,7 +57,7 @@ Vladimir Sitnikov (7): * fix: use server-prepared statements for batch inserts when prepareThreshold>0 [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f) * fix: better parsing for returning keyword [PR 824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc) * docs: build index, changelog pages from _posts/... to reduce release overhead [d6fe07d7](https://github.com/pgjdbc/pgjdbc/commit/d6fe07d7bb613d7b8fb06ace64b9b37d3f23bbfe) -* chore: make ./release_notes.sh create docs/_posts/$DATE_YMD-$VERS-release.md file [e00d4571](https://github.com/pgjdbc/pgjdbc/commit/e00d4571bb6ca24c8f93956b59fd1c9a14131394) +* chore: make ./release\_notes.sh create docs/\_posts/$DATE\_YMD-$VERS-release.md file [e00d4571](https://github.com/pgjdbc/pgjdbc/commit/e00d4571bb6ca24c8f93956b59fd1c9a14131394) * docs: add 42.1.2 release notes [6f127a61](https://github.com/pgjdbc/pgjdbc/commit/6f127a61eed5317133ea80f0a06f9441b170a17a) diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 8d253dd987..5a376b3ae9 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -165,7 +165,7 @@ Vladimir Sitnikov (23): * fix: prevent statement hang in case close() called when query is in progress [PR 1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315) * fix: synchronize Statement#result field access to make #close() more thread-safe [4139248](https://github.com/pgjdbc/pgjdbc/commit/41392481d5f2c7f89d783a535ade2d3afb565654) * fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5) -* fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0) +* fix: throw TOO\_MANY\_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0) * fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [PR 811](https://github.com/pgjdbc/pgjdbc/pull/811) [082d009](https://github.com/pgjdbc/pgjdbc/commit/082d00941ad5f8abf44a0785a6f086c106b3c746) * tests: correct assertion to use proper column [63918eb](https://github.com/pgjdbc/pgjdbc/commit/63918eb9b1211e0115c8b55401e22c7a3f37e534) * fix: add type parameter so code is Java 6/7 compatible [1361c52](https://github.com/pgjdbc/pgjdbc/commit/1361c5208d6afc5d54e4df1053c48cdb31df9038) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index c34c490cb6..8f1f5299b7 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -7,7 +7,7 @@ version: 42.2.3 --- **Notable changes** ### Known issues -- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as minute (fixed in 42.2.4) +- SQL\_TSI\_YEAR is treated as hour, SQL\_TSI\_WEEK is treated as hour, SQL\_TSI\_MINUTE is treated as minute (fixed in 42.2.4) ### Changed - Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) @@ -60,7 +60,7 @@ Jorge Solorzano (6): * fix: error on Travis build head [PR 1186](https://github.com/pgjdbc/pgjdbc/pull/1186) [354d2857](https://github.com/pgjdbc/pgjdbc/commit/354d2857664559636a4d3b18568cb69adc47f349) * test: add coverage for extendedCacheEverything [PR 1062](https://github.com/pgjdbc/pgjdbc/pull/1062) [f4d503c2](https://github.com/pgjdbc/pgjdbc/commit/f4d503c2ef449e8c2db0c23c27aedb09af30df62) -* Update after_n_builds to 10 [PR 1193](https://github.com/pgjdbc/pgjdbc/pull/1193) [2f9fed45](https://github.com/pgjdbc/pgjdbc/commit/2f9fed45104b56d7e2b2802359a04321755266a6) +* Update after\_n\_builds to 10 [PR 1193](https://github.com/pgjdbc/pgjdbc/pull/1193) [2f9fed45](https://github.com/pgjdbc/pgjdbc/commit/2f9fed45104b56d7e2b2802359a04321755266a6) * test: drop OpenJ9 CI tests [PR 1196](https://github.com/pgjdbc/pgjdbc/pull/1196) [9b6506df](https://github.com/pgjdbc/pgjdbc/commit/9b6506dfa1076ad27a16de8fc3e85bc23f1a5b97) * fix: logger should be generally quiet [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) [30f06e14](https://github.com/pgjdbc/pgjdbc/commit/30f06e1411373d72ab59debc352ddf746f6812da) * docs: improve CONTRIBUTING.md [PR 951](https://github.com/pgjdbc/pgjdbc/pull/951) [38c8845e](https://github.com/pgjdbc/pgjdbc/commit/38c8845e645cabce89e7610d1d5e735cc30543b1) diff --git a/docs/_posts/2018-07-14-42.2.4-release.md b/docs/_posts/2018-07-14-42.2.4-release.md index c47a0e615f..801039a497 100644 --- a/docs/_posts/2018-07-14-42.2.4-release.md +++ b/docs/_posts/2018-07-14-42.2.4-release.md @@ -12,8 +12,8 @@ version: 42.2.4 argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) ### Fixed -- Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) -- Map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) +- Fix treatment of SQL\_TSI\_YEAR, SQL\_TSI\_WEEK, SQL\_TSI\_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) +- Map integrity constraint violation to XA\_RBINTEGRITY instead of XAER\_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) @@ -32,7 +32,7 @@ Dave Cramer (3): Jan Van den Bergh (1): -* fix: map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) +* fix: map integrity constraint violation to XA\_RBINTEGRITY instead of XAER\_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f) Pavel Raiskup (1): @@ -41,7 +41,7 @@ Pavel Raiskup (1): Vladimir Sitnikov (2): * docs: fix broken commit link in 42.2.3 changelog [776e1717](https://github.com/pgjdbc/pgjdbc/commit/776e1717cfe34219dba2f04e2a808d8ca867a860) -* fix: treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) [4668f43f](https://github.com/pgjdbc/pgjdbc/commit/4668f43fa11fabce9d12d8c9ade73b9426061284) +* fix: treatment of SQL\_TSI\_YEAR, SQL\_TSI\_WEEK, SQL\_TSI\_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) [4668f43f](https://github.com/pgjdbc/pgjdbc/commit/4668f43fa11fabce9d12d8c9ade73b9426061284) ### Contributors to this release From 5898cdf1e314f2db7889456fb1ad6822021bd543 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 16 Jul 2018 13:10:34 +0300 Subject: [PATCH 200/427] docs: typo in 42.2.3 changelog "minute->second" --- CHANGELOG.md | 2 +- docs/_posts/2018-07-12-42.2.3-release.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a3408a756..b5fe1c9c40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160) ## [42.2.3] (2018-07-12) ### Known issues -- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as minute +- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as second ### Changed - Reduce the severity of the error log messages when an exception is re-thrown. The error will be diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index 8f1f5299b7..91431d1a6f 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -7,7 +7,7 @@ version: 42.2.3 --- **Notable changes** ### Known issues -- SQL\_TSI\_YEAR is treated as hour, SQL\_TSI\_WEEK is treated as hour, SQL\_TSI\_MINUTE is treated as minute (fixed in 42.2.4) +- SQL\_TSI\_YEAR is treated as hour, SQL\_TSI\_WEEK is treated as hour, SQL\_TSI\_MINUTE is treated as second (fixed in 42.2.4) ### Changed - Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) From 178eecc90643b36c8c5cd423ff311b26733384f2 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 16 Jul 2018 17:47:01 +0300 Subject: [PATCH 201/427] refactor: remove unused PgPreparedStatement.adjustIndex (#1253) --- .../postgresql/jdbc/PgCallableStatement.java | 43 ++++--------------- .../postgresql/jdbc/PgPreparedStatement.java | 29 ------------- 2 files changed, 8 insertions(+), 64 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java index fb78c89c8a..19076f4a0a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgCallableStatement.java @@ -156,6 +156,8 @@ public boolean executeWithFlags(int flags) throws SQLException { } /** + * {@inheritDoc} + * *

Before executing a stored procedure call you must explicitly call registerOutParameter to * register the java.sql.Type of each out parameter.

* @@ -169,7 +171,8 @@ public boolean executeWithFlags(int flags) throws SQLException { * Decimal use the version of registerOutParameter that accepts a scale value * @throws SQLException if a database-access error occurs. */ - public void registerOutParameter(int parameterIndex, int sqlType, boolean setPreparedParameters) + @Override + public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException { checkClosed(); switch (sqlType) { @@ -191,6 +194,9 @@ public void registerOutParameter(int parameterIndex, int sqlType, boolean setPre case Types.LONGVARBINARY: sqlType = Types.BINARY; break; + case Types.BOOLEAN: + sqlType = Types.BIT; + break; default: break; } @@ -202,9 +208,7 @@ public void registerOutParameter(int parameterIndex, int sqlType, boolean setPre } checkIndex(parameterIndex, false); - if (setPreparedParameters) { - preparedParameters.registerOutParameter(parameterIndex, sqlType); - } + preparedParameters.registerOutParameter(parameterIndex, sqlType); // functionReturnType contains the user supplied value to check // testReturn contains a modified version to make it easier to // check the getXXX methods.. @@ -220,24 +224,6 @@ public void registerOutParameter(int parameterIndex, int sqlType, boolean setPre returnTypeSet = true; } - /** - *

You must also specify the scale for numeric/decimal types.

- * - *

Note: When reading the value of an out parameter, you must use the getXXX method whose Java - * type XXX corresponds to the parameter's registered SQL type.

- * - * @param parameterIndex the first parameter is 1, the second is 2,... - * @param sqlType use either java.sql.Type.NUMERIC or java.sql.Type.DECIMAL - * @param scale a value greater than or equal to zero representing the desired number of digits to - * the right of the decimal point - * @param setPreparedParameters set prepared parameters - * @throws SQLException if a database-access error occurs. - */ - public void registerOutParameter(int parameterIndex, int sqlType, int scale, - boolean setPreparedParameters) throws SQLException { - registerOutParameter(parameterIndex, sqlType, setPreparedParameters); // ignore for now.. - } - public boolean wasNull() throws SQLException { if (lastIndex == 0) { throw new PSQLException(GT.tr("wasNull cannot be call before fetching a result."), @@ -917,19 +903,6 @@ public java.net.URL getURL(String parameterName) throws SQLException { throw Driver.notImplemented(this.getClass(), "getURL(String)"); } - public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException { - // if this isn't 8.1 or we are using protocol version 2 then we don't - // register the parameter - switch (sqlType) { - case Types.BOOLEAN: - sqlType = Types.BIT; - break; - default: - - } - registerOutParameter(parameterIndex, sqlType, !adjustIndex); - } - public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException { // ignore scale for now registerOutParameter(parameterIndex, sqlType); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 9a698c9261..91956d84b4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -71,13 +71,6 @@ class PgPreparedStatement extends PgStatement implements PreparedStatement { protected final CachedQuery preparedQuery; // Query fragments for prepared statement. protected final ParameterList preparedParameters; // Parameter values for prepared statement. - /** - * Used to differentiate between new function call logic and old function call logic. Will be set - * to true if the server is < 8.1 or if we are using v2 protocol. There is an exception to this - * where we are using v3, and the call does not have an out parameter before the call. - */ - protected boolean adjustIndex = false; - private TimeZone defaultTimeZone; PgPreparedStatement(PgConnection connection, String sql, int rsType, int rsConcurrency, @@ -243,9 +236,6 @@ public void setNull(int parameterIndex, int sqlType) throws SQLException { // Bad Types value. throw new PSQLException(GT.tr("Unknown Types value."), PSQLState.INVALID_PARAMETER_TYPE); } - if (adjustIndex) { - parameterIndex--; - } preparedParameters.setNull(parameterIndex, oid); } @@ -331,9 +321,6 @@ protected void setString(int parameterIndex, String x, int oid) throws SQLExcept // if the passed string is null, then set this column to null checkClosed(); if (x == null) { - if (adjustIndex) { - parameterIndex--; - } preparedParameters.setNull(parameterIndex, oid); } else { bindString(parameterIndex, x, oid); @@ -989,16 +976,10 @@ public String toString() { * @throws SQLException if something goes wrong */ protected void bindLiteral(int paramIndex, String s, int oid) throws SQLException { - if (adjustIndex) { - paramIndex--; - } preparedParameters.setLiteralParameter(paramIndex, s, oid); } protected void bindBytes(int paramIndex, byte[] b, int oid) throws SQLException { - if (adjustIndex) { - paramIndex--; - } preparedParameters.setBinaryParameter(paramIndex, b, oid); } @@ -1012,9 +993,6 @@ protected void bindBytes(int paramIndex, byte[] b, int oid) throws SQLException * @throws SQLException if something goes wrong */ private void bindString(int paramIndex, String s, int oid) throws SQLException { - if (adjustIndex) { - paramIndex--; - } preparedParameters.setStringParameter(paramIndex, s, oid); } @@ -1233,7 +1211,6 @@ public void setClob(int i, Clob x) throws SQLException { } public void setNull(int parameterIndex, int t, String typeName) throws SQLException { - if (typeName == null) { setNull(parameterIndex, t); return; @@ -1242,15 +1219,9 @@ public void setNull(int parameterIndex, int t, String typeName) throws SQLExcept checkClosed(); TypeInfo typeInfo = connection.getTypeInfo(); - int oid = typeInfo.getPGType(typeName); - if (adjustIndex) { - parameterIndex--; - } - preparedParameters.setNull(parameterIndex, oid); - } public void setRef(int i, Ref x) throws SQLException { From b1b1afb829fae06bcefce443e66d823f4f92fed5 Mon Sep 17 00:00:00 2001 From: Christoph Berg Date: Wed, 18 Jul 2018 15:09:45 +0200 Subject: [PATCH 202/427] chore: remove editor backup files (#1255) These are removed by the Debian package build in the "clean" step and pop up as uncommitted changes. --- docs/documentation/92/media/css/docs.css~ | 450 --------------------- docs/documentation/92/media/css/table.css~ | 101 ----- docs/documentation/93/media/css/docs.css~ | 450 --------------------- docs/documentation/93/media/css/table.css~ | 101 ----- docs/documentation/94/media/css/docs.css~ | 450 --------------------- docs/documentation/94/media/css/table.css~ | 101 ----- 6 files changed, 1653 deletions(-) delete mode 100644 docs/documentation/92/media/css/docs.css~ delete mode 100644 docs/documentation/92/media/css/table.css~ delete mode 100644 docs/documentation/93/media/css/docs.css~ delete mode 100644 docs/documentation/93/media/css/table.css~ delete mode 100644 docs/documentation/94/media/css/docs.css~ delete mode 100644 docs/documentation/94/media/css/table.css~ diff --git a/docs/documentation/92/media/css/docs.css~ b/docs/documentation/92/media/css/docs.css~ deleted file mode 100644 index 0cbe23e5be..0000000000 --- a/docs/documentation/92/media/css/docs.css~ +++ /dev/null @@ -1,450 +0,0 @@ -/* PostgreSQL.org Documentation Style */ - -@import url("global.css"); -@import url("table.css"); -@import url("text.css"); - -body { - font-size: 76%; -} - -div.NAVHEADER table { - margin-left: 0; -} - -/* Container Definitions */ - -#docContainerWrap { - text-align: center; /* Win IE5 */ -} - -#docContainer { - margin: 0 auto; - width: 90%; - padding-bottom: 2em; - display: block; - text-align: left; /* Win IE5 */ -} - -#docHeader { - background-image: url("../img/docs/bg_hdr.png"); - height: 83px; - margin: 0px; - padding: 0px; - display: block; -} - -#docHeaderLogo { - position: relative; - width: 206px; - height: 83px; - border: 0px; - padding: 0px; - margin: 0 0 0 20px; -} - -#docHeaderLogo img { - border: 0px; -} - -#docNavSearchContainer { - padding-bottom: 2px; -} - -#docNav, #docVersions { - position: relative; - text-align: left; - margin-left: 10px; - margin-top: 5px; - color: #666; - font-size: 0.95em; -} - -#docSearch { - position: relative; - text-align: right; - padding: 0; - margin: 0; - color: #666; -} - -#docTextSize { - text-align: right; - white-space: nowrap; - margin-top: 7px; - font-size: 0.95em; -} - -#docSearch form { - position: relative; - top: 5px; - right: 0; - margin: 0; /* need for IE 5.5 OSX */ - text-align: right; /* need for IE 5.5 OSX */ - white-space: nowrap; /* for Opera */ -} - -#docSearch form label { - color: #666; - font-size: 0.95em; -} - -#docSearch form input { - font-size: 0.95em; -} - -#docSearch form #submit { - font-size: 0.95em; - background: #7A7A7A; - color: #fff; - border: 1px solid #7A7A7A; - padding: 1px 4px; -} - -#docSearch form #q { - width: 170px; - font-size: 0.95em; - border: 1px solid #7A7A7A; - background: #E1E1E1; - color: #000000; - padding: 2px; -} - -.frmDocSearch { - padding: 0; - margin: 0; - display: inline; -} - -.inpDocSearch { - padding: 0; - margin: 0; - color: #000; -} - -#docContent { - position: relative; - margin-left: 10px; - margin-right: 10px; - margin-top: 40px; -} - -#docFooter { - position: relative; - font-size: 0.9em; - color: #666; - line-height: 1.3em; - margin-left: 10px; - margin-right: 10px; -} - -#docComments { - margin-top: 10px; -} - -#docClear { - clear: both; - margin: 0; - padding: 0; -} - -/* Heading Definitions */ - -h1, h2, h3 { - font-weight: bold; - margin-top: 2ex; -} - -h1 { - font-size: 1.4em; -} - -h2 { - font-size: 1.2em !important; -} - -h3 { - font-size: 1.1em; -} - -h1 a:hover { - color: #EC5800; - text-decoration: none; -} - -h2 a:hover, -h3 a:hover, -h4 a:hover { - color: #666666; - text-decoration: none; -} - -/* Text Styles */ - -div.SECT2 { - margin-top: 4ex; -} - -div.SECT3 { - margin-top: 3ex; - margin-left: 3ex; -} - -.txtCurrentLocation { - font-weight: bold; -} - -p, ol, ul, li { - line-height: 1.5em; -} - -.txtCommentsWrap { - border: 2px solid #F5F5F5; - width: 100%; -} - -.txtCommentsContent { - background: #F5F5F5; - padding: 3px; -} - -.txtCommentsPoster { - float: left; -} - -.txtCommentsDate { - float: right; -} - -.txtCommentsComment { - padding: 3px; -} - -#docContainer p code, -#docContainer dt code, -#docContainer pre code, -#docContainer pre tt, -#docContainer pre pre, -#docContainer tt tt, -#docContainer tt code, -#docContainer tt pre { - font-size: 1.5em; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP, -table.CALSTABLE { - -moz-box-shadow: 3px 3px 5px #DFDFDF; - -webkit-box-shadow: 3px 3px 5px #DFDFDF; - -khtml-box-shadow: 3px 3px 5px #DFDFDF; - -o-box-shadow: 3px 3px 5px #DFDFDF; - box-shadow: 3px 3px 5px #DFDFDF; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP { - color: black; - border-width: 1px; - border-style: solid; - padding: 2ex; - margin: 2ex 0 2ex 2ex; - overflow: auto; - -moz-border-radius: 8px; - -webkit-border-radius: 8px; - -khtml-border-radius: 8px; - border-radius: 8px; -} - -pre.LITERALLAYOUT, -pre.SYNOPSIS, -pre.PROGRAMLISTING, -.REFSYNOPSISDIV p, -.SCREEN { - border-color: #CFCFCF; - background-color: #F7F7F7; -} - -blockquote.NOTE, -blockquote.TIP { - border-color: #DBDBCC; - background-color: #EEEEDD; - padding: 14px; - width: 572px; -} - -blockquote.NOTE, -blockquote.TIP, -table.CAUTION, -table.WARNING { - margin: 4ex auto; -} - -blockquote.NOTE p, -blockquote.TIP p { - margin: 0; -} - -blockquote.NOTE pre, -blockquote.NOTE code, -blockquote.TIP pre, -blockquote.TIP code { - margin-left: 0; - margin-right: 0; - -moz-box-shadow: none; - -webkit-box-shadow: none; - -khtml-box-shadow: none; - -o-box-shadow: none; - box-shadow: none; -} - -.emphasis, -.c2 { - font-weight: bold; -} - -.REPLACEABLE { - font-style: italic; -} - -/* Table Styles */ - -table { - margin-left: 2ex; -} - -table.CALSTABLE td, -table.CALSTABLE th, -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-style: solid; -} - -table.CALSTABLE, -table.CAUTION, -table.WARNING { - border-spacing: 0; - border-collapse: collapse; -} - -table.CALSTABLE -{ - margin: 2ex 0 2ex 2ex; - background-color: #E0ECEF; - border: 2px solid #A7C6DF; -} - -table.CALSTABLE tr:hover td -{ - background-color: #EFEFEF; -} - -table.CALSTABLE td { - background-color: #FFF; -} - -table.CALSTABLE td, -table.CALSTABLE th { - border: 1px solid #A7C6DF; - padding: 0.5ex 0.5ex; -} - -table.CAUTION, -table.WARNING { - border-collapse: separate; - display: block; - padding: 0; - max-width: 600px; -} - -table.CAUTION { - background-color: #F5F5DC; - border-color: #DEDFA7; -} - -table.WARNING { - background-color: #FFD7D7; - border-color: #DF421E; -} - -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-width: 0; - padding-left: 2ex; - padding-right: 2ex; -} - -table.CAUTION td, -table.CAUTION th { - border-color: #F3E4D5 -} - -table.WARNING td, -table.WARNING th { - border-color: #FFD7D7; -} - -td.c1, -td.c2, -td.c3, -td.c4, -td.c5, -td.c6 { - font-size: 1.1em; - font-weight: bold; - border-bottom: 0px solid #FFEFEF; - padding: 1ex 2ex 0; -} - -/* Link Styles */ - -#docNav a { - font-weight: bold; -} - -a:link, -a:visited, -a:active, -a:hover { - text-decoration: underline; -} - -a:link, -a:active { - color:#0066A2; -} - -a:visited { - color:#004E66; -} - -a:hover { - color:#000000; -} - -#docFooter a:link, -#docFooter a:visited, -#docFooter a:active { - color:#666; -} - -#docContainer code.FUNCTION tt { - font-size: 1em; -} diff --git a/docs/documentation/92/media/css/table.css~ b/docs/documentation/92/media/css/table.css~ deleted file mode 100644 index 3aba3cafce..0000000000 --- a/docs/documentation/92/media/css/table.css~ +++ /dev/null @@ -1,101 +0,0 @@ -/* - PostgreSQL.org - Table Styles -*/ - -div.tblBasic h2 { - margin: 25px 0 .5em 0; -} - -div.tblBasic table { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_lft.png) top left no-repeat; - margin-left: 2ex; - margin-bottom: 15px; -} - -div.tblBasic table th { - padding-top: 20px; - border-bottom: 1px solid #EFEFEF; - vertical-align: bottom; -} - -div.tblBasic table td { - border-bottom: 1px solid #EFEFEF; -} - -div.tblBasic table th, -div.tblBasic table td { - padding: 8px 11px; - color: #555555; -} - -div.tblBasic table td.indented { - text-indent: 30px; -} - -div.tblBasic table.tblCompact td { - padding: 3px 3px; -} - -div.tblBasic table tr.lastrow td { - border-bottom: none; - padding-bottom: 13px; -} - -div.tblBasic table.tblCompact tr.lastrow td { - padding-bottom: 3px; -} - -div.tblBasic table tr.lastrow td.colFirstT, -div.tblBasic table tr.lastrow td.colFirst { - background: url(media/img/layout/nav_tbl_btm_lft.png) bottom left no-repeat; -} - -div.tblBasic table.tblBasicGrey th.colLast, -div.tblBasic table.tblCompact th.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.lastrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLastT{ - background: #F5F5F5 url(media/img/layout/nav_tbl_btm_rgt.png) bottom right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.firstrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.firstrow td.colLast, -div tblBasic table.tblCompact tr.firstrow td.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table th.colMid, -div.tblBasic table td.colMid, -div.tblBasic table th.colLast, -div.tblBasic table td.colLast { - background-color: #F5F5F5 ; -} - -div.tblBasic table th.colLastC, -div.tblBasic table td.colFirstC, -div.tblBasic table td.colLastC { - text-align: center; -} - -div.tblBasic table th.colLastR, -div.tblBasic table td.colFirstR, -div.tblBasic table td.colLastR { - text-align: right; -} - -div.tblBasic table td.colFirstT, -div.tblBasic table td.colMidT, -div.tblBasic table td.colLastT { - vertical-align: top; -} - -div.tblBasic table th.colLastRT, -div.tblBasic table td.colFirstRT, -div.tblBasic table td.colLastRT { - text-align: right; - vertical-align: top; -} diff --git a/docs/documentation/93/media/css/docs.css~ b/docs/documentation/93/media/css/docs.css~ deleted file mode 100644 index 0cbe23e5be..0000000000 --- a/docs/documentation/93/media/css/docs.css~ +++ /dev/null @@ -1,450 +0,0 @@ -/* PostgreSQL.org Documentation Style */ - -@import url("global.css"); -@import url("table.css"); -@import url("text.css"); - -body { - font-size: 76%; -} - -div.NAVHEADER table { - margin-left: 0; -} - -/* Container Definitions */ - -#docContainerWrap { - text-align: center; /* Win IE5 */ -} - -#docContainer { - margin: 0 auto; - width: 90%; - padding-bottom: 2em; - display: block; - text-align: left; /* Win IE5 */ -} - -#docHeader { - background-image: url("../img/docs/bg_hdr.png"); - height: 83px; - margin: 0px; - padding: 0px; - display: block; -} - -#docHeaderLogo { - position: relative; - width: 206px; - height: 83px; - border: 0px; - padding: 0px; - margin: 0 0 0 20px; -} - -#docHeaderLogo img { - border: 0px; -} - -#docNavSearchContainer { - padding-bottom: 2px; -} - -#docNav, #docVersions { - position: relative; - text-align: left; - margin-left: 10px; - margin-top: 5px; - color: #666; - font-size: 0.95em; -} - -#docSearch { - position: relative; - text-align: right; - padding: 0; - margin: 0; - color: #666; -} - -#docTextSize { - text-align: right; - white-space: nowrap; - margin-top: 7px; - font-size: 0.95em; -} - -#docSearch form { - position: relative; - top: 5px; - right: 0; - margin: 0; /* need for IE 5.5 OSX */ - text-align: right; /* need for IE 5.5 OSX */ - white-space: nowrap; /* for Opera */ -} - -#docSearch form label { - color: #666; - font-size: 0.95em; -} - -#docSearch form input { - font-size: 0.95em; -} - -#docSearch form #submit { - font-size: 0.95em; - background: #7A7A7A; - color: #fff; - border: 1px solid #7A7A7A; - padding: 1px 4px; -} - -#docSearch form #q { - width: 170px; - font-size: 0.95em; - border: 1px solid #7A7A7A; - background: #E1E1E1; - color: #000000; - padding: 2px; -} - -.frmDocSearch { - padding: 0; - margin: 0; - display: inline; -} - -.inpDocSearch { - padding: 0; - margin: 0; - color: #000; -} - -#docContent { - position: relative; - margin-left: 10px; - margin-right: 10px; - margin-top: 40px; -} - -#docFooter { - position: relative; - font-size: 0.9em; - color: #666; - line-height: 1.3em; - margin-left: 10px; - margin-right: 10px; -} - -#docComments { - margin-top: 10px; -} - -#docClear { - clear: both; - margin: 0; - padding: 0; -} - -/* Heading Definitions */ - -h1, h2, h3 { - font-weight: bold; - margin-top: 2ex; -} - -h1 { - font-size: 1.4em; -} - -h2 { - font-size: 1.2em !important; -} - -h3 { - font-size: 1.1em; -} - -h1 a:hover { - color: #EC5800; - text-decoration: none; -} - -h2 a:hover, -h3 a:hover, -h4 a:hover { - color: #666666; - text-decoration: none; -} - -/* Text Styles */ - -div.SECT2 { - margin-top: 4ex; -} - -div.SECT3 { - margin-top: 3ex; - margin-left: 3ex; -} - -.txtCurrentLocation { - font-weight: bold; -} - -p, ol, ul, li { - line-height: 1.5em; -} - -.txtCommentsWrap { - border: 2px solid #F5F5F5; - width: 100%; -} - -.txtCommentsContent { - background: #F5F5F5; - padding: 3px; -} - -.txtCommentsPoster { - float: left; -} - -.txtCommentsDate { - float: right; -} - -.txtCommentsComment { - padding: 3px; -} - -#docContainer p code, -#docContainer dt code, -#docContainer pre code, -#docContainer pre tt, -#docContainer pre pre, -#docContainer tt tt, -#docContainer tt code, -#docContainer tt pre { - font-size: 1.5em; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP, -table.CALSTABLE { - -moz-box-shadow: 3px 3px 5px #DFDFDF; - -webkit-box-shadow: 3px 3px 5px #DFDFDF; - -khtml-box-shadow: 3px 3px 5px #DFDFDF; - -o-box-shadow: 3px 3px 5px #DFDFDF; - box-shadow: 3px 3px 5px #DFDFDF; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP { - color: black; - border-width: 1px; - border-style: solid; - padding: 2ex; - margin: 2ex 0 2ex 2ex; - overflow: auto; - -moz-border-radius: 8px; - -webkit-border-radius: 8px; - -khtml-border-radius: 8px; - border-radius: 8px; -} - -pre.LITERALLAYOUT, -pre.SYNOPSIS, -pre.PROGRAMLISTING, -.REFSYNOPSISDIV p, -.SCREEN { - border-color: #CFCFCF; - background-color: #F7F7F7; -} - -blockquote.NOTE, -blockquote.TIP { - border-color: #DBDBCC; - background-color: #EEEEDD; - padding: 14px; - width: 572px; -} - -blockquote.NOTE, -blockquote.TIP, -table.CAUTION, -table.WARNING { - margin: 4ex auto; -} - -blockquote.NOTE p, -blockquote.TIP p { - margin: 0; -} - -blockquote.NOTE pre, -blockquote.NOTE code, -blockquote.TIP pre, -blockquote.TIP code { - margin-left: 0; - margin-right: 0; - -moz-box-shadow: none; - -webkit-box-shadow: none; - -khtml-box-shadow: none; - -o-box-shadow: none; - box-shadow: none; -} - -.emphasis, -.c2 { - font-weight: bold; -} - -.REPLACEABLE { - font-style: italic; -} - -/* Table Styles */ - -table { - margin-left: 2ex; -} - -table.CALSTABLE td, -table.CALSTABLE th, -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-style: solid; -} - -table.CALSTABLE, -table.CAUTION, -table.WARNING { - border-spacing: 0; - border-collapse: collapse; -} - -table.CALSTABLE -{ - margin: 2ex 0 2ex 2ex; - background-color: #E0ECEF; - border: 2px solid #A7C6DF; -} - -table.CALSTABLE tr:hover td -{ - background-color: #EFEFEF; -} - -table.CALSTABLE td { - background-color: #FFF; -} - -table.CALSTABLE td, -table.CALSTABLE th { - border: 1px solid #A7C6DF; - padding: 0.5ex 0.5ex; -} - -table.CAUTION, -table.WARNING { - border-collapse: separate; - display: block; - padding: 0; - max-width: 600px; -} - -table.CAUTION { - background-color: #F5F5DC; - border-color: #DEDFA7; -} - -table.WARNING { - background-color: #FFD7D7; - border-color: #DF421E; -} - -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-width: 0; - padding-left: 2ex; - padding-right: 2ex; -} - -table.CAUTION td, -table.CAUTION th { - border-color: #F3E4D5 -} - -table.WARNING td, -table.WARNING th { - border-color: #FFD7D7; -} - -td.c1, -td.c2, -td.c3, -td.c4, -td.c5, -td.c6 { - font-size: 1.1em; - font-weight: bold; - border-bottom: 0px solid #FFEFEF; - padding: 1ex 2ex 0; -} - -/* Link Styles */ - -#docNav a { - font-weight: bold; -} - -a:link, -a:visited, -a:active, -a:hover { - text-decoration: underline; -} - -a:link, -a:active { - color:#0066A2; -} - -a:visited { - color:#004E66; -} - -a:hover { - color:#000000; -} - -#docFooter a:link, -#docFooter a:visited, -#docFooter a:active { - color:#666; -} - -#docContainer code.FUNCTION tt { - font-size: 1em; -} diff --git a/docs/documentation/93/media/css/table.css~ b/docs/documentation/93/media/css/table.css~ deleted file mode 100644 index 3aba3cafce..0000000000 --- a/docs/documentation/93/media/css/table.css~ +++ /dev/null @@ -1,101 +0,0 @@ -/* - PostgreSQL.org - Table Styles -*/ - -div.tblBasic h2 { - margin: 25px 0 .5em 0; -} - -div.tblBasic table { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_lft.png) top left no-repeat; - margin-left: 2ex; - margin-bottom: 15px; -} - -div.tblBasic table th { - padding-top: 20px; - border-bottom: 1px solid #EFEFEF; - vertical-align: bottom; -} - -div.tblBasic table td { - border-bottom: 1px solid #EFEFEF; -} - -div.tblBasic table th, -div.tblBasic table td { - padding: 8px 11px; - color: #555555; -} - -div.tblBasic table td.indented { - text-indent: 30px; -} - -div.tblBasic table.tblCompact td { - padding: 3px 3px; -} - -div.tblBasic table tr.lastrow td { - border-bottom: none; - padding-bottom: 13px; -} - -div.tblBasic table.tblCompact tr.lastrow td { - padding-bottom: 3px; -} - -div.tblBasic table tr.lastrow td.colFirstT, -div.tblBasic table tr.lastrow td.colFirst { - background: url(media/img/layout/nav_tbl_btm_lft.png) bottom left no-repeat; -} - -div.tblBasic table.tblBasicGrey th.colLast, -div.tblBasic table.tblCompact th.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.lastrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLastT{ - background: #F5F5F5 url(media/img/layout/nav_tbl_btm_rgt.png) bottom right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.firstrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.firstrow td.colLast, -div tblBasic table.tblCompact tr.firstrow td.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table th.colMid, -div.tblBasic table td.colMid, -div.tblBasic table th.colLast, -div.tblBasic table td.colLast { - background-color: #F5F5F5 ; -} - -div.tblBasic table th.colLastC, -div.tblBasic table td.colFirstC, -div.tblBasic table td.colLastC { - text-align: center; -} - -div.tblBasic table th.colLastR, -div.tblBasic table td.colFirstR, -div.tblBasic table td.colLastR { - text-align: right; -} - -div.tblBasic table td.colFirstT, -div.tblBasic table td.colMidT, -div.tblBasic table td.colLastT { - vertical-align: top; -} - -div.tblBasic table th.colLastRT, -div.tblBasic table td.colFirstRT, -div.tblBasic table td.colLastRT { - text-align: right; - vertical-align: top; -} diff --git a/docs/documentation/94/media/css/docs.css~ b/docs/documentation/94/media/css/docs.css~ deleted file mode 100644 index 0cbe23e5be..0000000000 --- a/docs/documentation/94/media/css/docs.css~ +++ /dev/null @@ -1,450 +0,0 @@ -/* PostgreSQL.org Documentation Style */ - -@import url("global.css"); -@import url("table.css"); -@import url("text.css"); - -body { - font-size: 76%; -} - -div.NAVHEADER table { - margin-left: 0; -} - -/* Container Definitions */ - -#docContainerWrap { - text-align: center; /* Win IE5 */ -} - -#docContainer { - margin: 0 auto; - width: 90%; - padding-bottom: 2em; - display: block; - text-align: left; /* Win IE5 */ -} - -#docHeader { - background-image: url("../img/docs/bg_hdr.png"); - height: 83px; - margin: 0px; - padding: 0px; - display: block; -} - -#docHeaderLogo { - position: relative; - width: 206px; - height: 83px; - border: 0px; - padding: 0px; - margin: 0 0 0 20px; -} - -#docHeaderLogo img { - border: 0px; -} - -#docNavSearchContainer { - padding-bottom: 2px; -} - -#docNav, #docVersions { - position: relative; - text-align: left; - margin-left: 10px; - margin-top: 5px; - color: #666; - font-size: 0.95em; -} - -#docSearch { - position: relative; - text-align: right; - padding: 0; - margin: 0; - color: #666; -} - -#docTextSize { - text-align: right; - white-space: nowrap; - margin-top: 7px; - font-size: 0.95em; -} - -#docSearch form { - position: relative; - top: 5px; - right: 0; - margin: 0; /* need for IE 5.5 OSX */ - text-align: right; /* need for IE 5.5 OSX */ - white-space: nowrap; /* for Opera */ -} - -#docSearch form label { - color: #666; - font-size: 0.95em; -} - -#docSearch form input { - font-size: 0.95em; -} - -#docSearch form #submit { - font-size: 0.95em; - background: #7A7A7A; - color: #fff; - border: 1px solid #7A7A7A; - padding: 1px 4px; -} - -#docSearch form #q { - width: 170px; - font-size: 0.95em; - border: 1px solid #7A7A7A; - background: #E1E1E1; - color: #000000; - padding: 2px; -} - -.frmDocSearch { - padding: 0; - margin: 0; - display: inline; -} - -.inpDocSearch { - padding: 0; - margin: 0; - color: #000; -} - -#docContent { - position: relative; - margin-left: 10px; - margin-right: 10px; - margin-top: 40px; -} - -#docFooter { - position: relative; - font-size: 0.9em; - color: #666; - line-height: 1.3em; - margin-left: 10px; - margin-right: 10px; -} - -#docComments { - margin-top: 10px; -} - -#docClear { - clear: both; - margin: 0; - padding: 0; -} - -/* Heading Definitions */ - -h1, h2, h3 { - font-weight: bold; - margin-top: 2ex; -} - -h1 { - font-size: 1.4em; -} - -h2 { - font-size: 1.2em !important; -} - -h3 { - font-size: 1.1em; -} - -h1 a:hover { - color: #EC5800; - text-decoration: none; -} - -h2 a:hover, -h3 a:hover, -h4 a:hover { - color: #666666; - text-decoration: none; -} - -/* Text Styles */ - -div.SECT2 { - margin-top: 4ex; -} - -div.SECT3 { - margin-top: 3ex; - margin-left: 3ex; -} - -.txtCurrentLocation { - font-weight: bold; -} - -p, ol, ul, li { - line-height: 1.5em; -} - -.txtCommentsWrap { - border: 2px solid #F5F5F5; - width: 100%; -} - -.txtCommentsContent { - background: #F5F5F5; - padding: 3px; -} - -.txtCommentsPoster { - float: left; -} - -.txtCommentsDate { - float: right; -} - -.txtCommentsComment { - padding: 3px; -} - -#docContainer p code, -#docContainer dt code, -#docContainer pre code, -#docContainer pre tt, -#docContainer pre pre, -#docContainer tt tt, -#docContainer tt code, -#docContainer tt pre { - font-size: 1.5em; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP, -table.CALSTABLE { - -moz-box-shadow: 3px 3px 5px #DFDFDF; - -webkit-box-shadow: 3px 3px 5px #DFDFDF; - -khtml-box-shadow: 3px 3px 5px #DFDFDF; - -o-box-shadow: 3px 3px 5px #DFDFDF; - box-shadow: 3px 3px 5px #DFDFDF; -} - -pre.LITERALLAYOUT, -.SCREEN, -.SYNOPSIS, -.PROGRAMLISTING, -.REFSYNOPSISDIV p, -table.CAUTION, -table.WARNING, -blockquote.NOTE, -blockquote.TIP { - color: black; - border-width: 1px; - border-style: solid; - padding: 2ex; - margin: 2ex 0 2ex 2ex; - overflow: auto; - -moz-border-radius: 8px; - -webkit-border-radius: 8px; - -khtml-border-radius: 8px; - border-radius: 8px; -} - -pre.LITERALLAYOUT, -pre.SYNOPSIS, -pre.PROGRAMLISTING, -.REFSYNOPSISDIV p, -.SCREEN { - border-color: #CFCFCF; - background-color: #F7F7F7; -} - -blockquote.NOTE, -blockquote.TIP { - border-color: #DBDBCC; - background-color: #EEEEDD; - padding: 14px; - width: 572px; -} - -blockquote.NOTE, -blockquote.TIP, -table.CAUTION, -table.WARNING { - margin: 4ex auto; -} - -blockquote.NOTE p, -blockquote.TIP p { - margin: 0; -} - -blockquote.NOTE pre, -blockquote.NOTE code, -blockquote.TIP pre, -blockquote.TIP code { - margin-left: 0; - margin-right: 0; - -moz-box-shadow: none; - -webkit-box-shadow: none; - -khtml-box-shadow: none; - -o-box-shadow: none; - box-shadow: none; -} - -.emphasis, -.c2 { - font-weight: bold; -} - -.REPLACEABLE { - font-style: italic; -} - -/* Table Styles */ - -table { - margin-left: 2ex; -} - -table.CALSTABLE td, -table.CALSTABLE th, -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-style: solid; -} - -table.CALSTABLE, -table.CAUTION, -table.WARNING { - border-spacing: 0; - border-collapse: collapse; -} - -table.CALSTABLE -{ - margin: 2ex 0 2ex 2ex; - background-color: #E0ECEF; - border: 2px solid #A7C6DF; -} - -table.CALSTABLE tr:hover td -{ - background-color: #EFEFEF; -} - -table.CALSTABLE td { - background-color: #FFF; -} - -table.CALSTABLE td, -table.CALSTABLE th { - border: 1px solid #A7C6DF; - padding: 0.5ex 0.5ex; -} - -table.CAUTION, -table.WARNING { - border-collapse: separate; - display: block; - padding: 0; - max-width: 600px; -} - -table.CAUTION { - background-color: #F5F5DC; - border-color: #DEDFA7; -} - -table.WARNING { - background-color: #FFD7D7; - border-color: #DF421E; -} - -table.CAUTION td, -table.CAUTION th, -table.WARNING td, -table.WARNING th { - border-width: 0; - padding-left: 2ex; - padding-right: 2ex; -} - -table.CAUTION td, -table.CAUTION th { - border-color: #F3E4D5 -} - -table.WARNING td, -table.WARNING th { - border-color: #FFD7D7; -} - -td.c1, -td.c2, -td.c3, -td.c4, -td.c5, -td.c6 { - font-size: 1.1em; - font-weight: bold; - border-bottom: 0px solid #FFEFEF; - padding: 1ex 2ex 0; -} - -/* Link Styles */ - -#docNav a { - font-weight: bold; -} - -a:link, -a:visited, -a:active, -a:hover { - text-decoration: underline; -} - -a:link, -a:active { - color:#0066A2; -} - -a:visited { - color:#004E66; -} - -a:hover { - color:#000000; -} - -#docFooter a:link, -#docFooter a:visited, -#docFooter a:active { - color:#666; -} - -#docContainer code.FUNCTION tt { - font-size: 1em; -} diff --git a/docs/documentation/94/media/css/table.css~ b/docs/documentation/94/media/css/table.css~ deleted file mode 100644 index 3aba3cafce..0000000000 --- a/docs/documentation/94/media/css/table.css~ +++ /dev/null @@ -1,101 +0,0 @@ -/* - PostgreSQL.org - Table Styles -*/ - -div.tblBasic h2 { - margin: 25px 0 .5em 0; -} - -div.tblBasic table { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_lft.png) top left no-repeat; - margin-left: 2ex; - margin-bottom: 15px; -} - -div.tblBasic table th { - padding-top: 20px; - border-bottom: 1px solid #EFEFEF; - vertical-align: bottom; -} - -div.tblBasic table td { - border-bottom: 1px solid #EFEFEF; -} - -div.tblBasic table th, -div.tblBasic table td { - padding: 8px 11px; - color: #555555; -} - -div.tblBasic table td.indented { - text-indent: 30px; -} - -div.tblBasic table.tblCompact td { - padding: 3px 3px; -} - -div.tblBasic table tr.lastrow td { - border-bottom: none; - padding-bottom: 13px; -} - -div.tblBasic table.tblCompact tr.lastrow td { - padding-bottom: 3px; -} - -div.tblBasic table tr.lastrow td.colFirstT, -div.tblBasic table tr.lastrow td.colFirst { - background: url(media/img/layout/nav_tbl_btm_lft.png) bottom left no-repeat; -} - -div.tblBasic table.tblBasicGrey th.colLast, -div.tblBasic table.tblCompact th.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.lastrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLast, -div.tblBasic table.tblCompact tr.lastrow td.colLastT{ - background: #F5F5F5 url(media/img/layout/nav_tbl_btm_rgt.png) bottom right no-repeat; -} - -div.tblBasic table.tblBasicGrey tr.firstrow td.colLastT, -div.tblBasic table.tblBasicGrey tr.firstrow td.colLast, -div tblBasic table.tblCompact tr.firstrow td.colLast { - background: #F5F5F5 url(media/img/layout/nav_tbl_top_rgt.png) top right no-repeat; -} - -div.tblBasic table th.colMid, -div.tblBasic table td.colMid, -div.tblBasic table th.colLast, -div.tblBasic table td.colLast { - background-color: #F5F5F5 ; -} - -div.tblBasic table th.colLastC, -div.tblBasic table td.colFirstC, -div.tblBasic table td.colLastC { - text-align: center; -} - -div.tblBasic table th.colLastR, -div.tblBasic table td.colFirstR, -div.tblBasic table td.colLastR { - text-align: right; -} - -div.tblBasic table td.colFirstT, -div.tblBasic table td.colMidT, -div.tblBasic table td.colLastT { - vertical-align: top; -} - -div.tblBasic table th.colLastRT, -div.tblBasic table td.colFirstRT, -div.tblBasic table td.colLastRT { - text-align: right; - vertical-align: top; -} From 1f8ac4063b1fd04ccc05616e3533d68be9912333 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 20 Jul 2018 10:17:44 -0400 Subject: [PATCH 203/427] Update Contributing.md [skip ci] * Update Contributing.md After reading this I realized it was a bit dated. I've also attempted to massage the grammar. --- CONTRIBUTING.md | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b6216fb92d..ecb906d994 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,11 +5,11 @@ Thank you so much for wanting to contribute to **PostgreSQL JDBC Driver**! The purpose of the *Guidelines for Contributing* is to create a collaboration baseline. **Do NOT** blindly obey these guidelines, use them (after understanding) where they make sense. -You must know that the PgJDBC driver support Java versions **6**, **7** and **8** mostly the -Oracle and OpenJDK implementations; and PostgreSQL server versions from **8.2** and higher. +Currently the PgJDBC driver supports the Oracle and OpenJDK Java implementations of +versions **6**, **7**, **8** and **9**; and PostgreSQL server versions from **8.2** and higher. -Some PostgreSQL forks *might* work but are not officially supported, we cheer the vendors of forks -that want to improve this driver sending us pull requests that are not disruptive to the +Some PostgreSQL forks *might* work but are not officially supported, we support vendors of forks +that want to improve this driver by sending us pull requests that are not disruptive to the community ecosystem of PostgreSQL. ## Issues @@ -18,7 +18,7 @@ Issues are a great way to keep track of tasks, enhancements, and bugs for the Pg ### How to submit a bug report -If you found a bug in the PgJDBC driver please use an issue to report it, try to be concise +If you find a bug in the PgJDBC driver please use an issue to report it, try to be concise and detailed in your report, please ensure to specify at least the following: * Use a concise subject. @@ -31,17 +31,18 @@ and detailed in your report, please ensure to specify at least the following: * A pull request with failing JUnit test case is most preferred, although it's OK to paste the test case into the issue description. -You can consider a bug: some behavior that worked before and now it does not; a violation of the +You can consider a bug: some behaviour that worked before and now it does not; a violation of the JDBC spec in any form, unless it's stated otherwise as an extension. -It's hard, but possible, to introduce some breaking changes to the driver every major version update, -so, please read carefully the changelog and test thoroughly for any potential problem with your app. +In the unlikely event that a breaking change is introduced in the driver we will update the major version. +We will document this change but please read carefully the changelog and test thoroughly for any potential problems with your app. What is not acceptable is to introduce breaking changes in the minor or patch update of the driver, -if you found a regression in a minor o patch update, please fill an issue. +If you find a regression in a minor patch update, please report an issue. -Not every bug report needs to be of code, some can be documentation erratum that can be improved as -well, the website source code along with the documentation is under **docs**, your are welcome to -report issues and send pull request too. +Bug reports are not isolated only to code, errors in documentation as well as the website source +code located in the **docs** directory also qualify. You are welcome to report issues and send a +pull request on these as well. [skip ci] can be added to the commit message to prevent Travis-CI from building a +pull request that only changes the documentation. For enhancements request keep reading the *Ideas, enhancements and new features* seccion. @@ -56,7 +57,7 @@ might have, how practical it is to implement, what implications it would have for standards compliance and security, etc. Include a detailed use-case description. -Few of the PgJDBC developers have much spare time, so it's unlikely that your +Few of the PgJDBC developers have spare time, so it's unlikely that your idea will be picked up and implemented for you. The best way to make sure a desired feature or improvement happens is to implement it yourself. The PgJDBC sources are reasonably clear and they're pure Java, so it's sometimes easier @@ -121,9 +122,10 @@ artifacts you should use `mvn`. After running the build , and build a .jar file (Java ARchive) depending on the version of java and which release you have the jar will be named -postgresql-...jre.jar. Where major,minor are the PostgreSQL major,minor -version numbers. release is the jdbc release number. N is the version of the JDBC API which -corresponds to the version of Java used to compile the driver. +postgresql-...[jre].jar. We use Semantic versioning; as such +major, minor, patch refer to the level of change introduced. For Java 6, and Java 7 +jre will be appended after the patch level. N corresponds to the version of Java, +roughly correlated to the JDBC version number. The target directory will contain the driver jar. If you need source code, documentation and runtime dependencies use `mvn package -P release-artifacts`. @@ -168,11 +170,20 @@ Here's sample configuration for macOS: ``` +## Checkstyle + +We enforce a style using checkstyle, Travis CI will fail if there are checkstyle errors. +It is recommended you run + + mvn checkstyle:check + +before creating your pull request + ## Updating translations From time to time, the translation packages will need to be updated as part of the build process. -However, this is atypical, and is generally only done when needed such as by a project committer before a major release. +However, this is atypical, and is generally only done when needed; such as by a project committer before a major release. This process adds additional compile time and generally should not be executed for every build. Updating translations can be accomplished with the following command: From ecd412e4164bbfcccd96f778c874dd4f40330354 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 22 Jul 2018 14:57:38 +0300 Subject: [PATCH 204/427] test: run testShortQueryTimeout in PG_VERSION=HEAD Travis job only (#1270) --- .../org/postgresql/test/jdbc2/StatementTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 5d934b62bb..bdbf2d5dce 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -19,6 +19,7 @@ import org.junit.After; import org.junit.Assert; +import org.junit.Assume; import org.junit.Before; import org.junit.Test; @@ -72,6 +73,15 @@ public void tearDown() throws Exception { con.close(); } + private void assumeLongTest() { + // Run the test: + // Travis: in PG_VERSION=HEAD + // Other: always + if ("true".equals(System.getenv("TRAVIS"))) { + Assume.assumeTrue("HEAD".equals(System.getenv("PG_VERSION"))); + } + } + @Test public void testClose() throws SQLException { Statement stmt = con.createStatement(); @@ -712,6 +722,8 @@ public void testLongQueryTimeout() throws SQLException { */ @Test public void testShortQueryTimeout() throws SQLException { + assumeLongTest(); + long deadLine = System.currentTimeMillis() + 10000; Statement stmt = con.createStatement(); ((PgStatement) stmt).setQueryTimeoutMs(1); From 450a496be8b14e14fa0821413ed532c49275dc9e Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 22 Jul 2018 14:59:57 +0300 Subject: [PATCH 205/427] fix: remove POT-Creation-Date from generated .po and .pot files (#1269) This makes repeated executions of `mvn -Ptranslate compile` produce empty diffs [ci skip] --- pgjdbc/pom.xml | 2 +- .../java/org/postgresql/translation/bg.po | 610 ++++++++--------- .../java/org/postgresql/translation/cs.po | 608 ++++++++--------- .../java/org/postgresql/translation/de.po | 612 +++++++++--------- .../java/org/postgresql/translation/es.po | 608 ++++++++--------- .../java/org/postgresql/translation/fr.po | 612 +++++++++--------- .../java/org/postgresql/translation/it.po | 612 +++++++++--------- .../java/org/postgresql/translation/ja.po | 608 ++++++++--------- .../org/postgresql/translation/messages.pot | 609 ++++++++--------- .../postgresql/translation/messages_bg.java | 2 +- .../postgresql/translation/messages_cs.java | 2 +- .../postgresql/translation/messages_de.java | 2 +- .../postgresql/translation/messages_es.java | 2 +- .../postgresql/translation/messages_fr.java | 2 +- .../postgresql/translation/messages_it.java | 2 +- .../postgresql/translation/messages_ja.java | 2 +- .../postgresql/translation/messages_nl.java | 2 +- .../postgresql/translation/messages_pl.java | 2 +- .../translation/messages_pt_BR.java | 2 +- .../postgresql/translation/messages_ru.java | 2 +- .../postgresql/translation/messages_sr.java | 2 +- .../postgresql/translation/messages_tr.java | 2 +- .../translation/messages_zh_CN.java | 2 +- .../translation/messages_zh_TW.java | 2 +- .../java/org/postgresql/translation/nl.po | 608 ++++++++--------- .../java/org/postgresql/translation/pl.po | 608 ++++++++--------- .../java/org/postgresql/translation/pt_BR.po | 612 +++++++++--------- .../java/org/postgresql/translation/ru.po | 608 ++++++++--------- .../java/org/postgresql/translation/sr.po | 612 +++++++++--------- .../java/org/postgresql/translation/tr.po | 608 ++++++++--------- .../java/org/postgresql/translation/zh_CN.po | 608 ++++++++--------- .../java/org/postgresql/translation/zh_TW.po | 608 ++++++++--------- 32 files changed, 4940 insertions(+), 4843 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index aa255e6665..00abc0b2ef 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -55,7 +55,7 @@ com.github.vlsi.gettext gettext-maven-plugin - 1.2.11 + 1.3.0 update_po_with_new_messages diff --git a/pgjdbc/src/main/java/org/postgresql/translation/bg.po b/pgjdbc/src/main/java/org/postgresql/translation/bg.po index 8b83187c2c..525ee98fae 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/bg.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/bg.po @@ -6,7 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-12-28 00:01+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,17 +16,17 @@ msgstr "" "X-Poedit-Language: Bulgarian\n" "X-Poedit-Country: BULGARIA\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" "Грешка при зареждане на настройките по подразбиране от файла driverconfig." "properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -37,42 +36,42 @@ msgstr "" "трябва да предоставите java.net.SocketPermission права на сървъра и порта с " "базата данни, към който искате да се свържете." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "" "Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. " -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Времето за осъществяване на връзката изтече (таймаут)." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Опита за осъществяване на връзка бе своевременно прекъснат. " -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Методът {0} все още не е функционален." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, fuzzy, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "Стойността на параметъра unknownLength трябва да бъде цяло число" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "Зададено CopyIn но получено {0}" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "Зададено CopyOut но получено {0}" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, fuzzy, java-format msgid "Requested CopyDual but got {0}" msgstr "Зададено CopyOut но получено {0}" @@ -96,6 +95,12 @@ msgstr "Четене от копието неуспешно." msgid "Cannot write to copy a byte of value {0}" msgstr "Няма пишещи права, за да копира байтова стойност {0}" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Не може да осъществи актуализация на брояча при командно допълнение: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -118,7 +123,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Очакван край на файла от сървъра, но получено: {0}" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Непозволен синтаксис на функция или процедура при офсет {0}." @@ -182,23 +187,23 @@ msgstr "Не може да има нула байта в идентификат #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -207,39 +212,39 @@ msgstr "" "Връзката отказана. Проверете дали името на хоста и порта са верни и дали " "postmaster приема ТСР / IP връзки." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Опита за връзка бе неуспешен." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Сървърът не поддържа SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Възникна грешка при осъществяване на SSL връзката." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "Сървърът изисква идентифициране с парола, но парола не бе въведена." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -250,16 +255,16 @@ msgstr "" "pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се " "използва схема за удостоверяване, поддържана от драйвъра." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Грешка в протокола. Неуспешна настройка на сесията." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -267,148 +272,148 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "Очаквано командно допълнение COPY но получено: " -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "Опит за получаване на заключване/резервация докато вече е получено" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" "Опит за премахване на заключването/резервацията при връзка към базата данни" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" "Прекъсване при чакане да получи заключване/резервация при връзка към базата " "данни" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Не може да подготви параметрите на командата." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Входно/изходна грешка при изпращане към backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Очаквана команда BEGIN, получена {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Неочакван статус на команда: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Входно/изходна грешка при изпращане към backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Неизвестен тип на отговор {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Входно/изходна грешка при изпращане към backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "Неосъществена връзка към базата данни при започване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "Опит за прекъсване на неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "Неосъществена връзка към базата данни при прекъсване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "Липсва очакван отговор при грешка да прекъсне копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" "Получени {0} отговори за грешка при единствено искане да се прекъсне " "копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "Опит за прекъсване на неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "Неосъществена връзка към базата данни при завършване на копирането" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "Опит за писане при неактивна операция за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "Неосъществена връзка към базата данни при опит за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "Опит за четене при неактивно копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "Неосъществена връзка към базата данни при четене от копие" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "Получено командно допълнение ''{0}'' без активна команда за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "Получен CopyInResponse отговор от сървъра при активно {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "Получен CopyOutResponse отговор от сървъра при активно {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, fuzzy, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "Получен CopyOutResponse отговор от сървъра при активно {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "Получено CopyData без наличие на активна операция за копиране" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "Неочаквано CopyData от сървъра за {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "Неочакван тип пакет при копиране: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -417,21 +422,15 @@ msgstr "" "Прекалено голяма дължина {0} на съобщението. Това може да е причинено от " "прекалено голяма или неправилно зададена дължина на InputStream параметри." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Недостатъчна памет при представяна на резултатите от заявката." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "За момента драйвъра не поддържа COPY команди." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Не може да осъществи актуализация на брояча при командно допълнение: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -440,7 +439,7 @@ msgstr "" "Параметърът client_encoding при сървъра бе променен на {0}. JDBC драйвъра " "изисква client_encoding да бъде UNICODE за да функционира правилно." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -449,7 +448,7 @@ msgstr "" "Параметърът DateStyle при сървъра бе променен на {0}. JDBC драйвъра изисква " "DateStyle започва с ISO за да функционира правилно." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -512,36 +511,36 @@ msgstr "Източникът на данни е прекъснат." msgid "Unsupported property name: {0}" msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "Извикване на {0} - няма резултати и а бе очаквано цяло число." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "Функцията {0} е неизвестна." @@ -609,63 +608,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "Функцията {0} може да приеме четири и само четири аргумента." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "Функцията {0} може да приеме два и само два аргумента." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "Функцията {0} може да приеме само един единствен аргумент." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "Функцията {0} може да приеме два или три аргумента." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "Функцията {0} не може да приема аргументи." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "Функцията {0} може да приеме три и само три аргумента." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "Интервалът {0} не е валиден все още." @@ -684,17 +690,17 @@ msgstr "Не може да определи ID на спомената savepoint msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Не може да определи името на неупомената savepoint." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Индексът на масив е извън обхвата: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Индексът на масив е извън обхвата: {0}, брой елементи: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -709,17 +715,17 @@ msgstr "" "създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в " "SQL_ASCII бази данни." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "CallableStatement функция бе обработена, но няма резултати." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" "CallableStatement функция бе обработена, но с непозволен брой параметри." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -728,7 +734,7 @@ msgstr "" "CallableStatement функция бе обработена и изходния параметър {0} бе от тип " "{1}, обаче тип {2} бе използван." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -736,12 +742,12 @@ msgstr "" "Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за " "да декларирате такъв." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNull не може да бьде изпълнен, преди наличието на резултата." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -749,7 +755,7 @@ msgid "" msgstr "" "Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). " -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -757,29 +763,29 @@ msgstr "" "CallableStatement функция бе декларирана, но обработена като " "registerOutParameter(1, ) " -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "Резултати от функцията не бяха регистрирани." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" "Резултати от CallableStatement функция не могат да бъдат получени, преди тя " "да бъде обработена." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Непозволена стойност за StringType параметър: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -791,131 +797,131 @@ msgstr "Непозволена стойност за StringType параметъ msgid "No results were returned by the query." msgstr "Няма намерени резултати за заявката." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Бе получен резултат, когато такъв не бе очакван." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "Специфични типови съответствия не се поддържат." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Неуспешно създаване на обект за: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Невъзможно е зареждането на клас {0}, отговарящ за типа данни {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Не може да променяте правата на транзакцията по време на нейното извършване." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Връзката бе прекъсната." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Не може да променяте изолационното ниво на транзакцията по време на нейното " "извършване." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Изолационно ниво на транзакциите {0} не се поддържа." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Приключване на връзка, която не бе прекъсната:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Невъзможно преобразуване на данни в желаното кодиране." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Размера за fetch size трябва да бъде по-голям или равен на 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Не може да се намери типа на сървърен масив за зададеното име {0}." -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Невалидни флагове {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Неуспешно създаване на обект за: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "Информацията за ClientInfo не се поддържа." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "" "Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " "равна на 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Неизвестна ResultSet holdability настройка: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Не може да се установи savepoint в auto-commit модус." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Автоматично генерирани ключове не се поддържат." @@ -931,47 +937,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "Не може да се намери името на типа данни в системните каталози." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Не може да се намери името на типа данни в системните каталози." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -980,68 +986,68 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Параметърният индекс е извън обхват: {0}, брой параметри: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Не може да се употребяват методи за заявка, които ползват низове на " "PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Стойност от неизвестен тип." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM не поддържа за момента {0} кодовата таблица." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Зададения InputStream поток е неуспешен." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Неизвестен тип {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Не може да преобразува инстанция на {0} към тип {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Неподдържана стойност за тип: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Не може да преобразува инстанцията на {0} във вида {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1050,17 +1056,17 @@ msgstr "" "Не може да се определи SQL тип, който да се използва за инстанцията на {0}. " "Ползвайте метода setObject() с точни стойности, за да определите типа." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Неочаквана грешка при записване на голям обект LOB в базата данни." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Грешка с ползвания четец." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1078,8 +1084,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Не може да преобразува инстанцията на {0} във вида {1}" @@ -1093,7 +1099,7 @@ msgstr "" "при редицата на въвеждане." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Невалидна константа за fetch посоката: {0}." @@ -1140,8 +1146,8 @@ msgstr "Трябва да посочите поне една стойност з #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM не поддържа тази кодова таблица за момента: {0}" @@ -1157,7 +1163,7 @@ msgstr "" "въвеждане." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1177,27 +1183,27 @@ msgstr "Няма първичен ключ за таблица {0}." #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Името на колоната {0} не бе намерено в този ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1207,43 +1213,43 @@ msgstr "" "да селектира само една таблица, както и всички първични ключове в нея. За " "повече информация, вижте раздел 5.6 на JDBC 2.1 API Specification." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Операциите по този ResultSet са били прекратени." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet не е референциран правилно. Вероятно трябва да придвижите курсора " "посредством next." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "Невалидни UUID данни." -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Изолационно ниво на транзакциите {0} не се поддържа." @@ -1311,38 +1317,38 @@ msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" "Максималният брой редове трябва да бъде стойност по-голяма или равна на 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "" "Времето за изпълнение на заявката трябва да бъде стойност по-голяма или " "равна на 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" "Максималният размер на полето трябва да бъде стойност по-голяма или равна на " "0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Командата е извършена." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" "Автоматично генерирани ключове спрямо индекс на колона не се поддържат." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Невалидна стойност за тип {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Неподдържана стойност за тип: {0}" @@ -1355,31 +1361,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Невалидна дължина {0} на потока данни." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Не може да инициализира LargeObject API" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Големи обекти LOB не могат да се използват в auto-commit модус." @@ -1413,34 +1419,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Възникна грешка при осъществяване на SSL връзката." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1575,31 +1581,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "Невалидни флагове {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid не може да бъде null" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "Връзката е заета с друга транзакция" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "спиране / започване не се поддържа за момента" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1608,11 +1614,11 @@ msgstr "" "Транзакция в транзакция не се поддържа за момента. xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "Грешка при изключване на autocommit" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1621,7 +1627,7 @@ msgstr "" "опита да извика end без съответстващо извикване на start. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" @@ -1629,12 +1635,12 @@ msgstr "" "Грешка при възстановяване на състоянието преди подготвена транзакция. " "rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1644,21 +1650,21 @@ msgstr "" "същата връзка, при която е започната транзакцията. currentXid={0}, prepare " "xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Prepare извикано преди края. prepare xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Грешка при подготвяне на транзакция. prepare xid={0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Грешка при възстановяване" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1667,13 +1673,13 @@ msgstr "" "Грешка при възстановяване на състоянието преди подготвена транзакция. " "rollback xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1681,22 +1687,22 @@ msgstr "" "Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез " "използване на същата връзка, при която е започнал" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "commit извикан преди end. commit xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Грешка при едно-фазов commit. commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1705,7 +1711,7 @@ msgstr "" "издадена при свободна връзка. commit xid={0}, currentXid={1}, state={2], " "transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1714,7 +1720,7 @@ msgstr "" "Грешка при възстановяване на състоянието преди подготвена транзакция. commit " "xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Евристичен commit или rollback не се поддържа. forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/cs.po b/pgjdbc/src/main/java/org/postgresql/translation/cs.po index 74be50ed60..d85e956ea8 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/cs.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/cs.po @@ -7,7 +7,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2005-08-21 20:00+0200\n" "Last-Translator: Petr Dittrich \n" "Language-Team: \n" @@ -16,59 +15,59 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "Chyba natn standardnho nastaven z driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "" "Nco neobvyklho pinutilo ovlada selhat. Prosm nahlaste tuto vyjmku." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 #, fuzzy msgid "Connection attempt timed out." msgstr "Pokus o pipojen selhal." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 #, fuzzy msgid "Interrupted while attempting to connect." msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Metoda {0} nen implementovna." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -93,6 +92,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -113,7 +117,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Pokozen funkce nebo oputn procedury na pozici {0}." @@ -169,23 +173,23 @@ msgstr "" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Index sloupece je mimo rozsah: {0}, poet sloupc: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -194,39 +198,39 @@ msgstr "" "Spojen odmtnuto. Zkontrolujte zda je jmno hosta a port sprvn a zda " "postmaster pijm TCP/IP spojen." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Pokus o pipojen selhal." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Server nepodporuje SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "Server vyaduje oven heslem, ale dn nebylo poslno." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -237,16 +241,16 @@ msgstr "" "pg_hba.conf obsahuje klientskou IP adresu i pods a zda je pouit " "ovenovac schma podporovno ovladaem." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Chyba protokolu. Nastaven relace selhalo." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -254,177 +258,172 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 msgid "An I/O error occurred while sending to the backend." msgstr "Vystupn/vstupn chyba pi odesln k backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Oekvn pkaz BEGIN, obdren {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Neoekvan stav pkazu: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Vystupn/vstupn chyba pi odesln k backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Neznm typ odpovdi {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Vystupn/vstupn chyba pi odesln k backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Neoekvan stav pkazu: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Ovlada nyn nepodporuje pkaz COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -483,36 +482,36 @@ msgstr "DataSource byl uzav msgid "Unsupported property name: {0}" msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Obdren vsledek, ikdy dn nebyl oekvn." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "" @@ -578,63 +577,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "Funkce {0} bere pesn tyi argumenty." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "Funkce {0} bere prv dva argumenty." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "Funkce {0} bere jeden argument." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "Funkce {0} bere dva nebo ti argumenty." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "Funkce {0} nebere dn argument." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, fuzzy, java-format msgid "{0} function takes three and only three arguments." msgstr "Funkce {0} bere prv dva argumenty." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, fuzzy, java-format msgid "Interval {0} not yet implemented" msgstr "Metoda {0} nen implementovna." @@ -653,17 +659,17 @@ msgstr "Nemohu z msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Nemohu zskat nzev nepojmenovanho savepointu." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Index pole mimo rozsah: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Index pole mimo rozsah: {0}, poet prvk: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -678,68 +684,68 @@ msgstr "" "zakldn databze. Nejznmej pklad je ukldn 8bitovch dat vSQL_ASCII " "databzi." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "CallableStatement byl sputn, le nic nebylo vrceno." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "CallableStatement byl sputn, le nic nebylo vrceno." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, fuzzy, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nepodporovan hodnota typu: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -751,128 +757,128 @@ msgstr "Nepodporovan msgid "No results were returned by the query." msgstr "Neobdren dn vsledek dotazu." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Obdren vsledek, ikdy dn nebyl oekvn." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Selhalo vytvoen objektu: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Nemohu nast tdu {0} odpovdnou za typ {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Spojeni bylo uzaveno." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 #, fuzzy msgid "Finalizing a Connection that was never closed:" msgstr "Spojeni bylo uzaveno." -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Nemohu peloit data do poadovanho kdovn." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Nabran velikost mus bt nezporn." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Selhalo vytvoen objektu: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 #, fuzzy msgid "ClientInfo property not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "asov limit dotazu mus bt nezporn slo." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Nemohu vytvoit savepoint v auto-commit modu." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." @@ -887,47 +893,47 @@ msgstr "Nemohu naj msgid "Unable to find name datatype in the system catalogs." msgstr "Nemohu najt nzev typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Nemohu najt nzev typu v systmovm katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -936,83 +942,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Index parametru mimo rozsah: {0}, poet parametr {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Neznm hodnota typu." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM tvrd, e nepodporuje kodovn {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Selhal poskytnut InputStream." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Neznm typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Nemohu petypovat instanci {0} na typ {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Nepodporovan hodnota typu: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, fuzzy, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Nemohu petypovat instanci {0} na typ {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Neoekvan chyba pi zapisovn velkho objektu do databze." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Selhal poskytnut Reader." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1028,8 +1034,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nemohu petypovat instanci {0} na typ {1}" @@ -1041,7 +1047,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "Nemete pouvat relativn pesuny pi vkldn dku." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "patn smr ten: {0}." @@ -1081,8 +1087,8 @@ msgstr "Mus #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM tvrd, e nepodporuje kodovn: {0}" @@ -1096,7 +1102,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Nemohu volat updateRow() na vlkdanm dku." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1113,27 +1119,27 @@ msgstr "Nenalezen prim #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "patn hodnota pro typ {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Sloupec pojmenovan {0} nebyl nalezen v ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1143,41 +1149,41 @@ msgstr "" "mus obsahovat vechny primrn kle tabulky. Koukni do JDBC 2.1 API " "Specifikace, sekce 5.6 pro vce podrobnost." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Tento ResultSet je uzaven." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, java-format msgid "conversion to {0} from {1} not supported" msgstr "" @@ -1243,34 +1249,34 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Maximln poet dek mus bt nezporn slo." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "asov limit dotazu mus bt nezporn slo." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "Maximln velikost pole mus bt nezporn slo." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Pkaz byl uzaven." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 #, fuzzy msgid "Returning autogenerated keys by column index is not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "patn hodnota pro typ {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Nepodporovan hodnota typu: {0}" @@ -1283,31 +1289,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Selhala inicializace LargeObject API" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Velk objecky nemohou bt pouity v auto-commit modu." @@ -1341,34 +1347,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Nastala chyba pi nastaven SSL spojen." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1504,128 +1510,128 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, fuzzy, java-format msgid "Invalid flags {0}" msgstr "Vadn dlka proudu {0}." -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/de.po b/pgjdbc/src/main/java/org/postgresql/translation/de.po index 7894a3e464..3c844603d9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/de.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/de.po @@ -8,7 +8,6 @@ msgid "" msgstr "" "Project-Id-Version: head-de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-09-12 14:22+0200\n" "Last-Translator: Andre Bialojahn \n" "Language-Team: Deutsch\n" @@ -20,15 +19,15 @@ msgstr "" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "Fehler beim Laden der Voreinstellungen aus driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -39,7 +38,7 @@ msgstr "" "java.net.SocketPermission gewhren, um den Rechner auf dem gewhlten Port zu " "erreichen." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -47,35 +46,35 @@ msgstr "" "Etwas Ungewhnliches ist passiert, das den Treiber fehlschlagen lie. Bitte " "teilen Sie diesen Fehler mit." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Keine Verbindung innerhalb des Zeitintervalls mglich." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Die Methode {0} ist noch nicht implementiert." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -100,6 +99,13 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Der Updatecount aus der Kommandovervollstndigungsmarkierung(?) {0} konnte " +"nicht interpretiert werden." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -124,7 +130,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -188,25 +194,25 @@ msgstr "Nullbytes d #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" "Der Spaltenindex {0} ist auerhalb des gltigen Bereichs. Anzahl Spalten: " "{1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -215,27 +221,27 @@ msgstr "" "Verbindung verweigert. berprfen Sie die Korrektheit von Hostnamen und der " "Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Der Verbindungsversuch schlug fehl." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Der Server untersttzt SSL nicht." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -243,13 +249,13 @@ msgstr "" "Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein " "Passwort angegeben." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -261,16 +267,16 @@ msgstr "" "enthlt und dass der Client ein Authentifizierungsschema nutzt, das vom " "Treiber untersttzt wird." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Protokollfehler. Die Sitzung konnte nicht gestartet werden." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -278,144 +284,144 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Beim Verbindungsversuch trat eine Unterbrechung auf." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Der Anweisung konnten keine Parameterwerte zugewiesen werden." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Unerwarteter Befehlsstatus: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Die Antwort weist einen unbekannten Typ auf: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -424,22 +430,15 @@ msgstr "" "Die Nachrichtenlnge {0} ist zu gro. Das kann von sehr groen oder " "inkorrekten Lngenangaben eines InputStream-Parameters herrhren." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Nicht gengend Speicher beim Abholen der Abfrageergebnisse." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Der Treiber untersttzt derzeit keine COPY-Operationen." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Der Updatecount aus der Kommandovervollstndigungsmarkierung(?) {0} konnte " -"nicht interpretiert werden." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -449,7 +448,7 @@ msgstr "" "Der JDBC-Treiber setzt fr korrektes Funktionieren die Einstellung UNICODE " "voraus." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -459,7 +458,7 @@ msgstr "" "JDBC-Treiber setzt fr korrekte Funktion voraus, dass ''Date Style'' mit " "''ISO'' beginnt." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -525,21 +524,21 @@ msgstr "Die Datenquelle wurde geschlossen." msgid "Unsupported property name: {0}" msgstr "Unbekannter Typ: {0}." -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " "erwartet." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " "erwartet." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -548,14 +547,14 @@ msgstr "" "Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " "erwartet." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " "erwartet." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -564,7 +563,7 @@ msgstr "" "Der Fastpath-Aufruf {0} gab kein Ergebnis zurck, jedoch wurde ein Integer " "erwartet." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "Die Fastpath-Funktion {0} ist unbekannt." @@ -635,63 +634,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "Die {0}-Funktion erwartet genau vier Argumente." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "Die {0}-Funktion erwartet genau zwei Argumente." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "Die {0}-Funktion erwartet nur genau ein Argument." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "Die {0}-Funktion erwartet zwei oder drei Argumente." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "Die {0}-Funktion akzeptiert kein Argument." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "Die {0}-Funktion erwartet genau drei Argumente." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "Intervall {0} ist noch nicht implementiert." @@ -711,19 +717,19 @@ msgstr "Die ID eines benamten Rettungspunktes kann nicht ermittelt werden." msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Der Name eines namenlosen Rettungpunktes kann nicht ermittelt werden." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Der Arrayindex ist auerhalb des gltigen Bereichs: {0}." -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" "Der Arrayindex {0} ist auerhalb des gltigen Bereichs. Vorhandene Elemente: " "{1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -738,17 +744,17 @@ msgstr "" "vorliegen, als die, in der die Datenbank erstellt wurde. Das hufigste " "Beispiel dafr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "Ein CallableStatement wurde ausgefhrt ohne etwas zurckzugeben." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" "Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgefhrt." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -757,7 +763,7 @@ msgstr "" "Eine CallableStatement-Funktion wurde ausgefhrt und der Rckgabewert {0} " "war vom Typ {1}. Jedoch wurde der Typ {2} dafr registriert." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -765,13 +771,13 @@ msgstr "" "Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= " "call ... '}' um das zu tun." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" "wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -780,7 +786,7 @@ msgstr "" "Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf " "get{1} (sqltype={2})." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -788,30 +794,30 @@ msgstr "" "Ein CallableStatement wurde deklariert, aber kein Aufruf von " "''registerOutParameter(1, )'' erfolgte." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 #, fuzzy msgid "No function outputs were registered." msgstr "Es wurden keine Funktionsausgaben registriert." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" "Ergebnisse knnen nicht von einem CallableStatement abgerufen werden, bevor " "es ausgefhrt wurde." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Unbekannter Typ: {0}." -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nichtuntersttzter Wert fr den Stringparameter: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -823,134 +829,134 @@ msgstr "Nichtunterst msgid "No results were returned by the query." msgstr "Die Abfrage lieferte kein Ergebnis." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Die Anweisung lieferte ein Ergebnis obwohl keines erwartet wurde." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 #, fuzzy msgid "Custom type maps are not supported." msgstr "Selbstdefinierte Typabbildungen werden nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Erstellung des Objektes schlug fehl fr: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Die fr den Datentyp {1} verantwortliche Klasse {0} konnte nicht geladen " "werden." -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Die Nur-Lesen-Eigenschaft einer Transaktion kann nicht whrend der " "Transaktion verndert werden." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Die Verbindung wurde geschlossen." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Die Transaktions-Trennungsstufe kann nicht whrend einer Transaktion " "verndert werden." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Die Transaktions-Trennungsstufe {0} ist nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Eine Connection wurde finalisiert, die nie geschlossen wurde:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Die Daten konnten nicht in die gewnschte Kodierung gewandelt werden." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Die Fetch-Gre muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, fuzzy, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" "Fr den angegebenen Namen {0} konnte kein Serverarraytyp gefunden werden." -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Erstellung des Objektes schlug fehl fr: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "Die ClientInfo-Eigenschaft ist nicht untersttzt." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Unbekannte Einstellung fr die Haltbarkeit des ResultSets: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Ein Rettungspunkt kann im Modus ''auto-commit'' nicht erstellt werden." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," @@ -967,48 +973,48 @@ msgid "Unable to find name datatype in the system catalogs." msgstr "" "In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "" "In den Systemkatalogen konnte der Namensdatentyp nicht gefunden werden." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -1019,10 +1025,10 @@ msgstr "" "Der Parameterindex {0} ist auerhalb des gltigen Bereichs. Es gibt {1} " "Parameter." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 #, fuzzy msgid "" "Can''t use query methods that take a query string on a PreparedStatement." @@ -1030,58 +1036,58 @@ msgstr "" "Abfragemethoden, die einen Abfragestring annehmen, knnen nicht auf ein " "PreparedStatement angewandt werden." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Unbekannter Typ." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "Die JVM behauptet, die Zeichenkodierung {0} nicht zu untersttzen." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Der bereitgestellte InputStream scheiterte." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Unbekannter Typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Unbekannter Typ: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1091,19 +1097,19 @@ msgstr "" "abgeleitet werden. Benutzen Sie ''setObject()'' mit einem expliziten Typ, um " "ihn festzulegen." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" "Beim Schreiben eines LargeObjects (LOB) in die Datenbank trat ein " "unerwarteter Fehler auf." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Der bereitgestellte Reader scheiterte." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1121,8 +1127,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Die Typwandlung fr eine Instanz von {0} nach {1} ist nicht mglich." @@ -1135,7 +1141,7 @@ msgstr "" "Relative Bewegungen knnen in der Einfgezeile nicht durchgefhrt werden." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Unzulssige Richtungskonstante bei fetch: {0}." @@ -1180,8 +1186,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "Die JVM behauptet, die Zeichenkodierung {0} nicht zu untersttzen." @@ -1195,7 +1201,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "''updateRow()'' kann in der Einfgezeile nicht aufgerufen werden." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1216,27 +1222,27 @@ msgstr "F #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Unzulssiger Wert fr den Typ {0} : {1}." -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Der Spaltenname {0} wurde in diesem ResultSet nicht gefunden." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1246,44 +1252,44 @@ msgstr "" "darf nur eine Tabelle und muss darin alle Primrschlssel auswhlen. Siehe " "JDBC 2.1 API-Spezifikation, Abschnitt 5.6 fr mehr Details." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Dieses ResultSet ist geschlossen." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Das ResultSet ist nicht richtig positioniert. Eventuell muss ''next'' " "aufgerufen werden." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 #, fuzzy msgid "Invalid UUID data." msgstr "Ungltiges Flag." -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Die Transaktions-Trennungsstufe {0} ist nicht untersttzt." @@ -1349,34 +1355,34 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Die maximale Zeilenzahl muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Das Abfragetimeout muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "Die maximale Feldgre muss ein Wert grer oder gleich Null sein." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Die Anweisung wurde geschlossen." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 #, fuzzy msgid "Returning autogenerated keys by column index is not supported." msgstr "Die Rckgabe automatisch generierter Schlssel wird nicht untersttzt," -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Unzulssiger Wert fr den Typ {0} : {1}." -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Unbekannter Typ: {0}." @@ -1389,31 +1395,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Ungltige Lnge des Datenstroms: {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Die LargeObject-API konnte nicht initialisiert werden." -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" "LargeObjects (LOB) drfen im Modus ''auto-commit'' nicht verwendet werden." @@ -1452,34 +1458,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Beim Aufbau der SSL-Verbindung trat ein Fehler auf." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1616,42 +1622,42 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, fuzzy, java-format msgid "Invalid flags {0}" msgstr "Ungltige Flags" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "Die xid darf nicht null sein." -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "Die Verbindung ist derzeit mit einer anderen Transaktion beschftigt." -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "Anhalten/Fortsetzen ist nicht implementiert." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "Fehler beim Abschalten von Autocommit." -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, fuzzy, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1659,18 +1665,18 @@ msgid "" msgstr "" "Es wurde versucht, ohne dazugehrigen ''start''-Aufruf ''end'' aufzurufen." -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, fuzzy, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1679,34 +1685,34 @@ msgstr "" "Nicht implementiert: ''Prepare'' muss ber die selbe Verbindung abgesetzt " "werden, die die Transaktion startete." -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, fuzzy, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "''Prepare'' wurde vor ''end'' aufgerufen." -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, fuzzy, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Beim Vorbereiten der Transaktion trat ein Fehler auf." -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Beim Wiederherstellen trat ein Fehler auf." -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, fuzzy, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1714,22 +1720,22 @@ msgstr "" "Nicht implementiert: Die einphasige Besttigung muss ber die selbe " "Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, fuzzy, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "''Commit'' wurde vor ''end'' aufgerufen." -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, fuzzy, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Bei der einphasigen Besttigung trat ein Fehler auf." -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 #, fuzzy msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " @@ -1738,14 +1744,14 @@ msgstr "" "Nicht implementiert: Die zweite Besttigungsphase muss ber eine im Leerlauf " "befindliche Verbindung abgewickelt werden." -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Fehler beim Rollback einer vorbereiteten Transaktion." -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristisches Commit/Rollback wird nicht untersttzt." diff --git a/pgjdbc/src/main/java/org/postgresql/translation/es.po b/pgjdbc/src/main/java/org/postgresql/translation/es.po index cbcde74963..8f2d6c97d0 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/es.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/es.po @@ -5,7 +5,6 @@ msgid "" msgstr "" "Project-Id-Version: JDBC PostgreSQL Driver\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-22 16:51-0300\n" "Last-Translator: Diego Gil \n" "Language-Team: \n" @@ -15,22 +14,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Spanish\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -38,37 +37,37 @@ msgstr "" "Algo inusual ha ocurrido que provocó un fallo en el controlador. Por favor " "reporte esta excepción." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 #, fuzzy msgid "Connection attempt timed out." msgstr "El intento de conexión falló." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 #, fuzzy msgid "Interrupted while attempting to connect." msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, fuzzy, java-format msgid "Method {0} is not yet implemented." msgstr "Este método aún no ha sido implementado." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -92,6 +91,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + #: org/postgresql/core/ConnectionFactory.java:57 #, fuzzy, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -114,7 +118,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -170,24 +174,24 @@ msgstr "" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" "El índice de la columna está fuera de rango: {0}, número de columnas: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, java-format msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, java-format msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -196,27 +200,27 @@ msgstr "" "Conexión rechazada. Verifique que el nombre del Host y el puerto sean " "correctos y que postmaster este aceptando conexiones TCP/IP." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "El intento de conexión falló." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Este servidor no soporta SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -224,13 +228,13 @@ msgstr "" "El servidor requiere autenticación basada en contraseña, pero no se ha " "provisto ninguna contraseña." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, fuzzy, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -242,16 +246,16 @@ msgstr "" "subred, y que está usando un esquema de autenticación soportado por el " "driver." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Error de protocolo. Falló el inicio de la sesión." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -259,177 +263,172 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Tipo de respuesta desconocida {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Un error de E/S ha ocurrido mientras se enviaba al backend." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -490,36 +489,36 @@ msgstr "" msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Se retornó un resultado cuando no se esperaba ninguno." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "" @@ -586,63 +585,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, fuzzy, java-format msgid "Interval {0} not yet implemented" msgstr "Este método aún no ha sido implementado." @@ -661,18 +667,18 @@ msgstr "" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" "El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -683,67 +689,67 @@ msgid "" "SQL_ASCII database." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, java-format msgid "Unsupported type conversion to {1}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -755,125 +761,125 @@ msgstr "" msgid "No results were returned by the query." msgstr "La consulta no retornó ningún resultado." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Se retornó un resultado cuando no se esperaba ninguno." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Fallo al crear objeto: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "El intento de conexión falló." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, java-format msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Fallo al crear objeto: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -887,46 +893,46 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -936,83 +942,83 @@ msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" "El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1028,8 +1034,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1041,7 +1047,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "" @@ -1080,8 +1086,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1095,7 +1101,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1112,68 +1118,68 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, java-format msgid "conversion to {0} from {1} not supported" msgstr "" @@ -1238,33 +1244,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, java-format msgid "Unsupported binary encoding of {0}." msgstr "" @@ -1277,31 +1283,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, java-format msgid "Invalid server-first-message: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, java-format msgid "Invalid server-final-message: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" @@ -1335,34 +1341,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Ha ocorrido un error mientras se establecía la conexión SSL." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1497,129 +1503,129 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 #, fuzzy msgid "suspend/resume not implemented" msgstr "Este método aún no ha sido implementado." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/fr.po b/pgjdbc/src/main/java/org/postgresql/translation/fr.po index 464a6df4f2..bc05ed0968 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/fr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/fr.po @@ -8,7 +8,6 @@ msgid "" msgstr "" "Project-Id-Version: head-fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2007-07-27 12:27+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,23 +18,23 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" "Erreur de chargement des valeurs par dfaut depuis driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -43,35 +42,35 @@ msgstr "" "Quelque chose d''inhabituel a provoqu l''chec du pilote. Veuillez faire un " "rapport sur cette erreur." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "La tentative de connexion a chou dans le dlai imparti." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Interrompu pendant l''tablissement de la connexion." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "La fonction {0} n''est pas encore implmente." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -96,6 +95,13 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Incapable d''interprter le nombre de mise jour dans la balise de " +"compltion de commande: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -119,7 +125,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Attendait une fin de fichier du serveur, reu: {0}" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -184,24 +190,24 @@ msgstr "Des octects #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" "L''indice de la colonne est hors limite: {0}, nombre de colonnes: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -210,28 +216,28 @@ msgstr "" "Connexion refuse. Vrifiez que le nom de machine et le port sont corrects " "et que postmaster accepte les connexions TCP/IP." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "La tentative de connexion a chou." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Le serveur ne supporte pas SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "" "Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -239,13 +245,13 @@ msgstr "" "Le serveur a demand une authentification par mots de passe, mais aucun mot " "de passe n''a t fourni." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -257,16 +263,16 @@ msgstr "" "sous-rseau et qu''il utilise un schma d''authentification support par le " "pilote." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Erreur de protocole. Ouverture de la session en chec." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -274,143 +280,143 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Interrompu pendant l''tablissement de la connexion." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Incapable de lier les valeurs des paramtres pour la commande." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 msgid "An I/O error occurred while sending to the backend." msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Attendait le statut de commande BEGIN, obtenu {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Statut de commande inattendu: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Type de rponse inconnu {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Une erreur d''entre/sortie a eu lieu lors d''envoi vers le serveur." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Attendait une fin de fichier du serveur, reu: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -420,22 +426,15 @@ msgstr "" "par des spcification de longueur trs grandes ou incorrectes pour les " "paramtres de type InputStream." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Ai manqu de mmoire en rcuprant les rsultats de la requte." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Le pilote ne supporte pas actuellement les oprations COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Incapable d''interprter le nombre de mise jour dans la balise de " -"compltion de commande: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -445,7 +444,7 @@ msgstr "" "JDBC ncessite l''affectation de la valeur UNICODE client_encoding pour un " "fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -454,7 +453,7 @@ msgstr "" "Le paramtre DateStyle du serveur a t chang pour {0}. Le pilote JDBC " "ncessite que DateStyle commence par ISO pour un fonctionnement correct." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -518,21 +517,21 @@ msgstr "DataSource a msgid "Unsupported property name: {0}" msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " "entier." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " "entier." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -541,14 +540,14 @@ msgstr "" "Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " "entier." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " "entier." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -557,7 +556,7 @@ msgstr "" "Appel Fastpath {0} - Aucun rsultat n''a t retourn et nous attendions un " "entier." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "La fonction fastpath {0} est inconnue." @@ -627,63 +626,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "La fonction {0} n''accepte que quatre et seulement quatre arguments." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "La fonction {0} n''accepte que deux et seulement deux arguments." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "La fonction {0} n''accepte qu''un et un seul argument." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "La fonction {0} n''accepte que deux ou trois arguments." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "La fonction {0} n''accepte aucun argument." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "La fonction {0} n''accepte que trois et seulement trois arguments." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "L''interval {0} n''est pas encore implment" @@ -702,17 +708,17 @@ msgstr "Impossible de retrouver l''identifiant d''un savepoint nomm msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Impossible de retrouver le nom d''un savepoint sans nom." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "L''indice du tableau est hors limites: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "L''indice du tableau est hors limites: {0}, nombre d''lments: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -727,18 +733,18 @@ msgstr "" "cration de la base. L''exemple le plus courant est le stockage de donnes " "8bit dans une base SQL_ASCII." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "Un CallableStatement a t excut mais n''a rien retourn." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" "Un CallableStatement a t excut avec un nombre de paramtres incorrect" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -747,7 +753,7 @@ msgstr "" "Une fonction CallableStatement a t excute et le paramtre en sortie {0} " "tait du type {1} alors que le type {2} tait prvu." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -755,12 +761,12 @@ msgstr "" "Cette requte ne dclare pas de paramtre OUT. Utilisez '{' ?= call ... '}' " "pour en dclarer un." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNull ne peut pas tre appel avant la rcupration d''un rsultat." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -769,7 +775,7 @@ msgstr "" "Un paramtre de type {0} a t enregistr, mais un appel get{1} " "(sqltype={2}) a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -777,30 +783,30 @@ msgstr "" "Un CallableStatement a t dclar, mais aucun appel " "registerOutParameter(1, ) n''a t fait." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "Aucune fonction outputs n''a t enregistre." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" "Les rsultats ne peuvent tre rcuprs partir d''un CallableStatement " "avant qu''il ne soit excut." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" "Valeur non supporte pour les paramtre de type chane de caractres: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -812,131 +818,131 @@ msgstr "" msgid "No results were returned by the query." msgstr "Aucun rsultat retourn par la requte." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Un rsultat a t retourn alors qu''aucun n''tait attendu." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Incapable de charger la classe {0} responsable du type de donnes {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Impossible de changer la proprit read-only d''une transaction au milieu " "d''une transaction." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "La connexion a t ferme." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Impossible de changer le niveau d''isolation des transactions au milieu " "d''une transaction." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Le niveau d''isolation de transaction {0} n''est pas support." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Destruction d''une connection qui n''a jamais t ferme:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Impossible de traduire les donnes dans l''encodage dsir." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Fetch size doit tre une valeur suprieur ou gal 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "chec la cration de l''objet pour: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 #, fuzzy msgid "ClientInfo property not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Query timeout doit tre une valeur suprieure ou gale 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Paramtre holdability du ResultSet inconnu: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Impossible d''tablir un savepoint en mode auto-commit." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." @@ -953,48 +959,48 @@ msgid "Unable to find name datatype in the system catalogs." msgstr "" "Incapable de trouver le type de donne name dans les catalogues systmes." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "" "Incapable de trouver le type de donne name dans les catalogues systmes." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -1004,68 +1010,68 @@ msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" "L''indice du paramtre est hors limites: {0}, nombre de paramtres: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Impossible d''utiliser les fonctions de requte qui utilisent une chane de " "caractres sur un PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Valeur de Types inconnue." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "La JVM prtend ne pas supporter l''encodage {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "L''InputStream fourni a chou." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Type inconnu: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Impossible de convertir une instance de {0} vers le type {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valeur de type non supporte: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Impossible de convertir une instance de type {0} vers le type {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1075,17 +1081,17 @@ msgstr "" "Utilisez setObject() avec une valeur de type explicite pour spcifier le " "type utiliser." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Erreur inattendue pendant l''criture de large object dans la base." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Le Reader fourni a chou." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1103,8 +1109,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Impossible de convertir une instance de type {0} vers le type {1}" @@ -1118,7 +1124,7 @@ msgstr "" "l''insertion d''une ligne." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Constante de direction pour la rcupration invalide: {0}." @@ -1163,8 +1169,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "La JVM prtend ne pas supporter l''encodage: {0}" @@ -1179,7 +1185,7 @@ msgstr "" "Impossible d''appeler updateRow() tant que l''on est sur la ligne insre." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1200,27 +1206,27 @@ msgstr "Pas de cl #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Le nom de colonne {0} n''a pas t trouv dans ce ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1231,44 +1237,44 @@ msgstr "" "primaires de cette table. Voir la spcification de l''API JDBC 2.1, section " "5.6 pour plus de dtails." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Ce ResultSet est ferm." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Le ResultSet n''est pas positionn correctement, vous devez peut-tre " "appeler next()." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 #, fuzzy msgid "Invalid UUID data." msgstr "Drapeau invalide" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Le niveau d''isolation de transaction {0} n''est pas support." @@ -1335,35 +1341,35 @@ msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" "Le nombre maximum de lignes doit tre une valeur suprieure ou gale 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Query timeout doit tre une valeur suprieure ou gale 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" "La taille maximum des champs doit tre une valeur suprieure ou gale 0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Ce statement a t ferm." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 #, fuzzy msgid "Returning autogenerated keys by column index is not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Mauvaise valeur pour le type {0}: {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Valeur de type non supporte: {0}" @@ -1376,31 +1382,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Longueur de flux invalide {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "chec l''initialisation de l''API LargeObject" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Les Large Objects ne devraient pas tre utiliss en mode auto-commit." @@ -1434,35 +1440,35 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "" "Une erreur s''est produite pendant l''tablissement de la connexion SSL." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1597,60 +1603,60 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, fuzzy, java-format msgid "Invalid flags {0}" msgstr "Drapeaux invalides" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid ne doit pas tre nul" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "La connection est occupe avec une autre transaction" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "suspend/resume pas implment" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "Erreur en dsactivant autocommit" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, fuzzy, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "tentative d''appel de fin sans l''appel start correspondant" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, fuzzy, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1659,34 +1665,34 @@ msgstr "" "Pas implment: Prepare doit tre envoy sur la mme connection qui a " "dmarr la transaction" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, fuzzy, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Prparation appele avant la fin" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, fuzzy, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Erreur en prparant la transaction" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Erreur durant la restauration" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, fuzzy, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Erreur en annulant une transaction prpare" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1694,22 +1700,22 @@ msgstr "" "Pas implment: le commit une phase doit avoir lieu en utilisant la mme " "connection que celle o il a commenc" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, fuzzy, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "Commit appel avant la fin" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, fuzzy, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Erreur pendant le commit une phase" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 #, fuzzy msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " @@ -1718,14 +1724,14 @@ msgstr "" "Pas implment: le commit deux phase doit tre envoy sur une connection " "inutilise" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Erreur en annulant une transaction prpare" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristic commit/rollback non support" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/it.po b/pgjdbc/src/main/java/org/postgresql/translation/it.po index 61a2c4beb9..f89a69691a 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/it.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/it.po @@ -9,7 +9,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2006-06-23 17:25+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: Italian \n" @@ -18,24 +17,24 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" "Si verificato un errore caricando le impostazioni predefinite da " "driverconfig.properties." -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -43,35 +42,35 @@ msgstr "" "Qualcosa di insolito si verificato causando il fallimento del driver. Per " "favore riferire all''autore del driver questa eccezione." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Il tentativo di connessione scaduto." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Si verificata una interruzione durante il tentativo di connessione." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Il metodo {0} non stato ancora implementato." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -96,6 +95,13 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Impossibile interpretare il numero degli aggiornamenti nel tag di " +"completamento del comando: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -120,7 +126,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Ricevuto dal server {0} mentre era atteso un EOF" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -188,23 +194,23 @@ msgstr "" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Indice di colonna, {0}, maggiore del numero di colonne {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -214,27 +220,27 @@ msgstr "" "corretti, e che il server (postmaster) sia in esecuzione con l''opzione -i, " "che abilita le connessioni attraverso la rete TCP/IP." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Il tentativo di connessione fallito." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Il server non supporta SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Si verificato un errore impostando la connessione SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -242,13 +248,13 @@ msgstr "" "Il server ha richiesto l''autenticazione con password, ma tale password non " " stata fornita." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -260,16 +266,16 @@ msgstr "" "client, e che lo schema di autenticazione utilizzato sia supportato dal " "driver." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Errore di protocollo. Impostazione della sessione fallita." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -277,145 +283,145 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Si verificata una interruzione durante il tentativo di connessione." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" "Impossibile fare il bind dei valori passati come parametri per lo " "statement." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 msgid "An I/O error occurred while sending to the backend." msgstr "Si verificato un errore di I/O nella spedizione di dati al server." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Stato del comando non previsto: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Si verificato un errore di I/O nella spedizione di dati al server." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Risposta di tipo sconosciuto {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Si verificato un errore di I/O nella spedizione di dati al server." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Ricevuto dal server {0} mentre era atteso un EOF" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -424,22 +430,15 @@ msgstr "" "Il messaggio di bind troppo lungo ({0}). Questo pu essere causato da " "una dimensione eccessiva o non corretta dei parametri dell''InputStream." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Fine memoria scaricando i risultati della query." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Il driver non supporta al momento l''operazione COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Impossibile interpretare il numero degli aggiornamenti nel tag di " -"completamento del comando: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -449,7 +448,7 @@ msgstr "" "JDBC richiede che client_encoding sia UNICODE per un corretto " "funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -458,7 +457,7 @@ msgstr "" "Il parametro del server DateStyle stato cambiato in {0}. Il driver JDBC " "richiede che DateStyle cominci con ISO per un corretto funzionamento." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, fuzzy, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -523,21 +522,21 @@ msgstr "Questo msgid "Unsupported property name: {0}" msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " "un intero." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " "un intero." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -546,14 +545,14 @@ msgstr "" "Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " "un intero." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " "un intero." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -562,7 +561,7 @@ msgstr "" "Chiamata Fastpath {0}: Nessun risultato restituito mentre ci si aspettava " "un intero." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "La funzione fastpath {0} sconosciuta." @@ -630,63 +629,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "Il metodo {0} accetta quattro e solo quattro argomenti." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "Il metodo {0} accetta due e solo due argomenti." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "Il metodo {0} accetta un ed un solo argomento." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "Il metodo {0} accetta due o tre argomenti." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "Il metodo {0} non accetta argomenti." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "Il metodo {0} accetta tre e solo tre argomenti." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "L''intervallo {0} non stato ancora implementato." @@ -707,18 +713,18 @@ msgstr "Non msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Non possibile trovare il nome di un punto di ripristino anonimo." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Indice di colonna fuori dall''intervallo ammissibile: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" "L''indice dell''array fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -734,19 +740,19 @@ msgstr "" "quello nel quale si memorizzano caratteri a 8bit in un database con codifica " "SQL_ASCII." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "" "Un CallableStatement stato eseguito senza produrre alcun risultato. " -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" "Un CallableStatement stato eseguito con un numero errato di parametri." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -755,7 +761,7 @@ msgstr "" " stato eseguito un CallableStatement ma il parametro in uscita {0} era " "di tipo {1} al posto di {2}, che era stato dichiarato." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -763,12 +769,12 @@ msgstr "" "Questo statement non dichiara il parametro in uscita. Usare { ?= " "call ... } per farlo." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -777,7 +783,7 @@ msgstr "" " stato definito il parametro di tipo {0}, ma poi stato invocato il " "metodo get{1}() (sqltype={2})." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -785,27 +791,27 @@ msgstr "" " stato definito un CallableStatement ma non stato invocato il metodo " "registerOutParameter(1, )." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Il valore per il parametro di tipo string {0} non supportato." #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -817,132 +823,132 @@ msgstr "Il valore per il parametro di tipo string msgid "No results were returned by the query." msgstr "Nessun risultato stato restituito dalla query." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr " stato restituito un valore nonostante non ne fosse atteso nessuno." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Fallita la creazione dell''oggetto per: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Non possibile caricare la class {0} per gestire il tipo {1}." -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Non possibile modificare la propriet read-only delle transazioni nel " "mezzo di una transazione." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Questo Connection stato chiuso." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Non possibile cambiare il livello di isolamento delle transazioni nel " "mezzo di una transazione." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Il livello di isolamento delle transazioni {0} non supportato." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Finalizzazione di una Connection che non stata chiusa." -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Impossibile tradurre i dati nella codifica richiesta." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "La dimensione dell''area di fetch deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Fallita la creazione dell''oggetto per: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 #, fuzzy msgid "ClientInfo property not supported." msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Il parametro holdability per il ResultSet sconosciuto: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" "Non possibile impostare i punti di ripristino in modalit auto-commit." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "La restituzione di chiavi autogenerate non supportata." @@ -957,47 +963,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "Non possibile trovare il datatype name nel catalogo di sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Non possibile trovare il datatype name nel catalogo di sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -1006,68 +1012,68 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Il parametro indice fuori intervallo: {0}, numero di elementi: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Non si possono utilizzare i metodi \"query\" che hanno come argomento una " "stringa nel caso di PreparedStatement." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Valore di tipo sconosciuto." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "La JVM sostiene di non supportare la codifica {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "L''InputStream fornito fallito." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Tipo sconosciuto {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Non possibile fare il cast di una istanza di {0} al tipo {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valore di tipo {0} non supportato." -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Non possibile convertire una istanza di {0} nel tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1077,17 +1083,17 @@ msgstr "" "{0}. Usare setObject() specificando esplicitamente il tipo da usare per " "questo valore." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Errore inatteso inviando un large object al database." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Il Reader fornito fallito." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1105,8 +1111,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Non possibile convertire una istanza di {0} nel tipo {1}" @@ -1120,7 +1126,7 @@ msgstr "" "di una riga." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Costante per la direzione dell''estrazione non valida: {0}." @@ -1167,8 +1173,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "La JVM sostiene di non supportare la codifica: {0}." @@ -1183,7 +1189,7 @@ msgstr "" "Non possibile invocare updateRow() durante l''inserimento di una riga." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1203,27 +1209,27 @@ msgstr "Non #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Il valore {1} non adeguato al tipo {0}." -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Colonna denominata {0} non presente in questo ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1234,44 +1240,44 @@ msgstr "" "chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, " "per ulteriori dettagli." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Questo ResultSet chiuso." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "Il ResultSet non correttamente posizionato; forse necessario invocare " "next()." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 #, fuzzy msgid "Invalid UUID data." msgstr "Flag non valido" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Il livello di isolamento delle transazioni {0} non supportato." @@ -1337,34 +1343,34 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Il numero massimo di righe deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Il timeout relativo alle query deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "La dimensione massima del campo deve essere maggiore o eguale a 0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Questo statement stato chiuso." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 #, fuzzy msgid "Returning autogenerated keys by column index is not supported." msgstr "La restituzione di chiavi autogenerate non supportata." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Il valore {1} non adeguato al tipo {0}." -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Valore di tipo {0} non supportato." @@ -1377,31 +1383,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "La dimensione specificata, {0}, per lo stream non valida." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Inizializzazione di LargeObject API fallita." -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Non possibile impostare i Large Object in modalit auto-commit." @@ -1437,34 +1443,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Si verificato un errore impostando la connessione SSL." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1600,61 +1606,61 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, fuzzy, java-format msgid "Invalid flags {0}" msgstr "Flag non validi" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid non pu essere NULL" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "La connessione utilizzata da un''altra transazione" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "suspend/resume non implementato" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 #, fuzzy msgid "Error disabling autocommit" msgstr "Errore durante il commit \"one-phase\"" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, fuzzy, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr " stata chiamata end senza la corrispondente chiamata a start" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, fuzzy, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1663,34 +1669,34 @@ msgstr "" "Non implementato: Prepare deve essere eseguito nella stessa connessione " "che ha iniziato la transazione." -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, fuzzy, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Prepare invocato prima della fine" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, fuzzy, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Errore nel preparare una transazione" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Errore durante il ripristino" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, fuzzy, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Errore durante il rollback di una transazione preparata" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1698,22 +1704,22 @@ msgstr "" "Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa " "connessione che ha iniziato la transazione." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, fuzzy, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "Commit stato chiamato prima della fine" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, fuzzy, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Errore durante il commit \"one-phase\"" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 #, fuzzy msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " @@ -1722,14 +1728,14 @@ msgstr "" "Non implementato: la seconda fase del commit deve essere effettuata con " "una connessione non in uso" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "Errore durante il rollback di una transazione preparata" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, fuzzy, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Commit e rollback euristici non sono supportati" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index 631077666f..2b1d85480b 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -8,7 +8,6 @@ msgid "" msgstr "" "Project-Id-Version: head-ja\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2010-04-11 22:58+0900\n" "Last-Translator: Hiroshi Saito \n" "Language-Team: PostgreSQL \n" @@ -20,15 +19,15 @@ msgstr "" "X-Poedit-Language: Japanese\n" "X-Poedit-Country: Japan\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "driverconfig.propertiesによる初期設定のロードエラー。" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -38,42 +37,42 @@ msgstr "" "ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" "す。" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "" "ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "接続試行がタイムアウトしました。" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "接続試行中に割り込みがありました。" -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "{0} メソッドはまだ実装されていません。" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, fuzzy, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "unknownLengthパラメータ値は整数でなければなりません" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "CopyInを要求しましたが {0} を得ました。" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "CopyOutを要求しましたが {0} を得ました。" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, fuzzy, java-format msgid "Requested CopyDual but got {0}" msgstr "CopyOutを要求しましたが {0} を得ました。" @@ -97,6 +96,11 @@ msgstr "copyからの読み取りに失敗しました。" msgid "Cannot write to copy a byte of value {0}" msgstr "値{0}のバイトコピーで書き込みができません。" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "コマンド完了タグの更新数を解釈することができません: {0}" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -119,7 +123,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "正しくない関数または手続きは、位置 {0} で文法を逸しました。" @@ -178,23 +182,23 @@ msgstr "ゼロ・バイトを識別子に含めることはできません。" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -203,27 +207,27 @@ msgstr "" "接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" "IP接続を受け入れていることを調べて下さい。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "接続試行は失敗しました。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "サーバはSSLをサポートしていません。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "SSL接続のセットアップ中に、エラーが起こりました。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -231,13 +235,13 @@ msgstr "" "サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" "れませんでした。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -248,16 +252,16 @@ msgstr "" "アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" "使っているかを調べてください。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "プロトコルエラー。セッション設定は失敗しました。" -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -265,143 +269,143 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "コマンド完了はCOPYを想定しましたが、次の結果を得ました:" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "すでに占有している最中のロック取得です。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "データベース接続のロック中断を試みます。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "データベース接続でロック待ちの最中に割り込みがありました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "ステートメントのパラメータ値をバインドできません。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "バックエンドに送信中に、入出力エラーが起こりました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "BEGINコマンドステータスを想定しましたが、{0} を得ました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "想定外のコマンドステータス: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "バックエンドに送信中に、入出力エラーが起こりました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "未知の応答型 {0} です。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "バックエンドに送信中に、入出力エラーが起こりました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "コピー開始時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "動作していないコピー操作の取り消しを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "コピー操作取り消し時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "コピー取り消し要求のエラー応答を想定しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "単一copy取り消し要求に {0} エラー応答を得ました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "動作していないコピーの終了を試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "コピー終了時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "動作していないコピー操作で書き込みを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "コピーへの書き込み時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "動作していないコピーから読み取りを試みました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "コピーからの読み取り時のデータベース接続に失敗しました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "活動中のコピー操作なしでCommandComplete ''{0}'' を受け取りました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "活動中のサーバ {0} からCopyInResponseを得ました" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, fuzzy, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "動作中のコピー操作なしでCopyDataを得ました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "{0} のサーバからの思いがけない copydata です。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "コピー中の想定外のパケット型です: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -410,20 +414,15 @@ msgstr "" "バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長" "さ、あるいは不正確な長さが設定されている可能性があります。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "クエリの結果取得にメモリを使い果たしました。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "現在、ドライバはコピー操作をサポートしません。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "コマンド完了タグの更新数を解釈することができません: {0}" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -432,7 +431,7 @@ msgstr "" "サーバのclient_encodingパラメータが {0} に変わりました。JDBCドライバは、正し" "い操作のためclient_encodingをUNICODEにすることを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -441,7 +440,7 @@ msgstr "" "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作" "のためISOで開始するDateStyleを要求します。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -504,21 +503,21 @@ msgstr "データソースは閉じられました。" msgid "Unsupported property name: {0}" msgstr "サポートされない型の値: {0}." -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" "した。" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" "した。" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -527,14 +526,14 @@ msgstr "" "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" "した。" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" "した。" -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -543,7 +542,7 @@ msgstr "" "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" "した。" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "{0} は未知の fastpath 関数です。" @@ -611,63 +610,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "{0} 関数は、四つの引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "{0} 関数は、二つの引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "{0} 関数は、単一の引数のみを用います。" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "{0} 関数は、二つ、または三つの引数を用います。" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "{0} 関数は、どのような引数も用いません。" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "{0} 関数は、三つの引数のみを用います。" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "間隔 {0} はまだ実装されていません。" @@ -686,17 +692,17 @@ msgstr "名前の付いたsavepointのidを取得することができません msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "名前のないsavepointの名前を取得することができません。" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "配列インデックスは、範囲外です: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -710,16 +716,16 @@ msgstr "" "セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" "ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "CallableStatementは、戻りなしで実行されました。" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "CallableStatementは、不正な数のパラメータで実行されました。" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -728,7 +734,7 @@ msgstr "" "CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" "し、型 {2} が登録されました。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -736,12 +742,12 @@ msgstr "" "ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" "て宣言して下さい。" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNullは、結果フェッチ前に呼び出せません。" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -750,7 +756,7 @@ msgstr "" "型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" "た。" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -758,27 +764,27 @@ msgstr "" "CallableStatementは宣言されましたが、registerOutParameter(1, ) は" "呼び出されませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "関数出力は登録されませんでした。" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "実行される前に、CallableStatement から結果を得ることはできません。" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "サポートされないバイナリエンコーディングです: {0}." -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "サポートされないstringtypeパラメータ値です: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -790,126 +796,126 @@ msgstr "サポートされないstringtypeパラメータ値です: {0}" msgid "No results were returned by the query." msgstr "いかなる結果も、クエリによって返されませんでした。" -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "結果がないことを想定しましたが、結果が返されました。" -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "カスタム型マップはサポートされません。" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "{0} へのオブジェクト生成に失敗しました。" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "データ型 {1} に対応するクラス{0} をロードできません。" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "トランザクションの最中に読み出し専用プロパティを変えることはできません。" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "autoCommit有効時に、明示的なコミットはできません。" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 msgid "This connection has been closed." msgstr "この接続は既に閉じられています。" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "autoCommit有効時に、明示的なロールバックはできません。" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "トランザクションの最中に隔離レベルを変えることができません。" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "トランザクション隔離レベル{0} はサポートされていません。" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "接続終了で閉じられませんでした:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "望む符号化にデータを訳すことができません。" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "提供名 {0} で、サーバの配列型を見つけることができません。" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "無効なフラグです。{0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "無効なタイムアウト値です ({0}<0)。" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "有効確認の接続" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "ClientInfo プロパティ:{0} の設定に失敗しました。" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "ClientInfo プロパティはサポートされていません。" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知の ResultSet に対するholdability設定です: {0}" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "自動コミットモードでsavepointを作成できません。" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "自動生成キーを返すことはサポートされていません。" @@ -925,47 +931,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "名前データ型をシステムカタログで見つけることができません。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "名前データ型をシステムカタログで見つけることができません。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -974,66 +980,66 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "未知の型の値です。" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "無効なストリーム長 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVMは、エンコーディング {0} をサポートしません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供された InputStream は失敗しました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "未知の型 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "hstore 拡張がインストールされてません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "インスタンス {0} を型 {1} へキャストできません" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "サポートされない型の値: {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "型 {1} に {0} のインスタンスを変換できません。" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1042,18 +1048,18 @@ msgstr "" "インスタンス {0} で使うべきSQL型を推測できません。明確な型値を記述した " "setObject() を使ってください。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" "データベースへのラージオブジェクト書き込み中に想定外のエラーが起きました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供された Reader は失敗しました。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" @@ -1071,8 +1077,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "型 {0} の列値を型 {1} に変換できません。" @@ -1084,7 +1090,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "行挿入の最中に関連の動作方法を使うことはできません。" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "無効なフェッチ方向の定数です: {0}" @@ -1127,8 +1133,8 @@ msgstr "行挿入には、最低でも1つの列の値が必要です。" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVMでサポートされないエンコーディングです: {0}" @@ -1142,7 +1148,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "行を挿入したときに、updateRow() を呼び出すことができません。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1159,27 +1165,27 @@ msgstr "テーブル {0} の主キーがありません。" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "型 {0} で不正な値 : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet に列名 {0} は見つかりませんでした。" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1189,42 +1195,42 @@ msgstr "" "のテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より" "多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "ResultSetは閉じられました。" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "無効なUUIDデータです。" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "トランザクション隔離レベル{0} はサポートされていません。" @@ -1290,33 +1296,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "このステートメントは閉じられました。" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "列インデックスで自動生成キーを返すことはサポートされていません。" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "型 {0} で不正な値 : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "サポートされないバイナリエンコーディングです: {0}." @@ -1329,31 +1335,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "無効な sslmode 値です。{0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "ラージオブジェクトAPIの初期化に失敗しました。" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" @@ -1387,34 +1393,34 @@ msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんで msgid "The hostname {0} could not be verified." msgstr "ホスト名 {0} は確認できませんでした。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "SSL接続のセットアップ中に、エラーが起こりました。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1554,31 +1560,31 @@ msgstr "" "トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " "setSavePoint は、XAトランザクションが有効では利用できません。" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "無効なフラグです。{0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xidはnullではいけません。" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "接続は、別のトランザクションに対応中です。" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "停止/再開 は実装されていません。" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1587,11 +1593,11 @@ msgstr "" "Transaction interleaving は実装されていません。xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "自動コミットの無効化エラー" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1600,7 +1606,7 @@ msgstr "" "対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, " "currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" @@ -1608,12 +1614,12 @@ msgstr "" "準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1622,21 +1628,21 @@ msgstr "" "実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" "なくてはなりません。currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "トランザクションの準備エラー。prepare xid={0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "回復中にエラー" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1645,13 +1651,13 @@ msgstr "" "準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1659,22 +1665,22 @@ msgstr "" "実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" "ばなりません。" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "終了の前に COMMIT を呼びました commit xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "単一フェーズのCOMMITの最中にエラー commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1682,7 +1688,7 @@ msgstr "" "実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりませ" "ん。xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1691,7 +1697,7 @@ msgstr "" "準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot index 8cfdb82615..69901a6ac4 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:59+0300\n" +"" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,56 +17,56 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "" -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -90,6 +90,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -110,7 +115,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -166,62 +171,62 @@ msgstr "" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, java-format msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, java-format msgid "Invalid targetServerType value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " "that the postmaster is accepting TCP/IP connections." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -229,16 +234,16 @@ msgid "" "it is using an authentication scheme supported by the driver." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "" -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -246,174 +251,169 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 msgid "An I/O error occurred while sending to the backend." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 msgid "An error occurred while trying to get the socket timeout." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 msgid "An error occurred while trying to reset the socket timeout." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -471,36 +471,36 @@ msgstr "" msgid "Unsupported property name: {0}" msgstr "" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "" @@ -566,63 +566,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "" @@ -641,17 +648,17 @@ msgstr "" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -662,67 +669,67 @@ msgid "" "SQL_ASCII database." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, java-format msgid "Unsupported type conversion to {1}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -734,124 +741,124 @@ msgstr "" msgid "No results were returned by the query." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 msgid "This connection has been closed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, java-format msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -865,46 +872,46 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -913,83 +920,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1005,8 +1012,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1018,7 +1025,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "" @@ -1057,8 +1064,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1072,7 +1079,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1089,68 +1096,68 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, java-format msgid "conversion to {0} from {1} not supported" msgstr "" @@ -1214,33 +1221,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, java-format msgid "Unsupported binary encoding of {0}." msgstr "" @@ -1253,31 +1260,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, java-format msgid "Invalid server-first-message: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, java-format msgid "Invalid server-final-message: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" @@ -1311,33 +1318,33 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 msgid "An error occurred reading the certificate" msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1472,128 +1479,128 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java index c9456ab0a0..528f55f727 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java @@ -5,7 +5,7 @@ public class messages_bg extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[890]; t[0] = ""; - t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-12-28 00:01+0100\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Bulgarian\nX-Poedit-Country: BULGARIA\n"; + t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-12-28 00:01+0100\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Bulgarian\nX-Poedit-Country: BULGARIA\n"; t[2] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; t[3] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430 \u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 {0} \u0431\u0435 \u043e\u0442 \u0442\u0438\u043f {1}, \u043e\u0431\u0430\u0447\u0435 \u0442\u0438\u043f {2} \u0431\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d."; t[6] = "Too many update results were returned."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java index 925002b29c..54ff11da31 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java @@ -5,7 +5,7 @@ public class messages_cs extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[314]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2005-08-21 20:00+0200\nLast-Translator: Petr Dittrich \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2005-08-21 20:00+0200\nLast-Translator: Petr Dittrich \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[2] = "A connection could not be made using the requested protocol {0}."; t[3] = "Spojen\u00ed nelze vytvo\u0159it s pou\u017eit\u00edm \u017e\u00e1dan\u00e9ho protokolu {0}."; t[4] = "Malformed function or procedure escape syntax at offset {0}."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java index 5dc04a8c12..7d3e9d5df9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java @@ -5,7 +5,7 @@ public class messages_de extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: head-de\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-09-12 14:22+0200\nLast-Translator: Andre Bialojahn \nLanguage-Team: Deutsch\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: German\nX-Poedit-Country: GERMANY\n"; + t[1] = "Project-Id-Version: head-de\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-09-12 14:22+0200\nLast-Translator: Andre Bialojahn \nLanguage-Team: Deutsch\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: German\nX-Poedit-Country: GERMANY\n"; t[4] = "DataSource has been closed."; t[5] = "Die Datenquelle wurde geschlossen."; t[18] = "Where: {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java index eb8051843b..a2a5bdf298 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java @@ -5,7 +5,7 @@ public class messages_es extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[74]; t[0] = ""; - t[1] = "Project-Id-Version: JDBC PostgreSQL Driver\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-22 16:51-0300\nLast-Translator: Diego Gil \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Spanish\n"; + t[1] = "Project-Id-Version: JDBC PostgreSQL Driver\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2004-10-22 16:51-0300\nLast-Translator: Diego Gil \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Spanish\n"; t[4] = "The column index is out of range: {0}, number of columns: {1}."; t[5] = "El \u00edndice de la columna est\u00e1 fuera de rango: {0}, n\u00famero de columnas: {1}."; t[12] = "Unknown Response Type {0}."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java index 2ecefa64d2..f2c4cd9171 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java @@ -5,7 +5,7 @@ public class messages_fr extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: head-fr\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2007-07-27 12:27+0200\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.11.4\nPlural-Forms: nplurals=2; plural=(n > 1);\n"; + t[1] = "Project-Id-Version: head-fr\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2007-07-27 12:27+0200\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.11.4\nPlural-Forms: nplurals=2; plural=(n > 1);\n"; t[4] = "DataSource has been closed."; t[5] = "DataSource a \u00e9t\u00e9 ferm\u00e9e."; t[18] = "Where: {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java index 69b5189690..6b90f18d9d 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java @@ -5,7 +5,7 @@ public class messages_it extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.2\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2006-06-23 17:25+0200\nLast-Translator: Giuseppe Sacco \nLanguage-Team: Italian \nLanguage: it\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.2\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2006-06-23 17:25+0200\nLast-Translator: Giuseppe Sacco \nLanguage-Team: Italian \nLanguage: it\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[4] = "DataSource has been closed."; t[5] = "Questo \u00abDataSource\u00bb \u00e8 stato chiuso."; t[18] = "Where: {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java index d65dbad93c..106fd72547 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java @@ -5,7 +5,7 @@ public class messages_ja extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[1178]; t[0] = ""; - t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2010-04-11 22:58+0900\nLast-Translator: Hiroshi Saito \nLanguage-Team: PostgreSQL \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: Japanese\nX-Poedit-Country: Japan\n"; + t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2010-04-11 22:58+0900\nLast-Translator: Hiroshi Saito \nLanguage-Team: PostgreSQL \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: Japanese\nX-Poedit-Country: Japan\n"; t[6] = "PostgreSQL LOBs can only index to: {0}"; t[7] = "PostgreSQL LOB \u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 {0} \u307e\u3067\u306e\u307f\u53ef\u80fd\u3067\u3059\u3002 "; t[14] = "The server does not support SSL."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java index 73e7f044f6..74f35710d0 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_nl.java @@ -5,7 +5,7 @@ public class messages_nl extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[36]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-11 23:55-0700\nLast-Translator: Arnout Kuiper \nLanguage-Team: Dutch \nLanguage: nl\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2004-10-11 23:55-0700\nLast-Translator: Arnout Kuiper \nLanguage-Team: Dutch \nLanguage: nl\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[2] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; t[3] = "Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze fout AUB: {0}"; t[8] = "Unknown Types value."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java index 83fbc2d2f3..291c197118 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java @@ -5,7 +5,7 @@ public class messages_pl extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[346]; t[0] = ""; - t[1] = "Project-Id-Version: head-pl\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2005-05-22 03:01+0200\nLast-Translator: Jaros\u0142aw Jan Pyszny \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.10\nPlural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"; + t[1] = "Project-Id-Version: head-pl\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2005-05-22 03:01+0200\nLast-Translator: Jaros\u0142aw Jan Pyszny \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.10\nPlural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"; t[2] = "The driver currently does not support COPY operations."; t[3] = "Sterownik nie obs\u0142uguje aktualnie operacji COPY."; t[4] = "Internal Query: {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java index 244df6a3ef..27a9263108 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java @@ -5,7 +5,7 @@ public class messages_pt_BR extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL 8.4\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2004-10-31 20:48-0300\nLast-Translator: Euler Taveira de Oliveira \nLanguage-Team: Brazilian Portuguese \nLanguage: pt_BR\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; + t[1] = "Project-Id-Version: PostgreSQL 8.4\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2004-10-31 20:48-0300\nLast-Translator: Euler Taveira de Oliveira \nLanguage-Team: Brazilian Portuguese \nLanguage: pt_BR\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[4] = "DataSource has been closed."; t[5] = "DataSource foi fechado."; t[8] = "Invalid flags {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java index c9f1e7fb10..ae8638779f 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java @@ -5,7 +5,7 @@ public class messages_ru extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[554]; t[0] = ""; - t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2016-01-07 15:09+0300\nLast-Translator: Vladimir Sitnikov \nLanguage-Team: pgsql-rus \nLanguage: ru_RU\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 1.5.7\n"; + t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2016-01-07 15:09+0300\nLast-Translator: Vladimir Sitnikov \nLanguage-Team: pgsql-rus \nLanguage: ru_RU\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 1.5.7\n"; t[4] = "The HostnameVerifier class provided {0} could not be instantiated."; t[5] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c HostnameVerifier \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; t[8] = "Unknown Types value."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java index 1afebbfbf4..2236406984 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java @@ -5,7 +5,7 @@ public class messages_sr extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL 8.1\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-05-26 11:13+0100\nLast-Translator: Bojan \u0160kaljac \nLanguage-Team: Srpski \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Serbian\nX-Poedit-Country: YUGOSLAVIA\n"; + t[1] = "Project-Id-Version: PostgreSQL 8.1\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-26 11:13+0100\nLast-Translator: Bojan \u0160kaljac \nLanguage-Team: Srpski \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Serbian\nX-Poedit-Country: YUGOSLAVIA\n"; t[4] = "DataSource has been closed."; t[5] = "DataSource je zatvoren."; t[8] = "Invalid flags {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java index f5bff02c4c..824d8db471 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java @@ -5,7 +5,7 @@ public class messages_tr extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: jdbc-tr\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2009-05-31 21:47+0200\nLast-Translator: Devrim G\u00dcND\u00dcZ \nLanguage-Team: Turkish \nLanguage: tr\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.3.1\nX-Poedit-Language: Turkish\nX-Poedit-Country: TURKEY\n"; + t[1] = "Project-Id-Version: jdbc-tr\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-31 21:47+0200\nLast-Translator: Devrim G\u00dcND\u00dcZ \nLanguage-Team: Turkish \nLanguage: tr\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.3.1\nX-Poedit-Language: Turkish\nX-Poedit-Country: TURKEY\n"; t[4] = "DataSource has been closed."; t[5] = "DataSource kapat\u0131ld\u0131."; t[8] = "Invalid flags {0}"; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java index df243b5eac..fee2d266dc 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java @@ -5,7 +5,7 @@ public class messages_zh_CN extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[578]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-01-31 14:34+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: CHINA\nX-Poedit-SourceCharset: utf-8\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-31 14:34+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: CHINA\nX-Poedit-SourceCharset: utf-8\n"; t[6] = "Cannot call cancelRowUpdates() when on the insert row."; t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; t[8] = "The server requested password-based authentication, but no password was provided."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java index fb72bb5bb9..489871b935 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java @@ -5,7 +5,7 @@ public class messages_zh_TW extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[578]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2018-06-05 10:57+0300\nPO-Revision-Date: 2008-01-21 16:50+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: TAIWAN\nX-Poedit-SourceCharset: utf-8\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-21 16:50+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: TAIWAN\nX-Poedit-SourceCharset: utf-8\n"; t[6] = "Cannot call cancelRowUpdates() when on the insert row."; t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; t[8] = "The server requested password-based authentication, but no password was provided."; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/nl.po b/pgjdbc/src/main/java/org/postgresql/translation/nl.po index a0eaae1244..948559dee0 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/nl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/nl.po @@ -6,7 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-11 23:55-0700\n" "Last-Translator: Arnout Kuiper \n" "Language-Team: Dutch \n" @@ -15,22 +14,22 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -38,37 +37,37 @@ msgstr "" "Iets ongewoons is opgetreden, wat deze driver doet falen. Rapporteer deze " "fout AUB: {0}" -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 #, fuzzy msgid "Connection attempt timed out." msgstr "De poging om verbinding the maken faalde omdat {0}" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 #, fuzzy msgid "Interrupted while attempting to connect." msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, fuzzy, java-format msgid "Method {0} is not yet implemented." msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -92,6 +91,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -112,7 +116,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -168,23 +172,23 @@ msgstr "" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, fuzzy, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "De kolom index is buiten bereik." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, java-format msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -194,41 +198,41 @@ msgstr "" "dat de postmaster is opgestart met de -i vlag, welke TCP/IP networking " "aanzet." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 #, fuzzy msgid "The connection attempt failed." msgstr "De poging om verbinding the maken faalde omdat {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 #, fuzzy msgid "An error occurred while setting up the SSL connection." msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, fuzzy, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -240,16 +244,16 @@ msgstr "" "dat het een authenticatie protocol gebruikt dat door de driver ondersteund " "wordt." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "" -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -257,177 +261,172 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, fuzzy, java-format msgid "Unknown Response Type {0}." msgstr "Onbekend antwoord type {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Een I/O fout trad op tijdens het zenden naar de achterkant - {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -486,21 +485,21 @@ msgstr "" msgid "Unsupported property name: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " "integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " "integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -509,14 +508,14 @@ msgstr "" "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " "integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " "integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -525,7 +524,7 @@ msgstr "" "Fastpath aanroep {0} - Geen resultaat werd teruggegeven, terwijl we een " "integer verwacht hadden." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "De fastpath functie {0} is onbekend." @@ -592,63 +591,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, fuzzy, java-format msgid "Interval {0} not yet implemented" msgstr "Deze methode is nog niet geimplementeerd" @@ -667,17 +673,17 @@ msgstr "" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, fuzzy, java-format msgid "The array index is out of range: {0}" msgstr "De kolom index is buiten bereik." -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -688,69 +694,69 @@ msgid "" "SQL_ASCII database." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 #, fuzzy msgid "A CallableStatement was executed with nothing returned." msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "Callable Statements worden op dit moment niet ondersteund." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -762,125 +768,125 @@ msgstr "" msgid "No results were returned by the query." msgstr "Geen resultaten werden teruggegeven door de query." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, fuzzy, java-format msgid "Failed to create object for: {0}." msgstr "Kon geen object aanmaken voor {0} {1}" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "De poging om verbinding the maken faalde omdat {0}" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, java-format msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Kon geen object aanmaken voor {0} {1}" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -894,46 +900,46 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -942,83 +948,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "De kolom index is buiten bereik." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, fuzzy, java-format msgid "Unknown type {0}." msgstr "Onbekend antwoord type {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, fuzzy, java-format msgid "Unsupported Types value: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1034,8 +1040,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1047,7 +1053,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "" @@ -1087,8 +1093,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1102,7 +1108,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1119,68 +1125,68 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, fuzzy, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "De kolom naam {0} is niet gevonden." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, java-format msgid "conversion to {0} from {1} not supported" msgstr "" @@ -1246,33 +1252,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, java-format msgid "Unsupported binary encoding of {0}." msgstr "" @@ -1285,32 +1291,32 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Onbekende Types waarde." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 #, fuzzy msgid "Failed to initialize LargeObject API" msgstr "Kon LargeObject API niet initialiseren" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" @@ -1344,34 +1350,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Een fout trad op tijdens het ophalen van het authenticatie verzoek." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1508,129 +1514,129 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 #, fuzzy msgid "suspend/resume not implemented" msgstr "Deze methode is nog niet geimplementeerd" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pl.po b/pgjdbc/src/main/java/org/postgresql/translation/pl.po index b17cdf87df..c684c617ed 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pl.po @@ -10,7 +10,6 @@ msgid "" msgstr "" "Project-Id-Version: head-pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2005-05-22 03:01+0200\n" "Last-Translator: Jarosław Jan Pyszny \n" "Language-Team: \n" @@ -22,56 +21,56 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Metoda {0}nie jest jeszcze obsługiwana." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -96,6 +95,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -118,7 +122,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -175,23 +179,23 @@ msgstr "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znako #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, java-format msgid "Invalid sslmode value: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -200,27 +204,27 @@ msgstr "" "Połączenie odrzucone. Sprawdź, czy prawidłowo ustawiłeś nazwę hosta oraz " "port i upewnij się, czy postmaster przyjmuje połączenia TCP/IP." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Próba nawiązania połączenia nie powiodła się." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Serwer nie obsługuje SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -228,13 +232,13 @@ msgstr "" "Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie " "zostało dostarczone." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -246,16 +250,16 @@ msgstr "" "klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten " "sterownik." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Błąd protokołu. Nie udało się utworzyć sesji." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -263,177 +267,172 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Spodziewano się statusu komendy BEGIN, otrzymano {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Nieoczekiwany status komendy: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Nieznany typ odpowiedzi {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Wystąpił błąd We/Wy podczas wysyłania do serwera." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Nieoczekiwany status komendy: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Sterownik nie obsługuje aktualnie operacji COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -495,21 +494,21 @@ msgstr "DataSource zostało zamknięte." msgid "Unsupported property name: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " "całkowitej." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " "całkowitej." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -518,14 +517,14 @@ msgstr "" "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " "całkowitej." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " "całkowitej." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -534,7 +533,7 @@ msgstr "" "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby " "całkowitej." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "Funkcja fastpath {0} jest nieznana." @@ -602,63 +601,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, fuzzy, java-format msgid "Interval {0} not yet implemented" msgstr "Metoda {0}nie jest jeszcze obsługiwana." @@ -677,17 +683,17 @@ msgstr "" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Indeks tablicy jest poza zakresem: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -702,41 +708,41 @@ msgstr "" "podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-" "bitowych znaków w bazie o kodowaniu SQL_ASCII." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -744,27 +750,27 @@ msgstr "" "Funkcja CallableStatement została zadeklarowana, ale nie wywołano " "registerOutParameter (1, )." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, fuzzy, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Nieznana wartość Types: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -776,128 +782,128 @@ msgstr "Nieznana wartość Types: {0}" msgid "No results were returned by the query." msgstr "Zapytanie nie zwróciło żadnych wyników." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Zwrócono wynik zapytania, choć nie był on oczekiwany." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Nie powiodło się utworzenie obiektu dla: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Nie jest możliwe załadowanie klasy {0} odpowiedzialnej za typ danych {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Połączenie zostało zamknięte." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 #, fuzzy msgid "Finalizing a Connection that was never closed:" msgstr "Połączenie zostało zamknięte." -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Rozmiar pobierania musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, java-format msgid "Invalid elements {0}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Nie powiodło się utworzenie obiektu dla: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Timeout zapytania musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -911,46 +917,46 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -959,83 +965,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Nieznana wartość Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Nieznany typ {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1051,8 +1057,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1064,7 +1070,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "" @@ -1104,8 +1110,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1119,7 +1125,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Nie można wywołać updateRow() na wstawianym rekordzie." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1136,27 +1142,27 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Zła wartość dla typu {0}: {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1167,41 +1173,41 @@ msgstr "" "klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by " "uzyskać więcej szczegółów." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Ten ResultSet jest zamknięty." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "Zła pozycja w ResultSet, może musisz wywołać next." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Poziom izolacji transakcji {0} nie jest obsługiwany." @@ -1267,33 +1273,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Maksymalna liczba rekordów musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Timeout zapytania musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "Maksymalny rozmiar pola musi być wartością dodatnią lub 0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Zła wartość dla typu {0}: {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Nieznana wartość Types: {0}" @@ -1306,31 +1312,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Nieznana wartość Types: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Nie udało się zainicjować LargeObject API" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" @@ -1364,34 +1370,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Wystąpił błąd podczas ustanawiania połączenia SSL." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1526,31 +1532,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, fuzzy, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1559,97 +1565,97 @@ msgstr "" "Poziom izolacji transakcji {0} nie jest obsługiwany. xid={0}, " "currentXid={1}, state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po index ada19ee7a2..5d46055476 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po @@ -8,7 +8,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2004-10-31 20:48-0300\n" "Last-Translator: Euler Taveira de Oliveira \n" "Language-Team: Brazilian Portuguese \n" @@ -17,15 +16,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "Erro ao carregar configurações padrão do driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -36,7 +35,7 @@ msgstr "" "para a máquina e a porta do servidor de banco de dados que você deseja se " "conectar." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -44,35 +43,35 @@ msgstr "" "Alguma coisa não usual ocorreu para causar a falha do driver. Por favor " "reporte esta exceção." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Tentativa de conexão falhou." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Interrompido ao tentar se conectar." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Método {0} ainda não foi implementado." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -97,6 +96,13 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Não foi possível interpretar o contador de atualização na marcação de " +"comando completo: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -119,7 +125,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Esperado um EOF do servidor, recebido: {0}" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "" @@ -181,24 +187,24 @@ msgstr "Zero bytes não podem ocorrer em identificadores." #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "" "O índice da coluna está fora do intervalo: {0}, número de colunas: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -207,27 +213,27 @@ msgstr "" "Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se " "o postmaster está aceitando conexões TCP/IP." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "A tentativa de conexão falhou." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "O servidor não suporta SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." @@ -235,13 +241,13 @@ msgstr "" "O servidor pediu autenticação baseada em senha, mas nenhuma senha foi " "fornecida." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -252,16 +258,16 @@ msgstr "" "arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está " "utilizando o esquema de autenticação suportado pelo driver." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Erro de Protocolo. Configuração da sessão falhou." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -269,144 +275,144 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Interrompido ao tentar se conectar." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Não foi possível ligar valores de parâmetro ao comando." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Status do comando BEGIN esperado, recebeu {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Status do comando inesperado: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Tipo de Resposta Desconhecido {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Um erro de E/S ocorreu ao enviar para o processo servidor." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Esperado um EOF do servidor, recebido: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -416,22 +422,15 @@ msgstr "" "especificações de tamanho incorretas ou muito grandes nos parâmetros do " "InputStream." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Memória insuficiente ao recuperar resultados da consulta." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "O driver atualmente não suporta operações COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Não foi possível interpretar o contador de atualização na marcação de " -"comando completo: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -440,7 +439,7 @@ msgstr "" "O parâmetro do servidor client_encoding foi alterado para {0}. O driver JDBC " "requer que o client_encoding seja UNICODE para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -449,7 +448,7 @@ msgstr "" "O parâmetro do servidor DateStyle foi alterado para {0}. O driver JDBC " "requer que o DateStyle começe com ISO para operação normal." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -513,21 +512,21 @@ msgstr "DataSource foi fechado." msgid "Unsupported property name: {0}" msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " "um inteiro." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " "um inteiro." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -536,14 +535,14 @@ msgstr "" "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " "um inteiro." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " "um inteiro." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -552,7 +551,7 @@ msgstr "" "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos " "um inteiro." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "A função do fastpath {0} é desconhecida." @@ -621,63 +620,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "função {0} recebe somente quatro argumentos." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "função {0} recebe somente dois argumentos." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "função {0} recebe somente um argumento." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "função {0} recebe dois ou três argumentos." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "função {0} não recebe nenhum argumento." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "função {0} recebe três e somente três argumentos." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "Intervalo {0} ainda não foi implementado" @@ -696,18 +702,18 @@ msgstr "Não pode recuperar o id de um savepoint com nome." msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Não pode recuperar o nome de um savepoint sem nome." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "O índice da matriz está fora do intervalo: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "" "O índice da matriz está fora do intervalo: {0}, número de elementos: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -722,16 +728,16 @@ msgstr "" "foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de " "8 bits em um banco de dados SQL_ASCII." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "Uma função foi executada e nada foi retornado." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "Uma função foi executada com um número inválido de parâmetros" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -740,7 +746,7 @@ msgstr "" "Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} " "contudo tipo {2} foi registrado." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -748,12 +754,12 @@ msgstr "" "Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... " "'}' para declarar um)" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNull não pode ser chamado antes de obter um resultado." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -762,7 +768,7 @@ msgstr "" "Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) " "foi feita." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -770,28 +776,28 @@ msgstr "" "Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, " ") foi feita." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "Nenhum saída de função foi registrada." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" "Resultados não podem ser recuperados de uma função antes dela ser executada." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Valor do parâmetro stringtype não é suportado: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -803,132 +809,132 @@ msgstr "Valor do parâmetro stringtype não é suportado: {0}" msgid "No results were returned by the query." msgstr "Nenhum resultado foi retornado pela consulta." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Um resultado foi retornado quando nenhum era esperado." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "Mapeamento de tipos personalizados não são suportados." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Falhou ao criar objeto para: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" "Não foi possível carregar a classe {0} responsável pelo tipo de dado {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Não pode mudar propriedade somente-leitura da transação no meio de uma " "transação." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Conexão foi fechada." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Não pode mudar nível de isolamento da transação no meio de uma transação." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Nível de isolamento da transação {0} não é suportado." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Fechando uma Conexão que não foi fechada:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Não foi possível traduzir dado para codificação desejada." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Tamanho da busca deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Não foi possível encontrar tipo matriz para nome fornecido {0}." -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Marcadores={0} inválidos" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Falhou ao criar objeto para: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "propriedade ClientInfo não é suportada." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "Definição de durabilidade do ResultSet desconhecida: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" "Não pode estabelecer um savepoint no modo de efetivação automática (auto-" "commit)." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Retorno de chaves geradas automaticamente não é suportado." @@ -944,47 +950,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Não foi possível encontrar tipo de dado name nos catálogos do sistema." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -994,68 +1000,68 @@ msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "" "O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Não pode utilizar métodos de consulta que pegam uma consulta de um comando " "preparado." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Valor de Types desconhecido." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "A JVM reclamou que não suporta a codificação {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "InputStream fornecido falhou." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Tipo desconhecido {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Valor de Types não é suportado: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Não pode converter uma instância de {0} para tipo {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1065,17 +1071,17 @@ msgstr "" "setObject() com um valor de Types explícito para especificar o tipo a ser " "usado." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Erro inesperado ao escrever objeto grande no banco de dados." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Reader fornecido falhou." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1093,8 +1099,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Não pode converter uma instância de {0} para tipo {1}" @@ -1108,7 +1114,7 @@ msgstr "" "inserindo registro." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Constante de direção da busca é inválida: {0}." @@ -1151,8 +1157,8 @@ msgstr "Você deve especificar pelo menos uma coluna para inserir um registro." #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "A JVM reclamou que não suporta a codificação: {0}" @@ -1166,7 +1172,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Não pode chamar updateRow() quando estiver inserindo registro." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1186,27 +1192,27 @@ msgstr "Nenhuma chave primária foi encontrada para tabela {0}." #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "A nome da coluna {0} não foi encontrado neste ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1217,42 +1223,42 @@ msgstr "" "chaves primárias daquela tabela. Veja a especificação na API do JDBC 2.1, " "seção 5.6 para obter mais detalhes." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "Este ResultSet está fechado." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet não está posicionado corretamente, talvez você precise chamar next." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "dado UUID é inválido." -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Nível de isolamento da transação {0} não é suportado." @@ -1322,35 +1328,35 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Número máximo de registros deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Tempo de espera da consulta deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "O tamanho máximo de um campo deve ser um valor maior ou igual a 0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Este comando foi fechado." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" "Retorno de chaves geradas automaticamente por índice de coluna não é " "suportado." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Valor inválido para tipo {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Valor de Types não é suportado: {0}" @@ -1363,31 +1369,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Tamanho de dado {0} é inválido." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Falhou ao inicializar API de Objetos Grandes" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" "Objetos Grandes não podem ser usados no modo de efetivação automática (auto-" @@ -1423,34 +1429,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Um erro ocorreu ao estabelecer uma conexão SSL." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1585,31 +1591,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "Marcadores={0} inválidos" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid não deve ser nulo" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "Conexão está ocupada com outra transação" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "suspender/recomeçar não está implementado" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1618,11 +1624,11 @@ msgstr "" "Intercalação de transação não está implementado. xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "Erro ao desabilitar autocommit" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1631,19 +1637,19 @@ msgstr "" "tentou executar end sem a chamada ao start correspondente. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" "Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1652,21 +1658,21 @@ msgstr "" "Não está implementado: Prepare deve ser executado utilizando a mesma conexão " "que iniciou a transação. currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Prepare executado antes do end. prepare xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Erro ao preparar transação. prepare xid={0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Erro durante recuperação" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, fuzzy, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1674,13 +1680,13 @@ msgid "" msgstr "" "Erro ao cancelar transação preparada. rollback xid={0}, preparedXid={1}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1688,22 +1694,22 @@ msgstr "" "Não está implementado: efetivada da primeira fase deve ser executada " "utilizando a mesma conexão que foi utilizada para iniciá-la" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "commit executado antes do end. commit xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Erro durante efetivação de uma fase. commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1712,7 +1718,7 @@ msgstr "" "utilizado uma conexão ociosa. commit xid={0}, currentXid={1}, state={2], " "transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1721,7 +1727,7 @@ msgstr "" "Erro ao cancelar transação preparada. commit xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index bf51cfb7ea..717bb9149f 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -13,7 +13,6 @@ msgid "" msgstr "" "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2016-01-07 15:09+0300\n" "Last-Translator: Vladimir Sitnikov \n" "Language-Team: pgsql-rus \n" @@ -23,15 +22,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.7\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -39,7 +38,7 @@ msgid "" msgstr "" # key: postgresql.unusual -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -48,37 +47,37 @@ msgstr "" "Пожалуйста сообщите это исключение." # key: postgresql.con.failed -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Закончилось время ожидания" # key: postgresql.con.sslfail -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Подключение прервано получаением interrupt" # key: postgresql.unimplemented -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Метод {0} ещё не реализован" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "Ожидался ответ CopyIn, а получен {0}" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "Ожидался ответ CopyOut, а получен {0}" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, fuzzy, java-format msgid "Requested CopyDual but got {0}" msgstr "Ожидался ответ CopyOut, а получен {0}" @@ -103,6 +102,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "Не удалось узнать количество обновлённых строк по ответу {0}" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -125,7 +129,7 @@ msgid "Expected an EOF from server, got: {0}" msgstr "" "Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Невозможно разобрать SQL команду. Ошибка на позиции {0}" @@ -193,24 +197,24 @@ msgstr "Символ с кодом 0 в идентификаторах не до #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, java-format msgid "Invalid sslmode value: {0}" msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, java-format msgid "Invalid targetServerType value: {0}" msgstr "Неверное значение targetServerType: {0}" # key: postgresql.con.refused -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -220,42 +224,42 @@ msgstr "" "правильно и что postmaster принимает TCP/IP-подсоединения." # key: postgresql.con.failed -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Ошибка при попытке подсоединения." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "Не удалось найти сервер с указанным значением targetServerType: {0}" # key: postgresql.con.sslnotsupported -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Сервер не поддерживает SSL." # key: postgresql.con.sslfail -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Ошибка при установке SSL-подсоединения." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "Сервер запросил парольную аутентификацию, но пароль не был указан." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" # key: postgresql.con.auth -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -268,16 +272,16 @@ msgstr "" "драйвером." # key: postgresql.con.setup -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Ошибка протокола. Установление сессии не удалось." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -285,186 +289,181 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" # key: postgresql.con.sslfail -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Ожидание COPY блокировки прервано получением interrupt" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" "Не в состоянии ассоциировать значения параметров для команды " "(PGBindException)" # key: postgresql.con.ioerror -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 msgid "An I/O error occurred while sending to the backend." msgstr "Ошибка ввода/ввывода при отправке бэкенду" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Ожидался статус команды BEGIN, но получен {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Неожиданный статус команды: {0}." # key: postgresql.con.ioerror -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Ошибка ввода/ввывода при отправке бэкенду" # key: postgresql.con.type -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Неизвестный тип ответа {0}." # key: postgresql.con.ioerror -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Ошибка ввода/ввывода при отправке бэкенду" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "Неожиданный статус команды COPY: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" "Недостаточно памяти для обработки результатов запроса. Попробуйте увеличить -" "Xmx или проверьте размеры обрабатываемых данных" # key: postgresql.con.sslnotsupported -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Драйвер в данный момент не поддерживате операции COPY." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "Не удалось узнать количество обновлённых строк по ответу {0}" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -526,18 +525,18 @@ msgstr "DataSource закрыт." msgid "Unsupported property name: {0}" msgstr "Свойство {0} не поддерживается" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" # key: postgresql.fp.expint -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -545,12 +544,12 @@ msgid "" msgstr "" # key: postgresql.stat.result -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Вызов fastpath {0} ничего не вернул, а ожидалось long" -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -558,7 +557,7 @@ msgid "" msgstr "" # key: postgresql.fp.unknown -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "" @@ -627,64 +626,71 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "" # key: postgresql.unimplemented -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "Интеврвал {0} ещё не реализован" @@ -704,19 +710,19 @@ msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "" # key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Индекс массива вне диапазона: {0}" # key: postgresql.arr.range -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}" # key: postgresql.con.invalidchar -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -731,35 +737,35 @@ msgstr "" "Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII." # key: postgresql.call.noreturnval -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" # key: postgresql.call.wrongget -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -767,36 +773,36 @@ msgid "" msgstr "" # key: postgresql.call.noreturntype -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Бинарная передача не поддерживается для типа {0}" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Неподдерживаемое значение для параметра stringtype: {0}" # key: postgresql.stat.noresult #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -809,132 +815,132 @@ msgid "No results were returned by the query." msgstr "Запрос не вернул результатов." # key: postgresql.stat.result -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Результат возвращён когда его не ожидалось." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" # key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Ошибка при создании объект для: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 msgid "This connection has been closed." msgstr "Соединение уже было закрыто" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Уровень изоляции транзакций {0} не поддерживается." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" "Соединение «утекло». Проверьте, что в коде приложения вызывается connection." "close(). Далее следует стектрейс того места, где создавалось проблемное " "соединение" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "" # key: postgresql.input.fetch.gt0 -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Неверные флаги {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, java-format msgid "Invalid timeout ({0}<0)." msgstr "Значение таймаута должно быть неотрицательным: {0}" -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" # key: postgresql.con.creobj -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Невозможно установить свойство ClientInfo: {0}" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 msgid "Network timeout must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -948,46 +954,46 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 msgid "Unable to find keywords in the system catalogs." msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -997,86 +1003,86 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Неизвестное значение Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Неверная длина потока {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "" # key: postgresql.con.type -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Неизвестный тип {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Неподдерживаемый java.sql.Types тип: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1092,8 +1098,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "" @@ -1105,7 +1111,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "" @@ -1148,8 +1154,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "" @@ -1163,7 +1169,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1180,71 +1186,71 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Колонки {0} не найдено в этом ResultSet’’е." # key: postgresql.updateable.notupdateable -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "ResultSet закрыт." # key: postgresql.res.nextrequired -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "" # key: postgresql.con.isolevel -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Уровень изоляции транзакций {0} не поддерживается." @@ -1312,35 +1318,35 @@ msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "" # key: postgresql.input.query.gt0 -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "" # key: postgresql.input.field.gt0 -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Этот Sstatement был закрыт." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "" # key: postgresql.prep.type -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, java-format msgid "Unsupported binary encoding of {0}." msgstr "Бинарная передача не поддерживается для типа {0}" @@ -1353,32 +1359,32 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Неверное значение sslmode: {0}" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" # key: postgresql.lo.init -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Ошибка при инициализации LargeObject API" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "" "Большие объекты не могут использоваться в режиме авто-подтверждения (auto-" @@ -1415,34 +1421,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" # key: postgresql.con.sslfail -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 msgid "An error occurred reading the certificate" msgstr "Ошибка при чтении сертификата" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1585,33 +1591,33 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "Неверные флаги {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" # key: postgresql.unimplemented -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "Операции XA suspend/resume не реализованы" # key: postgresql.con.isolevel -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1620,11 +1626,11 @@ msgstr "" "Чередование транзакций в одном соединении не поддерживается. Предыдущую " "транзакцию нужно завершить xid={0}, currentXid={1}, state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1633,7 +1639,7 @@ msgstr "" "Невозможно завершить транзакцию, т.к. транзакция не была начата. state={0}, " "start xid={1}, currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" @@ -1641,12 +1647,12 @@ msgstr "" "Ошибка при откате подготовленной транзакции. rollback xid={0}, " "preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1655,23 +1661,23 @@ msgstr "" "В каком соединении транзакцию начинали, в таком и вызывайте prepare. По-" "другому не работает. currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" "Вызов prepare должен происходить только после вызова end. prepare xid={0}, " "state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Ошибка при выполнении prepare для транзакции {0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1680,36 +1686,36 @@ msgstr "" "Ошибка при откате подготовленной транзакции. rollback xid={0}, " "preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" "Операция commit должна вызываться только после операции end. commit xid={0}, " "state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Ошибка при однофазной фиксации транзакции. commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1718,7 +1724,7 @@ msgstr "" "транзакцция отсутствует). commit xid={0}, currentXid={1}, state={2], " "transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1727,7 +1733,7 @@ msgstr "" "Ошибка при фиксации подготовленной транзакции. commit xid={0}, " "preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/sr.po b/pgjdbc/src/main/java/org/postgresql/translation/sr.po index 1ecc7fc2ef..8d54fd03f9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/sr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/sr.po @@ -8,7 +8,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 8.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-05-26 11:13+0100\n" "Last-Translator: Bojan Škaljac \n" "Language-Team: Srpski \n" @@ -19,15 +18,15 @@ msgstr "" "X-Poedit-Language: Serbian\n" "X-Poedit-Country: YUGOSLAVIA\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "Greška u čitanju standardnih podešavanja iz driverconfig.properties" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -36,7 +35,7 @@ msgstr "" "Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da " "dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -44,35 +43,35 @@ msgstr "" "Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj " "izuzetak." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Isteklo je vreme za pokušaj konektovanja." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Prekinut pokušaj konektovanja." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "Metod {0} nije još impelemtiran." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -97,6 +96,13 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "" +"Neuspešno prekidanje prebrojavanja ažurivanja u tagu zakompletiranje " +"komandi: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -119,7 +125,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Očekivan EOF od servera, a dobijeno: {0}" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "Pogrešna sintaksa u funkciji ili proceduri na poziciji {0}." @@ -177,23 +183,23 @@ msgstr "Nula bajtovji se ne smeju pojavljivati u identifikatorima." #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Indeks kolone van osega: {0}, broj kolona: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -202,40 +208,40 @@ msgstr "" "Konekcija odbijena. Proverite dali je ime domćina (host) koretno i da " "postmaster podržava TCP/IP konekcije." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Pokušaj konektovanja propao." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Server ne podržava SSL." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "" "Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -246,16 +252,16 @@ msgstr "" "conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža " "koristi šemu autentifikacije koja je podržana od strane ovog drajvera." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Greška protokola. Zakazivanje sesije propalo." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -263,29 +269,29 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Prekinut pokušaj konektovanja." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Nije moguće naći vrednost vezivnog parametra za izjavu (statement)." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." @@ -293,120 +299,120 @@ msgstr "" "Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " "procesu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "Očekivan status komande je BEGIN, a dobijeno je {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Neočekivan komandni status: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "" "Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " "procesu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Nepoznat tip odziva {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "" "Ulazno/izlazna greška se dogodila prilikom slanja podataka pozadinskom " "procesu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Očekivan EOF od servera, a dobijeno: {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -415,22 +421,15 @@ msgstr "" "Dužina vezivne poruke {0} prevelika. Ovo je možda rezultat veoma velike ili " "pogrešne dužine specifikacije za InputStream parametre." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Nestalo je memorije prilikom preuzimanja rezultata upita." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Drajver trenutno ne podržava COPY operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "" -"Neuspešno prekidanje prebrojavanja ažurivanja u tagu zakompletiranje " -"komandi: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -439,7 +438,7 @@ msgstr "" "Serverov client_encoding parametar je promenjen u {0}.JDBC darajver zahteva " "UNICODE client_encoding za uspešno izvršavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -448,7 +447,7 @@ msgstr "" "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle " "počinje sa ISO za uspešno završavanje operacije." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -511,19 +510,19 @@ msgstr "DataSource je zatvoren." msgid "Unsupported property name: {0}" msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " @@ -531,13 +530,13 @@ msgid "" msgstr "" "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " @@ -545,7 +544,7 @@ msgid "" msgstr "" "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "Fastpath funkcija {0} je nepoznata." @@ -615,63 +614,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "Funkcija {0} prima četiri i samo četiri parametra." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "Funkcija {0} prima dva i samo dva parametra." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "Funkcija {0} prima jedan i samo jedan parametar." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "Funkcija {0} prima dva ili tri parametra." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "Funkcija {0} nema parametara." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "Funkcija {0} prima tri i samo tri parametra." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "Interval {0} još nije implementiran." @@ -690,17 +696,17 @@ msgstr "Nije moguće primiti id imena tačke snimanja." msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Nije moguće izvaditi ime tačke snimanja koja nema ime." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Indeks niza je van opsega: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Indeks niza je van opsega: {0}, broj elemenata: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -715,16 +721,16 @@ msgstr "" "kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi " "podataka." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "CallableStatement je izvršen sa nevažećim brojem parametara" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -733,7 +739,7 @@ msgstr "" "CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} " "a tip {2} je registrovan kao izlazni parametar." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -741,12 +747,12 @@ msgstr "" "Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za " "deklarisanje." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNull nemože biti pozvan pre zahvatanja rezultata." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -755,7 +761,7 @@ msgstr "" "Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je " "izvršen." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -763,28 +769,28 @@ msgstr "" "CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, " ")." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "Nije registrovan nikakv izlaz iz funkcije." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" "Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "Vrednost za parametar tipa string nije podržana: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -796,131 +802,131 @@ msgstr "Vrednost za parametar tipa string nije podržana: {0}" msgid "No results were returned by the query." msgstr "Nikakav rezultat nije vraćen od strane upita." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Rezultat vraćen ali nikakav rezultat nije očekivan." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "Mape sa korisnički definisanim tipovima nisu podržane." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "Propao pokušaj kreiranja objekta za: {0}." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "Nije moguće učitati kalsu {0} odgovornu za tip podataka {1}" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Nije moguće izmeniti read-only osobinu transakcije u sred izvršavanja " "transakcije." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Konekcija je već zatvorena." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Nije moguće izmeniti nivo izolacije transakcije u sred izvršavanja " "transakcije." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Nivo izolacije transakcije {0} nije podržan." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Dovršavanje konekcije koja nikada nije zatvorena:" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Nije moguće prevesti podatke u odabrani encoding format." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Doneta veličina mora biti vrednost veća ili jednaka 0." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Neuspešno nalaženje liste servera za zadato ime {0}." -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Nevažeće zastavice {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "Propao pokušaj kreiranja objekta za: {0}." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "ClientInfo property nije podržan." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "" "Nepoznata ResultSet podešavanja za mogućnost držanja (holdability): {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "U auto-commit modu nije moguće podešavanje tački snimanja." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Vraćanje autogenerisanih ključeva nije podržano." @@ -936,47 +942,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "Nije moguće pronaći ime tipa podatka u sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Nije moguće pronaći ime tipa podatka u sistemskom katalogu." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -985,68 +991,68 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Index parametra je van opsega: {0}, broj parametara je: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "" "Ne možete da koristite metode za upit koji uzimaju string iz upita u " "PreparedStatement-u." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Nepoznata vrednost za Types." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM tvrdi da ne podržava {0} encoding." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Pribaljeni InputStream zakazao." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Nepoznat tip {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "Nije moguće kastovati instancu {0} u tip {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Za tip nije podržana vrednost: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "Nije moguće konvertovati instancu {0} u tip {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1055,17 +1061,17 @@ msgstr "" "Nije moguće zaključiti SQL tip koji bi se koristio sa instancom {0}. " "Koristite setObject() sa zadatim eksplicitnim tipom vrednosti." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Neočekivana greška prilikom upisa velikog objekta u bazu podataka." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Pribavljeni čitač (Reader) zakazao." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1082,8 +1088,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "Nije moguće konvertovati instancu {0} u tip {1}" @@ -1096,7 +1102,7 @@ msgstr "" "Ne može se koristiti metod relativnog pomeranja prilikom ubacivanja redova." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Pogrešna konstanta za direkciju donošenja: {0}." @@ -1140,8 +1146,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM tvrdi da ne podržava encoding: {0}" @@ -1155,7 +1161,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Nije moguće pozvati updateRow() prilikom ubacivanja redova." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1173,27 +1179,27 @@ msgstr "Nije pronađen ključ za tabelu {0}." #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "Pogrešna vrednost za tip {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Ime kolone {0} nije pronadjeno u ResultSet." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1204,42 +1210,42 @@ msgstr "" "tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za više " "detalja." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "ResultSet je zatvoren." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "" "ResultSet nije pravilno pozicioniran, možda je potrebno da pozovete next." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "Nevažeća UUID podatak." -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Nivo izolacije transakcije {0} nije podržan." @@ -1306,34 +1312,34 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "Maksimalni broj redova mora biti vrednosti veće ili jednake 0." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Tajm-aut mora biti vrednost veća ili jednaka 0." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "" "Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Statement je zatvoren." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "Vraćanje autogenerisanih ključeva po kloloni nije podržano." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "Pogrešna vrednost za tip {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Za tip nije podržana vrednost: {0}" @@ -1346,31 +1352,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Nevažeća dužina toka {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "Propao pokušaj inicijalizacije LargeObject API-ja." -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu." @@ -1404,34 +1410,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "Greška se dogodila prilikom podešavanja SSL konekcije." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1566,31 +1572,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "Nevažeće zastavice {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid ne sme biti null" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "Konekcija je zauzeta sa drugom transakciom." -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "obustavljanje/nastavljanje nije implementirano." -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1599,11 +1605,11 @@ msgstr "" "Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "Greška u isključivanju autokomita" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1612,7 +1618,7 @@ msgstr "" "Pokušaj pozivanja kraja pre odgovarajućeg početka. state={0}, start xid={1}, " "currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" @@ -1620,12 +1626,12 @@ msgstr "" "Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " "xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1635,21 +1641,21 @@ msgstr "" "konekcije koja se koristi za startovanje transakcije. currentXid={0}, " "prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Pripremanje poziva pre kraja. prepare xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Greška u pripremanju transakcije. prepare xid={0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Greška prilikom oporavljanja." -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1658,13 +1664,13 @@ msgstr "" "Greška prilikom povratka na prethodo pripremljenu transakciju. rollback " "xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1672,22 +1678,22 @@ msgstr "" "Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste " "konekcije koja je korištena za startovanje." -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, fuzzy, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "commit pozvan pre kraja." -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "Kreška prilikom commit-a iz jedne faze. commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1696,7 +1702,7 @@ msgstr "" "besposlene konekcije. commit xid={0}, currentXid={1}, state={2], " "transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1705,7 +1711,7 @@ msgstr "" "Greška prilikom povratka na prethodo pripremljenu transakciju. commit " "xid={0}, preparedXid={1}, currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristički commit/rollback nije podržan. forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/tr.po b/pgjdbc/src/main/java/org/postgresql/translation/tr.po index fb2b80ae98..58f1cd389c 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/tr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/tr.po @@ -7,7 +7,6 @@ msgid "" msgstr "" "Project-Id-Version: jdbc-tr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2009-05-31 21:47+0200\n" "Last-Translator: Devrim GÜNDÜZ \n" "Language-Team: Turkish \n" @@ -19,15 +18,15 @@ msgstr "" "X-Poedit-Language: Turkish\n" "X-Poedit-Country: TURKEY\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " @@ -37,7 +36,7 @@ msgstr "" "SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni " "vermelisiniz." -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." @@ -45,35 +44,35 @@ msgstr "" "Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu " "geliştiricilere bildirin." -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Bağlantı denemesi zaman aşımına uğradı." -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "Bağlanırken kesildi." -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "{0} yöntemi henüz kodlanmadı." -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -98,6 +97,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "Komut tamamlama etiketinde update sayısı yorumlanamıyor: {0}." + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -120,7 +124,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "Sunucudan EOF beklendi; ama {0} alındı." -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "{0} adresinde fonksiyon veya yordamda kaçış söz dizimi geçersiz." @@ -179,23 +183,23 @@ msgstr "Belirteçlerde sıfır bayt olamaz." #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -204,39 +208,39 @@ msgstr "" "Bağlantı reddedildi. Sunucu adı ve portun doğru olup olmadığını ve " "postmaster''in TCP/IP bağlantılarını kabul edip etmediğini kontrol ediniz." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "Bağlantı denemesi başarısız oldu." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "Sunucu SSL desteklemiyor." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -248,16 +252,16 @@ msgstr "" "ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme " "yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "Protokol hatası. Oturum kurulumu başarısız oldu." -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -265,144 +269,144 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 #, fuzzy msgid "Interrupted while waiting to obtain lock on database connection" msgstr "Bağlanırken kesildi." -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "Komut için parametre değerlei bağlanamadı." -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "Backend''e gönderirken bir I/O hatası oluştu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "BEGIN komut durumunu beklenirken {0} alındı." -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "Beklenmeyen komut durumu: {0}." -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "Backend''e gönderirken bir I/O hatası oluştu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "Bilinmeyen yanıt tipi {0}" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "Backend''e gönderirken bir I/O hatası oluştu." -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, fuzzy, java-format msgid "Unexpected copydata from server for {0}" msgstr "Sunucudan EOF beklendi; ama {0} alındı." -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " @@ -411,20 +415,15 @@ msgstr "" "Bind mesaj uzunluğu ({0}) fazla uzun. Bu durum InputStream yalnış uzunluk " "belirtimlerden kaynaklanabilir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "Sorgu sonuçları alınırken bellek yetersiz." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "Bu sunucu şu aşamada COPY işlemleri desteklememktedir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "Komut tamamlama etiketinde update sayısı yorumlanamıyor: {0}." - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -434,7 +433,7 @@ msgstr "" "sürücüsünün doğru çalışması için client_encoding parameteresinin UNICODE " "olması gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -443,7 +442,7 @@ msgstr "" "Sunucunun DateStyle parametresi {0} olarak değiştirildi. JDBC sürücüsü doğru " "işlemesi için DateStyle tanımının ISO işle başlamasını gerekir." -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -506,36 +505,36 @@ msgstr "DataSource kapatıldı." msgid "Unsupported property name: {0}" msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi." -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "{0} fastpath fonksiyonu bilinmemektedir." @@ -603,63 +602,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "{0} fonksiyonunu yalnız dört parametre alabilir." #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "{0} fonksiyonunu sadece iki parametre alabilir." #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "{0} fonksiyonunu yalnız tek bir parametre alabilir." -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "{0} fonksiyonu yalnız iki veya üç argüman alabilir." -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "{0} fonksiyonu parametre almaz." -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "{0} fonksiyonunu sadece üç parametre alabilir." -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "{0} aralığı henüz kodlanmadı." @@ -678,17 +684,17 @@ msgstr "Adlandırılmış savepointin id değerine erişilemiyor." msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "Adı verilmemiş savepointin id değerine erişilemiyor." -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "Dizi göstergesi kapsam dışıdır: {0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -703,16 +709,16 @@ msgstr "" "rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII " "veritabanında saklamasıdır." -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "CallableStatement çalıştırma sonucunda veri getirilmedi." -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "CallableStatement geçersiz sayıda parametre ile çalıştırıldı." -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -721,7 +727,7 @@ msgstr "" "CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen " "döndürme parametresi {0} ve tipi {1} idi." -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." @@ -729,12 +735,12 @@ msgstr "" "Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... " "'}' kullanın." -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "wasNull sonuç çekmeden önce çağırılamaz." -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " @@ -743,7 +749,7 @@ msgstr "" "{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri " "getirmek için çağrı yapıldı." -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -751,27 +757,27 @@ msgstr "" "CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) " "tanıtımı yapılmadı." -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "Hiçbir fonksiyon çıktısı kaydedilmedi." -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz." -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "strinftype parametresi için destekleneyen değer: {0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -783,129 +789,129 @@ msgstr "strinftype parametresi için destekleneyen değer: {0}" msgid "No results were returned by the query." msgstr "Sorgudan hiç bir sonuç dönmedi." -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "Hiçbir sonuç kebklenimezken sonuç getirildi." -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "Özel tip eşleştirmeleri desteklenmiyor." -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "{0} için nesne oluşturma hatası." -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "{1} veri tipinden sorumlu {0} sınıfı yüklenemedi" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "" "Transaction ortasında geçerli transactionun read-only özellği değiştirilemez." -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Bağlantı kapatıldı." -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "" "Transaction ortasında geçerli transactionun transaction isolation level " "özellği değiştirilemez." -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "Transaction isolation level {0} desteklenmiyor." -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "Kapatılmamış bağlantı sonlandırılıyor." -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "Veri, istenilen dil kodlamasına çevrilemiyor." -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "Fetch boyutu sıfır veya daha büyük bir değer olmalıdır." -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "Belirtilen {0} adı için sunucu array tipi bulunamadı." -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "Geçersiz seçenekler {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "{0} için nesne oluşturma hatası." -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "Clientinfo property'si desteklenememktedir." -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "ResultSet tutabilme ayarı geçersiz: {0}." -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "Auto-commit biçimde savepoint oluşturulamıyor." -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "Otomatik üretilen değerlerin getirilmesi desteklenememktedir." @@ -920,47 +926,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "Sistem kataloglarında name veri tipi bulunamıyor." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "Sistem kataloglarında name veri tipi bulunamıyor." -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -969,66 +975,66 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}." -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "PreparedStatement ile sorgu satırı alan sorgu yöntemleri kullanılamaz." -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "Geçersiz Types değeri." -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM, {0} dil kodlamasını desteklememektedir." -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "Sağlanmış InputStream başarısız." -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "Bilinmeyen tip {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "{0} tipi {1} tipine dönüştürülemiyor" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "Geçersiz Types değeri: {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "{0} instance, {1} tipine dönüştürülemiyor" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " @@ -1037,17 +1043,17 @@ msgstr "" "{0}''nin örneği ile kullanılacak SQL tip bulunamadı. Kullanılacak tip " "belirtmek için kesin Types değerleri ile setObject() kullanın." -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "Large object veritabanına yazılırken beklenmeyan hata." -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "Sağlanmış InputStream başarısız." -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1065,8 +1071,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "{0} instance, {1} tipine dönüştürülemiyor" @@ -1078,7 +1084,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "Insert kaydı üzerinde relative move method kullanılamaz." #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "Getirme yönü değişmezi geçersiz: {0}." @@ -1121,8 +1127,8 @@ msgstr "Bir satır eklemek için en az bir sütun değerini belirtmelisiniz." #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM, {0} dil kodlamasını desteklememektedir." @@ -1136,7 +1142,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "Insert kaydı üzerinde updateRow() çağırılamaz." #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1155,27 +1161,27 @@ msgstr "{0} tablosunda primary key yok." #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "{0} veri tipi için geçersiz değer : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "Bu ResultSet içinde {0} sütun adı bulunamadı." -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1185,41 +1191,41 @@ msgstr "" "sorgulamalı ve tablonun tüm primary key alanları belirtmelidir. Daha fazla " "bilgi için bk. JDBC 2.1 API Specification, section 5.6." -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "ResultSet kapalıdır." -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "ResultSet doğru konumlanmamıştır, next işlemi çağırmanız gerekir." -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." msgstr "Geçersiz UUID verisi." -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "Transaction isolation level {0} desteklenmiyor." @@ -1285,35 +1291,35 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır." -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır." -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı." -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "Bu komut kapatıldı." -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" "Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların " "döndürülmesi desteklenmiyor." -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "{0} veri tipi için geçersiz değer : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "Geçersiz Types değeri: {0}" @@ -1326,31 +1332,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "Geçersiz akım uzunluğu {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "LArgeObject API ilklendirme hatası" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "Auto-commit biçimde large object kullanılamaz." @@ -1384,34 +1390,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "SSL bağlantısı ayarlanırken bir hata oluştu." -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1546,31 +1552,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "Geçersiz seçenekler {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "xid null olamaz" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "Bağlantı, başka bir transaction tarafından meşgul ediliyor" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "suspend/resume desteklenmiyor" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1579,11 +1585,11 @@ msgstr "" "Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, " "flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "autocommit'i devre dışı bırakma sırasında hata" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " @@ -1592,7 +1598,7 @@ msgstr "" "start çağırımı olmadan end çağırılmıştır. state={0}, start xid={1}, " "currentXid={2}, preparedXid={3}" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, fuzzy, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" @@ -1600,12 +1606,12 @@ msgstr "" "Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " @@ -1614,21 +1620,21 @@ msgstr "" "Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından " "çağırmalıdır. currentXid={0}, prepare xid={1}" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "Sondan önce prepare çağırılmış. prepare xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "Transaction hazırlama hatası. prepare xid={0}" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "Kurtarma sırasında hata" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " @@ -1637,13 +1643,13 @@ msgstr "" "Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" @@ -1651,22 +1657,22 @@ msgstr "" "Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı " "aynı olmalıdır" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "commit, sondan önce çağırıldı. commit xid={0}, state={1}" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "One-phase commit sırasında hata. commit xid={0}" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" @@ -1674,7 +1680,7 @@ msgstr "" "Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, fuzzy, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " @@ -1683,7 +1689,7 @@ msgstr "" "Hazırlanmış transaction rollback hatası. commit xid={0}, preparedXid={1}, " "currentXid={2}" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "Heuristic commit/rollback desteklenmiyor. forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po index a4368db515..894b0ed8eb 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po @@ -6,7 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-01-31 14:34+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,56 +17,56 @@ msgstr "" "X-Poedit-Country: CHINA\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "不明的原因导致驱动程序造成失败,请回报这个例外。" -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Connection 尝试逾时。" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "这个 {0} 方法尚未被实作。" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -92,6 +91,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "无法解读命令完成标签中的更新计数:{0}。" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -112,7 +116,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "不正确的函式或程序 escape 语法于 {0}。" @@ -168,23 +172,23 @@ msgstr "在标识识别符中不存在零位元组。" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "栏位索引超过许可范围:{0},栏位数:{1}。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "无效的串流长度 {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "无效的串流长度 {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -192,39 +196,39 @@ msgid "" msgstr "" "连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "尝试连线已失败。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "服务器不支援 SSL 连线。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "进行 SSL 连线时发生错误。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "服务器要求使用密码验证,但是密码并未提供。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -234,16 +238,16 @@ msgstr "" "不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网" "路区段,以及驱动程序所支援的验证架构模式已被支援。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "通讯协定错误,Session 初始化失败。" -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -251,163 +255,158 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "传送数据至后端时发生 I/O 错误。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "传送数据至后端时发生 I/O 错误。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "不明的回应类型 {0}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "传送数据至后端时发生 I/O 错误。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "驱动程序目前不支援 COPY 操作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "无法解读命令完成标签中的更新计数:{0}。" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -416,7 +415,7 @@ msgstr "" "这服务器的 client_encoding 参数被改成 {0},JDBC 驱动程序请求需要 " "client_encoding 为 UNICODE 以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -425,7 +424,7 @@ msgstr "" "这服务器的 DateStyle 参数被更改成 {0},JDBC 驱动程序请求需要 DateStyle 以 " "ISO 开头以正确工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -488,36 +487,36 @@ msgstr "DataSource 已经被关闭。" msgid "Unsupported property name: {0}" msgstr "未被支持的类型值:{0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "不明的 fastpath 函式 {0}。" @@ -583,63 +582,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "{0} 函式取得四个且仅有四个引数。" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "{0} 函式取得二个且仅有二个引数。" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "{0} 函式取得一个且仅有一个引数。" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "{0} 函式取得二个或三个引数。" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "{0} 函式无法取得任何的引数。" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "{0} 函式取得三个且仅有三个引数。" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "隔绝 {0} 尚未被实作。" @@ -658,17 +664,17 @@ msgstr "无法取得已命名储存点的 id。" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "无法取得未命名储存点(Savepoint)的名称。" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "阵列索引超过许可范围:{0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "阵列索引超过许可范围:{0},元素数量:{1}。" -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -681,17 +687,17 @@ msgstr "" "发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码," "其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "一个 CallableStatement 执行函式后没有传回值。" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "一个 CallableStatement 已执行包括一个无效的参数数值" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -700,25 +706,25 @@ msgstr "" "一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的" "类型是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -726,27 +732,27 @@ msgstr "" "已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " ") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "未被支持的类型值:{0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "字符类型参数值未被支持:{0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -758,126 +764,126 @@ msgstr "字符类型参数值未被支持:{0}" msgid "No results were returned by the query." msgstr "查询没有传回任何结果。" -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "传回预期之外的结果。" -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "为 {0} 建立对象失败。" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "不能在事物交易过程中改变事物交易唯读属性。" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Connection 已经被关闭。" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "不能在事务交易过程中改变事物交易隔绝等级。" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "不支援交易隔绝等级 {0} 。" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "无法将数据转成目标编码。" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "数据读取笔数(fetch size)必须大于或等于 0。" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "无效的旗标 flags {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "无效的串流长度 {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "为 {0} 建立对象失败。" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "查询逾时等候时间必须大于或等于 0。" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知的 ResultSet 可适用的设置:{0}。" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "在自动确认事物交易模式无法建立储存点(Savepoint)。" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -891,47 +897,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "在系统 catalog 中找不到名称数据类型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "在系统 catalog 中找不到名称数据类型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -940,83 +946,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "参数索引超出许可范围:{0},参数总数:{1}。" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "在 PreparedStatement 上不能使用获取查询字符的查询方法。" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "不明的类型值。" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "无效的串流长度 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM 声明并不支援 {0} 编码。" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供的 InputStream 已失败。" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "不明的类型 {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "不能转换一个 {0} 实例到类型 {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "未被支持的类型值:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "无法转换 {0} 到类型 {1} 的实例" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "将大型对象(large object)写入数据库时发生不明错误。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供的 Reader 已失败。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1032,8 +1038,8 @@ msgstr "操作要求可卷动的 ResultSet,但此 ResultSet 是 FORWARD_ONLY #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "无法转换 {0} 到类型 {1} 的实例" @@ -1045,7 +1051,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的数据列上使用相对位置 move 方法。" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "无效的 fetch 方向常数:{0}。" @@ -1084,8 +1090,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 声明并不支援编码:{0} 。" @@ -1099,7 +1105,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的数据列上呼叫 deleteRow()。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1116,27 +1122,27 @@ msgstr "{0} 数据表中未找到主键(Primary key)。" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的类型值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet 中找不到栏位名称 {0}。" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1145,42 +1151,42 @@ msgstr "" "不可更新的 ResultSet。用来产生这个 ResultSet 的 SQL 命令只能操作一个数据表," "并且必需选择所有主键栏位,详细请参阅 JDBC 2.1 API 规格书 5.6 节。" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "这个 ResultSet 已经被关闭。" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 #, fuzzy msgid "Invalid UUID data." msgstr "无效的旗标" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "不支援交易隔绝等级 {0} 。" @@ -1246,33 +1252,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "最大数据读取笔数必须大于或等于 0。" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "查询逾时等候时间必须大于或等于 0。" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "最大栏位容量必须大于或等于 0。" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "这个 statement 已经被关闭。" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "不良的类型值 {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "未被支持的类型值:{0}" @@ -1285,31 +1291,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "无效的串流长度 {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "无效的串流长度 {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "初始化 LargeObject API 失败" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "大型对象无法被使用在自动确认事物交易模式。" @@ -1343,34 +1349,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "进行 SSL 连线时发生错误。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1505,31 +1511,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "无效的旗标 flags {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "暂停(suspend)/再继续(resume)尚未被实作。" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1538,97 +1544,97 @@ msgstr "" "事物交易隔绝(Transaction interleaving)未被实作。xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po index d8bcf8a9d8..96f5330f63 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po @@ -6,7 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL JDBC Driver 8.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-05 10:57+0300\n" "PO-Revision-Date: 2008-01-21 16:50+0800\n" "Last-Translator: 郭朝益(ChaoYi, Kuo) \n" "Language-Team: The PostgreSQL Development Team \n" @@ -18,56 +17,56 @@ msgstr "" "X-Poedit-Country: TAIWAN\n" "X-Poedit-SourceCharset: utf-8\n" -#: org/postgresql/Driver.java:214 +#: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" msgstr "" -#: org/postgresql/Driver.java:226 +#: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" -#: org/postgresql/Driver.java:270 +#: org/postgresql/Driver.java:272 msgid "" "Your security policy has prevented the connection from being attempted. You " "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -#: org/postgresql/Driver.java:276 org/postgresql/Driver.java:408 +#: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." msgstr "不明的原因導致驅動程式造成失敗,請回報這個例外。" -#: org/postgresql/Driver.java:416 +#: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." msgstr "Connection 嘗試逾時。" -#: org/postgresql/Driver.java:429 +#: org/postgresql/Driver.java:431 msgid "Interrupted while attempting to connect." msgstr "" -#: org/postgresql/Driver.java:682 +#: org/postgresql/Driver.java:687 #, java-format msgid "Method {0} is not yet implemented." msgstr "這個 {0} 方法尚未被實作。" -#: org/postgresql/PGProperty.java:535 org/postgresql/PGProperty.java:555 +#: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 #, java-format msgid "{0} parameter value must be an integer but was: {1}" msgstr "" -#: org/postgresql/copy/CopyManager.java:53 +#: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:64 +#: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" msgstr "" -#: org/postgresql/copy/CopyManager.java:75 +#: org/postgresql/copy/CopyManager.java:71 #, java-format msgid "Requested CopyDual but got {0}" msgstr "" @@ -92,6 +91,11 @@ msgstr "" msgid "Cannot write to copy a byte of value {0}" msgstr "" +#: org/postgresql/core/CommandCompleteParser.java:71 +#, fuzzy, java-format +msgid "Unable to parse the count in command completion tag: {0}." +msgstr "無法解讀命令完成標籤中的更新計數:{0}。" + #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." @@ -112,7 +116,7 @@ msgstr "" msgid "Expected an EOF from server, got: {0}" msgstr "" -#: org/postgresql/core/Parser.java:1006 +#: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." msgstr "不正確的函式或程序 escape 語法於 {0}。" @@ -168,23 +172,23 @@ msgstr "在標識識別符中不存在零位元組。" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 #: org/postgresql/core/v3/SimpleParameterList.java:65 -#: org/postgresql/jdbc/PgResultSet.java:2757 -#: org/postgresql/jdbc/PgResultSetMetaData.java:494 +#: org/postgresql/jdbc/PgResultSet.java:2755 +#: org/postgresql/jdbc/PgResultSetMetaData.java:388 #, java-format msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "欄位索引超過許可範圍:{0},欄位數:{1}。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:109 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 #, fuzzy, java-format msgid "Invalid sslmode value: {0}" msgstr "無效的串流長度 {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:124 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 #, fuzzy, java-format msgid "Invalid targetServerType value: {0}" msgstr "無效的串流長度 {0}." -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:246 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 #, fuzzy, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " @@ -192,39 +196,39 @@ msgid "" msgstr "" "連線被拒,請檢查主機名稱和埠號,並確定 postmaster 可以接受 TCP/IP 連線。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:257 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 msgid "The connection attempt failed." msgstr "嘗試連線已失敗。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:272 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:368 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:381 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 msgid "The server does not support SSL." msgstr "伺服器不支援 SSL 連線。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:395 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:388 msgid "An error occurred while setting up the SSL connection." msgstr "進行 SSL 連線時發生錯誤。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:496 -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:523 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:484 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:511 msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "伺服器要求使用密碼驗證,但是密碼並未提供。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:626 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:650 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format msgid "" "The authentication type {0} is not supported. Check that you have configured " @@ -234,16 +238,16 @@ msgstr "" "不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網" "路區段,以及驅動程式所支援的驗證架構模式已被支援。" -#: org/postgresql/core/v3/ConnectionFactoryImpl.java:657 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2550 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2581 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2585 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2653 +#: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2543 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2580 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." msgstr "通訊協定錯誤,Session 初始化失敗。" -#: org/postgresql/core/v3/CopyInImpl.java:47 +#: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" msgstr "" @@ -251,163 +255,158 @@ msgstr "" msgid "CommandComplete expected COPY but got: " msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:161 +#: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:177 +#: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:195 +#: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:327 +#: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:333 -#: org/postgresql/core/v3/QueryExecutorImpl.java:485 -#: org/postgresql/core/v3/QueryExecutorImpl.java:559 -#: org/postgresql/core/v3/QueryExecutorImpl.java:602 -#: org/postgresql/core/v3/QueryExecutorImpl.java:729 -#: org/postgresql/core/v3/QueryExecutorImpl.java:2372 +#: org/postgresql/core/v3/QueryExecutorImpl.java:335 +#: org/postgresql/core/v3/QueryExecutorImpl.java:487 +#: org/postgresql/core/v3/QueryExecutorImpl.java:561 +#: org/postgresql/core/v3/QueryExecutorImpl.java:604 +#: org/postgresql/core/v3/QueryExecutorImpl.java:731 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 #, fuzzy msgid "An I/O error occurred while sending to the backend." msgstr "傳送資料至後端時發生 I/O 錯誤。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:534 -#: org/postgresql/core/v3/QueryExecutorImpl.java:576 +#: org/postgresql/core/v3/QueryExecutorImpl.java:536 +#: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:581 +#: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:687 +#: org/postgresql/core/v3/QueryExecutorImpl.java:689 #, fuzzy msgid "An error occurred while trying to get the socket timeout." msgstr "傳送資料至後端時發生 I/O 錯誤。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:722 -#: org/postgresql/core/v3/QueryExecutorImpl.java:798 +#: org/postgresql/core/v3/QueryExecutorImpl.java:724 +#: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." msgstr "不明的回應類型 {0}。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:745 +#: org/postgresql/core/v3/QueryExecutorImpl.java:747 #, fuzzy msgid "An error occurred while trying to reset the socket timeout." msgstr "傳送資料至後端時發生 I/O 錯誤。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:843 +#: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:878 +#: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:917 +#: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:933 +#: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:937 +#: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:952 +#: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:967 +#: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:985 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1005 +#: org/postgresql/core/v3/QueryExecutorImpl.java:987 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:998 -#: org/postgresql/core/v3/QueryExecutorImpl.java:1013 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1000 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1028 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1035 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1101 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1126 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1140 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1154 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1156 #, java-format msgid "Got CopyBothResponse from server during an active {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1170 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1174 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1234 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format msgid "Unexpected packet type during copy: {0}" msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:1524 +#: org/postgresql/core/v3/QueryExecutorImpl.java:1526 #, java-format msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2145 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." msgstr "" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2313 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." msgstr "驅動程式目前不支援 COPY 操作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2487 -#, fuzzy, java-format -msgid "Unable to parse the count in command completion tag: {0}." -msgstr "無法解讀命令完成標籤中的更新計數:{0}。" - -#: org/postgresql/core/v3/QueryExecutorImpl.java:2610 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2605 #, fuzzy, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " @@ -416,7 +415,7 @@ msgstr "" "這伺服器的 client_encoding 參數被改成 {0},JDBC 驅動程式請求需要 " "client_encoding 為 UNICODE 以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2620 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " @@ -425,7 +424,7 @@ msgstr "" "這伺服器的 DateStyle 參數被更改成 {0},JDBC 驅動程式請求需要 DateStyle 以 " "ISO 開頭以正確工作。" -#: org/postgresql/core/v3/QueryExecutorImpl.java:2633 +#: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " @@ -488,36 +487,36 @@ msgstr "DataSource 已經被關閉。" msgid "Unsupported property name: {0}" msgstr "未被支持的型別值:{0}" -#: org/postgresql/fastpath/Fastpath.java:86 +#: org/postgresql/fastpath/Fastpath.java:84 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/fastpath/Fastpath.java:163 +#: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/fastpath/Fastpath.java:171 +#: org/postgresql/fastpath/Fastpath.java:169 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/fastpath/Fastpath.java:188 +#: org/postgresql/fastpath/Fastpath.java:186 #, fuzzy, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/fastpath/Fastpath.java:196 +#: org/postgresql/fastpath/Fastpath.java:194 #, fuzzy, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。" -#: org/postgresql/fastpath/Fastpath.java:308 +#: org/postgresql/fastpath/Fastpath.java:297 #, java-format msgid "The fastpath function {0} is unknown." msgstr "不明的 fastpath 函式 {0}。" @@ -583,63 +582,70 @@ msgid "Cannot cast to boolean: \"{0}\"" msgstr "" #: org/postgresql/jdbc/EscapedFunctions.java:240 +#: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." msgstr "{0} 函式取得四個且僅有四個引數。" #: org/postgresql/jdbc/EscapedFunctions.java:270 -#: org/postgresql/jdbc/EscapedFunctions.java:344 -#: org/postgresql/jdbc/EscapedFunctions.java:749 -#: org/postgresql/jdbc/EscapedFunctions.java:787 +#: org/postgresql/jdbc/EscapedFunctions.java:337 +#: org/postgresql/jdbc/EscapedFunctions.java:740 +#: org/postgresql/jdbc/EscapedFunctions2.java:196 +#: org/postgresql/jdbc/EscapedFunctions2.java:263 +#: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." msgstr "{0} 函式取得二個且僅有二個引數。" #: org/postgresql/jdbc/EscapedFunctions.java:288 -#: org/postgresql/jdbc/EscapedFunctions.java:326 -#: org/postgresql/jdbc/EscapedFunctions.java:446 -#: org/postgresql/jdbc/EscapedFunctions.java:461 -#: org/postgresql/jdbc/EscapedFunctions.java:476 -#: org/postgresql/jdbc/EscapedFunctions.java:491 -#: org/postgresql/jdbc/EscapedFunctions.java:506 -#: org/postgresql/jdbc/EscapedFunctions.java:521 -#: org/postgresql/jdbc/EscapedFunctions.java:536 -#: org/postgresql/jdbc/EscapedFunctions.java:551 -#: org/postgresql/jdbc/EscapedFunctions.java:566 -#: org/postgresql/jdbc/EscapedFunctions.java:581 -#: org/postgresql/jdbc/EscapedFunctions.java:596 -#: org/postgresql/jdbc/EscapedFunctions.java:611 -#: org/postgresql/jdbc/EscapedFunctions.java:775 +#: org/postgresql/jdbc/EscapedFunctions.java:441 +#: org/postgresql/jdbc/EscapedFunctions.java:467 +#: org/postgresql/jdbc/EscapedFunctions.java:526 +#: org/postgresql/jdbc/EscapedFunctions.java:728 +#: org/postgresql/jdbc/EscapedFunctions2.java:211 +#: org/postgresql/jdbc/EscapedFunctions2.java:355 +#: org/postgresql/jdbc/EscapedFunctions2.java:381 +#: org/postgresql/jdbc/EscapedFunctions2.java:440 +#: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." msgstr "{0} 函式取得一個且僅有一個引數。" -#: org/postgresql/jdbc/EscapedFunctions.java:310 -#: org/postgresql/jdbc/EscapedFunctions.java:391 +#: org/postgresql/jdbc/EscapedFunctions.java:312 +#: org/postgresql/jdbc/EscapedFunctions.java:386 +#: org/postgresql/jdbc/EscapedFunctions2.java:238 +#: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." msgstr "{0} 函式取得二個或三個引數。" -#: org/postgresql/jdbc/EscapedFunctions.java:416 -#: org/postgresql/jdbc/EscapedFunctions.java:431 -#: org/postgresql/jdbc/EscapedFunctions.java:734 -#: org/postgresql/jdbc/EscapedFunctions.java:764 +#: org/postgresql/jdbc/EscapedFunctions.java:411 +#: org/postgresql/jdbc/EscapedFunctions.java:426 +#: org/postgresql/jdbc/EscapedFunctions.java:693 +#: org/postgresql/jdbc/EscapedFunctions.java:719 +#: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." msgstr "{0} 函式無法取得任何的引數。" -#: org/postgresql/jdbc/EscapedFunctions.java:627 -#: org/postgresql/jdbc/EscapedFunctions.java:680 +#: org/postgresql/jdbc/EscapedFunctions.java:586 +#: org/postgresql/jdbc/EscapedFunctions.java:639 +#: org/postgresql/jdbc/EscapedFunctions2.java:500 +#: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." msgstr "{0} 函式取得三個且僅有三個引數。" -#: org/postgresql/jdbc/EscapedFunctions.java:640 -#: org/postgresql/jdbc/EscapedFunctions.java:661 -#: org/postgresql/jdbc/EscapedFunctions.java:664 -#: org/postgresql/jdbc/EscapedFunctions.java:697 -#: org/postgresql/jdbc/EscapedFunctions.java:710 -#: org/postgresql/jdbc/EscapedFunctions.java:713 +#: org/postgresql/jdbc/EscapedFunctions.java:599 +#: org/postgresql/jdbc/EscapedFunctions.java:620 +#: org/postgresql/jdbc/EscapedFunctions.java:623 +#: org/postgresql/jdbc/EscapedFunctions.java:656 +#: org/postgresql/jdbc/EscapedFunctions.java:669 +#: org/postgresql/jdbc/EscapedFunctions.java:672 +#: org/postgresql/jdbc/EscapedFunctions2.java:510 +#: org/postgresql/jdbc/EscapedFunctions2.java:527 +#: org/postgresql/jdbc/EscapedFunctions2.java:585 +#: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" msgstr "隔絕 {0} 尚未被實作。" @@ -658,17 +664,17 @@ msgstr "無法取得已命名儲存點的 id。" msgid "Cannot retrieve the name of an unnamed savepoint." msgstr "無法取得未命名儲存點(Savepoint)的名稱。" -#: org/postgresql/jdbc/PgArray.java:157 org/postgresql/jdbc/PgArray.java:844 +#: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" msgstr "陣列索引超過許可範圍:{0}" -#: org/postgresql/jdbc/PgArray.java:178 org/postgresql/jdbc/PgArray.java:861 +#: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." msgstr "陣列索引超過許可範圍:{0},元素數量:{1}。" -#: org/postgresql/jdbc/PgArray.java:210 +#: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 #: org/postgresql/util/HStoreConverter.java:43 #: org/postgresql/util/HStoreConverter.java:74 @@ -681,17 +687,17 @@ msgstr "" "發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼," "其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。" -#: org/postgresql/jdbc/PgCallableStatement.java:86 -#: org/postgresql/jdbc/PgCallableStatement.java:96 +#: org/postgresql/jdbc/PgCallableStatement.java:85 +#: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." msgstr "一個 CallableStatement 執行函式後沒有傳回值。" -#: org/postgresql/jdbc/PgCallableStatement.java:107 +#: org/postgresql/jdbc/PgCallableStatement.java:106 #, fuzzy msgid "A CallableStatement was executed with an invalid number of parameters" msgstr "一個 CallableStatement 已執行包括一個無效的參數數值" -#: org/postgresql/jdbc/PgCallableStatement.java:145 +#: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format msgid "" "A CallableStatement function was executed and the out parameter {0} was of " @@ -700,25 +706,25 @@ msgstr "" "一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的" "型別是 {2}。" -#: org/postgresql/jdbc/PgCallableStatement.java:202 +#: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。" -#: org/postgresql/jdbc/PgCallableStatement.java:246 +#: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:384 -#: org/postgresql/jdbc/PgCallableStatement.java:403 +#: org/postgresql/jdbc/PgCallableStatement.java:367 +#: org/postgresql/jdbc/PgCallableStatement.java:386 #, java-format msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。" -#: org/postgresql/jdbc/PgCallableStatement.java:424 +#: org/postgresql/jdbc/PgCallableStatement.java:407 msgid "" "A CallableStatement was declared, but no call to registerOutParameter(1, " ") was made." @@ -726,27 +732,27 @@ msgstr "" "已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, " ") 。" -#: org/postgresql/jdbc/PgCallableStatement.java:430 +#: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:436 +#: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." msgstr "" -#: org/postgresql/jdbc/PgCallableStatement.java:703 +#: org/postgresql/jdbc/PgCallableStatement.java:686 #, fuzzy, java-format msgid "Unsupported type conversion to {1}." msgstr "未被支持的型別值:{0}" -#: org/postgresql/jdbc/PgConnection.java:272 +#: org/postgresql/jdbc/PgConnection.java:241 #, java-format msgid "Unsupported value for stringtype parameter: {0}" msgstr "字串型別參數值未被支持:{0}" #: org/postgresql/jdbc/PgConnection.java:424 -#: org/postgresql/jdbc/PgPreparedStatement.java:119 +#: org/postgresql/jdbc/PgPreparedStatement.java:107 #: org/postgresql/jdbc/PgStatement.java:225 #: org/postgresql/jdbc/TypeInfoCache.java:226 #: org/postgresql/jdbc/TypeInfoCache.java:371 @@ -758,126 +764,126 @@ msgstr "字串型別參數值未被支持:{0}" msgid "No results were returned by the query." msgstr "查詢沒有傳回任何結果。" -#: org/postgresql/jdbc/PgConnection.java:441 +#: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." msgstr "傳回預期之外的結果。" -#: org/postgresql/jdbc/PgConnection.java:545 +#: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:587 +#: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." msgstr "為 {0} 建立物件失敗。" -#: org/postgresql/jdbc/PgConnection.java:641 +#: org/postgresql/jdbc/PgConnection.java:643 #, java-format msgid "Unable to load the class {0} responsible for the datatype {1}" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:693 +#: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." msgstr "不能在事物交易過程中改變事物交易唯讀屬性。" -#: org/postgresql/jdbc/PgConnection.java:756 +#: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:767 -#: org/postgresql/jdbc/PgConnection.java:1384 -#: org/postgresql/jdbc/PgConnection.java:1428 +#: org/postgresql/jdbc/PgConnection.java:783 +#: org/postgresql/jdbc/PgConnection.java:1401 +#: org/postgresql/jdbc/PgConnection.java:1445 #, fuzzy msgid "This connection has been closed." msgstr "Connection 已經被關閉。" -#: org/postgresql/jdbc/PgConnection.java:777 +#: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:827 +#: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." msgstr "不能在事務交易過程中改變事物交易隔絕等級。" -#: org/postgresql/jdbc/PgConnection.java:833 +#: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." msgstr "不支援交易隔絕等級 {0} 。" -#: org/postgresql/jdbc/PgConnection.java:878 +#: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" msgstr "" -#: org/postgresql/jdbc/PgConnection.java:945 +#: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." msgstr "無法將資料轉成目標編碼。" -#: org/postgresql/jdbc/PgConnection.java:1008 +#: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 -#: org/postgresql/jdbc/PgStatement.java:903 +#: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." msgstr "資料讀取筆數(fetch size)必須大於或等於 0。" -#: org/postgresql/jdbc/PgConnection.java:1289 -#: org/postgresql/jdbc/PgConnection.java:1330 +#: org/postgresql/jdbc/PgConnection.java:1306 +#: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1312 +#: org/postgresql/jdbc/PgConnection.java:1329 #, fuzzy, java-format msgid "Invalid elements {0}" msgstr "無效的旗標 {0}" -#: org/postgresql/jdbc/PgConnection.java:1348 +#: org/postgresql/jdbc/PgConnection.java:1365 #, fuzzy, java-format msgid "Invalid timeout ({0}<0)." msgstr "無效的串流長度 {0}." -#: org/postgresql/jdbc/PgConnection.java:1372 +#: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1405 +#: org/postgresql/jdbc/PgConnection.java:1422 #, fuzzy, java-format msgid "Failed to set ClientInfo property: {0}" msgstr "為 {0} 建立物件失敗。" -#: org/postgresql/jdbc/PgConnection.java:1415 +#: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1441 +#: org/postgresql/jdbc/PgConnection.java:1458 msgid "One ore more ClientInfo failed." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1540 +#: org/postgresql/jdbc/PgConnection.java:1559 #, fuzzy msgid "Network timeout must be a value greater than or equal to 0." msgstr "查詢逾時等候時間必須大於或等於 0。" -#: org/postgresql/jdbc/PgConnection.java:1552 +#: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1563 +#: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." msgstr "" -#: org/postgresql/jdbc/PgConnection.java:1580 +#: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." msgstr "未知的 ResultSet 可適用的設置:{0}。" -#: org/postgresql/jdbc/PgConnection.java:1598 -#: org/postgresql/jdbc/PgConnection.java:1619 +#: org/postgresql/jdbc/PgConnection.java:1617 +#: org/postgresql/jdbc/PgConnection.java:1638 msgid "Cannot establish a savepoint in auto-commit mode." msgstr "在自動確認事物交易模式無法建立儲存點(Savepoint)。" -#: org/postgresql/jdbc/PgConnection.java:1685 +#: org/postgresql/jdbc/PgConnection.java:1707 msgid "Returning autogenerated keys is not supported." msgstr "" @@ -891,47 +897,47 @@ msgstr "" msgid "Unable to find name datatype in the system catalogs." msgstr "在系統 catalog 中找不到名稱資料類型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:323 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:322 #, fuzzy msgid "Unable to find keywords in the system catalogs." msgstr "在系統 catalog 中找不到名稱資料類型(datatype)。" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1105 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "proname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1107 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1558 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1097 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1548 msgid "typtype" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1110 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1100 msgid "proargtypes" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1576 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1566 msgid "adsrc" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1589 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1579 msgid "attidentity" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1685 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1761 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1675 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1751 msgid "rolname" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1686 -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1762 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1676 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1752 msgid "relacl" msgstr "" -#: org/postgresql/jdbc/PgDatabaseMetaData.java:1692 +#: org/postgresql/jdbc/PgDatabaseMetaData.java:1682 msgid "attacl" msgstr "" @@ -940,83 +946,83 @@ msgstr "" msgid "The parameter index is out of range: {0}, number of parameters: {1}." msgstr "參數索引超出許可範圍:{0},參數總數:{1}。" -#: org/postgresql/jdbc/PgPreparedStatement.java:106 +#: org/postgresql/jdbc/PgPreparedStatement.java:94 +#: org/postgresql/jdbc/PgPreparedStatement.java:115 #: org/postgresql/jdbc/PgPreparedStatement.java:127 -#: org/postgresql/jdbc/PgPreparedStatement.java:139 -#: org/postgresql/jdbc/PgPreparedStatement.java:1035 +#: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." msgstr "在 PreparedStatement 上不能使用獲取查詢字串的查詢方法。" -#: org/postgresql/jdbc/PgPreparedStatement.java:249 +#: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." msgstr "不明的型別值。" -#: org/postgresql/jdbc/PgPreparedStatement.java:382 -#: org/postgresql/jdbc/PgPreparedStatement.java:439 -#: org/postgresql/jdbc/PgPreparedStatement.java:1191 -#: org/postgresql/jdbc/PgPreparedStatement.java:1490 +#: org/postgresql/jdbc/PgPreparedStatement.java:364 +#: org/postgresql/jdbc/PgPreparedStatement.java:421 +#: org/postgresql/jdbc/PgPreparedStatement.java:1164 +#: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." msgstr "無效的串流長度 {0}." -#: org/postgresql/jdbc/PgPreparedStatement.java:411 +#: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format msgid "The JVM claims not to support the {0} encoding." msgstr "JVM 聲明並不支援 {0} 編碼。" -#: org/postgresql/jdbc/PgPreparedStatement.java:414 +#: org/postgresql/jdbc/PgPreparedStatement.java:396 #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." msgstr "提供的 InputStream 已失敗。" -#: org/postgresql/jdbc/PgPreparedStatement.java:460 -#: org/postgresql/jdbc/PgPreparedStatement.java:1096 +#: org/postgresql/jdbc/PgPreparedStatement.java:442 +#: org/postgresql/jdbc/PgPreparedStatement.java:1069 #, java-format msgid "Unknown type {0}." msgstr "不明的型別 {0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:477 +#: org/postgresql/jdbc/PgPreparedStatement.java:459 msgid "No hstore extension installed." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:619 -#: org/postgresql/jdbc/PgPreparedStatement.java:642 -#: org/postgresql/jdbc/PgPreparedStatement.java:652 -#: org/postgresql/jdbc/PgPreparedStatement.java:664 +#: org/postgresql/jdbc/PgPreparedStatement.java:601 +#: org/postgresql/jdbc/PgPreparedStatement.java:624 +#: org/postgresql/jdbc/PgPreparedStatement.java:634 +#: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" msgstr "不能轉換一個 {0} 實例到型別 {1}" -#: org/postgresql/jdbc/PgPreparedStatement.java:682 +#: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" msgstr "未被支持的型別值:{0}" -#: org/postgresql/jdbc/PgPreparedStatement.java:894 +#: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" msgstr "無法轉換 {0} 到類型 {1} 的實例" -#: org/postgresql/jdbc/PgPreparedStatement.java:968 +#: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -#: org/postgresql/jdbc/PgPreparedStatement.java:1133 -#: org/postgresql/jdbc/PgPreparedStatement.java:1233 +#: org/postgresql/jdbc/PgPreparedStatement.java:1106 +#: org/postgresql/jdbc/PgPreparedStatement.java:1206 msgid "Unexpected error writing large object to database." msgstr "將大型物件(large object)寫入資料庫時發生不明錯誤。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1178 +#: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." msgstr "提供的 Reader 已失敗。" -#: org/postgresql/jdbc/PgPreparedStatement.java:1449 +#: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." msgstr "" @@ -1032,8 +1038,8 @@ msgstr "操作要求可捲動的 ResultSet,但此 ResultSet 是 FORWARD_ONLY #: org/postgresql/jdbc/PgResultSet.java:556 #: org/postgresql/jdbc/PgResultSet.java:594 #: org/postgresql/jdbc/PgResultSet.java:624 -#: org/postgresql/jdbc/PgResultSet.java:3014 -#: org/postgresql/jdbc/PgResultSet.java:3058 +#: org/postgresql/jdbc/PgResultSet.java:3012 +#: org/postgresql/jdbc/PgResultSet.java:3057 #, fuzzy, java-format msgid "Cannot convert the column of type {0} to requested type {1}." msgstr "無法轉換 {0} 到類型 {1} 的實例" @@ -1045,7 +1051,7 @@ msgid "Can''t use relative move methods while on the insert row." msgstr "不能在新增的資料列上使用相對位置 move 方法。" #: org/postgresql/jdbc/PgResultSet.java:878 -#: org/postgresql/jdbc/PgStatement.java:895 +#: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." msgstr "無效的 fetch 方向常數:{0}。" @@ -1084,8 +1090,8 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:1119 #: org/postgresql/jdbc/PgResultSet.java:1754 -#: org/postgresql/jdbc/PgResultSet.java:2422 -#: org/postgresql/jdbc/PgResultSet.java:2443 +#: org/postgresql/jdbc/PgResultSet.java:2420 +#: org/postgresql/jdbc/PgResultSet.java:2441 #, java-format msgid "The JVM claims not to support the encoding: {0}" msgstr "JVM 聲明並不支援編碼:{0} 。" @@ -1099,7 +1105,7 @@ msgid "Cannot call updateRow() when on the insert row." msgstr "不能在新增的資料列上呼叫 deleteRow()。" #: org/postgresql/jdbc/PgResultSet.java:1335 -#: org/postgresql/jdbc/PgResultSet.java:3075 +#: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." @@ -1116,27 +1122,27 @@ msgstr "{0} 資料表中未找到主鍵(Primary key)。" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 -#: org/postgresql/jdbc/PgResultSet.java:2809 -#: org/postgresql/jdbc/PgResultSet.java:2815 -#: org/postgresql/jdbc/PgResultSet.java:2840 -#: org/postgresql/jdbc/PgResultSet.java:2846 -#: org/postgresql/jdbc/PgResultSet.java:2870 -#: org/postgresql/jdbc/PgResultSet.java:2875 -#: org/postgresql/jdbc/PgResultSet.java:2891 -#: org/postgresql/jdbc/PgResultSet.java:2912 -#: org/postgresql/jdbc/PgResultSet.java:2923 -#: org/postgresql/jdbc/PgResultSet.java:2936 -#: org/postgresql/jdbc/PgResultSet.java:3063 +#: org/postgresql/jdbc/PgResultSet.java:2807 +#: org/postgresql/jdbc/PgResultSet.java:2813 +#: org/postgresql/jdbc/PgResultSet.java:2838 +#: org/postgresql/jdbc/PgResultSet.java:2844 +#: org/postgresql/jdbc/PgResultSet.java:2868 +#: org/postgresql/jdbc/PgResultSet.java:2873 +#: org/postgresql/jdbc/PgResultSet.java:2889 +#: org/postgresql/jdbc/PgResultSet.java:2910 +#: org/postgresql/jdbc/PgResultSet.java:2921 +#: org/postgresql/jdbc/PgResultSet.java:2934 +#: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" msgstr "不良的型別值 {0} : {1}" -#: org/postgresql/jdbc/PgResultSet.java:2595 +#: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." msgstr "ResultSet 中找不到欄位名稱 {0}。" -#: org/postgresql/jdbc/PgResultSet.java:2731 +#: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" "ResultSet is not updateable. The query that generated this result set must " "select only one table, and must select all primary keys from that table. See " @@ -1145,42 +1151,42 @@ msgstr "" "不可更新的 ResultSet。用來產生這個 ResultSet 的 SQL 命令只能操作一個資料表," "並且必需選擇所有主鍵欄位,詳細請參閱 JDBC 2.1 API 規格書 5.6 節。" -#: org/postgresql/jdbc/PgResultSet.java:2743 +#: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." msgstr "這個 ResultSet 已經被關閉。" -#: org/postgresql/jdbc/PgResultSet.java:2774 +#: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." msgstr "查詢結果指標位置不正確,您也許需要呼叫 ResultSet 的 next() 方法。" -#: org/postgresql/jdbc/PgResultSet.java:3095 +#: org/postgresql/jdbc/PgResultSet.java:3094 #, fuzzy msgid "Invalid UUID data." msgstr "無效的旗標" -#: org/postgresql/jdbc/PgResultSet.java:3184 -#: org/postgresql/jdbc/PgResultSet.java:3191 -#: org/postgresql/jdbc/PgResultSet.java:3202 -#: org/postgresql/jdbc/PgResultSet.java:3213 -#: org/postgresql/jdbc/PgResultSet.java:3224 -#: org/postgresql/jdbc/PgResultSet.java:3235 -#: org/postgresql/jdbc/PgResultSet.java:3246 -#: org/postgresql/jdbc/PgResultSet.java:3257 -#: org/postgresql/jdbc/PgResultSet.java:3268 -#: org/postgresql/jdbc/PgResultSet.java:3275 -#: org/postgresql/jdbc/PgResultSet.java:3282 -#: org/postgresql/jdbc/PgResultSet.java:3293 -#: org/postgresql/jdbc/PgResultSet.java:3310 -#: org/postgresql/jdbc/PgResultSet.java:3317 -#: org/postgresql/jdbc/PgResultSet.java:3324 -#: org/postgresql/jdbc/PgResultSet.java:3335 -#: org/postgresql/jdbc/PgResultSet.java:3342 -#: org/postgresql/jdbc/PgResultSet.java:3349 -#: org/postgresql/jdbc/PgResultSet.java:3387 -#: org/postgresql/jdbc/PgResultSet.java:3394 -#: org/postgresql/jdbc/PgResultSet.java:3401 -#: org/postgresql/jdbc/PgResultSet.java:3421 -#: org/postgresql/jdbc/PgResultSet.java:3434 +#: org/postgresql/jdbc/PgResultSet.java:3183 +#: org/postgresql/jdbc/PgResultSet.java:3190 +#: org/postgresql/jdbc/PgResultSet.java:3201 +#: org/postgresql/jdbc/PgResultSet.java:3212 +#: org/postgresql/jdbc/PgResultSet.java:3223 +#: org/postgresql/jdbc/PgResultSet.java:3234 +#: org/postgresql/jdbc/PgResultSet.java:3245 +#: org/postgresql/jdbc/PgResultSet.java:3256 +#: org/postgresql/jdbc/PgResultSet.java:3267 +#: org/postgresql/jdbc/PgResultSet.java:3274 +#: org/postgresql/jdbc/PgResultSet.java:3281 +#: org/postgresql/jdbc/PgResultSet.java:3292 +#: org/postgresql/jdbc/PgResultSet.java:3309 +#: org/postgresql/jdbc/PgResultSet.java:3316 +#: org/postgresql/jdbc/PgResultSet.java:3323 +#: org/postgresql/jdbc/PgResultSet.java:3334 +#: org/postgresql/jdbc/PgResultSet.java:3341 +#: org/postgresql/jdbc/PgResultSet.java:3348 +#: org/postgresql/jdbc/PgResultSet.java:3386 +#: org/postgresql/jdbc/PgResultSet.java:3393 +#: org/postgresql/jdbc/PgResultSet.java:3400 +#: org/postgresql/jdbc/PgResultSet.java:3420 +#: org/postgresql/jdbc/PgResultSet.java:3433 #, fuzzy, java-format msgid "conversion to {0} from {1} not supported" msgstr "不支援交易隔絕等級 {0} 。" @@ -1246,33 +1252,33 @@ msgstr "" msgid "Maximum number of rows must be a value grater than or equal to 0." msgstr "最大資料讀取筆數必須大於或等於 0。" -#: org/postgresql/jdbc/PgStatement.java:550 +#: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." msgstr "查詢逾時等候時間必須大於或等於 0。" -#: org/postgresql/jdbc/PgStatement.java:590 +#: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." msgstr "最大欄位容量必須大於或等於 0。" -#: org/postgresql/jdbc/PgStatement.java:689 +#: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." msgstr "這個 statement 已經被關閉。" -#: org/postgresql/jdbc/PgStatement.java:1145 -#: org/postgresql/jdbc/PgStatement.java:1173 +#: org/postgresql/jdbc/PgStatement.java:1150 +#: org/postgresql/jdbc/PgStatement.java:1178 msgid "Returning autogenerated keys by column index is not supported." msgstr "" -#: org/postgresql/jdbc/TimestampUtils.java:355 -#: org/postgresql/jdbc/TimestampUtils.java:423 +#: org/postgresql/jdbc/TimestampUtils.java:365 +#: org/postgresql/jdbc/TimestampUtils.java:433 #, fuzzy, java-format msgid "Bad value for type timestamp/date/time: {1}" msgstr "不良的型別值 {0} : {1}" -#: org/postgresql/jdbc/TimestampUtils.java:858 -#: org/postgresql/jdbc/TimestampUtils.java:915 -#: org/postgresql/jdbc/TimestampUtils.java:961 -#: org/postgresql/jdbc/TimestampUtils.java:1010 +#: org/postgresql/jdbc/TimestampUtils.java:914 +#: org/postgresql/jdbc/TimestampUtils.java:971 +#: org/postgresql/jdbc/TimestampUtils.java:1017 +#: org/postgresql/jdbc/TimestampUtils.java:1066 #, fuzzy, java-format msgid "Unsupported binary encoding of {0}." msgstr "未被支持的型別值:{0}" @@ -1285,31 +1291,31 @@ msgstr "" msgid "Invalid or unsupported by client SCRAM mechanisms" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:117 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 #, fuzzy, java-format msgid "Invalid server-first-message: {0}" msgstr "無效的串流長度 {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:147 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 #, fuzzy, java-format msgid "Invalid server-final-message: {0}" msgstr "無效的串流長度 {0}." -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:153 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" msgstr "" -#: org/postgresql/jre8/sasl/ScramAuthenticator.java:160 +#: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" msgstr "" -#: org/postgresql/largeobject/LargeObjectManager.java:144 +#: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" msgstr "初始化 LargeObject API 失敗" -#: org/postgresql/largeobject/LargeObjectManager.java:262 -#: org/postgresql/largeobject/LargeObjectManager.java:305 +#: org/postgresql/largeobject/LargeObjectManager.java:254 +#: org/postgresql/largeobject/LargeObjectManager.java:295 msgid "Large Objects may not be used in auto-commit mode." msgstr "大型物件無法被使用在自動確認事物交易模式。" @@ -1343,34 +1349,34 @@ msgstr "" msgid "The hostname {0} could not be verified." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:164 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:180 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:188 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:195 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:207 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:133 #, fuzzy msgid "An error occurred reading the certificate" msgstr "進行 SSL 連線時發生錯誤。" -#: org/postgresql/ssl/SingleCertValidatingFactory.java:240 +#: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" msgstr "" @@ -1505,31 +1511,31 @@ msgid "" "setSavePoint not allowed while an XA transaction is active." msgstr "" -#: org/postgresql/xa/PGXAConnection.java:177 -#: org/postgresql/xa/PGXAConnection.java:253 -#: org/postgresql/xa/PGXAConnection.java:347 +#: org/postgresql/xa/PGXAConnection.java:186 +#: org/postgresql/xa/PGXAConnection.java:272 +#: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" msgstr "無效的旗標 {0}" -#: org/postgresql/xa/PGXAConnection.java:181 -#: org/postgresql/xa/PGXAConnection.java:257 -#: org/postgresql/xa/PGXAConnection.java:449 +#: org/postgresql/xa/PGXAConnection.java:190 +#: org/postgresql/xa/PGXAConnection.java:276 +#: org/postgresql/xa/PGXAConnection.java:491 msgid "xid must not be null" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:185 +#: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:194 -#: org/postgresql/xa/PGXAConnection.java:267 +#: org/postgresql/xa/PGXAConnection.java:203 +#: org/postgresql/xa/PGXAConnection.java:286 msgid "suspend/resume not implemented" msgstr "暫停(suspend)/再繼續(resume)尚未被實作。" -#: org/postgresql/xa/PGXAConnection.java:202 -#: org/postgresql/xa/PGXAConnection.java:209 -#: org/postgresql/xa/PGXAConnection.java:213 +#: org/postgresql/xa/PGXAConnection.java:211 +#: org/postgresql/xa/PGXAConnection.java:218 +#: org/postgresql/xa/PGXAConnection.java:222 #, java-format msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " @@ -1538,97 +1544,97 @@ msgstr "" "事物交易隔絕(Transaction interleaving)未被實作。xid={0}, currentXid={1}, " "state={2}, flags={3}" -#: org/postgresql/xa/PGXAConnection.java:224 +#: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:261 +#: org/postgresql/xa/PGXAConnection.java:280 #, java-format msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:297 +#: org/postgresql/xa/PGXAConnection.java:326 #, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:300 +#: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:307 +#: org/postgresql/xa/PGXAConnection.java:336 #, java-format msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:311 +#: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:331 +#: org/postgresql/xa/PGXAConnection.java:360 #, java-format msgid "Error preparing transaction. prepare xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:382 +#: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:438 +#: org/postgresql/xa/PGXAConnection.java:480 #, java-format msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:471 +#: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:479 +#: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:483 +#: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:487 +#: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:498 +#: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:517 +#: org/postgresql/xa/PGXAConnection.java:576 msgid "" "Not implemented: 2nd phase commit must be issued using an idle connection. " "commit xid={0}, currentXid={1}, state={2], transactionState={3}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:550 +#: org/postgresql/xa/PGXAConnection.java:609 #, java-format msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -#: org/postgresql/xa/PGXAConnection.java:567 +#: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" msgstr "" From 2cbe7b354543e2ae526c3d9a422949acd0a375b6 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 22 Jul 2018 15:03:26 +0300 Subject: [PATCH 206/427] fix: use UTF-8 encoding in generated translation/messages_*.java files This makes files easier to read. Input encoding for Java compiler is UTF-8 anyway --- pgjdbc/pom.xml | 2 +- .../postgresql/translation/messages_bg.java | 398 +++++++-------- .../postgresql/translation/messages_cs.java | 158 +++--- .../postgresql/translation/messages_de.java | 142 +++--- .../postgresql/translation/messages_es.java | 22 +- .../postgresql/translation/messages_fr.java | 248 +++++----- .../postgresql/translation/messages_it.java | 202 ++++---- .../postgresql/translation/messages_ja.java | 452 +++++++++--------- .../postgresql/translation/messages_pl.java | 114 ++--- .../translation/messages_pt_BR.java | 276 +++++------ .../postgresql/translation/messages_ru.java | 210 ++++---- .../postgresql/translation/messages_sr.java | 234 ++++----- .../postgresql/translation/messages_tr.java | 308 ++++++------ .../translation/messages_zh_CN.java | 228 ++++----- .../translation/messages_zh_TW.java | 228 ++++----- 15 files changed, 1611 insertions(+), 1611 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 00abc0b2ef..2d835734aa 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -55,7 +55,7 @@ com.github.vlsi.gettext gettext-maven-plugin - 1.3.0 + 1.4.0 update_po_with_new_messages diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java index 528f55f727..3f4ea65c00 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_bg.java @@ -7,403 +7,403 @@ public class messages_bg extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-12-28 00:01+0100\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Bulgarian\nX-Poedit-Country: BULGARIA\n"; t[2] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[3] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430 \u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 {0} \u0431\u0435 \u043e\u0442 \u0442\u0438\u043f {1}, \u043e\u0431\u0430\u0447\u0435 \u0442\u0438\u043f {2} \u0431\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d."; + t[3] = "CallableStatement функция бе обработена и изходния параметър {0} бе от тип {1}, обаче тип {2} бе използван."; t[6] = "Too many update results were returned."; - t[7] = "\u0422\u0432\u044a\u0440\u0434\u0435 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0431\u044f\u0445\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438 \u043f\u0440\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430."; + t[7] = "Твърде много резултати бяха получени при актуализацията."; t[10] = "There are no rows in this ResultSet."; - t[11] = "\u0412 \u0442\u043e\u0437\u0438 ResultSet \u043d\u044f\u043c\u0430 \u0440\u0435\u0434\u043e\u0432\u0435."; + t[11] = "В този ResultSet няма редове."; t[14] = "Detail: {0}"; - t[15] = "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442: {0}"; + t[15] = "Подробност: {0}"; t[20] = "Invalid fetch direction constant: {0}."; - t[21] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 \u0437\u0430 fetch \u043f\u043e\u0441\u043e\u043a\u0430\u0442\u0430: {0}."; + t[21] = "Невалидна константа за fetch посоката: {0}."; t[22] = "No function outputs were registered."; - t[23] = "\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 \u043d\u0435 \u0431\u044f\u0445\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d\u0438."; + t[23] = "Резултати от функцията не бяха регистрирани."; t[24] = "The array index is out of range: {0}"; - t[25] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043c\u0430\u0441\u0438\u0432 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442\u0430: {0}"; + t[25] = "Индексът на масив е извън обхвата: {0}"; t[26] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[27] = "\u0422\u0438\u043f \u043d\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435 {0} \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043b\u0438 \u0441\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043b\u0438 pg_hba.conf \u0444\u0430\u0439\u043b\u0430, \u0434\u0430 \u0432\u043a\u043b\u044e\u0447\u0432\u0430 IP \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u043c\u0440\u0435\u0436\u0430\u0442\u0430, \u0438 \u0447\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0445\u0435\u043c\u0430 \u0437\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435, \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0430 \u043e\u0442 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430."; + t[27] = "Тип на удостоверяване {0} не се поддържа. Проверете дали сте конфигурирали pg_hba.conf файла, да включва IP адреса на клиента или подмрежата, и че се използва схема за удостоверяване, поддържана от драйвъра."; t[28] = "The server requested password-based authentication, but no password was provided."; - t[29] = "\u0421\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d\u0435 \u0441 \u043f\u0430\u0440\u043e\u043b\u0430, \u043d\u043e \u043f\u0430\u0440\u043e\u043b\u0430 \u043d\u0435 \u0431\u0435 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0430."; + t[29] = "Сървърът изисква идентифициране с парола, но парола не бе въведена."; t[40] = "Large Objects may not be used in auto-commit mode."; - t[41] = "\u0413\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0432 auto-commit \u043c\u043e\u0434\u0443\u0441."; + t[41] = "Големи обекти LOB не могат да се използват в auto-commit модус."; t[46] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[47] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u0434\u0430 \u0441\u0430 scrollable, \u043d\u043e \u0442\u043e\u0437\u0438 ResultSet \u0435 FORWARD_ONLY."; + t[47] = "Операцията изисква резултатите да са scrollable, но този ResultSet е FORWARD_ONLY."; t[48] = "Zero bytes may not occur in string parameters."; - t[49] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 \u043d\u0443\u043b\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432 \u043d\u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435."; + t[49] = "Не може да има нула байта в низ параметрите."; t[50] = "The JVM claims not to support the encoding: {0}"; - t[51] = "JVM \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0442\u0430\u0437\u0438 \u043a\u043e\u0434\u043e\u0432\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430: {0}"; + t[51] = "JVM не поддържа тази кодова таблица за момента: {0}"; t[54] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[55] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u043d\u0435 \u0431\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430, \u043f\u043e\u0440\u0430\u0434\u0438 \u0432\u0430\u0448\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442. \u041c\u043e\u0436\u0435 \u0431\u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435 java.net.SocketPermission \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0441 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438, \u043a\u044a\u043c \u043a\u043e\u0439\u0442\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u0435 \u0441\u0432\u044a\u0440\u0436\u0435\u0442\u0435."; + t[55] = "Връзката не бе осъществена, поради вашите настройки за сигурност. Може би трябва да предоставите java.net.SocketPermission права на сървъра и порта с базата данни, към който искате да се свържете."; t[62] = "Database connection failed when canceling copy operation"; - t[63] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[63] = "Неосъществена връзка към базата данни при прекъсване на копирането"; t[78] = "Error loading default settings from driverconfig.properties"; - t[79] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 driverconfig.properties"; + t[79] = "Грешка при зареждане на настройките по подразбиране от файла driverconfig.properties"; t[82] = "Returning autogenerated keys is not supported."; - t[83] = "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[83] = "Автоматично генерирани ключове не се поддържат."; t[92] = "Unable to find name datatype in the system catalogs."; - t[93] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043c\u0435\u0440\u0438 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0437\u0438."; + t[93] = "Не може да се намери името на типа данни в системните каталози."; t[94] = "Tried to read from inactive copy"; - t[95] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435 \u043f\u0440\u0438 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[95] = "Опит за четене при неактивно копиране"; t[96] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[97] = "ResultSet \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u044f\u0432\u0430. \u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0449\u0430 \u0442\u043e\u0437\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435\u043b\u0435\u043a\u0442\u0438\u0440\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u043a\u0430\u043a\u0442\u043e \u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u044a\u0440\u0432\u0438\u0447\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u0432 \u043d\u0435\u044f. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0432\u0438\u0436\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b 5.6 \u043d\u0430 JDBC 2.1 API Specification."; + t[97] = "ResultSet не може да се обновява. Заявката генерираща този резултат трябва да селектира само една таблица, както и всички първични ключове в нея. За повече информация, вижте раздел 5.6 на JDBC 2.1 API Specification."; t[98] = "Cannot cast an instance of {0} to type {1}"; - t[99] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f \u043d\u0430 {0} \u043a\u044a\u043c \u0442\u0438\u043f {1}"; + t[99] = "Не може да преобразува инстанция на {0} към тип {1}"; t[102] = "Requested CopyOut but got {0}"; - t[103] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u043e CopyOut \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e {0}"; + t[103] = "Зададено CopyOut но получено {0}"; t[106] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[107] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: Prepare \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u043e \u0447\u0440\u0435\u0437 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0437\u0430\u043f\u043e\u0447\u043d\u0430\u0442\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430. currentXid={0}, prepare xid={1}"; + t[107] = "Невъзможна комбинация: Prepare трябва да бъде издадено чрез използване на същата връзка, при която е започната транзакцията. currentXid={0}, prepare xid={1}"; t[108] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[109] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u044f\u0432\u0430\u0442 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0437\u0430\u044f\u0432\u043a\u0430, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043d\u0438\u0437\u043e\u0432\u0435 \u043d\u0430 PreparedStatement."; + t[109] = "Не може да се употребяват методи за заявка, които ползват низове на PreparedStatement."; t[114] = "Conversion of money failed."; - t[115] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u0430\u043b\u0443\u0442\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435."; + t[115] = "Неуспешно валутно преобразуване."; t[118] = "Tried to obtain lock while already holding it"; - t[119] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f \u0434\u043e\u043a\u0430\u0442\u043e \u0432\u0435\u0447\u0435 \u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e"; + t[119] = "Опит за получаване на заключване/резервация докато вече е получено"; t[120] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[121] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u043d\u0435 \u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d, \u0442\u0430\u043a\u0430 \u0447\u0435 \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u043b\u0438\u0447\u0430\u0442 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 \u043d\u0435\u0433\u043e."; + t[121] = "Този SQLXML обект не е инициализиран, така че не могат да се извличат данни от него."; t[122] = "This SQLXML object has already been freed."; - t[123] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0435\u043d."; + t[123] = "Този SQLXML обект вече е освободен."; t[124] = "Invalid stream length {0}."; - t[125] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 {0} \u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u0438."; + t[125] = "Невалидна дължина {0} на потока данни."; t[130] = "Position: {0}"; - t[131] = "\u041f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[131] = "Позиция: {0}"; t[132] = "The server does not support SSL."; - t[133] = "\u0421\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 SSL."; + t[133] = "Сървърът не поддържа SSL."; t[134] = "Got {0} error responses to single copy cancel request"; - t[135] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438 {0} \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u0438 \u0437\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043e \u0438\u0441\u043a\u0430\u043d\u0435 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[135] = "Получени {0} отговори за грешка при единствено искане да се прекъсне копирането"; t[136] = "DataSource has been closed."; - t[137] = "\u0418\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u044a\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442."; + t[137] = "Източникът на данни е прекъснат."; t[138] = "Unable to convert DOMResult SQLXML data to a string."; - t[139] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 DOMResult SQLXML \u0434\u0430\u043d\u043d\u0438 \u0432 \u043d\u0438\u0437."; + t[139] = "Не може да преобразува DOMResult SQLXML данни в низ."; t[140] = "Failed to initialize LargeObject API"; - t[141] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 LargeObject API"; + t[141] = "Не може да инициализира LargeObject API"; t[144] = "Invalid UUID data."; - t[145] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 UUID \u0434\u0430\u043d\u043d\u0438."; + t[145] = "Невалидни UUID данни."; t[148] = "The fastpath function {0} is unknown."; - t[149] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430."; + t[149] = "Функцията {0} е неизвестна."; t[154] = "Connection has been closed."; - t[155] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0431\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[155] = "Връзката бе прекъсната."; t[156] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[157] = "\u0422\u0430\u0437\u0438 \u0437\u0430\u044f\u0432\u043a\u0430 \u043d\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430 \u0438\u0437\u0445\u043e\u0434\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440. \u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 '{' ?= call ... '}' \u0437\u0430 \u0434\u0430 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u0442\u0435 \u0442\u0430\u043a\u044a\u0432."; + t[157] = "Тази заявка не декларира изходен параметър. Ползвайте '{' ?= call ... '}' за да декларирате такъв."; t[158] = "A connection could not be made using the requested protocol {0}."; - t[159] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0438 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u043e\u043b\u0437\u0432\u0430\u0439\u043a\u0438 \u0438\u0441\u043a\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b {0}."; + t[159] = "Не може да осъществи връзка, ползвайки искания протокол {0}."; t[162] = "The maximum field size must be a value greater than or equal to 0."; - t[163] = "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 \u043f\u043e\u043b\u0435\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[163] = "Максималният размер на полето трябва да бъде стойност по-голяма или равна на 0."; t[166] = "GSS Authentication failed"; - t[167] = "GSS \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e"; + t[167] = "GSS удостоверяването бе неуспешно"; t[176] = "Unknown XML Result class: {0}"; - t[177] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d XML \u0438\u0437\u0445\u043e\u0434\u044f\u0449 \u043a\u043b\u0430\u0441: {0}"; + t[177] = "Неизвестен XML изходящ клас: {0}"; t[180] = "Server SQLState: {0}"; - t[181] = "SQL \u0441\u0442\u0430\u0442\u0443\u0441 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430: {0}"; + t[181] = "SQL статус на сървъра: {0}"; t[182] = "Unknown Response Type {0}."; - t[183] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f \u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440 {0}."; + t[183] = "Неизвестен тип на отговор {0}."; t[186] = "Tried to cancel an inactive copy operation"; - t[187] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[187] = "Опит за прекъсване на неактивно копиране"; t[190] = "This PooledConnection has already been closed."; - t[191] = "\u0422\u0430\u0437\u0438 PooledConnection \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u0432\u0435\u0447\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[191] = "Тази PooledConnection връзка бе вече прекъсната."; t[200] = "Multiple ResultSets were returned by the query."; - t[201] = "\u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0432\u044a\u0440\u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e ResultSets."; + t[201] = "Заявката върна няколко ResultSets."; t[202] = "Finalizing a Connection that was never closed:"; - t[203] = "\u041f\u0440\u0438\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043a\u043e\u044f\u0442\u043e \u043d\u0435 \u0431\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430:"; + t[203] = "Приключване на връзка, която не бе прекъсната:"; t[204] = "Unsupported Types value: {0}"; - t[205] = "\u041d\u0435\u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u0442\u0438\u043f: {0}"; + t[205] = "Неподдържана стойност за тип: {0}"; t[206] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[207] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0430, \u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430 \u043a\u0430\u0442\u043e registerOutParameter(1, ) "; + t[207] = "CallableStatement функция бе декларирана, но обработена като registerOutParameter(1, ) "; t[208] = "Cannot retrieve the name of an unnamed savepoint."; - t[209] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u043d\u0435\u0443\u043f\u043e\u043c\u0435\u043d\u0430\u0442\u0430 savepoint."; + t[209] = "Не може да определи името на неупомената savepoint."; t[220] = "Cannot change transaction read-only property in the middle of a transaction."; - t[221] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442\u0435 \u043f\u0440\u0430\u0432\u0430\u0442\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u043d\u0435\u0439\u043d\u043e\u0442\u043e \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435."; + t[221] = "Не може да променяте правата на транзакцията по време на нейното извършване."; t[222] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[223] = "\u041f\u0440\u0435\u043a\u0430\u043b\u0435\u043d\u043e \u0433\u043e\u043b\u044f\u043c\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 {0} \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u0442\u043e. \u0422\u043e\u0432\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0435\u043d\u043e \u043e\u0442 \u043f\u0440\u0435\u043a\u0430\u043b\u0435\u043d\u043e \u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 \u043d\u0430 InputStream \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."; + t[223] = "Прекалено голяма дължина {0} на съобщението. Това може да е причинено от прекалено голяма или неправилно зададена дължина на InputStream параметри."; t[224] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[225] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u043d\u0438\u044f\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442: {0}, \u0431\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438: {1}."; + t[225] = "Параметърният индекс е извън обхват: {0}, брой параметри: {1}."; t[226] = "Transaction isolation level {0} not supported."; - t[227] = "\u0418\u0437\u043e\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u043e \u043d\u0438\u0432\u043e \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\u0442\u0435 {0} \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430."; + t[227] = "Изолационно ниво на транзакциите {0} не се поддържа."; t[234] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[235] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u0438 ResultSet, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0435\u0434\u0438 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u0438\u043b\u0438 \u0441\u043b\u0435\u0434 \u043a\u0440\u0430\u044f \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435."; + t[235] = "Не може да се обнови ResultSet, когато се намираме преди началото или след края на резултатите."; t[238] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[239] = "\u043e\u043f\u0438\u0442\u0430 \u0434\u0430 \u0438\u0437\u0432\u0438\u043a\u0430 end \u0431\u0435\u0437 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430\u0449\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 start. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[239] = "опита да извика end без съответстващо извикване на start. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[242] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[243] = "\u0422\u043e\u0437\u0438 SQLXML \u043e\u0431\u0435\u043a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d."; + t[243] = "Този SQLXML обект вече е инициализиран и не може да бъде променен."; t[250] = "Conversion to type {0} failed: {1}."; - t[251] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u0442\u0438\u043f {0}: {1}."; + t[251] = "Неуспешно преобразуване към тип {0}: {1}."; t[252] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[253] = "\u041a\u043b\u0430\u0441\u044a\u0442 SSLSocketFactory \u0432\u0440\u044a\u0449\u0430 {0} \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u0440\u0430\u043d."; + t[253] = "Класът SSLSocketFactory връща {0} и не може да бъде инстанцииран."; t[254] = "Unable to create SAXResult for SQLXML."; - t[255] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 SAXResult \u0437\u0430 SQLXML."; + t[255] = "Не може да се създаде SAXResult за SQLXML."; t[256] = "Interrupted while attempting to connect."; - t[257] = "\u041e\u043f\u0438\u0442\u0430 \u0437\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u0441\u0432\u043e\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442. "; + t[257] = "Опита за осъществяване на връзка бе своевременно прекъснат. "; t[260] = "Protocol error. Session setup failed."; - t[261] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430 \u0441\u0435\u0441\u0438\u044f\u0442\u0430."; + t[261] = "Грешка в протокола. Неуспешна настройка на сесията."; t[264] = "Database connection failed when starting copy"; - t[265] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[265] = "Неосъществена връзка към базата данни при започване на копирането"; t[272] = "Cannot call cancelRowUpdates() when on the insert row."; - t[273] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 cancelRowUpdates() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[273] = "Не може да се изпълни cancelRowUpdates() метода, когато се намираме при редицата на въвеждане."; t[274] = "Unable to bind parameter values for statement."; - t[275] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430."; + t[275] = "Не може да подготви параметрите на командата."; t[280] = "A result was returned when none was expected."; - t[281] = "\u0411\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u0430\u043a\u044a\u0432 \u043d\u0435 \u0431\u0435 \u043e\u0447\u0430\u043a\u0432\u0430\u043d."; + t[281] = "Бе получен резултат, когато такъв не бе очакван."; t[282] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[283] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u044a\u0442 standard_conforming_strings \u043f\u0440\u0438 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0431\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0432\u0430\u043d \u043a\u0430\u0442\u043e {0}. JDBC \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u043e\u0447\u0430\u043a\u0432\u0430 \u0442\u043e\u0437\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 \u0434\u0430 \u0431\u044a\u0434\u0435 on \u0438\u043b\u0438 off."; + t[283] = "Параметърът standard_conforming_strings при сървъра бе докладван като {0}. JDBC драйвъра очаква този параметър да бъде on или off."; t[284] = "Unable to translate data into the desired encoding."; - t[285] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0432 \u0436\u0435\u043b\u0430\u043d\u043e\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435."; + t[285] = "Невъзможно преобразуване на данни в желаното кодиране."; t[292] = "PostgreSQL LOBs can only index to: {0}"; - t[293] = "PostgreSQL \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0441\u0430\u043c\u043e \u0434\u043e: {0}"; + t[293] = "PostgreSQL индексира големи обекти LOB само до: {0}"; t[294] = "Provided InputStream failed."; - t[295] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u0438\u044f InputStream \u043f\u043e\u0442\u043e\u043a \u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u0435\u043d."; + t[295] = "Зададения InputStream поток е неуспешен."; t[296] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[297] = "\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0432 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[297] = "Транзакция в транзакция не се поддържа за момента. xid={0}, currentXid={1}, state={2}, flags={3}"; t[304] = "{0} function takes four and only four argument."; - t[305] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0447\u0435\u0442\u0438\u0440\u0438 \u0438 \u0441\u0430\u043c\u043e \u0447\u0435\u0442\u0438\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[305] = "Функцията {0} може да приеме четири и само четири аргумента."; t[306] = "{0} function doesn''t take any argument."; - t[307] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438."; + t[307] = "Функцията {0} не може да приема аргументи."; t[310] = "Got CopyOutResponse from server during an active {0}"; - t[311] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d CopyOutResponse \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e {0}"; + t[311] = "Получен CopyOutResponse отговор от сървъра при активно {0}"; t[322] = "No value specified for parameter {0}."; - t[323] = "\u041d\u044f\u043c\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0437\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 {0}."; + t[323] = "Няма стойност, определена за параметър {0}."; t[324] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[325] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u0435\u043d \u0431\u0430\u0439\u0442 \u0435 {0}: {1}"; + t[325] = "Невалидна UTF-8 последователност: първоначален байт е {0}: {1}"; t[326] = "Error disabling autocommit"; - t[327] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0438\u0437\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 autocommit"; + t[327] = "Грешка при изключване на autocommit"; t[328] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[329] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u0431\u0430\u0439\u0442\u0430 {0} \u043e\u0442 \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 {1} \u043d\u0435 \u0435 10xxxxxx: {2}"; + t[329] = "Невалидна UTF-8 последователност: байта {0} от байтова последователност {1} не е 10xxxxxx: {2}"; t[330] = "Received CommandComplete ''{0}'' without an active copy operation"; - t[331] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 ''{0}'' \u0431\u0435\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[331] = "Получено командно допълнение ''{0}'' без активна команда за копиране"; t[332] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[333] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043a\u0440\u0430\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0435 \u0438\u0437\u0432\u044a\u043d \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u043d\u0438\u0442\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u0438: {0}"; + t[333] = "Невалидна UTF-8 последователност: крайната стойност е извън стойностните граници: {0}"; t[336] = "Cannot change transaction isolation level in the middle of a transaction."; - t[337] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442\u0435 \u0438\u0437\u043e\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0442\u043e \u043d\u0438\u0432\u043e \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u043d\u0435\u0439\u043d\u043e\u0442\u043e \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435."; + t[337] = "Не може да променяте изолационното ниво на транзакцията по време на нейното извършване."; t[340] = "An unexpected result was returned by a query."; - t[341] = "\u0417\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0432\u044a\u0440\u043d\u0430 \u043d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442."; + t[341] = "Заявката върна неочакван резултат."; t[346] = "Conversion of interval failed"; - t[347] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b"; + t[347] = "Неуспешно преобразуване на интервал"; t[350] = "This ResultSet is closed."; - t[351] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u043f\u043e \u0442\u043e\u0437\u0438 ResultSet \u0441\u0430 \u0431\u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0435\u043d\u0438."; + t[351] = "Операциите по този ResultSet са били прекратени."; t[352] = "Read from copy failed."; - t[353] = "\u0427\u0435\u0442\u0435\u043d\u0435 \u043e\u0442 \u043a\u043e\u043f\u0438\u0435\u0442\u043e \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e."; + t[353] = "Четене от копието неуспешно."; t[354] = "Unable to load the class {0} responsible for the datatype {1}"; - t[355] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0435 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441 {0}, \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0449 \u0437\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u0438 {1}"; + t[355] = "Невъзможно е зареждането на клас {0}, отговарящ за типа данни {1}"; t[356] = "Failed to convert binary xml data to encoding: {0}."; - t[357] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u0438 XML \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435 \u0441\u044a\u0433\u043b\u0430\u0441\u043d\u043e: {0}."; + t[357] = "Неуспешно преобразуване на двоични XML данни за кодиране съгласно: {0}."; t[362] = "Connection attempt timed out."; - t[363] = "\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0438\u0437\u0442\u0435\u0447\u0435 (\u0442\u0430\u0439\u043c\u0430\u0443\u0442)."; + t[363] = "Времето за осъществяване на връзката изтече (таймаут)."; t[364] = "Expected command status BEGIN, got {0}."; - t[365] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 BEGIN, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 {0}."; + t[365] = "Очаквана команда BEGIN, получена {0}."; t[366] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[367] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: \u0432\u0442\u043e\u0440\u0430\u0442\u0430 \u0444\u0430\u0437\u0430 \u043d\u0430 commit \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u0430 \u043f\u0440\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[367] = "Невъзможна комбинация: втората фаза на commit задължително трябва да бъде издадена при свободна връзка. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; t[372] = "This copy stream is closed."; - t[373] = "\u041f\u043e\u0442\u043e\u043a\u0430 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0435 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u043d."; + t[373] = "Потока за копиране на данните е затворен."; t[376] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[377] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 SQL \u0442\u0438\u043f, \u043a\u043e\u0439\u0442\u043e \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 {0}. \u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 setObject() \u0441 \u0442\u043e\u0447\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u0437\u0430 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0442\u0438\u043f\u0430."; + t[377] = "Не може да се определи SQL тип, който да се използва за инстанцията на {0}. Ползвайте метода setObject() с точни стойности, за да определите типа."; t[378] = "Can''t refresh the insert row."; - t[379] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0434."; + t[379] = "Не може да обнови въведения ред."; t[382] = "You must specify at least one column value to insert a row."; - t[383] = "\u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u043e\u0441\u043e\u0447\u0438\u0442\u0435 \u043f\u043e\u043d\u0435 \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u043a\u043e\u043b\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0432\u043c\u044a\u043a\u043d\u0435\u0442\u0435 \u0440\u0435\u0434."; + t[383] = "Трябва да посочите поне една стойност за колона, за да вмъкнете ред."; t[388] = "Connection is busy with another transaction"; - t[389] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0435 \u0437\u0430\u0435\u0442\u0430 \u0441 \u0434\u0440\u0443\u0433\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f"; + t[389] = "Връзката е заета с друга транзакция"; t[392] = "Bad value for type {0} : {1}"; - t[393] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 \u0442\u0438\u043f {0} : {1}"; + t[393] = "Невалидна стойност за тип {0} : {1}"; t[396] = "This statement has been closed."; - t[397] = "\u041a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430 \u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0435\u043d\u0430."; + t[397] = "Командата е извършена."; t[404] = "No primary key found for table {0}."; - t[405] = "\u041d\u044f\u043c\u0430 \u043f\u044a\u0440\u0432\u0438\u0447\u0435\u043d \u043a\u043b\u044e\u0447 \u0437\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 {0}."; + t[405] = "Няма първичен ключ за таблица {0}."; t[406] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[407] = "\u0412 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0435\u0434\u0438 \u043a\u0440\u0430\u044f \u043d\u0430 ResultSet. \u0422\u0443\u043a \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430."; + t[407] = "В момента се намираме преди края на ResultSet. Тук не може да се изпълни deleteRow() метода."; t[414] = "{0} function takes two or three arguments."; - t[415] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0434\u0432\u0430 \u0438\u043b\u0438 \u0442\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[415] = "Функцията {0} може да приеме два или три аргумента."; t[416] = "{0} function takes three and only three arguments."; - t[417] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0442\u0440\u0438 \u0438 \u0441\u0430\u043c\u043e \u0442\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[417] = "Функцията {0} може да приеме три и само три аргумента."; t[418] = "Unable to find server array type for provided name {0}."; - t[419] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043c\u0435\u0440\u0438 \u0442\u0438\u043f\u0430 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0435\u043d \u043c\u0430\u0441\u0438\u0432 \u0437\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u043e\u0442\u043e \u0438\u043c\u0435 {0}."; + t[419] = "Не може да се намери типа на сървърен масив за зададеното име {0}."; t[420] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[421] = "\u0418\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 {0} - \u043d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0438 \u0430 \u0431\u0435 \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u043e \u0446\u044f\u043b\u043e \u0447\u0438\u0441\u043b\u043e."; + t[421] = "Извикване на {0} - няма резултати и а бе очаквано цяло число."; t[426] = "Database connection failed when ending copy"; - t[427] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[427] = "Неосъществена връзка към базата данни при завършване на копирането"; t[428] = "Cannot write to copy a byte of value {0}"; - t[429] = "\u041d\u044f\u043c\u0430 \u043f\u0438\u0448\u0435\u0449\u0438 \u043f\u0440\u0430\u0432\u0430, \u0437\u0430 \u0434\u0430 \u043a\u043e\u043f\u0438\u0440\u0430 \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 {0}"; + t[429] = "Няма пишещи права, за да копира байтова стойност {0}"; t[430] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[431] = "\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u043e\u0442 CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438, \u043f\u0440\u0435\u0434\u0438 \u0442\u044f \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430."; + t[431] = "Резултати от CallableStatement функция не могат да бъдат получени, преди тя да бъде обработена."; t[432] = "Cannot reference a savepoint after it has been released."; - t[433] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u0430 savepoint, \u0441\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0435 \u0431\u0438\u043b\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0435\u043d\u0430."; + t[433] = "Не може да референцира savepoint, след като е била освободена."; t[434] = "Failed to create object for: {0}."; - t[435] = "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442 \u0437\u0430: {0}."; + t[435] = "Неуспешно създаване на обект за: {0}."; t[438] = "Unexpected packet type during copy: {0}"; - t[439] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0442\u0438\u043f \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435: {0}"; + t[439] = "Неочакван тип пакет при копиране: {0}"; t[442] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[443] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430 MaxIndexKeys \u043f\u043e\u0440\u0430\u0434\u0438 \u043b\u0438\u043f\u0441\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0434\u0430\u043d\u043d\u0438."; + t[443] = "Невъзможно е да се определи стойността за MaxIndexKeys поради липса на системния каталог с данни."; t[444] = "Tried to end inactive copy"; - t[445] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[445] = "Опит за прекъсване на неактивно копиране"; t[450] = "Unexpected copydata from server for {0}"; - t[451] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u043e CopyData \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0437\u0430 {0}"; + t[451] = "Неочаквано CopyData от сървъра за {0}"; t[460] = "Zero bytes may not occur in identifiers."; - t[461] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 \u043d\u0443\u043b\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0438\u0442\u0435."; + t[461] = "Не може да има нула байта в идентификаторите."; t[462] = "Error during one-phase commit. commit xid={0}"; - t[463] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0435\u0434\u043d\u043e-\u0444\u0430\u0437\u043e\u0432 commit. commit xid={0}"; + t[463] = "Грешка при едно-фазов commit. commit xid={0}"; t[464] = "Ran out of memory retrieving query results."; - t[465] = "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u0430 \u043f\u0430\u043c\u0435\u0442 \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u043d\u0430 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u043e\u0442 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430."; + t[465] = "Недостатъчна памет при представяна на резултатите от заявката."; t[468] = "Unable to create StAXResult for SQLXML"; - t[469] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 StAXResult \u0437\u0430 SQLXML."; + t[469] = "Не може да се създаде StAXResult за SQLXML."; t[470] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[471] = "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435: \u0424\u0430\u0439\u043b: {0}, \u0424\u0443\u043d\u043a\u0446\u0438\u044f: {1}, \u0420\u0435\u0434: {2}"; + t[471] = "Местоположение: Файл: {0}, Функция: {1}, Ред: {2}"; t[482] = "A CallableStatement was executed with an invalid number of parameters"; - t[483] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430, \u043d\u043e \u0441 \u043d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d \u0431\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."; + t[483] = "CallableStatement функция бе обработена, но с непозволен брой параметри."; t[486] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[487] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: {0} \u0431\u0430\u0439\u0442\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u0437\u0430 \u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 {1} \u0431\u0430\u0439\u0442\u043e\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442: {2}"; + t[487] = "Невалидна UTF-8 последователност: {0} байта използвани за кодирането на {1} байтова стойност: {2}"; t[496] = "Interrupted while waiting to obtain lock on database connection"; - t[497] = "\u041f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043f\u0440\u0438 \u0447\u0430\u043a\u0430\u043d\u0435 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438"; + t[497] = "Прекъсване при чакане да получи заключване/резервация при връзка към базата данни"; t[502] = "LOB positioning offsets start at 1."; - t[503] = "\u041f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u0438\u044f\u0442 \u043e\u0444\u0441\u0435\u0442 \u043f\u0440\u0438 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u043e\u0442 1."; + t[503] = "Позиционалният офсет при големи обекти LOB започва от 1."; t[506] = "Returning autogenerated keys by column index is not supported."; - t[507] = "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d\u0438 \u043a\u043b\u044e\u0447\u043e\u0432\u0435 \u0441\u043f\u0440\u044f\u043c\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[507] = "Автоматично генерирани ключове спрямо индекс на колона не се поддържат."; t[510] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[511] = "\u0412 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u043d\u0430 ResultSet. \u0422\u0443\u043a \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430."; + t[511] = "В момента се намираме в началото на ResultSet. Тук не може да се изпълни deleteRow() метода."; t[524] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[525] = "\u0421\u043a\u044a\u0441\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 LOB \u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0441\u0430\u043c\u043e \u0432\u044a\u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u043b\u0435\u0434 8.3."; + t[525] = "Скъсяване на големи обекти LOB е осъществено само във версии след 8.3."; t[526] = "Statement has been closed."; - t[527] = "\u041a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430 \u0435 \u0437\u0430\u0432\u044a\u0440\u0448\u0435\u043d\u0430."; + t[527] = "Командата е завършена."; t[540] = "Database connection failed when writing to copy"; - t[541] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u043e\u043f\u0438\u0442 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[541] = "Неосъществена връзка към базата данни при опит за копиране"; t[544] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[545] = "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u044a\u0442 DateStyle \u043f\u0440\u0438 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0431\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d \u043d\u0430 {0}. JDBC \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 DateStyle \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441 ISO \u0437\u0430 \u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e."; + t[545] = "Параметърът DateStyle при сървъра бе променен на {0}. JDBC драйвъра изисква DateStyle започва с ISO за да функционира правилно."; t[546] = "Provided Reader failed."; - t[547] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u0441 \u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0442\u0435\u0446."; + t[547] = "Грешка с ползвания четец."; t[550] = "Not on the insert row."; - t[551] = "\u041d\u0435 \u0441\u043c\u0435 \u0432 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[551] = "Не сме в редицата на въвеждане."; t[566] = "Unable to decode xml data."; - t[567] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0430 XML \u0434\u0430\u043d\u043d\u0438\u0442\u0435."; + t[567] = "Не може да декодира XML данните."; t[596] = "Tried to write to an inactive copy operation"; - t[597] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0438\u0441\u0430\u043d\u0435 \u043f\u0440\u0438 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[597] = "Опит за писане при неактивна операция за копиране"; t[606] = "An error occurred while setting up the SSL connection."; - t[607] = "\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 SSL \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430."; + t[607] = "Възникна грешка при осъществяване на SSL връзката."; t[614] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[615] = "\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u043d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u0441 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430. \u041c\u043e\u043b\u044f \u0434\u043e\u043a\u0430\u0434\u0432\u0430\u0439\u0442\u0435 \u0442\u043e\u0432\u0430 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. "; + t[615] = "Възникна неочаквана грешка с драйвъра. Моля докадвайте това изключение. "; t[618] = "No results were returned by the query."; - t[619] = "\u041d\u044f\u043c\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430."; + t[619] = "Няма намерени резултати за заявката."; t[620] = "ClientInfo property not supported."; - t[621] = "\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 ClientInfo \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430."; + t[621] = "Информацията за ClientInfo не се поддържа."; t[622] = "Unexpected error writing large object to database."; - t[623] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u044f\u043c \u043e\u0431\u0435\u043a\u0442 LOB \u0432 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438."; + t[623] = "Неочаквана грешка при записване на голям обект LOB в базата данни."; t[628] = "The JVM claims not to support the {0} encoding."; - t[629] = "JVM \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 {0} \u043a\u043e\u0434\u043e\u0432\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430."; + t[629] = "JVM не поддържа за момента {0} кодовата таблица."; t[630] = "Unknown XML Source class: {0}"; - t[631] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d XML \u0432\u0445\u043e\u0434\u044f\u0449 \u043a\u043b\u0430\u0441: {0}"; + t[631] = "Неизвестен XML входящ клас: {0}"; t[632] = "Interval {0} not yet implemented"; - t[633] = "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044a\u0442 {0} \u043d\u0435 \u0435 \u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0432\u0441\u0435 \u043e\u0449\u0435."; + t[633] = "Интервалът {0} не е валиден все още."; t[636] = "commit called before end. commit xid={0}, state={1}"; - t[637] = "commit \u0438\u0437\u0432\u0438\u043a\u0430\u043d \u043f\u0440\u0435\u0434\u0438 end. commit xid={0}, state={1}"; + t[637] = "commit извикан преди end. commit xid={0}, state={1}"; t[638] = "Tried to break lock on database connection"; - t[639] = "\u041e\u043f\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435\u0442\u043e/\u0440\u0435\u0437\u0435\u0440\u0432\u0430\u0446\u0438\u044f\u0442\u0430 \u043f\u0440\u0438 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438"; + t[639] = "Опит за премахване на заключването/резервацията при връзка към базата данни"; t[642] = "Missing expected error response to copy cancel request"; - t[643] = "\u041b\u0438\u043f\u0441\u0432\u0430 \u043e\u0447\u0430\u043a\u0432\u0430\u043d \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043f\u0440\u0438 \u0433\u0440\u0435\u0448\u043a\u0430 \u0434\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e"; + t[643] = "Липсва очакван отговор при грешка да прекъсне копирането"; t[644] = "Maximum number of rows must be a value grater than or equal to 0."; - t[645] = "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f\u0442 \u0431\u0440\u043e\u0439 \u0440\u0435\u0434\u043e\u0432\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[645] = "Максималният брой редове трябва да бъде стойност по-голяма или равна на 0."; t[652] = "Requested CopyIn but got {0}"; - t[653] = "\u0417\u0430\u0434\u0430\u0434\u0435\u043d\u043e CopyIn \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e {0}"; + t[653] = "Зададено CopyIn но получено {0}"; t[656] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[657] = "\u041e\u0442\u0447\u0435\u0442\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440 \u043e\u0442 \u0442\u0438\u043f {0}, \u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u043e \u043a\u0430\u0442\u043e get{1} (sqltype={2}). "; + t[657] = "Отчетен параметър от тип {0}, но обработено като get{1} (sqltype={2}). "; t[662] = "Unsupported value for stringtype parameter: {0}"; - t[663] = "\u041d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0437\u0430 StringType \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440: {0}"; + t[663] = "Непозволена стойност за StringType параметър: {0}"; t[664] = "Fetch size must be a value greater to or equal to 0."; - t[665] = "\u0420\u0430\u0437\u043c\u0435\u0440\u0430 \u0437\u0430 fetch size \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c \u0438\u043b\u0438 \u0440\u0430\u0432\u0435\u043d \u043d\u0430 0."; + t[665] = "Размера за fetch size трябва да бъде по-голям или равен на 0."; t[670] = "Cannot tell if path is open or closed: {0}."; - t[671] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u0434\u0430\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0435 \u043e\u0442\u0432\u043e\u0440\u0435\u043d \u0438\u043b\u0438 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u043d: {0}."; + t[671] = "Не може да определи дали адреса е отворен или затворен: {0}."; t[672] = "Expected an EOF from server, got: {0}"; - t[673] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d \u043a\u0440\u0430\u0439 \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e: {0}"; + t[673] = "Очакван край на файла от сървъра, но получено: {0}"; t[680] = "Copying from database failed: {0}"; - t[681] = "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043e\u0442 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e: {0}"; + t[681] = "Копирането от базата данни бе неуспешно: {0}"; t[682] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[683] = "\u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0431\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430, \u0437\u0430\u0449\u043e\u0442\u043e \u043d\u043e\u0432\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0437\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0431\u0435\u0448\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0438\u043b\u0438 PooledConnection \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u0435 \u0432\u0435\u0447\u0435 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u0430."; + t[683] = "Връзката бе автоматично прекъсната, защото нова връзка за същата беше осъществена или PooledConnection връзката е вече прекъсната."; t[698] = "Custom type maps are not supported."; - t[699] = "\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0442\u0438\u043f\u043e\u0432\u0438 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442."; + t[699] = "Специфични типови съответствия не се поддържат."; t[700] = "xid must not be null"; - t[701] = "xid \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 null"; + t[701] = "xid не може да бъде null"; t[706] = "Internal Position: {0}"; - t[707] = "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[707] = "Вътрешна позиция: {0}"; t[708] = "Error during recover"; - t[709] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435"; + t[709] = "Грешка при възстановяване"; t[712] = "Method {0} is not yet implemented."; - t[713] = "\u041c\u0435\u0442\u043e\u0434\u044a\u0442 {0} \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u0435 \u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d."; + t[713] = "Методът {0} все още не е функционален."; t[714] = "Unexpected command status: {0}."; - t[715] = "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d \u0441\u0442\u0430\u0442\u0443\u0441 \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430: {0}."; + t[715] = "Неочакван статус на команда: {0}."; t[718] = "The column index is out of range: {0}, number of columns: {1}."; - t[719] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430\u0442\u0430 \u0435 \u0438\u0437\u0432\u044a\u043d \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0435\u043d \u043e\u0431\u0445\u0432\u0430\u0442: {0}, \u0431\u0440\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u0438: {1}."; + t[719] = "Индексът на колоната е извън стойностен обхват: {0}, брой колони: {1}."; t[730] = "Unknown ResultSet holdability setting: {0}."; - t[731] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 ResultSet holdability \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430: {0}."; + t[731] = "Неизвестна ResultSet holdability настройка: {0}."; t[734] = "Cannot call deleteRow() when on the insert row."; - t[735] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 deleteRow() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[735] = "Не може да се изпълни deleteRow() метода, когато се намираме при редицата на въвеждане."; t[740] = "ResultSet not positioned properly, perhaps you need to call next."; - t[741] = "ResultSet \u043d\u0435 \u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u0430\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0438\u0434\u0432\u0438\u0436\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c next."; + t[741] = "ResultSet не е референциран правилно. Вероятно трябва да придвижите курсора посредством next."; t[742] = "wasNull cannot be call before fetching a result."; - t[743] = "wasNull \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044c\u0434\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d, \u043f\u0440\u0435\u0434\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435\u0442\u043e \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430."; + t[743] = "wasNull не може да бьде изпълнен, преди наличието на резултата."; t[746] = "{0} function takes two and only two arguments."; - t[747] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0434\u0432\u0430 \u0438 \u0441\u0430\u043c\u043e \u0434\u0432\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430."; + t[747] = "Функцията {0} може да приеме два и само два аргумента."; t[750] = "Malformed function or procedure escape syntax at offset {0}."; - t[751] = "\u041d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u0440\u0438 \u043e\u0444\u0441\u0435\u0442 {0}."; + t[751] = "Непозволен синтаксис на функция или процедура при офсет {0}."; t[752] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[753] = "\u041f\u0440\u0435\u0436\u0434\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u043a\u0440\u0430\u0439 \u043d\u0430 \u0432\u0445\u043e\u0434\u044f\u0449 \u043f\u043e\u0442\u043e\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u0438, \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0438 {0} \u0431\u0430\u0439\u0442\u0430, \u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0442\u0435\u043d\u0438 \u0441\u0430\u043c\u043e {1}."; + t[753] = "Преждевременен край на входящ поток на данни, очаквани {0} байта, но прочетени само {1}."; t[756] = "Got CopyData without an active copy operation"; - t[757] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e CopyData \u0431\u0435\u0437 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435"; + t[757] = "Получено CopyData без наличие на активна операция за копиране"; t[758] = "Cannot retrieve the id of a named savepoint."; - t[759] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 ID \u043d\u0430 \u0441\u043f\u043e\u043c\u0435\u043d\u0430\u0442\u0430 savepoint."; + t[759] = "Не може да определи ID на спомената savepoint."; t[770] = "Where: {0}"; - t[771] = "\u041a\u044a\u0434\u0435\u0442\u043e: {0}"; + t[771] = "Където: {0}"; t[778] = "Got CopyInResponse from server during an active {0}"; - t[779] = "\u041f\u043e\u043b\u0443\u0447\u0435\u043d CopyInResponse \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e {0}"; + t[779] = "Получен CopyInResponse отговор от сървъра при активно {0}"; t[780] = "Cannot convert an instance of {0} to type {1}"; - t[781] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 {0} \u0432\u044a\u0432 \u0432\u0438\u0434\u0430 {1}"; + t[781] = "Не може да преобразува инстанцията на {0} във вида {1}"; t[784] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[785] = "\u041d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f: \u0435\u0434\u043d\u043e-\u0444\u0430\u0437\u043e\u0432 commit \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0434\u0430\u0434\u0435\u043d \u0447\u0440\u0435\u0437 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0430\u0442\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0435 \u0437\u0430\u043f\u043e\u0447\u043d\u0430\u043b"; + t[785] = "Невъзможна комбинация: едно-фазов commit трябва да бъде издаден чрез използване на същата връзка, при която е започнал"; t[790] = "Invalid flags {0}"; - t[791] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0444\u043b\u0430\u0433\u043e\u0432\u0435 {0}"; + t[791] = "Невалидни флагове {0}"; t[798] = "Query timeout must be a value greater than or equals to 0."; - t[799] = "\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430\u0442\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043d\u0430 0."; + t[799] = "Времето за изпълнение на заявката трябва да бъде стойност по-голяма или равна на 0."; t[802] = "Hint: {0}"; - t[803] = "\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u043a\u0430: {0}"; + t[803] = "Забележка: {0}"; t[810] = "The array index is out of range: {0}, number of elements: {1}."; - t[811] = "\u0418\u043d\u0434\u0435\u043a\u0441\u044a\u0442 \u043d\u0430 \u043c\u0430\u0441\u0438\u0432 \u0435 \u0438\u0437\u0432\u044a\u043d \u043e\u0431\u0445\u0432\u0430\u0442\u0430: {0}, \u0431\u0440\u043e\u0439 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438: {1}."; + t[811] = "Индексът на масив е извън обхвата: {0}, брой елементи: {1}."; t[812] = "Internal Query: {0}"; - t[813] = "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430: {0}"; + t[813] = "Вътрешна заявка: {0}"; t[816] = "CommandComplete expected COPY but got: "; - t[817] = "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 COPY \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e: "; + t[817] = "Очаквано командно допълнение COPY но получено: "; t[824] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[825] = "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 UTF-8 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442: \u043a\u0440\u0430\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0435 \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442: {0}"; + t[825] = "Невалидна UTF-8 последователност: крайната стойност е заместителна стойност: {0}"; t[826] = "Unknown type {0}."; - t[827] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f {0}."; + t[827] = "Неизвестен тип {0}."; t[828] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[829] = "ResultSets \u0441 concurrency CONCUR_READ_ONLY \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438."; + t[829] = "ResultSets с concurrency CONCUR_READ_ONLY не могат да бъдат актуализирани."; t[830] = "The connection attempt failed."; - t[831] = "\u041e\u043f\u0438\u0442\u0430 \u0437\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0431\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u0435\u043d."; + t[831] = "Опита за връзка бе неуспешен."; t[834] = "{0} function takes one and only one argument."; - t[835] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 {0} \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442."; + t[835] = "Функцията {0} може да приеме само един единствен аргумент."; t[838] = "suspend/resume not implemented"; - t[839] = "\u0441\u043f\u0438\u0440\u0430\u043d\u0435 / \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435 \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430"; + t[839] = "спиране / започване не се поддържа за момента"; t[840] = "Error preparing transaction. prepare xid={0}"; - t[841] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u044f\u043d\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f. prepare xid={0}"; + t[841] = "Грешка при подготвяне на транзакция. prepare xid={0}"; t[842] = "The driver currently does not support COPY operations."; - t[843] = "\u0417\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u044a\u0440\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 COPY \u043a\u043e\u043c\u0430\u043d\u0434\u0438."; + t[843] = "За момента драйвъра не поддържа COPY команди."; t[852] = "Heuristic commit/rollback not supported. forget xid={0}"; - t[853] = "\u0415\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u043d commit \u0438\u043b\u0438 rollback \u043d\u0435 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430. forget xid={0}"; + t[853] = "Евристичен commit или rollback не се поддържа. forget xid={0}"; t[856] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[857] = "\u0411\u044f\u0445\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438. \u0422\u043e\u0432\u0430 \u043d\u0430\u0439-\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0441\u0435 \u0434\u044a\u043b\u0436\u0438 \u043d\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0438 \u0434\u0430\u043d\u043d\u0438, \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0437\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u043e\u0442 \u0437\u043d\u0430\u0446\u0438 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438. \u0427\u0435\u0441\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 \u0442\u043e\u0432\u0430 \u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 8bit \u0434\u0430\u043d\u043d\u0438 \u0432 SQL_ASCII \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u043d\u0438."; + t[857] = "Бяха намерени невалидни данни. Това най-вероятно се дължи на съхранявани данни, съдържащи символи, които са невалидни за набора от знаци при създаване на базата данни. Чест пример за това е съхраняване на 8bit данни в SQL_ASCII бази данни."; t[858] = "Cannot establish a savepoint in auto-commit mode."; - t[859] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438 savepoint \u0432 auto-commit \u043c\u043e\u0434\u0443\u0441."; + t[859] = "Не може да се установи savepoint в auto-commit модус."; t[862] = "The column name {0} was not found in this ResultSet."; - t[863] = "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430\u0442\u0430 {0} \u043d\u0435 \u0431\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043e \u0432 \u0442\u043e\u0437\u0438 ResultSet."; + t[863] = "Името на колоната {0} не бе намерено в този ResultSet."; t[864] = "Prepare called before end. prepare xid={0}, state={1}"; - t[865] = "Prepare \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u043e \u043f\u0440\u0435\u0434\u0438 \u043a\u0440\u0430\u044f. prepare xid={0}, state={1}"; + t[865] = "Prepare извикано преди края. prepare xid={0}, state={1}"; t[866] = "Unknown Types value."; - t[867] = "\u0421\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043e\u0442 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0438\u043f."; + t[867] = "Стойност от неизвестен тип."; t[870] = "Cannot call updateRow() when on the insert row."; - t[871] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 updateRow() \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[871] = "Не може да се изпълни updateRow() метода, когато се намираме при редицата на въвеждане."; t[876] = "Database connection failed when reading from copy"; - t[877] = "\u041d\u0435\u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u0447\u0435\u0442\u0435\u043d\u0435 \u043e\u0442 \u043a\u043e\u043f\u0438\u0435"; + t[877] = "Неосъществена връзка към базата данни при четене от копие"; t[880] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[881] = "\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043f\u0440\u0435\u0434\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[881] = "Грешка при възстановяване на състоянието преди подготвена транзакция. rollback xid={0}, preparedXid={1}, currentXid={2}"; t[882] = "Can''t use relative move methods while on the insert row."; - t[883] = "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u043c\u0435 \u043f\u0440\u0438 \u0440\u0435\u0434\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435."; + t[883] = "Не може да се използват относителни методи за движение, когато се намираме при редицата на въвеждане."; t[884] = "free() was called on this LOB previously"; - t[885] = "\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 free() \u0431\u0435 \u0432\u0435\u0447\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0430 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0433\u043e\u043b\u044f\u043c \u043e\u0431\u0435\u043a\u0442 LOB"; + t[885] = "Функцията free() бе вече извикана за този голям обект LOB"; t[888] = "A CallableStatement was executed with nothing returned."; - t[889] = "CallableStatement \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0430, \u043d\u043e \u043d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438."; + t[889] = "CallableStatement функция бе обработена, но няма резултати."; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java index 54ff11da31..bc6512b015 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_cs.java @@ -7,181 +7,181 @@ public class messages_cs extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.0\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2005-08-21 20:00+0200\nLast-Translator: Petr Dittrich \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[2] = "A connection could not be made using the requested protocol {0}."; - t[3] = "Spojen\u00ed nelze vytvo\u0159it s pou\u017eit\u00edm \u017e\u00e1dan\u00e9ho protokolu {0}."; + t[3] = "Spojení nelze vytvořit s použitím žádaného protokolu {0}."; t[4] = "Malformed function or procedure escape syntax at offset {0}."; - t[5] = "Po\u0161kozen\u00e1 funkce nebo opu\u0161t\u011bn\u00ed procedury na pozici {0}."; + t[5] = "Poškozená funkce nebo opuštění procedury na pozici {0}."; t[8] = "Cannot cast an instance of {0} to type {1}"; - t[9] = "Nemohu p\u0159etypovat instanci {0} na typ {1}"; + t[9] = "Nemohu přetypovat instanci {0} na typ {1}"; t[12] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[13] = "ResultSet nen\u00ed aktualizavateln\u00fd. Dotaz mus\u00ed vyb\u00edrat pouze z jedn\u00e9 tabulky a mus\u00ed obsahovat v\u0161echny prim\u00e1rn\u00ed kl\u00ed\u010de tabulky. Koukni do JDBC 2.1 API Specifikace, sekce 5.6 pro v\u00edce podrobnost\u00ed."; + t[13] = "ResultSet není aktualizavatelný. Dotaz musí vybírat pouze z jedné tabulky a musí obsahovat všechny primární klíče tabulky. Koukni do JDBC 2.1 API Specifikace, sekce 5.6 pro více podrobností."; t[14] = "The JVM claims not to support the {0} encoding."; - t[15] = "JVM tvrd\u00ed, \u017ee nepodporuje kodov\u00e1n\u00ed {0}."; + t[15] = "JVM tvrdí, že nepodporuje kodování {0}."; t[16] = "An I/O error occurred while sending to the backend."; - t[17] = "Vystupn\u011b/v\u00fdstupn\u00ed chyba p\u0159i odes\u00edl\u00e1n\u00ed k backend."; + t[17] = "Vystupně/výstupní chyba při odesílání k backend."; t[18] = "Statement has been closed."; - t[19] = "Statement byl uzav\u0159en."; + t[19] = "Statement byl uzavřen."; t[20] = "Unknown Types value."; - t[21] = "Nezn\u00e1m\u00e1 hodnota typu."; + t[21] = "Neznámá hodnota typu."; t[22] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[23] = "ResultSets se soub\u011b\u017enost\u00ed CONCUR_READ_ONLY nem\u016f\u017ee b\u00fdt aktualizov\u00e1no"; + t[23] = "ResultSets se souběžností CONCUR_READ_ONLY nemůže být aktualizováno"; t[26] = "You must specify at least one column value to insert a row."; - t[27] = "Mus\u00edte vyplnit alespo\u0148 jeden sloupec pro vlo\u017een\u00ed \u0159\u00e1dku."; + t[27] = "Musíte vyplnit alespoň jeden sloupec pro vložení řádku."; t[32] = "No primary key found for table {0}."; - t[33] = "Nenalezen prim\u00e1rn\u00ed kl\u00ed\u010d pro tabulku {0}."; + t[33] = "Nenalezen primární klíč pro tabulku {0}."; t[34] = "Cannot establish a savepoint in auto-commit mode."; - t[35] = "Nemohu vytvo\u0159it savepoint v auto-commit modu."; + t[35] = "Nemohu vytvořit savepoint v auto-commit modu."; t[38] = "Can''t use relative move methods while on the insert row."; - t[39] = "Nem\u016f\u017eete pou\u017e\u00edvat relativn\u00ed p\u0159esuny p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[39] = "Nemůžete používat relativní přesuny při vkládání řádku."; t[44] = "The column name {0} was not found in this ResultSet."; - t[45] = "Sloupec pojmenovan\u00fd {0} nebyl nalezen v ResultSet."; + t[45] = "Sloupec pojmenovaný {0} nebyl nalezen v ResultSet."; t[46] = "This statement has been closed."; - t[47] = "P\u0159\u00edkaz byl uzav\u0159en."; + t[47] = "Příkaz byl uzavřen."; t[48] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[49] = "T\u0159\u00edda SSLSocketFactory poskytla {0} co\u017e nem\u016f\u017ee b\u00fdt instancionizov\u00e1no."; + t[49] = "Třída SSLSocketFactory poskytla {0} což nemůže být instancionizováno."; t[50] = "Multiple ResultSets were returned by the query."; - t[51] = "V\u00edcen\u00e1sobn\u00fd ResultSet byl vr\u00e1cen dotazem."; + t[51] = "Vícenásobný ResultSet byl vrácen dotazem."; t[52] = "DataSource has been closed."; - t[53] = "DataSource byl uzav\u0159en."; + t[53] = "DataSource byl uzavřen."; t[56] = "Error loading default settings from driverconfig.properties"; - t[57] = "Chyba na\u010d\u00edt\u00e1n\u00ed standardn\u00edho nastaven\u00ed z driverconfig.properties"; + t[57] = "Chyba načítání standardního nastavení z driverconfig.properties"; t[62] = "Bad value for type {0} : {1}"; - t[63] = "\u0160patn\u00e1 hodnota pro typ {0} : {1}"; + t[63] = "Špatná hodnota pro typ {0} : {1}"; t[66] = "Method {0} is not yet implemented."; - t[67] = "Metoda {0} nen\u00ed implementov\u00e1na."; + t[67] = "Metoda {0} není implementována."; t[68] = "The array index is out of range: {0}"; t[69] = "Index pole mimo rozsah: {0}"; t[70] = "Unexpected command status: {0}."; - t[71] = "Neo\u010dek\u00e1van\u00fd stav p\u0159\u00edkazu: {0}."; + t[71] = "Neočekávaný stav příkazu: {0}."; t[74] = "Expected command status BEGIN, got {0}."; - t[75] = "O\u010dek\u00e1v\u00e1n p\u0159\u00edkaz BEGIN, obdr\u017een {0}."; + t[75] = "Očekáván příkaz BEGIN, obdržen {0}."; t[76] = "Cannot retrieve the id of a named savepoint."; - t[77] = "Nemohu z\u00edskat id nepojmenovan\u00e9ho savepointu."; + t[77] = "Nemohu získat id nepojmenovaného savepointu."; t[78] = "Unexpected error writing large object to database."; - t[79] = "Neo\u010dek\u00e1van\u00e1 chyba p\u0159i zapisov\u00e1n\u00ed velk\u00e9ho objektu do datab\u00e1ze."; + t[79] = "Neočekávaná chyba při zapisování velkého objektu do databáze."; t[84] = "Not on the insert row."; - t[85] = "Ne na vkl\u00e1dan\u00e9m \u0159\u00e1dku."; + t[85] = "Ne na vkládaném řádku."; t[86] = "Returning autogenerated keys is not supported."; - t[87] = "Vr\u00e1cen\u00ed automaticky generovan\u00fdch kl\u00ed\u010d\u016f nen\u00ed podporov\u00e1no."; + t[87] = "Vrácení automaticky generovaných klíčů není podporováno."; t[88] = "The server requested password-based authentication, but no password was provided."; - t[89] = "Server vy\u017eaduje ov\u011b\u0159en\u00ed heslem, ale \u017e\u00e1dn\u00e9 nebylo posl\u00e1no."; + t[89] = "Server vyžaduje ověření heslem, ale žádné nebylo posláno."; t[98] = "Unable to load the class {0} responsible for the datatype {1}"; - t[99] = "Nemohu na\u010d\u00edst t\u0159\u00eddu {0} odpov\u011bdnou za typ {1}"; + t[99] = "Nemohu načíst třídu {0} odpovědnou za typ {1}"; t[100] = "Invalid fetch direction constant: {0}."; - t[101] = "\u0160patn\u00fd sm\u011br \u010dten\u00ed: {0}."; + t[101] = "Špatný směr čtení: {0}."; t[102] = "Conversion of money failed."; - t[103] = "P\u0159evod pen\u011bz selhal."; + t[103] = "Převod peněz selhal."; t[104] = "Connection has been closed."; - t[105] = "Spojeni bylo uzav\u0159eno."; + t[105] = "Spojeni bylo uzavřeno."; t[106] = "Cannot retrieve the name of an unnamed savepoint."; - t[107] = "Nemohu z\u00edskat n\u00e1zev nepojmenovan\u00e9ho savepointu."; + t[107] = "Nemohu získat název nepojmenovaného savepointu."; t[108] = "Large Objects may not be used in auto-commit mode."; - t[109] = "Velk\u00e9 objecky nemohou b\u00fdt pou\u017eity v auto-commit modu."; + t[109] = "Velké objecky nemohou být použity v auto-commit modu."; t[110] = "This ResultSet is closed."; - t[111] = "Tento ResultSet je uzav\u0159en\u00fd."; + t[111] = "Tento ResultSet je uzavřený."; t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[117] = "N\u011bco neobvykl\u00e9ho p\u0159inutilo ovlada\u010d selhat. Pros\u00edm nahlaste tuto vyj\u00edmku."; + t[117] = "Něco neobvyklého přinutilo ovladač selhat. Prosím nahlaste tuto vyjímku."; t[118] = "The server does not support SSL."; t[119] = "Server nepodporuje SSL."; t[120] = "Invalid stream length {0}."; - t[121] = "Vadn\u00e1 d\u00e9lka proudu {0}."; + t[121] = "Vadná délka proudu {0}."; t[126] = "The maximum field size must be a value greater than or equal to 0."; - t[127] = "Maxim\u00e1ln\u00ed velikost pole mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[127] = "Maximální velikost pole musí být nezáporné číslo."; t[130] = "Cannot call updateRow() when on the insert row."; - t[131] = "Nemohu volat updateRow() na vlk\u00e1dan\u00e9m \u0159\u00e1dku."; + t[131] = "Nemohu volat updateRow() na vlkádaném řádku."; t[132] = "A CallableStatement was executed with nothing returned."; - t[133] = "CallableStatement byl spu\u0161t\u011bn, le\u010d nic nebylo vr\u00e1ceno."; + t[133] = "CallableStatement byl spuštěn, leč nic nebylo vráceno."; t[134] = "Provided Reader failed."; - t[135] = "Selhal poskytnut\u00fd Reader."; + t[135] = "Selhal poskytnutý Reader."; t[146] = "Cannot call deleteRow() when on the insert row."; - t[147] = "Nem\u016f\u017eete volat deleteRow() p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[147] = "Nemůžete volat deleteRow() při vkládání řádku."; t[156] = "Where: {0}"; t[157] = "Kde: {0}"; t[158] = "An unexpected result was returned by a query."; - t[159] = "Obdr\u017een neo\u010dek\u00e1van\u00fd v\u00fdsledek dotazu."; + t[159] = "Obdržen neočekávaný výsledek dotazu."; t[160] = "The connection attempt failed."; - t[161] = "Pokus o p\u0159ipojen\u00ed selhal."; + t[161] = "Pokus o připojení selhal."; t[162] = "Too many update results were returned."; - t[163] = "Bylo vr\u00e1ceno p\u0159\u00edli\u0161 mnoho v\u00fdsledk\u016f aktualizac\u00ed."; + t[163] = "Bylo vráceno příliš mnoho výsledků aktualizací."; t[164] = "Unknown type {0}."; - t[165] = "Nezn\u00e1m\u00fd typ {0}."; + t[165] = "Neznámý typ {0}."; t[166] = "{0} function takes two and only two arguments."; - t[167] = "Funkce {0} bere pr\u00e1v\u011b dva argumenty."; + t[167] = "Funkce {0} bere právě dva argumenty."; t[168] = "{0} function doesn''t take any argument."; - t[169] = "Funkce {0} nebere \u017e\u00e1dn\u00fd argument."; + t[169] = "Funkce {0} nebere žádný argument."; t[172] = "Unable to find name datatype in the system catalogs."; - t[173] = "Nemohu naj\u00edt n\u00e1zev typu v syst\u00e9mov\u00e9m katalogu."; + t[173] = "Nemohu najít název typu v systémovém katalogu."; t[174] = "Protocol error. Session setup failed."; - t[175] = "Chyba protokolu. Nastaven\u00ed relace selhalo."; + t[175] = "Chyba protokolu. Nastavení relace selhalo."; t[176] = "{0} function takes one and only one argument."; t[177] = "Funkce {0} bere jeden argument."; t[186] = "The driver currently does not support COPY operations."; - t[187] = "Ovlada\u010d nyn\u00ed nepodporuje p\u0159\u00edkaz COPY."; + t[187] = "Ovladač nyní nepodporuje příkaz COPY."; t[190] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[191] = "Nalezena vada ve znakov\u00fdch datech. Toto m\u016f\u017ee b\u00fdt zp\u016fsobeno ulo\u017een\u00fdmi daty obsahuj\u00edc\u00edmi znaky, kter\u00e9 jsou z\u00e1vadn\u00e9 pro znakovou sadu nastavenou p\u0159i zakl\u00e1d\u00e1n\u00ed datab\u00e1ze. Nejzn\u00e1mej\u0161\u00ed p\u0159\u00edklad je ukl\u00e1d\u00e1n\u00ed 8bitov\u00fdch dat vSQL_ASCII datab\u00e1zi."; + t[191] = "Nalezena vada ve znakových datech. Toto může být způsobeno uloženými daty obsahujícími znaky, které jsou závadné pro znakovou sadu nastavenou při zakládání databáze. Nejznámejší příklad je ukládání 8bitových dat vSQL_ASCII databázi."; t[196] = "Fetch size must be a value greater to or equal to 0."; - t[197] = "Nabran\u00e1 velikost mus\u00ed b\u00fdt nez\u00e1porn\u00e1."; + t[197] = "Nabraná velikost musí být nezáporná."; t[204] = "Unsupported Types value: {0}"; - t[205] = "Nepodporovan\u00e1 hodnota typu: {0}"; + t[205] = "Nepodporovaná hodnota typu: {0}"; t[206] = "Can''t refresh the insert row."; - t[207] = "Nemohu obnovit vkl\u00e1dan\u00fd \u0159\u00e1dek."; + t[207] = "Nemohu obnovit vkládaný řádek."; t[210] = "Maximum number of rows must be a value grater than or equal to 0."; - t[211] = "Maxim\u00e1ln\u00ed po\u010det \u0159\u00e1dek mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[211] = "Maximální počet řádek musí být nezáporné číslo."; t[216] = "No value specified for parameter {0}."; - t[217] = "Nespecifikov\u00e1na hodnota parametru {0}."; + t[217] = "Nespecifikována hodnota parametru {0}."; t[218] = "The array index is out of range: {0}, number of elements: {1}."; - t[219] = "Index pole mimo rozsah: {0}, po\u010det prvk\u016f: {1}."; + t[219] = "Index pole mimo rozsah: {0}, počet prvků: {1}."; t[220] = "Provided InputStream failed."; - t[221] = "Selhal poskytnut\u00fd InputStream."; + t[221] = "Selhal poskytnutý InputStream."; t[226] = "Failed to initialize LargeObject API"; t[227] = "Selhala inicializace LargeObject API"; t[228] = "Cannot reference a savepoint after it has been released."; - t[229] = "Nemohu z\u00edskat odkaz na savepoint, kdy\u017e byl uvoln\u011bn."; + t[229] = "Nemohu získat odkaz na savepoint, když byl uvolněn."; t[232] = "An error occurred while setting up the SSL connection."; - t[233] = "Nastala chyba p\u0159i nastaven\u00ed SSL spojen\u00ed."; + t[233] = "Nastala chyba při nastavení SSL spojení."; t[246] = "Detail: {0}"; t[247] = "Detail: {0}"; t[248] = "This PooledConnection has already been closed."; - t[249] = "Tento PooledConnection byl uzav\u0159en."; + t[249] = "Tento PooledConnection byl uzavřen."; t[250] = "A result was returned when none was expected."; - t[251] = "Obdr\u017een v\u00fdsledek, ikdy\u017e \u017e\u00e1dn\u00fd nebyl o\u010dek\u00e1v\u00e1n."; + t[251] = "Obdržen výsledek, ikdyž žádný nebyl očekáván."; t[254] = "The JVM claims not to support the encoding: {0}"; - t[255] = "JVM tvrd\u00ed, \u017ee nepodporuje kodov\u00e1n\u00ed: {0}"; + t[255] = "JVM tvrdí, že nepodporuje kodování: {0}"; t[256] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[257] = "Index parametru mimo rozsah: {0}, po\u010det parametr\u016f {1}."; + t[257] = "Index parametru mimo rozsah: {0}, počet parametrů {1}."; t[258] = "LOB positioning offsets start at 1."; - t[259] = "Za\u010d\u00e1tek pozicov\u00e1n\u00ed LOB za\u010d\u00edna na 1."; + t[259] = "Začátek pozicování LOB začína na 1."; t[260] = "{0} function takes two or three arguments."; - t[261] = "Funkce {0} bere dva nebo t\u0159i argumenty."; + t[261] = "Funkce {0} bere dva nebo tři argumenty."; t[262] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[263] = "Pr\u00e1v\u011b jste za pozic\u00ed konce ResultSetu. Zde nem\u016f\u017eete volat deleteRow().s"; + t[263] = "Právě jste za pozicí konce ResultSetu. Zde nemůžete volat deleteRow().s"; t[266] = "Server SQLState: {0}"; t[267] = "Server SQLState: {0}"; t[270] = "{0} function takes four and only four argument."; - t[271] = "Funkce {0} bere p\u0159esn\u011b \u010dty\u0159i argumenty."; + t[271] = "Funkce {0} bere přesně čtyři argumenty."; t[272] = "Failed to create object for: {0}."; - t[273] = "Selhalo vytvo\u0159en\u00ed objektu: {0}."; + t[273] = "Selhalo vytvoření objektu: {0}."; t[274] = "No results were returned by the query."; - t[275] = "Neobdr\u017een \u017e\u00e1dn\u00fd v\u00fdsledek dotazu."; + t[275] = "Neobdržen žádný výsledek dotazu."; t[276] = "Position: {0}"; t[277] = "Pozice: {0}"; t[278] = "The column index is out of range: {0}, number of columns: {1}."; - t[279] = "Index sloupece je mimo rozsah: {0}, po\u010det sloupc\u016f: {1}."; + t[279] = "Index sloupece je mimo rozsah: {0}, počet sloupců: {1}."; t[280] = "Unknown Response Type {0}."; - t[281] = "Nezn\u00e1m\u00fd typ odpov\u011bdi {0}."; + t[281] = "Neznámý typ odpovědi {0}."; t[284] = "Hint: {0}"; t[285] = "Rada: {0}"; t[286] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[287] = "Poloha: Soubor: {0}, Rutina: {1}, \u0158\u00e1dek: {2}"; + t[287] = "Poloha: Soubor: {0}, Rutina: {1}, Řádek: {2}"; t[288] = "Query timeout must be a value greater than or equals to 0."; - t[289] = "\u010casov\u00fd limit dotazu mus\u00ed b\u00fdt nez\u00e1porn\u00e9 \u010d\u00edslo."; + t[289] = "Časový limit dotazu musí být nezáporné číslo."; t[292] = "Unable to translate data into the desired encoding."; - t[293] = "Nemohu p\u0159elo\u017eit data do po\u017eadovan\u00e9ho k\u00f3dov\u00e1n\u00ed."; + t[293] = "Nemohu přeložit data do požadovaného kódování."; t[296] = "Cannot call cancelRowUpdates() when on the insert row."; - t[297] = "Nem\u016f\u017eete volat cancelRowUpdates() p\u0159i vkl\u00e1d\u00e1n\u00ed \u0159\u00e1dku."; + t[297] = "Nemůžete volat cancelRowUpdates() při vkládání řádku."; t[298] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[299] = "Ov\u011b\u0159en\u00ed typu {0} nen\u00ed podporov\u00e1no. Zkontrolujte zda konfigura\u010dn\u00ed soubor pg_hba.conf obsahuje klientskou IP adresu \u010di pods\u00ed\u0165 a zda je pou\u017eit\u00e9 ov\u011b\u0159enovac\u00ed sch\u00e9ma podporov\u00e1no ovlada\u010dem."; + t[299] = "Ověření typu {0} není podporováno. Zkontrolujte zda konfigurační soubor pg_hba.conf obsahuje klientskou IP adresu či podsíť a zda je použité ověřenovací schéma podporováno ovladačem."; t[308] = "There are no rows in this ResultSet."; - t[309] = "\u017d\u00e1dn\u00fd \u0159\u00e1dek v ResultSet."; + t[309] = "Žádný řádek v ResultSet."; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java index 7d3e9d5df9..c4108a6949 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_de.java @@ -17,29 +17,29 @@ public class messages_de extends java.util.ResourceBundle { t[36] = "Multiple ResultSets were returned by the query."; t[37] = "Die Abfrage ergab mehrere ResultSets."; t[50] = "Too many update results were returned."; - t[51] = "Zu viele Updateergebnisse wurden zur\u00fcckgegeben."; + t[51] = "Zu viele Updateergebnisse wurden zurückgegeben."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[59] = "Ung\u00fcltige UTF-8-Sequenz: das erste Byte ist {0}: {1}"; + t[59] = "Ungültige UTF-8-Sequenz: das erste Byte ist {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; t[67] = "Der Spaltenname {0} wurde in diesem ResultSet nicht gefunden."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Der Fastpath-Aufruf {0} gab kein Ergebnis zur\u00fcck, jedoch wurde ein Integer erwartet."; + t[71] = "Der Fastpath-Aufruf {0} gab kein Ergebnis zurück, jedoch wurde ein Integer erwartet."; t[74] = "Protocol error. Session setup failed."; t[75] = "Protokollfehler. Die Sitzung konnte nicht gestartet werden."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; t[77] = "Ein CallableStatement wurde deklariert, aber kein Aufruf von ''registerOutParameter(1, )'' erfolgte."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "ResultSets, deren Zugriffsart CONCUR_READ_ONLY ist, k\u00f6nnen nicht aktualisiert werden."; + t[79] = "ResultSets, deren Zugriffsart CONCUR_READ_ONLY ist, können nicht aktualisiert werden."; t[90] = "LOB positioning offsets start at 1."; - t[91] = "Positionsoffsets f\u00fcr LOBs beginnen bei 1."; + t[91] = "Positionsoffsets für LOBs beginnen bei 1."; t[92] = "Internal Position: {0}"; t[93] = "Interne Position: {0}"; t[96] = "free() was called on this LOB previously"; - t[97] = "free() wurde bereits f\u00fcr dieses LOB aufgerufen."; + t[97] = "free() wurde bereits für dieses LOB aufgerufen."; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "Die Nur-Lesen-Eigenschaft einer Transaktion kann nicht w\u00e4hrend der Transaktion ver\u00e4ndert werden."; + t[101] = "Die Nur-Lesen-Eigenschaft einer Transaktion kann nicht während der Transaktion verändert werden."; t[102] = "The JVM claims not to support the {0} encoding."; - t[103] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterst\u00fctzen."; + t[103] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterstützen."; t[108] = "{0} function doesn''t take any argument."; t[109] = "Die {0}-Funktion akzeptiert kein Argument."; t[112] = "xid must not be null"; @@ -47,9 +47,9 @@ public class messages_de extends java.util.ResourceBundle { t[114] = "Connection has been closed."; t[115] = "Die Verbindung wurde geschlossen."; t[122] = "The server does not support SSL."; - t[123] = "Der Server unterst\u00fctzt SSL nicht."; + t[123] = "Der Server unterstützt SSL nicht."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[141] = "Ung\u00fcltige UTF-8-Sequenz: Byte {0} der {1} Bytesequenz ist nicht 10xxxxxx: {2}"; + t[141] = "Ungültige UTF-8-Sequenz: Byte {0} der {1} Bytesequenz ist nicht 10xxxxxx: {2}"; t[148] = "Hint: {0}"; t[149] = "Hinweis: {0}"; t[152] = "Unable to find name datatype in the system catalogs."; @@ -63,21 +63,21 @@ public class messages_de extends java.util.ResourceBundle { t[170] = "Finalizing a Connection that was never closed:"; t[171] = "Eine Connection wurde finalisiert, die nie geschlossen wurde:"; t[180] = "The maximum field size must be a value greater than or equal to 0."; - t[181] = "Die maximale Feldgr\u00f6\u00dfe muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[181] = "Die maximale Feldgröße muss ein Wert größer oder gleich Null sein."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "LOBs in PostgreSQL k\u00f6nnen nur auf {0} verweisen."; + t[187] = "LOBs in PostgreSQL können nur auf {0} verweisen."; t[194] = "Method {0} is not yet implemented."; t[195] = "Die Methode {0} ist noch nicht implementiert."; t[198] = "Error loading default settings from driverconfig.properties"; t[199] = "Fehler beim Laden der Voreinstellungen aus driverconfig.properties"; t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[201] = "Ergebnisse k\u00f6nnen nicht von einem CallableStatement abgerufen werden, bevor es ausgef\u00fchrt wurde."; + t[201] = "Ergebnisse können nicht von einem CallableStatement abgerufen werden, bevor es ausgeführt wurde."; t[202] = "Large Objects may not be used in auto-commit mode."; - t[203] = "LargeObjects (LOB) d\u00fcrfen im Modus ''auto-commit'' nicht verwendet werden."; + t[203] = "LargeObjects (LOB) dürfen im Modus ''auto-commit'' nicht verwendet werden."; t[208] = "Expected command status BEGIN, got {0}."; t[209] = "Statt des erwarteten Befehlsstatus BEGIN, wurde {0} empfangen."; t[218] = "Invalid fetch direction constant: {0}."; - t[219] = "Unzul\u00e4ssige Richtungskonstante bei fetch: {0}."; + t[219] = "Unzulässige Richtungskonstante bei fetch: {0}."; t[222] = "{0} function takes three and only three arguments."; t[223] = "Die {0}-Funktion erwartet genau drei Argumente."; t[226] = "Error during recover"; @@ -85,7 +85,7 @@ public class messages_de extends java.util.ResourceBundle { t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; t[229] = "Das ResultSet kann nicht aktualisiert werden, da es entweder vor oder nach dem Ende der Ergebnisse ist."; t[230] = "The JVM claims not to support the encoding: {0}"; - t[231] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterst\u00fctzen."; + t[231] = "Die JVM behauptet, die Zeichenkodierung {0} nicht zu unterstützen."; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; t[233] = "Ein Parameter des Typs {0} wurde registriert, jedoch erfolgte ein Aufruf get{1} (sqltype={2})."; t[240] = "Cannot establish a savepoint in auto-commit mode."; @@ -93,33 +93,33 @@ public class messages_de extends java.util.ResourceBundle { t[242] = "Cannot retrieve the id of a named savepoint."; t[243] = "Die ID eines benamten Rettungspunktes kann nicht ermittelt werden."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; - t[245] = "Der Spaltenindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Anzahl Spalten: {1}."; + t[245] = "Der Spaltenindex {0} ist außerhalb des gültigen Bereichs. Anzahl Spalten: {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "Etwas Ungew\u00f6hnliches ist passiert, das den Treiber fehlschlagen lie\u00df. Bitte teilen Sie diesen Fehler mit."; + t[251] = "Etwas Ungewöhnliches ist passiert, das den Treiber fehlschlagen ließ. Bitte teilen Sie diesen Fehler mit."; t[260] = "Cannot cast an instance of {0} to type {1}"; - t[261] = "Die Typwandlung f\u00fcr eine Instanz von {0} nach {1} ist nicht m\u00f6glich."; + t[261] = "Die Typwandlung für eine Instanz von {0} nach {1} ist nicht möglich."; t[264] = "Unknown Types value."; t[265] = "Unbekannter Typ."; t[266] = "Invalid stream length {0}."; - t[267] = "Ung\u00fcltige L\u00e4nge des Datenstroms: {0}."; + t[267] = "Ungültige Länge des Datenstroms: {0}."; t[272] = "Cannot retrieve the name of an unnamed savepoint."; t[273] = "Der Name eines namenlosen Rettungpunktes kann nicht ermittelt werden."; t[274] = "Unable to translate data into the desired encoding."; - t[275] = "Die Daten konnten nicht in die gew\u00fcnschte Kodierung gewandelt werden."; + t[275] = "Die Daten konnten nicht in die gewünschte Kodierung gewandelt werden."; t[276] = "Expected an EOF from server, got: {0}"; t[277] = "Vom Server wurde ein EOF erwartet, jedoch {0} gelesen."; t[278] = "Bad value for type {0} : {1}"; - t[279] = "Unzul\u00e4ssiger Wert f\u00fcr den Typ {0} : {1}."; + t[279] = "Unzulässiger Wert für den Typ {0} : {1}."; t[280] = "The server requested password-based authentication, but no password was provided."; t[281] = "Der Server verlangt passwortbasierte Authentifizierung, jedoch wurde kein Passwort angegeben."; t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[297] = "Das Abschneiden gro\u00dfer Objekte ist nur in Versionen nach 8.3 implementiert."; + t[297] = "Das Abschneiden großer Objekte ist nur in Versionen nach 8.3 implementiert."; t[298] = "This PooledConnection has already been closed."; t[299] = "Diese PooledConnection ist bereits geschlossen worden."; t[302] = "ClientInfo property not supported."; - t[303] = "Die ClientInfo-Eigenschaft ist nicht unterst\u00fctzt."; + t[303] = "Die ClientInfo-Eigenschaft ist nicht unterstützt."; t[306] = "Fetch size must be a value greater to or equal to 0."; - t[307] = "Die Fetch-Gr\u00f6\u00dfe muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[307] = "Die Fetch-Größe muss ein Wert größer oder gleich Null sein."; t[312] = "A connection could not be made using the requested protocol {0}."; t[313] = "Es konnte keine Verbindung unter Verwendung des Protokolls {0} hergestellt werden."; t[322] = "There are no rows in this ResultSet."; @@ -127,111 +127,111 @@ public class messages_de extends java.util.ResourceBundle { t[324] = "Unexpected command status: {0}."; t[325] = "Unerwarteter Befehlsstatus: {0}."; t[334] = "Not on the insert row."; - t[335] = "Nicht in der Einf\u00fcgezeile."; + t[335] = "Nicht in der Einfügezeile."; t[344] = "Server SQLState: {0}"; t[345] = "Server SQLState: {0}"; t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; t[349] = "Der standard_conforming_strings Parameter des Servers steht auf {0}. Der JDBC-Treiber erwartete on oder off."; t[360] = "The driver currently does not support COPY operations."; - t[361] = "Der Treiber unterst\u00fctzt derzeit keine COPY-Operationen."; + t[361] = "Der Treiber unterstützt derzeit keine COPY-Operationen."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; - t[365] = "Der Arrayindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Vorhandene Elemente: {1}."; + t[365] = "Der Arrayindex {0} ist außerhalb des gültigen Bereichs. Vorhandene Elemente: {1}."; t[374] = "suspend/resume not implemented"; t[375] = "Anhalten/Fortsetzen ist nicht implementiert."; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[379] = "Nicht implementiert: Die einphasige Best\u00e4tigung muss \u00fcber die selbe Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen."; + t[379] = "Nicht implementiert: Die einphasige Bestätigung muss über die selbe Verbindung abgewickelt werden, die verwendet wurde, um sie zu beginnen."; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; - t[399] = "''cancelRowUpdates()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[399] = "''cancelRowUpdates()'' kann in der Einfügezeile nicht aufgerufen werden."; t[400] = "Cannot reference a savepoint after it has been released."; t[401] = "Ein Rettungspunkt kann nicht angesprochen werden, nach dem er entfernt wurde."; t[402] = "You must specify at least one column value to insert a row."; - t[403] = "Sie m\u00fcssen mindestens einen Spaltenwert angeben, um eine Zeile einzuf\u00fcgen."; + t[403] = "Sie müssen mindestens einen Spaltenwert angeben, um eine Zeile einzufügen."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "Es konnte kein Wert f\u00fcr MaxIndexKeys gefunden werden, da die Systemkatalogdaten fehlen."; + t[405] = "Es konnte kein Wert für MaxIndexKeys gefunden werden, da die Systemkatalogdaten fehlen."; t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[413] = "Ung\u00fcltige UTF-8-Sequenz: Der letzte Wert ist au\u00dferhalb des zul\u00e4ssigen Bereichs: {0}"; + t[413] = "Ungültige UTF-8-Sequenz: Der letzte Wert ist außerhalb des zulässigen Bereichs: {0}"; t[414] = "{0} function takes two or three arguments."; t[415] = "Die {0}-Funktion erwartet zwei oder drei Argumente."; t[440] = "Unexpected error writing large object to database."; t[441] = "Beim Schreiben eines LargeObjects (LOB) in die Datenbank trat ein unerwarteter Fehler auf."; t[442] = "Zero bytes may not occur in string parameters."; - t[443] = "Stringparameter d\u00fcrfen keine Nullbytes enthalten."; + t[443] = "Stringparameter dürfen keine Nullbytes enthalten."; t[444] = "A result was returned when none was expected."; t[445] = "Die Anweisung lieferte ein Ergebnis obwohl keines erwartet wurde."; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "Das ResultSet kann nicht aktualisiert werden. Die Abfrage, die es erzeugte, darf nur eine Tabelle und muss darin alle Prim\u00e4rschl\u00fcssel ausw\u00e4hlen. Siehe JDBC 2.1 API-Spezifikation, Abschnitt 5.6 f\u00fcr mehr Details."; + t[451] = "Das ResultSet kann nicht aktualisiert werden. Die Abfrage, die es erzeugte, darf nur eine Tabelle und muss darin alle Primärschlüssel auswählen. Siehe JDBC 2.1 API-Spezifikation, Abschnitt 5.6 für mehr Details."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "Die Nachrichtenl\u00e4nge {0} ist zu gro\u00df. Das kann von sehr gro\u00dfen oder inkorrekten L\u00e4ngenangaben eines InputStream-Parameters herr\u00fchren."; + t[455] = "Die Nachrichtenlänge {0} ist zu groß. Das kann von sehr großen oder inkorrekten Längenangaben eines InputStream-Parameters herrühren."; t[460] = "Statement has been closed."; t[461] = "Die Anweisung wurde geschlossen."; t[462] = "No value specified for parameter {0}."; - t[463] = "F\u00fcr den Parameter {0} wurde kein Wert angegeben."; + t[463] = "Für den Parameter {0} wurde kein Wert angegeben."; t[468] = "The array index is out of range: {0}"; - t[469] = "Der Arrayindex ist au\u00dferhalb des g\u00fcltigen Bereichs: {0}."; + t[469] = "Der Arrayindex ist außerhalb des gültigen Bereichs: {0}."; t[474] = "Unable to bind parameter values for statement."; t[475] = "Der Anweisung konnten keine Parameterwerte zugewiesen werden."; t[476] = "Can''t refresh the insert row."; - t[477] = "Die Einf\u00fcgezeile kann nicht aufgefrischt werden."; + t[477] = "Die Einfügezeile kann nicht aufgefrischt werden."; t[480] = "No primary key found for table {0}."; - t[481] = "F\u00fcr die Tabelle {0} konnte kein Prim\u00e4rschl\u00fcssel gefunden werden."; + t[481] = "Für die Tabelle {0} konnte kein Primärschlüssel gefunden werden."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; - t[483] = "Die Transaktions-Trennungsstufe kann nicht w\u00e4hrend einer Transaktion ver\u00e4ndert werden."; + t[483] = "Die Transaktions-Trennungsstufe kann nicht während einer Transaktion verändert werden."; t[498] = "Provided InputStream failed."; t[499] = "Der bereitgestellte InputStream scheiterte."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[501] = "Der Parameterindex {0} ist au\u00dferhalb des g\u00fcltigen Bereichs. Es gibt {1} Parameter."; + t[501] = "Der Parameterindex {0} ist außerhalb des gültigen Bereichs. Es gibt {1} Parameter."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "Der Parameter ''Date Style'' wurde auf dem Server auf {0} ver\u00e4ndert. Der JDBC-Treiber setzt f\u00fcr korrekte Funktion voraus, dass ''Date Style'' mit ''ISO'' beginnt."; + t[503] = "Der Parameter ''Date Style'' wurde auf dem Server auf {0} verändert. Der JDBC-Treiber setzt für korrekte Funktion voraus, dass ''Date Style'' mit ''ISO'' beginnt."; t[508] = "Connection attempt timed out."; - t[509] = "Keine Verbindung innerhalb des Zeitintervalls m\u00f6glich."; + t[509] = "Keine Verbindung innerhalb des Zeitintervalls möglich."; t[512] = "Internal Query: {0}"; t[513] = "Interne Abfrage: {0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "Der Authentifizierungstyp {0} wird nicht unterst\u00fctzt. Stellen Sie sicher, dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients enth\u00e4lt und dass der Client ein Authentifizierungsschema nutzt, das vom Treiber unterst\u00fctzt wird."; + t[519] = "Der Authentifizierungstyp {0} wird nicht unterstützt. Stellen Sie sicher, dass die Datei ''pg_hba.conf'' die IP-Adresse oder das Subnetz des Clients enthält und dass der Client ein Authentifizierungsschema nutzt, das vom Treiber unterstützt wird."; t[526] = "Interval {0} not yet implemented"; t[527] = "Intervall {0} ist noch nicht implementiert."; t[532] = "Conversion of interval failed"; t[533] = "Die Umwandlung eines Intervalls schlug fehl."; t[540] = "Query timeout must be a value greater than or equals to 0."; - t[541] = "Das Abfragetimeout muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[541] = "Das Abfragetimeout muss ein Wert größer oder gleich Null sein."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "Die Verbindung wurde automatisch geschlossen, da entweder eine neue Verbindung f\u00fcr die gleiche PooledConnection ge\u00f6ffnet wurde, oder die PooledConnection geschlossen worden ist.."; + t[543] = "Die Verbindung wurde automatisch geschlossen, da entweder eine neue Verbindung für die gleiche PooledConnection geöffnet wurde, oder die PooledConnection geschlossen worden ist.."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; t[545] = "Das ResultSet ist nicht richtig positioniert. Eventuell muss ''next'' aufgerufen werden."; t[550] = "This statement has been closed."; t[551] = "Die Anweisung wurde geschlossen."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "Der in SQL f\u00fcr eine Instanz von {0} zu verwendende Datentyp kann nicht abgeleitet werden. Benutzen Sie ''setObject()'' mit einem expliziten Typ, um ihn festzulegen."; + t[553] = "Der in SQL für eine Instanz von {0} zu verwendende Datentyp kann nicht abgeleitet werden. Benutzen Sie ''setObject()'' mit einem expliziten Typ, um ihn festzulegen."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "''updateRow()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[555] = "''updateRow()'' kann in der Einfügezeile nicht aufgerufen werden."; t[562] = "Detail: {0}"; t[563] = "Detail: {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; - t[567] = "''deleteRow()'' kann in der Einf\u00fcgezeile nicht aufgerufen werden."; + t[567] = "''deleteRow()'' kann in der Einfügezeile nicht aufgerufen werden."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; t[569] = "Die augenblickliche Position ist vor dem Beginn des ResultSets. Dort kann ''deleteRow()'' nicht aufgerufen werden."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[577] = "Ung\u00fcltige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}"; + t[577] = "Ungültige UTF-8-Sequenz: der letzte Wert ist ein Ersatzwert: {0}"; t[578] = "Unknown Response Type {0}."; t[579] = "Die Antwort weist einen unbekannten Typ auf: {0}."; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "Nichtunterst\u00fctzter Wert f\u00fcr den Stringparameter: {0}"; + t[583] = "Nichtunterstützter Wert für den Stringparameter: {0}"; t[584] = "Conversion to type {0} failed: {1}."; t[585] = "Die Umwandlung in den Typ {0} schlug fehl: {1}."; t[586] = "Conversion of money failed."; - t[587] = "Die Umwandlung eines W\u00e4hrungsbetrags schlug fehl."; + t[587] = "Die Umwandlung eines Währungsbetrags schlug fehl."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "Die f\u00fcr den Datentyp {1} verantwortliche Klasse {0} konnte nicht geladen werden."; + t[601] = "Die für den Datentyp {1} verantwortliche Klasse {0} konnte nicht geladen werden."; t[604] = "The fastpath function {0} is unknown."; t[605] = "Die Fastpath-Funktion {0} ist unbekannt."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; - t[609] = "Unzul\u00e4ssige Syntax f\u00fcr ein Funktions- oder Prozedur-Escape an Offset {0}."; + t[609] = "Unzulässige Syntax für ein Funktions- oder Prozedur-Escape an Offset {0}."; t[612] = "Provided Reader failed."; t[613] = "Der bereitgestellte Reader scheiterte."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; - t[615] = "Die maximale Zeilenzahl muss ein Wert gr\u00f6\u00dfer oder gleich Null sein."; + t[615] = "Die maximale Zeilenzahl muss ein Wert größer oder gleich Null sein."; t[616] = "Failed to create object for: {0}."; - t[617] = "Erstellung des Objektes schlug fehl f\u00fcr: {0}."; + t[617] = "Erstellung des Objektes schlug fehl für: {0}."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; t[623] = "Vorzeitiges Ende des Eingabedatenstroms. Es wurden {0} Bytes erwartet, jedoch nur {1} gelesen."; t[626] = "An unexpected result was returned by a query."; @@ -239,7 +239,7 @@ public class messages_de extends java.util.ResourceBundle { t[646] = "An error occurred while setting up the SSL connection."; t[647] = "Beim Aufbau der SSL-Verbindung trat ein Fehler auf."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[655] = "Ung\u00fcltige UTF-8-Sequenz: {0} Bytes wurden verwendet um einen {1} Bytewert zu kodieren: {2}"; + t[655] = "Ungültige UTF-8-Sequenz: {0} Bytes wurden verwendet um einen {1} Bytewert zu kodieren: {2}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; t[659] = "Die von {0} bereitgestellte SSLSocketFactory-Klasse konnte nicht instanziiert werden."; t[670] = "Position: {0}"; @@ -249,13 +249,13 @@ public class messages_de extends java.util.ResourceBundle { t[684] = "Cannot tell if path is open or closed: {0}."; t[685] = "Es konnte nicht ermittelt werden, ob der Pfad offen oder geschlossen ist: {0}."; t[700] = "Cannot convert an instance of {0} to type {1}"; - t[701] = "Die Typwandlung f\u00fcr eine Instanz von {0} nach {1} ist nicht m\u00f6glich."; + t[701] = "Die Typwandlung für eine Instanz von {0} nach {1} ist nicht möglich."; t[710] = "{0} function takes four and only four argument."; t[711] = "Die {0}-Funktion erwartet genau vier Argumente."; t[718] = "Interrupted while attempting to connect."; t[719] = "Beim Verbindungsversuch trat eine Unterbrechung auf."; t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[723] = "Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus verhindert. Sie m\u00fcssen wahrscheinlich der Verbindung zum Datenbankrechner java.net.SocketPermission gew\u00e4hren, um den Rechner auf dem gew\u00e4hlten Port zu erreichen."; + t[723] = "Ihre Sicherheitsrichtlinie hat den Versuch des Verbindungsaufbaus verhindert. Sie müssen wahrscheinlich der Verbindung zum Datenbankrechner java.net.SocketPermission gewähren, um den Rechner auf dem gewählten Port zu erreichen."; t[728] = "Failed to initialize LargeObject API"; t[729] = "Die LargeObject-API konnte nicht initialisiert werden."; t[736] = "{0} function takes one and only one argument."; @@ -263,37 +263,37 @@ public class messages_de extends java.util.ResourceBundle { t[744] = "This ResultSet is closed."; t[745] = "Dieses ResultSet ist geschlossen."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Ung\u00fcltige Zeichendaten. Das ist h\u00f6chstwahrscheinlich von in der Datenbank gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung vorliegen, als die, in der die Datenbank erstellt wurde. Das h\u00e4ufigste Beispiel daf\u00fcr ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen."; + t[747] = "Ungültige Zeichendaten. Das ist höchstwahrscheinlich von in der Datenbank gespeicherten Zeichen hervorgerufen, die in einer anderen Kodierung vorliegen, als die, in der die Datenbank erstellt wurde. Das häufigste Beispiel dafür ist es, 8Bit-Daten in SQL_ASCII-Datenbanken abzulegen."; t[752] = "Error disabling autocommit"; t[753] = "Fehler beim Abschalten von Autocommit."; t[754] = "Ran out of memory retrieving query results."; - t[755] = "Nicht gen\u00fcgend Speicher beim Abholen der Abfrageergebnisse."; + t[755] = "Nicht genügend Speicher beim Abholen der Abfrageergebnisse."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "Die R\u00fcckgabe automatisch generierter Schl\u00fcssel wird nicht unterst\u00fctzt,"; + t[757] = "Die Rückgabe automatisch generierter Schlüssel wird nicht unterstützt,"; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; t[761] = "Die Operation erfordert ein scrollbares ResultSet, dieses jedoch ist FORWARD_ONLY."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "Eine CallableStatement-Funktion wurde ausgef\u00fchrt und der R\u00fcckgabewert {0} war vom Typ {1}. Jedoch wurde der Typ {2} daf\u00fcr registriert."; + t[763] = "Eine CallableStatement-Funktion wurde ausgeführt und der Rückgabewert {0} war vom Typ {1}. Jedoch wurde der Typ {2} dafür registriert."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "Unbekannte Einstellung f\u00fcr die Haltbarkeit des ResultSets: {0}."; + t[769] = "Unbekannte Einstellung für die Haltbarkeit des ResultSets: {0}."; t[772] = "Transaction isolation level {0} not supported."; - t[773] = "Die Transaktions-Trennungsstufe {0} ist nicht unterst\u00fctzt."; + t[773] = "Die Transaktions-Trennungsstufe {0} ist nicht unterstützt."; t[774] = "Zero bytes may not occur in identifiers."; - t[775] = "Nullbytes d\u00fcrfen in Bezeichnern nicht vorkommen."; + t[775] = "Nullbytes dürfen in Bezeichnern nicht vorkommen."; t[776] = "No results were returned by the query."; t[777] = "Die Abfrage lieferte kein Ergebnis."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "Ein CallableStatement wurde ausgef\u00fchrt ohne etwas zur\u00fcckzugeben."; + t[779] = "Ein CallableStatement wurde ausgeführt ohne etwas zurückzugeben."; t[780] = "wasNull cannot be call before fetching a result."; t[781] = "wasNull kann nicht aufgerufen werden, bevor ein Ergebnis abgefragt wurde."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; t[787] = "Diese Anweisung deklariert keinen OUT-Parameter. Benutzen Sie '{' ?= call ... '}' um das zu tun."; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "Relative Bewegungen k\u00f6nnen in der Einf\u00fcgezeile nicht durchgef\u00fchrt werden."; + t[789] = "Relative Bewegungen können in der Einfügezeile nicht durchgeführt werden."; t[790] = "A CallableStatement was executed with an invalid number of parameters"; - t[791] = "Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgef\u00fchrt."; + t[791] = "Ein CallableStatement wurde mit einer falschen Anzahl Parameter ausgeführt."; t[792] = "Connection is busy with another transaction"; - t[793] = "Die Verbindung ist derzeit mit einer anderen Transaktion besch\u00e4ftigt."; + t[793] = "Die Verbindung ist derzeit mit einer anderen Transaktion beschäftigt."; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java index a2a5bdf298..23935dca37 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_es.java @@ -7,37 +7,37 @@ public class messages_es extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: JDBC PostgreSQL Driver\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2004-10-22 16:51-0300\nLast-Translator: Diego Gil \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Spanish\n"; t[4] = "The column index is out of range: {0}, number of columns: {1}."; - t[5] = "El \u00edndice de la columna est\u00e1 fuera de rango: {0}, n\u00famero de columnas: {1}."; + t[5] = "El índice de la columna está fuera de rango: {0}, número de columnas: {1}."; t[12] = "Unknown Response Type {0}."; t[13] = "Tipo de respuesta desconocida {0}."; t[16] = "Protocol error. Session setup failed."; - t[17] = "Error de protocolo. Fall\u00f3 el inicio de la sesi\u00f3n."; + t[17] = "Error de protocolo. Falló el inicio de la sesión."; t[20] = "The server requested password-based authentication, but no password was provided."; - t[21] = "El servidor requiere autenticaci\u00f3n basada en contrase\u00f1a, pero no se ha provisto ninguna contrase\u00f1a."; + t[21] = "El servidor requiere autenticación basada en contraseña, pero no se ha provisto ninguna contraseña."; t[26] = "A result was returned when none was expected."; - t[27] = "Se retorn\u00f3 un resultado cuando no se esperaba ninguno."; + t[27] = "Se retornó un resultado cuando no se esperaba ninguno."; t[28] = "Server SQLState: {0}"; t[29] = "SQLState del servidor: {0}."; t[30] = "The array index is out of range: {0}, number of elements: {1}."; - t[31] = "El \u00edndice del arreglo esta fuera de rango: {0}, n\u00famero de elementos: {1}."; + t[31] = "El índice del arreglo esta fuera de rango: {0}, número de elementos: {1}."; t[32] = "Premature end of input stream, expected {0} bytes, but only read {1}."; t[33] = "Final prematuro del flujo de entrada, se esperaban {0} bytes, pero solo se leyeron {1}."; t[36] = "The connection attempt failed."; - t[37] = "El intento de conexi\u00f3n fall\u00f3."; + t[37] = "El intento de conexión falló."; t[38] = "Failed to create object for: {0}."; t[39] = "Fallo al crear objeto: {0}."; t[42] = "An error occurred while setting up the SSL connection."; - t[43] = "Ha ocorrido un error mientras se establec\u00eda la conexi\u00f3n SSL."; + t[43] = "Ha ocorrido un error mientras se establecía la conexión SSL."; t[48] = "No value specified for parameter {0}."; - t[49] = "No se ha especificado un valor para el par\u00e1metro {0}."; + t[49] = "No se ha especificado un valor para el parámetro {0}."; t[50] = "The server does not support SSL."; t[51] = "Este servidor no soporta SSL."; t[52] = "An unexpected result was returned by a query."; - t[53] = "Una consulta retorn\u00f3 un resultado inesperado."; + t[53] = "Una consulta retornó un resultado inesperado."; t[60] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[61] = "Algo inusual ha ocurrido que provoc\u00f3 un fallo en el controlador. Por favor reporte esta excepci\u00f3n."; + t[61] = "Algo inusual ha ocurrido que provocó un fallo en el controlador. Por favor reporte esta excepción."; t[64] = "No results were returned by the query."; - t[65] = "La consulta no retorn\u00f3 ning\u00fan resultado."; + t[65] = "La consulta no retornó ningún resultado."; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java index f2c4cd9171..33a6ec2bae 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_fr.java @@ -7,95 +7,95 @@ public class messages_fr extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: head-fr\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2007-07-27 12:27+0200\nLast-Translator: \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.11.4\nPlural-Forms: nplurals=2; plural=(n > 1);\n"; t[4] = "DataSource has been closed."; - t[5] = "DataSource a \u00e9t\u00e9 ferm\u00e9e."; + t[5] = "DataSource a été fermée."; t[18] = "Where: {0}"; - t[19] = "O\u00f9\u00a0: {0}"; + t[19] = "Où : {0}"; t[26] = "The connection attempt failed."; - t[27] = "La tentative de connexion a \u00e9chou\u00e9."; + t[27] = "La tentative de connexion a échoué."; t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[29] = "Actuellement positionn\u00e9 apr\u00e8s la fin du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; + t[29] = "Actuellement positionné après la fin du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "Impossible d''utiliser les fonctions de requ\u00eate qui utilisent une cha\u00eene de caract\u00e8res sur un PreparedStatement."; + t[33] = "Impossible d''utiliser les fonctions de requête qui utilisent une chaîne de caractères sur un PreparedStatement."; t[36] = "Multiple ResultSets were returned by the query."; - t[37] = "Plusieurs ResultSets ont \u00e9t\u00e9 retourn\u00e9s par la requ\u00eate."; + t[37] = "Plusieurs ResultSets ont été retournés par la requête."; t[50] = "Too many update results were returned."; - t[51] = "Trop de r\u00e9sultats de mise \u00e0 jour ont \u00e9t\u00e9 retourn\u00e9s."; + t[51] = "Trop de résultats de mise à jour ont été retournés."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[59] = "S\u00e9quence UTF-8 ill\u00e9gale: le premier octet est {0}: {1}"; + t[59] = "Séquence UTF-8 illégale: le premier octet est {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; - t[67] = "Le nom de colonne {0} n''a pas \u00e9t\u00e9 trouv\u00e9 dans ce ResultSet."; + t[67] = "Le nom de colonne {0} n''a pas été trouvé dans ce ResultSet."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Appel Fastpath {0} - Aucun r\u00e9sultat n''a \u00e9t\u00e9 retourn\u00e9 et nous attendions un entier."; + t[71] = "Appel Fastpath {0} - Aucun résultat n''a été retourné et nous attendions un entier."; t[74] = "Protocol error. Session setup failed."; - t[75] = "Erreur de protocole. Ouverture de la session en \u00e9chec."; + t[75] = "Erreur de protocole. Ouverture de la session en échec."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[77] = "Un CallableStatement a \u00e9t\u00e9 d\u00e9clar\u00e9, mais aucun appel \u00e0 registerOutParameter(1, ) n''a \u00e9t\u00e9 fait."; + t[77] = "Un CallableStatement a été déclaré, mais aucun appel à registerOutParameter(1, ) n''a été fait."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent \u00eatre mis \u00e0 jour."; + t[79] = "Les ResultSets avec la concurrence CONCUR_READ_ONLY ne peuvent être mis à jour."; t[90] = "LOB positioning offsets start at 1."; - t[91] = "Les d\u00e9calages de position des LOB commencent \u00e0 1."; + t[91] = "Les décalages de position des LOB commencent à 1."; t[92] = "Internal Position: {0}"; - t[93] = "Position interne\u00a0: {0}"; + t[93] = "Position interne : {0}"; t[96] = "free() was called on this LOB previously"; - t[97] = "free() a \u00e9t\u00e9 appel\u00e9e auparavant sur ce LOB"; + t[97] = "free() a été appelée auparavant sur ce LOB"; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "Impossible de changer la propri\u00e9t\u00e9 read-only d''une transaction au milieu d''une transaction."; + t[101] = "Impossible de changer la propriété read-only d''une transaction au milieu d''une transaction."; t[102] = "The JVM claims not to support the {0} encoding."; - t[103] = "La JVM pr\u00e9tend ne pas supporter l''encodage {0}."; + t[103] = "La JVM prétend ne pas supporter l''encodage {0}."; t[108] = "{0} function doesn''t take any argument."; t[109] = "La fonction {0} n''accepte aucun argument."; t[112] = "xid must not be null"; - t[113] = "xid ne doit pas \u00eatre nul"; + t[113] = "xid ne doit pas être nul"; t[114] = "Connection has been closed."; - t[115] = "La connexion a \u00e9t\u00e9 ferm\u00e9e."; + t[115] = "La connexion a été fermée."; t[122] = "The server does not support SSL."; t[123] = "Le serveur ne supporte pas SSL."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[141] = "S\u00e9quence UTF-8 ill\u00e9gale: l''octet {0} de la s\u00e9quence d''octet {1} n''est pas 10xxxxxx: {2}"; + t[141] = "Séquence UTF-8 illégale: l''octet {0} de la séquence d''octet {1} n''est pas 10xxxxxx: {2}"; t[148] = "Hint: {0}"; - t[149] = "Indice\u00a0: {0}"; + t[149] = "Indice : {0}"; t[152] = "Unable to find name datatype in the system catalogs."; - t[153] = "Incapable de trouver le type de donn\u00e9e name dans les catalogues syst\u00e8mes."; + t[153] = "Incapable de trouver le type de donnée name dans les catalogues systèmes."; t[156] = "Unsupported Types value: {0}"; - t[157] = "Valeur de type non support\u00e9e\u00a0: {0}"; + t[157] = "Valeur de type non supportée : {0}"; t[158] = "Unknown type {0}."; - t[159] = "Type inconnu\u00a0: {0}."; + t[159] = "Type inconnu : {0}."; t[166] = "{0} function takes two and only two arguments."; t[167] = "La fonction {0} n''accepte que deux et seulement deux arguments."; t[170] = "Finalizing a Connection that was never closed:"; - t[171] = "Destruction d''une connection qui n''a jamais \u00e9t\u00e9 ferm\u00e9e:"; + t[171] = "Destruction d''une connection qui n''a jamais été fermée:"; t[180] = "The maximum field size must be a value greater than or equal to 0."; - t[181] = "La taille maximum des champs doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[181] = "La taille maximum des champs doit être une valeur supérieure ou égale à 0."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "Les LOB PostgreSQL peuvent seulement s''indicer \u00e0: {0}"; + t[187] = "Les LOB PostgreSQL peuvent seulement s''indicer à: {0}"; t[194] = "Method {0} is not yet implemented."; - t[195] = "La fonction {0} n''est pas encore impl\u00e9ment\u00e9e."; + t[195] = "La fonction {0} n''est pas encore implémentée."; t[198] = "Error loading default settings from driverconfig.properties"; - t[199] = "Erreur de chargement des valeurs par d\u00e9faut depuis driverconfig.properties"; + t[199] = "Erreur de chargement des valeurs par défaut depuis driverconfig.properties"; t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[201] = "Les r\u00e9sultats ne peuvent \u00eatre r\u00e9cup\u00e9r\u00e9s \u00e0 partir d''un CallableStatement avant qu''il ne soit ex\u00e9cut\u00e9."; + t[201] = "Les résultats ne peuvent être récupérés à partir d''un CallableStatement avant qu''il ne soit exécuté."; t[202] = "Large Objects may not be used in auto-commit mode."; - t[203] = "Les Large Objects ne devraient pas \u00eatre utilis\u00e9s en mode auto-commit."; + t[203] = "Les Large Objects ne devraient pas être utilisés en mode auto-commit."; t[208] = "Expected command status BEGIN, got {0}."; t[209] = "Attendait le statut de commande BEGIN, obtenu {0}."; t[218] = "Invalid fetch direction constant: {0}."; - t[219] = "Constante de direction pour la r\u00e9cup\u00e9ration invalide\u00a0: {0}."; + t[219] = "Constante de direction pour la récupération invalide : {0}."; t[222] = "{0} function takes three and only three arguments."; t[223] = "La fonction {0} n''accepte que trois et seulement trois arguments."; t[226] = "Error during recover"; t[227] = "Erreur durant la restauration"; t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[229] = "Impossible de mettre \u00e0 jour le ResultSet car c''est soit avant le d\u00e9but ou apr\u00e8s la fin des r\u00e9sultats."; + t[229] = "Impossible de mettre à jour le ResultSet car c''est soit avant le début ou après la fin des résultats."; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[233] = "Un param\u00e8tre de type {0} a \u00e9t\u00e9 enregistr\u00e9, mais un appel \u00e0 get{1} (sqltype={2}) a \u00e9t\u00e9 fait."; + t[233] = "Un paramètre de type {0} a été enregistré, mais un appel à get{1} (sqltype={2}) a été fait."; t[240] = "Cannot establish a savepoint in auto-commit mode."; - t[241] = "Impossible d''\u00e9tablir un savepoint en mode auto-commit."; + t[241] = "Impossible d''établir un savepoint en mode auto-commit."; t[242] = "Cannot retrieve the id of a named savepoint."; - t[243] = "Impossible de retrouver l''identifiant d''un savepoint nomm\u00e9."; + t[243] = "Impossible de retrouver l''identifiant d''un savepoint nommé."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; - t[245] = "L''indice de la colonne est hors limite\u00a0: {0}, nombre de colonnes\u00a0: {1}."; + t[245] = "L''indice de la colonne est hors limite : {0}, nombre de colonnes : {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "Quelque chose d''inhabituel a provoqu\u00e9 l''\u00e9chec du pilote. Veuillez faire un rapport sur cette erreur."; + t[251] = "Quelque chose d''inhabituel a provoqué l''échec du pilote. Veuillez faire un rapport sur cette erreur."; t[260] = "Cannot cast an instance of {0} to type {1}"; t[261] = "Impossible de convertir une instance de {0} vers le type {1}"; t[264] = "Unknown Types value."; @@ -105,195 +105,195 @@ public class messages_fr extends java.util.ResourceBundle { t[272] = "Cannot retrieve the name of an unnamed savepoint."; t[273] = "Impossible de retrouver le nom d''un savepoint sans nom."; t[274] = "Unable to translate data into the desired encoding."; - t[275] = "Impossible de traduire les donn\u00e9es dans l''encodage d\u00e9sir\u00e9."; + t[275] = "Impossible de traduire les données dans l''encodage désiré."; t[276] = "Expected an EOF from server, got: {0}"; - t[277] = "Attendait une fin de fichier du serveur, re\u00e7u: {0}"; + t[277] = "Attendait une fin de fichier du serveur, reçu: {0}"; t[278] = "Bad value for type {0} : {1}"; - t[279] = "Mauvaise valeur pour le type {0}\u00a0: {1}"; + t[279] = "Mauvaise valeur pour le type {0} : {1}"; t[280] = "The server requested password-based authentication, but no password was provided."; - t[281] = "Le serveur a demand\u00e9 une authentification par mots de passe, mais aucun mot de passe n''a \u00e9t\u00e9 fourni."; + t[281] = "Le serveur a demandé une authentification par mots de passe, mais aucun mot de passe n''a été fourni."; t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[297] = "Le troncage des large objects n''est impl\u00e9ment\u00e9 que dans les serveurs 8.3 et sup\u00e9rieurs."; + t[297] = "Le troncage des large objects n''est implémenté que dans les serveurs 8.3 et supérieurs."; t[298] = "This PooledConnection has already been closed."; - t[299] = "Cette PooledConnection a d\u00e9j\u00e0 \u00e9t\u00e9 ferm\u00e9e."; + t[299] = "Cette PooledConnection a déjà été fermée."; t[306] = "Fetch size must be a value greater to or equal to 0."; - t[307] = "Fetch size doit \u00eatre une valeur sup\u00e9rieur ou \u00e9gal \u00e0 0."; + t[307] = "Fetch size doit être une valeur supérieur ou égal à 0."; t[312] = "A connection could not be made using the requested protocol {0}."; - t[313] = "Aucune connexion n''a pu \u00eatre \u00e9tablie en utilisant le protocole demand\u00e9 {0}. "; + t[313] = "Aucune connexion n''a pu être établie en utilisant le protocole demandé {0}. "; t[322] = "There are no rows in this ResultSet."; t[323] = "Il n''y pas pas de lignes dans ce ResultSet."; t[324] = "Unexpected command status: {0}."; - t[325] = "Statut de commande inattendu\u00a0: {0}."; + t[325] = "Statut de commande inattendu : {0}."; t[334] = "Not on the insert row."; t[335] = "Pas sur la ligne en insertion."; t[344] = "Server SQLState: {0}"; - t[345] = "SQLState serveur\u00a0: {0}"; + t[345] = "SQLState serveur : {0}"; t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[349] = "Le param\u00e8tre serveur standard_conforming_strings a pour valeur {0}. Le driver JDBC attend on ou off."; + t[349] = "Le paramètre serveur standard_conforming_strings a pour valeur {0}. Le driver JDBC attend on ou off."; t[360] = "The driver currently does not support COPY operations."; - t[361] = "Le pilote ne supporte pas actuellement les op\u00e9rations COPY."; + t[361] = "Le pilote ne supporte pas actuellement les opérations COPY."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; - t[365] = "L''indice du tableau est hors limites\u00a0: {0}, nombre d''\u00e9l\u00e9ments\u00a0: {1}."; + t[365] = "L''indice du tableau est hors limites : {0}, nombre d''éléments : {1}."; t[374] = "suspend/resume not implemented"; - t[375] = "suspend/resume pas impl\u00e9ment\u00e9"; + t[375] = "suspend/resume pas implémenté"; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[379] = "Pas impl\u00e9ment\u00e9: le commit \u00e0 une phase doit avoir lieu en utilisant la m\u00eame connection que celle o\u00f9 il a commenc\u00e9"; + t[379] = "Pas implémenté: le commit à une phase doit avoir lieu en utilisant la même connection que celle où il a commencé"; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; t[399] = "Impossible d''appeler cancelRowUpdates() pendant l''insertion d''une ligne."; t[400] = "Cannot reference a savepoint after it has been released."; - t[401] = "Impossible de r\u00e9f\u00e9rencer un savepoint apr\u00e8s qu''il ait \u00e9t\u00e9 lib\u00e9r\u00e9."; + t[401] = "Impossible de référencer un savepoint après qu''il ait été libéré."; t[402] = "You must specify at least one column value to insert a row."; - t[403] = "Vous devez sp\u00e9cifier au moins une valeur de colonne pour ins\u00e9rer une ligne."; + t[403] = "Vous devez spécifier au moins une valeur de colonne pour insérer une ligne."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "Incapable de d\u00e9terminer la valeur de MaxIndexKeys en raison de donn\u00e9es manquante dans lecatalogue syst\u00e8me."; + t[405] = "Incapable de déterminer la valeur de MaxIndexKeys en raison de données manquante dans lecatalogue système."; t[412] = "The JVM claims not to support the encoding: {0}"; - t[413] = "La JVM pr\u00e9tend ne pas supporter l''encodage: {0}"; + t[413] = "La JVM prétend ne pas supporter l''encodage: {0}"; t[414] = "{0} function takes two or three arguments."; t[415] = "La fonction {0} n''accepte que deux ou trois arguments."; t[440] = "Unexpected error writing large object to database."; - t[441] = "Erreur inattendue pendant l''\u00e9criture de large object dans la base."; + t[441] = "Erreur inattendue pendant l''écriture de large object dans la base."; t[442] = "Zero bytes may not occur in string parameters."; - t[443] = "Z\u00e9ro octets ne devrait pas se produire dans les param\u00e8tres de type cha\u00eene de caract\u00e8res."; + t[443] = "Zéro octets ne devrait pas se produire dans les paramètres de type chaîne de caractères."; t[444] = "A result was returned when none was expected."; - t[445] = "Un r\u00e9sultat a \u00e9t\u00e9 retourn\u00e9 alors qu''aucun n''\u00e9tait attendu."; + t[445] = "Un résultat a été retourné alors qu''aucun n''était attendu."; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "Le ResultSet n''est pas modifiable. La requ\u00eate qui a g\u00e9n\u00e9r\u00e9 ce r\u00e9sultat doit s\u00e9lectionner seulement une table, et doit s\u00e9lectionner toutes les cl\u00e9s primaires de cette table. Voir la sp\u00e9cification de l''API JDBC 2.1, section 5.6 pour plus de d\u00e9tails."; + t[451] = "Le ResultSet n''est pas modifiable. La requête qui a généré ce résultat doit sélectionner seulement une table, et doit sélectionner toutes les clés primaires de cette table. Voir la spécification de l''API JDBC 2.1, section 5.6 pour plus de détails."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "La longueur du message de liaison {0} est trop grande. Cela peut \u00eatre caus\u00e9 par des sp\u00e9cification de longueur tr\u00e8s grandes ou incorrectes pour les param\u00e8tres de type InputStream."; + t[455] = "La longueur du message de liaison {0} est trop grande. Cela peut être causé par des spécification de longueur très grandes ou incorrectes pour les paramètres de type InputStream."; t[460] = "Statement has been closed."; - t[461] = "Statement a \u00e9t\u00e9 ferm\u00e9."; + t[461] = "Statement a été fermé."; t[462] = "No value specified for parameter {0}."; - t[463] = "Pas de valeur sp\u00e9cifi\u00e9e pour le param\u00e8tre {0}."; + t[463] = "Pas de valeur spécifiée pour le paramètre {0}."; t[468] = "The array index is out of range: {0}"; - t[469] = "L''indice du tableau est hors limites\u00a0: {0}"; + t[469] = "L''indice du tableau est hors limites : {0}"; t[474] = "Unable to bind parameter values for statement."; - t[475] = "Incapable de lier les valeurs des param\u00e8tres pour la commande."; + t[475] = "Incapable de lier les valeurs des paramètres pour la commande."; t[476] = "Can''t refresh the insert row."; - t[477] = "Impossible de rafra\u00eechir la ligne ins\u00e9r\u00e9e."; + t[477] = "Impossible de rafraîchir la ligne insérée."; t[480] = "No primary key found for table {0}."; - t[481] = "Pas de cl\u00e9 primaire trouv\u00e9e pour la table {0}."; + t[481] = "Pas de clé primaire trouvée pour la table {0}."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; t[483] = "Impossible de changer le niveau d''isolation des transactions au milieu d''une transaction."; t[498] = "Provided InputStream failed."; - t[499] = "L''InputStream fourni a \u00e9chou\u00e9."; + t[499] = "L''InputStream fourni a échoué."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[501] = "L''indice du param\u00e8tre est hors limites\u00a0: {0}, nombre de param\u00e8tres\u00a0: {1}."; + t[501] = "L''indice du paramètre est hors limites : {0}, nombre de paramètres : {1}."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "Le param\u00e8tre DateStyle du serveur a \u00e9t\u00e9 chang\u00e9 pour {0}. Le pilote JDBC n\u00e9cessite que DateStyle commence par ISO pour un fonctionnement correct."; + t[503] = "Le paramètre DateStyle du serveur a été changé pour {0}. Le pilote JDBC nécessite que DateStyle commence par ISO pour un fonctionnement correct."; t[508] = "Connection attempt timed out."; - t[509] = "La tentative de connexion a \u00e9chou\u00e9 dans le d\u00e9lai imparti."; + t[509] = "La tentative de connexion a échoué dans le délai imparti."; t[512] = "Internal Query: {0}"; - t[513] = "Requ\u00eate interne: {0}"; + t[513] = "Requête interne: {0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "Le type d''authentification {0} n''est pas support\u00e9. V\u00e9rifiez que vous avez configur\u00e9 le fichier pg_hba.conf pour inclure l''adresse IP du client ou le sous-r\u00e9seau et qu''il utilise un sch\u00e9ma d''authentification support\u00e9 par le pilote."; + t[519] = "Le type d''authentification {0} n''est pas supporté. Vérifiez que vous avez configuré le fichier pg_hba.conf pour inclure l''adresse IP du client ou le sous-réseau et qu''il utilise un schéma d''authentification supporté par le pilote."; t[526] = "Interval {0} not yet implemented"; - t[527] = "L''interval {0} n''est pas encore impl\u00e9ment\u00e9"; + t[527] = "L''interval {0} n''est pas encore implémenté"; t[532] = "Conversion of interval failed"; - t[533] = "La conversion de l''intervalle a \u00e9chou\u00e9"; + t[533] = "La conversion de l''intervalle a échoué"; t[540] = "Query timeout must be a value greater than or equals to 0."; - t[541] = "Query timeout doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[541] = "Query timeout doit être une valeur supérieure ou égale à 0."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "La connexion a \u00e9t\u00e9 ferm\u00e9e automatiquement car une nouvelle connexion a \u00e9t\u00e9 ouverte pour la m\u00eame PooledConnection ou la PooledConnection a \u00e9t\u00e9 ferm\u00e9e."; + t[543] = "La connexion a été fermée automatiquement car une nouvelle connexion a été ouverte pour la même PooledConnection ou la PooledConnection a été fermée."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; - t[545] = "Le ResultSet n''est pas positionn\u00e9 correctement, vous devez peut-\u00eatre appeler next()."; + t[545] = "Le ResultSet n''est pas positionné correctement, vous devez peut-être appeler next()."; t[550] = "This statement has been closed."; - t[551] = "Ce statement a \u00e9t\u00e9 ferm\u00e9."; + t[551] = "Ce statement a été fermé."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "Impossible de d\u00e9duire le type SQL \u00e0 utiliser pour une instance de {0}. Utilisez setObject() avec une valeur de type explicite pour sp\u00e9cifier le type \u00e0 utiliser."; + t[553] = "Impossible de déduire le type SQL à utiliser pour une instance de {0}. Utilisez setObject() avec une valeur de type explicite pour spécifier le type à utiliser."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "Impossible d''appeler updateRow() tant que l''on est sur la ligne ins\u00e9r\u00e9e."; + t[555] = "Impossible d''appeler updateRow() tant que l''on est sur la ligne insérée."; t[562] = "Detail: {0}"; - t[563] = "D\u00e9tail\u00a0: {0}"; + t[563] = "Détail : {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; t[567] = "Impossible d''appeler deleteRow() pendant l''insertion d''une ligne."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[569] = "Actuellement positionn\u00e9 avant le d\u00e9but du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; + t[569] = "Actuellement positionné avant le début du ResultSet. Vous ne pouvez pas appeler deleteRow() ici."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[577] = "S\u00e9quence UTF-8 ill\u00e9gale: la valeur finale est une valeur de remplacement: {0}"; + t[577] = "Séquence UTF-8 illégale: la valeur finale est une valeur de remplacement: {0}"; t[578] = "Unknown Response Type {0}."; - t[579] = "Type de r\u00e9ponse inconnu {0}."; + t[579] = "Type de réponse inconnu {0}."; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "Valeur non support\u00e9e pour les param\u00e8tre de type cha\u00eene de caract\u00e8res\u00a0: {0}"; + t[583] = "Valeur non supportée pour les paramètre de type chaîne de caractères : {0}"; t[584] = "Conversion to type {0} failed: {1}."; - t[585] = "La conversion vers le type {0} a \u00e9chou\u00e9\u00a0: {1}."; + t[585] = "La conversion vers le type {0} a échoué : {1}."; t[586] = "Conversion of money failed."; - t[587] = "La conversion de money a \u00e9chou\u00e9."; + t[587] = "La conversion de money a échoué."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "Incapable de charger la classe {0} responsable du type de donn\u00e9es {1}"; + t[601] = "Incapable de charger la classe {0} responsable du type de données {1}"; t[604] = "The fastpath function {0} is unknown."; t[605] = "La fonction fastpath {0} est inconnue."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; - t[609] = "Syntaxe de fonction ou d''\u00e9chappement de proc\u00e9dure malform\u00e9e \u00e0 l''indice {0}."; + t[609] = "Syntaxe de fonction ou d''échappement de procédure malformée à l''indice {0}."; t[612] = "Provided Reader failed."; - t[613] = "Le Reader fourni a \u00e9chou\u00e9."; + t[613] = "Le Reader fourni a échoué."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; - t[615] = "Le nombre maximum de lignes doit \u00eatre une valeur sup\u00e9rieure ou \u00e9gale \u00e0 0."; + t[615] = "Le nombre maximum de lignes doit être une valeur supérieure ou égale à 0."; t[616] = "Failed to create object for: {0}."; - t[617] = "\u00c9chec \u00e0 la cr\u00e9ation de l''objet pour\u00a0: {0}."; + t[617] = "Échec à la création de l''objet pour : {0}."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[623] = "Fin pr\u00e9matur\u00e9e du flux en entr\u00e9e, {0} octets attendus, mais seulement {1} lus."; + t[623] = "Fin prématurée du flux en entrée, {0} octets attendus, mais seulement {1} lus."; t[626] = "An unexpected result was returned by a query."; - t[627] = "Un r\u00e9sultat inattendu a \u00e9t\u00e9 retourn\u00e9 par une requ\u00eate."; + t[627] = "Un résultat inattendu a été retourné par une requête."; t[646] = "An error occurred while setting up the SSL connection."; - t[647] = "Une erreur s''est produite pendant l''\u00e9tablissement de la connexion SSL."; + t[647] = "Une erreur s''est produite pendant l''établissement de la connexion SSL."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[655] = "S\u00e9quence UTF-8 ill\u00e9gale: {0} octets utilis\u00e9 pour encoder une valeur \u00e0 {1} octets: {2}"; + t[655] = "Séquence UTF-8 illégale: {0} octets utilisé pour encoder une valeur à {1} octets: {2}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[659] = "La classe SSLSocketFactory fournie {0} n''a pas pu \u00eatre instanci\u00e9e."; + t[659] = "La classe SSLSocketFactory fournie {0} n''a pas pu être instanciée."; t[670] = "Position: {0}"; - t[671] = "Position\u00a0: {0}"; + t[671] = "Position : {0}"; t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[677] = "Localisation\u00a0: Fichier\u00a0: {0}, Routine\u00a0: {1}, Ligne\u00a0: {2}"; + t[677] = "Localisation : Fichier : {0}, Routine : {1}, Ligne : {2}"; t[684] = "Cannot tell if path is open or closed: {0}."; - t[685] = "Impossible de dire si path est ferm\u00e9 ou ouvert\u00a0: {0}."; + t[685] = "Impossible de dire si path est fermé ou ouvert : {0}."; t[700] = "Cannot convert an instance of {0} to type {1}"; t[701] = "Impossible de convertir une instance de type {0} vers le type {1}"; t[710] = "{0} function takes four and only four argument."; t[711] = "La fonction {0} n''accepte que quatre et seulement quatre arguments."; t[718] = "Interrupted while attempting to connect."; - t[719] = "Interrompu pendant l''\u00e9tablissement de la connexion."; + t[719] = "Interrompu pendant l''établissement de la connexion."; t[722] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[723] = "S\u00e9quence UTF-8 ill\u00e9gale: la valeur finale est en dehors des limites: {0}"; + t[723] = "Séquence UTF-8 illégale: la valeur finale est en dehors des limites: {0}"; t[728] = "Failed to initialize LargeObject API"; - t[729] = "\u00c9chec \u00e0 l''initialisation de l''API LargeObject"; + t[729] = "Échec à l''initialisation de l''API LargeObject"; t[734] = "No function outputs were registered."; - t[735] = "Aucune fonction outputs n''a \u00e9t\u00e9 enregistr\u00e9e."; + t[735] = "Aucune fonction outputs n''a été enregistrée."; t[736] = "{0} function takes one and only one argument."; t[737] = "La fonction {0} n''accepte qu''un et un seul argument."; t[744] = "This ResultSet is closed."; - t[745] = "Ce ResultSet est ferm\u00e9."; + t[745] = "Ce ResultSet est fermé."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Des donn\u00e9es de caract\u00e8res invalides ont \u00e9t\u00e9 trouv\u00e9es. C''est probablement caus\u00e9 par le stockage de caract\u00e8res invalides pour le jeu de caract\u00e8res de cr\u00e9ation de la base. L''exemple le plus courant est le stockage de donn\u00e9es 8bit dans une base SQL_ASCII."; + t[747] = "Des données de caractères invalides ont été trouvées. C''est probablement causé par le stockage de caractères invalides pour le jeu de caractères de création de la base. L''exemple le plus courant est le stockage de données 8bit dans une base SQL_ASCII."; t[750] = "An I/O error occurred while sending to the backend."; - t[751] = "Une erreur d''entr\u00e9e/sortie a eu lieu lors d''envoi vers le serveur."; + t[751] = "Une erreur d''entrée/sortie a eu lieu lors d''envoi vers le serveur."; t[752] = "Error disabling autocommit"; - t[753] = "Erreur en d\u00e9sactivant autocommit"; + t[753] = "Erreur en désactivant autocommit"; t[754] = "Ran out of memory retrieving query results."; - t[755] = "Ai manqu\u00e9 de m\u00e9moire en r\u00e9cup\u00e9rant les r\u00e9sultats de la requ\u00eate."; + t[755] = "Ai manqué de mémoire en récupérant les résultats de la requête."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "Le renvoi des cl\u00e9s automatiquement g\u00e9n\u00e9r\u00e9es n''est pas support\u00e9."; + t[757] = "Le renvoi des clés automatiquement générées n''est pas supporté."; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[761] = "L''op\u00e9ration n\u00e9cessite un scrollable ResultSet, mais ce ResultSet est FORWARD_ONLY."; + t[761] = "L''opération nécessite un scrollable ResultSet, mais ce ResultSet est FORWARD_ONLY."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "Une fonction CallableStatement a \u00e9t\u00e9 ex\u00e9cut\u00e9e et le param\u00e8tre en sortie {0} \u00e9tait du type {1} alors que le type {2} \u00e9tait pr\u00e9vu."; + t[763] = "Une fonction CallableStatement a été exécutée et le paramètre en sortie {0} était du type {1} alors que le type {2} était prévu."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "Param\u00e8tre holdability du ResultSet inconnu\u00a0: {0}."; + t[769] = "Paramètre holdability du ResultSet inconnu : {0}."; t[772] = "Transaction isolation level {0} not supported."; - t[773] = "Le niveau d''isolation de transaction {0} n''est pas support\u00e9."; + t[773] = "Le niveau d''isolation de transaction {0} n''est pas supporté."; t[774] = "Zero bytes may not occur in identifiers."; - t[775] = "Des octects \u00e0 0 ne devraient pas appara\u00eetre dans les identifiants."; + t[775] = "Des octects à 0 ne devraient pas apparaître dans les identifiants."; t[776] = "No results were returned by the query."; - t[777] = "Aucun r\u00e9sultat retourn\u00e9 par la requ\u00eate."; + t[777] = "Aucun résultat retourné par la requête."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "Un CallableStatement a \u00e9t\u00e9 ex\u00e9cut\u00e9 mais n''a rien retourn\u00e9."; + t[779] = "Un CallableStatement a été exécuté mais n''a rien retourné."; t[780] = "wasNull cannot be call before fetching a result."; - t[781] = "wasNull ne peut pas \u00eatre appel\u00e9 avant la r\u00e9cup\u00e9ration d''un r\u00e9sultat."; + t[781] = "wasNull ne peut pas être appelé avant la récupération d''un résultat."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[787] = "Cette requ\u00eate ne d\u00e9clare pas de param\u00e8tre OUT. Utilisez '{' ?= call ... '}' pour en d\u00e9clarer un."; + t[787] = "Cette requête ne déclare pas de paramètre OUT. Utilisez '{' ?= call ... '}' pour en déclarer un."; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "Impossible d''utiliser les fonctions de d\u00e9placement relatif pendant l''insertion d''une ligne."; + t[789] = "Impossible d''utiliser les fonctions de déplacement relatif pendant l''insertion d''une ligne."; t[792] = "Connection is busy with another transaction"; - t[793] = "La connection est occup\u00e9e avec une autre transaction"; + t[793] = "La connection est occupée avec une autre transaction"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java index 6b90f18d9d..348c43ea78 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_it.java @@ -7,277 +7,277 @@ public class messages_it extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.2\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2006-06-23 17:25+0200\nLast-Translator: Giuseppe Sacco \nLanguage-Team: Italian \nLanguage: it\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"; t[4] = "DataSource has been closed."; - t[5] = "Questo \u00abDataSource\u00bb \u00e8 stato chiuso."; + t[5] = "Questo «DataSource» è stato chiuso."; t[18] = "Where: {0}"; t[19] = "Dove: {0}"; t[26] = "The connection attempt failed."; - t[27] = "Il tentativo di connessione \u00e8 fallito."; + t[27] = "Il tentativo di connessione è fallito."; t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[29] = "La posizione attuale \u00e8 successiva alla fine del ResultSet. Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb qui."; + t[29] = "La posizione attuale è successiva alla fine del ResultSet. Non è possibile invocare «deleteRow()» qui."; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "Non si possono utilizzare i metodi \"query\" che hanno come argomento una stringa nel caso di \u00abPreparedStatement\u00bb."; + t[33] = "Non si possono utilizzare i metodi \"query\" che hanno come argomento una stringa nel caso di «PreparedStatement»."; t[36] = "Multiple ResultSets were returned by the query."; - t[37] = "La query ha restituito \u00abResultSet\u00bb multipli."; + t[37] = "La query ha restituito «ResultSet» multipli."; t[50] = "Too many update results were returned."; t[51] = "Sono stati restituiti troppi aggiornamenti."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[59] = "Sequenza UTF-8 illegale: il byte iniziale \u00e8 {0}: {1}"; + t[59] = "Sequenza UTF-8 illegale: il byte iniziale è {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; - t[67] = "Colonna denominata \u00ab{0}\u00bb non \u00e8 presente in questo \u00abResultSet\u00bb."; + t[67] = "Colonna denominata «{0}» non è presente in questo «ResultSet»."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Chiamata Fastpath \u00ab{0}\u00bb: Nessun risultato restituito mentre ci si aspettava un intero."; + t[71] = "Chiamata Fastpath «{0}»: Nessun risultato restituito mentre ci si aspettava un intero."; t[74] = "Protocol error. Session setup failed."; t[75] = "Errore di protocollo. Impostazione della sessione fallita."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[77] = "\u00c8 stato definito un \u00abCallableStatement\u00bb ma non \u00e8 stato invocato il metodo \u00abregisterOutParameter(1, )\u00bb."; + t[77] = "È stato definito un «CallableStatement» ma non è stato invocato il metodo «registerOutParameter(1, )»."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "I \u00abResultSet\u00bb in modalit\u00e0 CONCUR_READ_ONLY non possono essere aggiornati."; + t[79] = "I «ResultSet» in modalità CONCUR_READ_ONLY non possono essere aggiornati."; t[90] = "LOB positioning offsets start at 1."; t[91] = "L''offset per la posizione dei LOB comincia da 1."; t[92] = "Internal Position: {0}"; t[93] = "Posizione interna: {0}"; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "Non \u00e8 possibile modificare la propriet\u00e0 \u00abread-only\u00bb delle transazioni nel mezzo di una transazione."; + t[101] = "Non è possibile modificare la proprietà «read-only» delle transazioni nel mezzo di una transazione."; t[102] = "The JVM claims not to support the {0} encoding."; t[103] = "La JVM sostiene di non supportare la codifica {0}."; t[108] = "{0} function doesn''t take any argument."; - t[109] = "Il metodo \u00ab{0}\u00bb non accetta argomenti."; + t[109] = "Il metodo «{0}» non accetta argomenti."; t[112] = "xid must not be null"; - t[113] = "xid non pu\u00f2 essere NULL"; + t[113] = "xid non può essere NULL"; t[114] = "Connection has been closed."; - t[115] = "Questo \u00abConnection\u00bb \u00e8 stato chiuso."; + t[115] = "Questo «Connection» è stato chiuso."; t[122] = "The server does not support SSL."; t[123] = "Il server non supporta SSL."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[141] = "Sequenza UTF-8 illegale: il byte {0} di una sequenza di {1} byte non \u00e8 10xxxxxx: {2}"; + t[141] = "Sequenza UTF-8 illegale: il byte {0} di una sequenza di {1} byte non è 10xxxxxx: {2}"; t[148] = "Hint: {0}"; t[149] = "Suggerimento: {0}"; t[152] = "Unable to find name datatype in the system catalogs."; - t[153] = "Non \u00e8 possibile trovare il datatype \u00abname\u00bb nel catalogo di sistema."; + t[153] = "Non è possibile trovare il datatype «name» nel catalogo di sistema."; t[156] = "Unsupported Types value: {0}"; - t[157] = "Valore di tipo \u00ab{0}\u00bb non supportato."; + t[157] = "Valore di tipo «{0}» non supportato."; t[158] = "Unknown type {0}."; t[159] = "Tipo sconosciuto {0}."; t[166] = "{0} function takes two and only two arguments."; - t[167] = "Il metodo \u00ab{0}\u00bb accetta due e solo due argomenti."; + t[167] = "Il metodo «{0}» accetta due e solo due argomenti."; t[170] = "Finalizing a Connection that was never closed:"; - t[171] = "Finalizzazione di una \u00abConnection\u00bb che non \u00e8 stata chiusa."; + t[171] = "Finalizzazione di una «Connection» che non è stata chiusa."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "Il massimo valore per l''indice dei LOB di PostgreSQL \u00e8 {0}. "; + t[187] = "Il massimo valore per l''indice dei LOB di PostgreSQL è {0}. "; t[194] = "Method {0} is not yet implemented."; - t[195] = "Il metodo \u00ab{0}\u00bb non \u00e8 stato ancora implementato."; + t[195] = "Il metodo «{0}» non è stato ancora implementato."; t[198] = "Error loading default settings from driverconfig.properties"; - t[199] = "Si \u00e8 verificato un errore caricando le impostazioni predefinite da \u00abdriverconfig.properties\u00bb."; + t[199] = "Si è verificato un errore caricando le impostazioni predefinite da «driverconfig.properties»."; t[202] = "Large Objects may not be used in auto-commit mode."; - t[203] = "Non \u00e8 possibile impostare i \u00abLarge Object\u00bb in modalit\u00e0 \u00abauto-commit\u00bb."; + t[203] = "Non è possibile impostare i «Large Object» in modalità «auto-commit»."; t[208] = "Expected command status BEGIN, got {0}."; - t[209] = "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece \u00e8 {0}."; + t[209] = "Lo stato del comando avrebbe dovuto essere BEGIN, mentre invece è {0}."; t[218] = "Invalid fetch direction constant: {0}."; t[219] = "Costante per la direzione dell''estrazione non valida: {0}."; t[222] = "{0} function takes three and only three arguments."; - t[223] = "Il metodo \u00ab{0}\u00bb accetta tre e solo tre argomenti."; + t[223] = "Il metodo «{0}» accetta tre e solo tre argomenti."; t[226] = "Error during recover"; t[227] = "Errore durante il ripristino"; t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[229] = "Non \u00e8 possibile aggiornare il \u00abResultSet\u00bb perch\u00e9 la posizione attuale \u00e8 precedente all''inizio o successiva alla file dei risultati."; + t[229] = "Non è possibile aggiornare il «ResultSet» perché la posizione attuale è precedente all''inizio o successiva alla file dei risultati."; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[233] = "\u00c8 stato definito il parametro di tipo \u00ab{0}\u00bb, ma poi \u00e8 stato invocato il metodo \u00abget{1}()\u00bb (sqltype={2})."; + t[233] = "È stato definito il parametro di tipo «{0}», ma poi è stato invocato il metodo «get{1}()» (sqltype={2})."; t[240] = "Cannot establish a savepoint in auto-commit mode."; - t[241] = "Non \u00e8 possibile impostare i punti di ripristino in modalit\u00e0 \u00abauto-commit\u00bb."; + t[241] = "Non è possibile impostare i punti di ripristino in modalità «auto-commit»."; t[242] = "Cannot retrieve the id of a named savepoint."; - t[243] = "Non \u00e8 possibile trovare l''id del punto di ripristino indicato."; + t[243] = "Non è possibile trovare l''id del punto di ripristino indicato."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; - t[245] = "Indice di colonna, {0}, \u00e8 maggiore del numero di colonne {1}."; + t[245] = "Indice di colonna, {0}, è maggiore del numero di colonne {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "Qualcosa di insolito si \u00e8 verificato causando il fallimento del driver. Per favore riferire all''autore del driver questa eccezione."; + t[251] = "Qualcosa di insolito si è verificato causando il fallimento del driver. Per favore riferire all''autore del driver questa eccezione."; t[260] = "Cannot cast an instance of {0} to type {1}"; - t[261] = "Non \u00e8 possibile fare il cast di una istanza di \u00ab{0}\u00bb al tipo \u00ab{1}\u00bb."; + t[261] = "Non è possibile fare il cast di una istanza di «{0}» al tipo «{1}»."; t[264] = "Unknown Types value."; t[265] = "Valore di tipo sconosciuto."; t[266] = "Invalid stream length {0}."; - t[267] = "La dimensione specificata, {0}, per lo \u00abstream\u00bb non \u00e8 valida."; + t[267] = "La dimensione specificata, {0}, per lo «stream» non è valida."; t[272] = "Cannot retrieve the name of an unnamed savepoint."; - t[273] = "Non \u00e8 possibile trovare il nome di un punto di ripristino anonimo."; + t[273] = "Non è possibile trovare il nome di un punto di ripristino anonimo."; t[274] = "Unable to translate data into the desired encoding."; t[275] = "Impossibile tradurre i dati nella codifica richiesta."; t[276] = "Expected an EOF from server, got: {0}"; - t[277] = "Ricevuto dal server \u00ab{0}\u00bb mentre era atteso un EOF"; + t[277] = "Ricevuto dal server «{0}» mentre era atteso un EOF"; t[278] = "Bad value for type {0} : {1}"; - t[279] = "Il valore \u00ab{1}\u00bb non \u00e8 adeguato al tipo \u00ab{0}\u00bb."; + t[279] = "Il valore «{1}» non è adeguato al tipo «{0}»."; t[280] = "The server requested password-based authentication, but no password was provided."; - t[281] = "Il server ha richiesto l''autenticazione con password, ma tale password non \u00e8 stata fornita."; + t[281] = "Il server ha richiesto l''autenticazione con password, ma tale password non è stata fornita."; t[298] = "This PooledConnection has already been closed."; - t[299] = "Questo \u00abPooledConnection\u00bb \u00e8 stato chiuso."; + t[299] = "Questo «PooledConnection» è stato chiuso."; t[306] = "Fetch size must be a value greater to or equal to 0."; - t[307] = "La dimensione dell''area di \u00abfetch\u00bb deve essere maggiore o eguale a 0."; + t[307] = "La dimensione dell''area di «fetch» deve essere maggiore o eguale a 0."; t[312] = "A connection could not be made using the requested protocol {0}."; - t[313] = "Non \u00e8 stato possibile attivare la connessione utilizzando il protocollo richiesto {0}."; + t[313] = "Non è stato possibile attivare la connessione utilizzando il protocollo richiesto {0}."; t[322] = "There are no rows in this ResultSet."; - t[323] = "Non ci sono righe in questo \u00abResultSet\u00bb."; + t[323] = "Non ci sono righe in questo «ResultSet»."; t[324] = "Unexpected command status: {0}."; t[325] = "Stato del comando non previsto: {0}."; t[334] = "Not on the insert row."; - t[335] = "Non si \u00e8 in una nuova riga."; + t[335] = "Non si è in una nuova riga."; t[344] = "Server SQLState: {0}"; t[345] = "SQLState del server: {0}"; t[360] = "The driver currently does not support COPY operations."; - t[361] = "Il driver non supporta al momento l''operazione \u00abCOPY\u00bb."; + t[361] = "Il driver non supporta al momento l''operazione «COPY»."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; - t[365] = "L''indice dell''array \u00e8 fuori intervallo: {0}, numero di elementi: {1}."; + t[365] = "L''indice dell''array è fuori intervallo: {0}, numero di elementi: {1}."; t[374] = "suspend/resume not implemented"; - t[375] = "\u00absuspend\u00bb/\u00abresume\u00bb non implementato"; + t[375] = "«suspend»/«resume» non implementato"; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; t[379] = "Non implementato: il commit \"one-phase\" deve essere invocato sulla stessa connessione che ha iniziato la transazione."; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; - t[399] = "Non \u00e8 possibile invocare \u00abcancelRowUpdates()\u00bb durante l''inserimento di una riga."; + t[399] = "Non è possibile invocare «cancelRowUpdates()» durante l''inserimento di una riga."; t[400] = "Cannot reference a savepoint after it has been released."; - t[401] = "Non \u00e8 possibile utilizzare un punto di ripristino successivamente al suo rilascio."; + t[401] = "Non è possibile utilizzare un punto di ripristino successivamente al suo rilascio."; t[402] = "You must specify at least one column value to insert a row."; t[403] = "Per inserire un record si deve specificare almeno il valore di una colonna."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "Non \u00e8 possibile trovare il valore di \u00abMaxIndexKeys\u00bb nel catalogo si sistema."; + t[405] = "Non è possibile trovare il valore di «MaxIndexKeys» nel catalogo si sistema."; t[412] = "The JVM claims not to support the encoding: {0}"; t[413] = "La JVM sostiene di non supportare la codifica: {0}."; t[414] = "{0} function takes two or three arguments."; - t[415] = "Il metodo \u00ab{0}\u00bb accetta due o tre argomenti."; + t[415] = "Il metodo «{0}» accetta due o tre argomenti."; t[440] = "Unexpected error writing large object to database."; - t[441] = "Errore inatteso inviando un \u00ablarge object\u00bb al database."; + t[441] = "Errore inatteso inviando un «large object» al database."; t[442] = "Zero bytes may not occur in string parameters."; t[443] = "Byte con valore zero non possono essere contenuti nei parametri stringa."; t[444] = "A result was returned when none was expected."; - t[445] = "\u00c8 stato restituito un valore nonostante non ne fosse atteso nessuno."; + t[445] = "È stato restituito un valore nonostante non ne fosse atteso nessuno."; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "Il \u00abResultSet\u00bb non \u00e8 aggiornabile. La query che lo genera deve selezionare una sola tabella e deve selezionarne tutti i campi che ne compongono la chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, per ulteriori dettagli."; + t[451] = "Il «ResultSet» non è aggiornabile. La query che lo genera deve selezionare una sola tabella e deve selezionarne tutti i campi che ne compongono la chiave primaria. Si vedano le specifiche dell''API JDBC 2.1, sezione 5.6, per ulteriori dettagli."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "Il messaggio di \u00abbind\u00bb \u00e8 troppo lungo ({0}). Questo pu\u00f2 essere causato da una dimensione eccessiva o non corretta dei parametri dell''\u00abInputStream\u00bb."; + t[455] = "Il messaggio di «bind» è troppo lungo ({0}). Questo può essere causato da una dimensione eccessiva o non corretta dei parametri dell''«InputStream»."; t[460] = "Statement has been closed."; - t[461] = "Questo \u00abStatement\u00bb \u00e8 stato chiuso."; + t[461] = "Questo «Statement» è stato chiuso."; t[462] = "No value specified for parameter {0}."; t[463] = "Nessun valore specificato come parametro {0}."; t[468] = "The array index is out of range: {0}"; t[469] = "Indice di colonna fuori dall''intervallo ammissibile: {0}"; t[474] = "Unable to bind parameter values for statement."; - t[475] = "Impossibile fare il \u00abbind\u00bb dei valori passati come parametri per lo statement."; + t[475] = "Impossibile fare il «bind» dei valori passati come parametri per lo statement."; t[476] = "Can''t refresh the insert row."; - t[477] = "Non \u00e8 possibile aggiornare la riga in inserimento."; + t[477] = "Non è possibile aggiornare la riga in inserimento."; t[480] = "No primary key found for table {0}."; - t[481] = "Non \u00e8 stata trovata la chiave primaria della tabella \u00ab{0}\u00bb."; + t[481] = "Non è stata trovata la chiave primaria della tabella «{0}»."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; - t[483] = "Non \u00e8 possibile cambiare il livello di isolamento delle transazioni nel mezzo di una transazione."; + t[483] = "Non è possibile cambiare il livello di isolamento delle transazioni nel mezzo di una transazione."; t[498] = "Provided InputStream failed."; - t[499] = "L''\u00abInputStream\u00bb fornito \u00e8 fallito."; + t[499] = "L''«InputStream» fornito è fallito."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[501] = "Il parametro indice \u00e8 fuori intervallo: {0}, numero di elementi: {1}."; + t[501] = "Il parametro indice è fuori intervallo: {0}, numero di elementi: {1}."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "Il parametro del server \u00abDateStyle\u00bb \u00e8 stato cambiato in {0}. Il driver JDBC richiede che \u00abDateStyle\u00bb cominci con \u00abISO\u00bb per un corretto funzionamento."; + t[503] = "Il parametro del server «DateStyle» è stato cambiato in {0}. Il driver JDBC richiede che «DateStyle» cominci con «ISO» per un corretto funzionamento."; t[508] = "Connection attempt timed out."; - t[509] = "Il tentativo di connessione \u00e8 scaduto."; + t[509] = "Il tentativo di connessione è scaduto."; t[512] = "Internal Query: {0}"; t[513] = "Query interna: {0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "L''autenticazione di tipo {0} non \u00e8 supportata. Verificare che nel file di configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del client, e che lo schema di autenticazione utilizzato sia supportato dal driver."; + t[519] = "L''autenticazione di tipo {0} non è supportata. Verificare che nel file di configurazione pg_hba.conf sia presente l''indirizzo IP o la sottorete del client, e che lo schema di autenticazione utilizzato sia supportato dal driver."; t[526] = "Interval {0} not yet implemented"; - t[527] = "L''intervallo \u00ab{0}\u00bb non \u00e8 stato ancora implementato."; + t[527] = "L''intervallo «{0}» non è stato ancora implementato."; t[532] = "Conversion of interval failed"; - t[533] = "Fallita la conversione di un \u00abinterval\u00bb."; + t[533] = "Fallita la conversione di un «interval»."; t[540] = "Query timeout must be a value greater than or equals to 0."; t[541] = "Il timeout relativo alle query deve essere maggiore o eguale a 0."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "La \u00abConnection\u00bb \u00e8 stata chiusa automaticamente perch\u00e9 una nuova l''ha sostituita nello stesso \u00abPooledConnection\u00bb, oppure il \u00abPooledConnection\u00bb \u00e8 stato chiuso."; + t[543] = "La «Connection» è stata chiusa automaticamente perché una nuova l''ha sostituita nello stesso «PooledConnection», oppure il «PooledConnection» è stato chiuso."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; - t[545] = "Il \u00abResultSet\u00bb non \u00e8 correttamente posizionato; forse \u00e8 necessario invocare \u00abnext()\u00bb."; + t[545] = "Il «ResultSet» non è correttamente posizionato; forse è necessario invocare «next()»."; t[550] = "This statement has been closed."; - t[551] = "Questo statement \u00e8 stato chiuso."; + t[551] = "Questo statement è stato chiuso."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "Non \u00e8 possibile identificare il tipo SQL da usare per l''istanza di tipo \u00ab{0}\u00bb. Usare \u00absetObject()\u00bb specificando esplicitamente il tipo da usare per questo valore."; + t[553] = "Non è possibile identificare il tipo SQL da usare per l''istanza di tipo «{0}». Usare «setObject()» specificando esplicitamente il tipo da usare per questo valore."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "Non \u00e8 possibile invocare \u00abupdateRow()\u00bb durante l''inserimento di una riga."; + t[555] = "Non è possibile invocare «updateRow()» durante l''inserimento di una riga."; t[562] = "Detail: {0}"; t[563] = "Dettaglio: {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; - t[567] = "Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb durante l''inserimento di una riga."; + t[567] = "Non è possibile invocare «deleteRow()» durante l''inserimento di una riga."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[569] = "La posizione attuale \u00e8 precedente all''inizio del ResultSet. Non \u00e8 possibile invocare \u00abdeleteRow()\u00bb qui."; + t[569] = "La posizione attuale è precedente all''inizio del ResultSet. Non è possibile invocare «deleteRow()» qui."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[577] = "Sequenza UTF-8 illegale: il valore \u00e8 finale \u00e8 un surrogato: {0}"; + t[577] = "Sequenza UTF-8 illegale: il valore è finale è un surrogato: {0}"; t[578] = "Unknown Response Type {0}."; t[579] = "Risposta di tipo sconosciuto {0}."; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "Il valore per il parametro di tipo string \u00ab{0}\u00bb non \u00e8 supportato."; + t[583] = "Il valore per il parametro di tipo string «{0}» non è supportato."; t[584] = "Conversion to type {0} failed: {1}."; t[585] = "Conversione al tipo {0} fallita: {1}."; t[586] = "Conversion of money failed."; - t[587] = "Fallita la conversione di un \u00abmoney\u00bb."; + t[587] = "Fallita la conversione di un «money»."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "Non \u00e8 possibile caricare la class \u00ab{0}\u00bb per gestire il tipo \u00ab{1}\u00bb."; + t[601] = "Non è possibile caricare la class «{0}» per gestire il tipo «{1}»."; t[604] = "The fastpath function {0} is unknown."; - t[605] = "La funzione fastpath \u00ab{0}\u00bb \u00e8 sconosciuta."; + t[605] = "La funzione fastpath «{0}» è sconosciuta."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; t[609] = "Sequenza di escape definita erroneamente nella funzione o procedura all''offset {0}."; t[612] = "Provided Reader failed."; - t[613] = "Il \u00abReader\u00bb fornito \u00e8 fallito."; + t[613] = "Il «Reader» fornito è fallito."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; t[615] = "Il numero massimo di righe deve essere maggiore o eguale a 0."; t[616] = "Failed to create object for: {0}."; t[617] = "Fallita la creazione dell''oggetto per: {0}."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[623] = "Il flusso di input \u00e8 stato interrotto, sono arrivati {1} byte al posto dei {0} attesi."; + t[623] = "Il flusso di input è stato interrotto, sono arrivati {1} byte al posto dei {0} attesi."; t[626] = "An unexpected result was returned by a query."; - t[627] = "Un risultato inaspettato \u00e8 stato ricevuto dalla query."; + t[627] = "Un risultato inaspettato è stato ricevuto dalla query."; t[646] = "An error occurred while setting up the SSL connection."; - t[647] = "Si \u00e8 verificato un errore impostando la connessione SSL."; + t[647] = "Si è verificato un errore impostando la connessione SSL."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; t[655] = "Sequenza UTF-8 illegale: {0} byte utilizzati per codificare un valore di {1} byte: {2}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[659] = "La classe \u00abSSLSocketFactory\u00bb specificata, \u00ab{0}\u00bb, non pu\u00f2 essere istanziata."; + t[659] = "La classe «SSLSocketFactory» specificata, «{0}», non può essere istanziata."; t[670] = "Position: {0}"; t[671] = "Posizione: {0}"; t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; t[677] = "Individuazione: file: \"{0}\", routine: {1}, linea: {2}"; t[684] = "Cannot tell if path is open or closed: {0}."; - t[685] = "Impossibile stabilire se il percorso \u00e8 aperto o chiuso: {0}."; + t[685] = "Impossibile stabilire se il percorso è aperto o chiuso: {0}."; t[700] = "Cannot convert an instance of {0} to type {1}"; - t[701] = "Non \u00e8 possibile convertire una istanza di \u00ab{0}\u00bb nel tipo \u00ab{1}\u00bb"; + t[701] = "Non è possibile convertire una istanza di «{0}» nel tipo «{1}»"; t[710] = "{0} function takes four and only four argument."; - t[711] = "Il metodo \u00ab{0}\u00bb accetta quattro e solo quattro argomenti."; + t[711] = "Il metodo «{0}» accetta quattro e solo quattro argomenti."; t[718] = "Interrupted while attempting to connect."; - t[719] = "Si \u00e8 verificata una interruzione durante il tentativo di connessione."; + t[719] = "Si è verificata una interruzione durante il tentativo di connessione."; t[722] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[723] = "Sequenza UTF-8 illegale: il valore finale \u00e8 fuori dall''intervallo permesso: {0}"; + t[723] = "Sequenza UTF-8 illegale: il valore finale è fuori dall''intervallo permesso: {0}"; t[728] = "Failed to initialize LargeObject API"; t[729] = "Inizializzazione di LargeObject API fallita."; t[736] = "{0} function takes one and only one argument."; - t[737] = "Il metodo \u00ab{0}\u00bb accetta un ed un solo argomento."; + t[737] = "Il metodo «{0}» accetta un ed un solo argomento."; t[744] = "This ResultSet is closed."; - t[745] = "Questo \u00abResultSet\u00bb \u00e8 chiuso."; + t[745] = "Questo «ResultSet» è chiuso."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono stati memorizzati dei caratteri che non sono validi per la codifica dei caratteri impostata alla creazione del database. Il caso pi\u00f9 diffuso \u00e8 quello nel quale si memorizzano caratteri a 8bit in un database con codifica SQL_ASCII."; + t[747] = "Sono stati trovati caratteri non validi tra i dati. Molto probabilmente sono stati memorizzati dei caratteri che non sono validi per la codifica dei caratteri impostata alla creazione del database. Il caso più diffuso è quello nel quale si memorizzano caratteri a 8bit in un database con codifica SQL_ASCII."; t[750] = "An I/O error occurred while sending to the backend."; - t[751] = "Si \u00e8 verificato un errore di I/O nella spedizione di dati al server."; + t[751] = "Si è verificato un errore di I/O nella spedizione di dati al server."; t[754] = "Ran out of memory retrieving query results."; t[755] = "Fine memoria scaricando i risultati della query."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "La restituzione di chiavi autogenerate non \u00e8 supportata."; + t[757] = "La restituzione di chiavi autogenerate non è supportata."; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[761] = "L''operazione richiete un \u00abResultSet\u00bb scorribile mentre questo \u00e8 \u00abFORWARD_ONLY\u00bb."; + t[761] = "L''operazione richiete un «ResultSet» scorribile mentre questo è «FORWARD_ONLY»."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "\u00c8 stato eseguito un \u00abCallableStatement\u00bb ma il parametro in uscita \u00ab{0}\u00bb era di tipo \u00ab{1}\u00bb al posto di \u00ab{2}\u00bb, che era stato dichiarato."; + t[763] = "È stato eseguito un «CallableStatement» ma il parametro in uscita «{0}» era di tipo «{1}» al posto di «{2}», che era stato dichiarato."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "Il parametro \u00abholdability\u00bb per il \u00abResultSet\u00bb \u00e8 sconosciuto: {0}."; + t[769] = "Il parametro «holdability» per il «ResultSet» è sconosciuto: {0}."; t[772] = "Transaction isolation level {0} not supported."; - t[773] = "Il livello di isolamento delle transazioni \u00ab{0}\u00bb non \u00e8 supportato."; + t[773] = "Il livello di isolamento delle transazioni «{0}» non è supportato."; t[776] = "No results were returned by the query."; - t[777] = "Nessun risultato \u00e8 stato restituito dalla query."; + t[777] = "Nessun risultato è stato restituito dalla query."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "Un \u00abCallableStatement\u00bb \u00e8 stato eseguito senza produrre alcun risultato. "; + t[779] = "Un «CallableStatement» è stato eseguito senza produrre alcun risultato. "; t[780] = "The maximum field size must be a value greater than or equal to 0."; t[781] = "La dimensione massima del campo deve essere maggiore o eguale a 0."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[787] = "Questo statement non dichiara il parametro in uscita. Usare \u00ab{ ?= call ... }\u00bb per farlo."; + t[787] = "Questo statement non dichiara il parametro in uscita. Usare «{ ?= call ... }» per farlo."; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "Non \u00e8 possibile utilizzare gli spostamenti relativi durante l''inserimento di una riga."; + t[789] = "Non è possibile utilizzare gli spostamenti relativi durante l''inserimento di una riga."; t[792] = "Connection is busy with another transaction"; - t[793] = "La connessione \u00e8 utilizzata da un''altra transazione"; + t[793] = "La connessione è utilizzata da un''altra transazione"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java index 106fd72547..c656da3e73 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java @@ -7,457 +7,457 @@ public class messages_ja extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2010-04-11 22:58+0900\nLast-Translator: Hiroshi Saito \nLanguage-Team: PostgreSQL \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: Japanese\nX-Poedit-Country: Japan\n"; t[6] = "PostgreSQL LOBs can only index to: {0}"; - t[7] = "PostgreSQL LOB \u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 {0} \u307e\u3067\u306e\u307f\u53ef\u80fd\u3067\u3059\u3002 "; + t[7] = "PostgreSQL LOB は、インデックス {0} までのみ可能です。 "; t[14] = "The server does not support SSL."; - t[15] = "\u30b5\u30fc\u30d0\u306fSSL\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002"; + t[15] = "サーバはSSLをサポートしていません。"; t[22] = "Error disabling autocommit"; - t[23] = "\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u306e\u7121\u52b9\u5316\u30a8\u30e9\u30fc"; + t[23] = "自動コミットの無効化エラー"; t[24] = "Hint: {0}"; - t[25] = "\u30d2\u30f3\u30c8: {0}"; + t[25] = "ヒント: {0}"; t[28] = "Interrupted while attempting to connect."; - t[29] = "\u63a5\u7d9a\u8a66\u884c\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u304c\u3042\u308a\u307e\u3057\u305f\u3002"; + t[29] = "接続試行中に割り込みがありました。"; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "PreparedStatement\u3067\u30af\u30a8\u30ea\u6587\u5b57\u3092\u6301\u3063\u305f\u30af\u30a8\u30ea\u30e1\u30bd\u30c3\u30c9\u306f\u4f7f\u3048\u307e\u305b\u3093\u3002"; + t[33] = "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。"; t[34] = "Got CopyInResponse from server during an active {0}"; - t[35] = "\u6d3b\u52d5\u4e2d\u306e\u30b5\u30fc\u30d0 {0} \u304b\u3089CopyInResponse\u3092\u5f97\u307e\u3057\u305f"; + t[35] = "活動中のサーバ {0} からCopyInResponseを得ました"; t[38] = "Cannot rollback when autoCommit is enabled."; - t[39] = "autoCommit\u6709\u52b9\u6642\u306b\u3001\u660e\u793a\u7684\u306a\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[39] = "autoCommit有効時に、明示的なロールバックはできません。"; t[46] = "DataSource has been closed."; - t[47] = "\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[47] = "データソースは閉じられました。"; t[54] = "The fastpath function {0} is unknown."; - t[55] = "{0} \u306f\u672a\u77e5\u306e fastpath \u95a2\u6570\u3067\u3059\u3002"; + t[55] = "{0} は未知の fastpath 関数です。"; t[56] = "The driver currently does not support COPY operations."; - t[57] = "\u73fe\u5728\u3001\u30c9\u30e9\u30a4\u30d0\u306f\u30b3\u30d4\u30fc\u64cd\u4f5c\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u305b\u3093\u3002"; + t[57] = "現在、ドライバはコピー操作をサポートしません。"; t[60] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[61] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u6700\u7d42\u5024\u304c\u7bc4\u56f2\u5916\u3067\u3059: {0}"; + t[61] = "UTF-8シーケンス違反: 最終値が範囲外です: {0}"; t[64] = "Prepare called before end. prepare xid={0}, state={1}"; - t[65] = "\u7d42\u4e86\u524d\u306b\"Prepare\"\u304c\u547c\u3070\u308c\u307e\u3057\u305f prepare xid={0}, state={1}"; + t[65] = "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}"; t[66] = "Internal Query: {0}"; - t[67] = "\u30a4\u30f3\u30bf\u30fc\u30ca\u30eb\u30fb\u30af\u30a8\u30ea: {0}"; + t[67] = "インターナル・クエリ: {0}"; t[68] = "An unexpected result was returned by a query."; - t[69] = "\u30af\u30a8\u30ea\u306b\u3088\u3063\u3066\u60f3\u5b9a\u3057\u306a\u3044\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[69] = "クエリによって想定しない結果が返されました。"; t[82] = "Transaction isolation level {0} not supported."; - t[83] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u9694\u96e2\u30ec\u30d9\u30eb{0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[83] = "トランザクション隔離レベル{0} はサポートされていません。"; t[88] = "Requested CopyIn but got {0}"; - t[89] = "CopyIn\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c {0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[89] = "CopyInを要求しましたが {0} を得ました。"; t[90] = "Tried to write to an inactive copy operation"; - t[91] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u64cd\u4f5c\u3067\u66f8\u304d\u8fbc\u307f\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[91] = "動作していないコピー操作で書き込みを試みました。"; t[94] = "{0} function takes four and only four argument."; - t[95] = "{0} \u95a2\u6570\u306f\u3001\u56db\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[95] = "{0} 関数は、四つの引数のみを用います。"; t[98] = "Unable to decode xml data."; - t[99] = "xml\u30c7\u30fc\u30bf\u3092\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3002"; + t[99] = "xmlデータを復号化できません。"; t[100] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[101] = "\u30b5\u30fc\u30d0\u306estandard_conforming_strings\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001{0}\u3068\u3057\u3066\u5831\u544a\u3055\u308c\u307e\u3057\u305f\u3002JDBC\u30c9\u30e9\u30a4\u30d0\u306f\u3001on \u307e\u305f\u306f off \u3092\u60f3\u5b9a\u3057\u307e\u3059\u3002"; + t[101] = "サーバのstandard_conforming_stringsパラメータは、{0}として報告されました。JDBCドライバは、on または off を想定します。"; t[102] = "There are no rows in this ResultSet."; - t[103] = "\u3053\u306eResultSet\u306b\u3044\u304b\u306a\u308b\u884c\u3082\u3042\u308a\u307e\u305b\u3093\u3002"; + t[103] = "このResultSetにいかなる行もありません。"; t[106] = "Server SQLState: {0}"; - t[107] = "\u30b5\u30fc\u30d0 SQLState: {0}"; + t[107] = "サーバ SQLState: {0}"; t[108] = "This copy stream is closed."; - t[109] = "\u30b3\u30d4\u30fc\u30fb\u30b9\u30c8\u30ea\u30fc\u30e0\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[109] = "コピー・ストリームは閉じられました。"; t[120] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[121] = "\u30b5\u30fc\u30d0\u306eDateStyle\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001{0} \u306b\u5909\u308f\u308a\u307e\u3057\u305f\u3002JDBC\u30c9\u30e9\u30a4\u30d0\u306f\u3001\u6b63\u3057\u3044\u64cd\u4f5c\u306e\u305f\u3081ISO\u3067\u958b\u59cb\u3059\u308bDateStyle\u3092\u8981\u6c42\u3057\u307e\u3059\u3002"; + t[121] = "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作のためISOで開始するDateStyleを要求します。"; t[122] = "Database connection failed when reading from copy"; - t[123] = "\u30b3\u30d4\u30fc\u304b\u3089\u306e\u8aad\u307f\u53d6\u308a\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[123] = "コピーからの読み取り時のデータベース接続に失敗しました。"; t[124] = "Provided InputStream failed."; - t[125] = "\u63d0\u4f9b\u3055\u308c\u305f InputStream \u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[125] = "提供された InputStream は失敗しました。"; t[142] = "Could not read SSL root certificate file {0}."; - t[143] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[143] = "SSLルート証明書ファイル {0} を読めませんでした。"; t[144] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[145] = "ResultSet\u306f\u5909\u66f4\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u7d50\u679c\u30bb\u30c3\u30c8\u3092\u751f\u6210\u3057\u305f\u30af\u30a8\u30ea\u306f\u3001\u305f\u3060\u4e00\u3064\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u9078\u3073\u3001\u305d\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u5168\u3066\u306e\u4e3b\u30ad\u30fc\u3092\u9078\u3070\u306a\u304f\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u3002\u3088\u308a\u591a\u304f\u306e\u8a73\u7d30\u306b\u95a2\u3057\u3066 JDBC 2.1 API\u4ed5\u69d8\u3001\u7ae0 5.6 \u3092\u53c2\u7167\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[145] = "ResultSetは変更可能ではありません。この結果セットを生成したクエリは、ただ一つのテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。"; t[152] = "The array index is out of range: {0}"; - t[153] = "\u914d\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3001\u7bc4\u56f2\u5916\u3067\u3059: {0}"; + t[153] = "配列インデックスは、範囲外です: {0}"; t[154] = "Unexpected command status: {0}."; - t[155] = "\u60f3\u5b9a\u5916\u306e\u30b3\u30de\u30f3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9: {0}"; + t[155] = "想定外のコマンドステータス: {0}"; t[156] = "Unknown XML Result class: {0}"; - t[157] = "\u672a\u77e5\u306eXML\u7d50\u679c\u30af\u30e9\u30b9: {0}"; + t[157] = "未知のXML結果クラス: {0}"; t[160] = "Unexpected copydata from server for {0}"; - t[161] = "{0} \u306e\u30b5\u30fc\u30d0\u304b\u3089\u306e\u601d\u3044\u304c\u3051\u306a\u3044 copydata \u3067\u3059\u3002"; + t[161] = "{0} のサーバからの思いがけない copydata です。"; t[162] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[163] = "\u65e9\u3059\u304e\u305f\u5165\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u7d42\u4e86\u3067\u3059\u3002{0} \u30d0\u30a4\u30c8\u304c\u60f3\u5b9a\u3055\u308c\u307e\u3057\u305f\u304c\u3001 {1} \u306e\u307f\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"; + t[163] = "早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読み込まれました。"; t[168] = "Database connection failed when canceling copy operation"; - t[169] = "\u30b3\u30d4\u30fc\u64cd\u4f5c\u53d6\u308a\u6d88\u3057\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[169] = "コピー操作取り消し時のデータベース接続に失敗しました。"; t[174] = "No primary key found for table {0}."; - t[175] = "\u30c6\u30fc\u30d6\u30eb {0} \u306e\u4e3b\u30ad\u30fc\u304c\u3042\u308a\u307e\u305b\u3093\u3002"; + t[175] = "テーブル {0} の主キーがありません。"; t[180] = "Enter SSL password: "; - t[181] = "SSL\u30d1\u30b9\u30ef\u30fc\u30c9\u5165\u529b: "; + t[181] = "SSLパスワード入力: "; t[182] = "{0} function takes one and only one argument."; - t[183] = "{0} \u95a2\u6570\u306f\u3001\u5358\u4e00\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[183] = "{0} 関数は、単一の引数のみを用います。"; t[184] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[185] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u521d\u671f\u30d0\u30a4\u30c8\u306f\u3001{0}: {1}"; + t[185] = "UTF-8シーケンス違反: 初期バイトは、{0}: {1}"; t[194] = "Could not find a java cryptographic algorithm: X.509 CertificateFactory not available."; - t[195] = "java\u306e\u6697\u53f7\u5316\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002X.509 CertificateFactory \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[195] = "javaの暗号化アルゴリズムを見つけることができませんでした。X.509 CertificateFactory は利用できません。"; t[204] = "No value specified for parameter {0}."; - t[205] = "\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306b\u5024\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u307e\u305b\u3093\u3002"; + t[205] = "パラメータ {0} に値が設定されてません。"; t[210] = "The hostname {0} could not be verified."; - t[211] = "\u30db\u30b9\u30c8\u540d {0} \u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[211] = "ホスト名 {0} は確認できませんでした。"; t[216] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[217] = "\u958b\u59cb\u524d\u3082\u3057\u304f\u306f\u7d42\u4e86\u5f8c\u3067\u3042\u308b\u305f\u3081\u3001ResultSet\u3092\u66f4\u65b0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[217] = "開始前もしくは終了後であるため、ResultSetを更新することができません。"; t[218] = "SSL error: {0}"; - t[219] = "SSL \u30a8\u30e9\u30fc: {0}"; + t[219] = "SSL エラー: {0}"; t[220] = "{0} function doesn''t take any argument."; - t[221] = "{0} \u95a2\u6570\u306f\u3001\u3069\u306e\u3088\u3046\u306a\u5f15\u6570\u3082\u7528\u3044\u307e\u305b\u3093\u3002"; + t[221] = "{0} 関数は、どのような引数も用いません。"; t[222] = "Connection is busy with another transaction"; - t[223] = "\u63a5\u7d9a\u306f\u3001\u5225\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306b\u5bfe\u5fdc\u4e2d\u3067\u3059\u3002"; + t[223] = "接続は、別のトランザクションに対応中です。"; t[228] = "Transaction control methods setAutoCommit(true), commit, rollback and setSavePoint not allowed while an XA transaction is active."; - t[229] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u5236\u5fa1\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308b setAutoCommit(true), commit, rollback, setSavePoint \u306f\u3001XA\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u304c\u6709\u52b9\u3067\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[229] = "トランザクション制御メソッドである setAutoCommit(true), commit, rollback, setSavePoint は、XAトランザクションが有効では利用できません。"; t[234] = "Could not open SSL root certificate file {0}."; - t[235] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[235] = "SSLルート証明書ファイル {0} を開けませんでした。"; t[236] = "Received CommandComplete ''{0}'' without an active copy operation"; - t[237] = "\u6d3b\u52d5\u4e2d\u306e\u30b3\u30d4\u30fc\u64cd\u4f5c\u306a\u3057\u3067CommandComplete ''{0}'' \u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002"; + t[237] = "活動中のコピー操作なしでCommandComplete ''{0}'' を受け取りました。"; t[242] = "free() was called on this LOB previously"; - t[243] = "\u4ee5\u524d\u306b\u3001\u3053\u306eLOB\u306b\u5bfe\u3059\u308bfree() \u306f\u547c\u3070\u308c\u307e\u3057\u305f\u3002"; + t[243] = "以前に、このLOBに対するfree() は呼ばれました。"; t[244] = "The hostname {0} could not be verified by hostnameverifier {1}."; - t[245] = "\u30db\u30b9\u30c8\u540d {0} \u306f\u3001hostnameverifier {1} \u3067\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[245] = "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。"; t[246] = "Heuristic commit/rollback not supported. forget xid={0}"; - t[247] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044 commit/rollback \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002forget xid={0}"; + t[247] = "サポートされない commit/rollback が見つかりました。forget xid={0}"; t[252] = "Got CopyOutResponse from server during an active {0}"; - t[253] = "\u6d3b\u52d5\u4e2d\u306e\u30b5\u30fc\u30d0 {0} \u304b\u3089CopyOutResponse\u3092\u5f97\u307e\u3057\u305f"; + t[253] = "活動中のサーバ {0} からCopyOutResponseを得ました"; t[258] = "Got {0} error responses to single copy cancel request"; - t[259] = "\u5358\u4e00copy\u53d6\u308a\u6d88\u3057\u8981\u6c42\u306b {0} \u30a8\u30e9\u30fc\u5fdc\u7b54\u3092\u5f97\u307e\u3057\u305f\u3002"; + t[259] = "単一copy取り消し要求に {0} エラー応答を得ました。"; t[260] = "Read from copy failed."; - t[261] = "copy\u304b\u3089\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[261] = "copyからの読み取りに失敗しました。"; t[264] = "Query timeout must be a value greater than or equals to 0."; - t[265] = "\u30af\u30a8\u30ea\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[265] = "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。"; t[272] = "A result was returned when none was expected."; - t[273] = "\u7d50\u679c\u304c\u306a\u3044\u3053\u3068\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[273] = "結果がないことを想定しましたが、結果が返されました。"; t[276] = "Database connection failed when starting copy"; - t[277] = "\u30b3\u30d4\u30fc\u958b\u59cb\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[277] = "コピー開始時のデータベース接続に失敗しました。"; t[282] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[283] = "Transaction interleaving \u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[283] = "Transaction interleaving は実装されていません。xid={0}, currentXid={1}, state={2}, flags={3}"; t[286] = "Invalid stream length {0}."; - t[287] = "\u7121\u52b9\u306a\u30b9\u30c8\u30ea\u30fc\u30e0\u9577 {0}."; + t[287] = "無効なストリーム長 {0}."; t[300] = "Finalizing a Connection that was never closed:"; - t[301] = "\u63a5\u7d9a\u7d42\u4e86\u3067\u9589\u3058\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f:"; + t[301] = "接続終了で閉じられませんでした:"; t[304] = "Cannot convert an instance of {0} to type {1}"; - t[305] = "\u578b {1} \u306b {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"; + t[305] = "型 {1} に {0} のインスタンスを変換できません。"; t[306] = "A CallableStatement was executed with an invalid number of parameters"; - t[307] = "CallableStatement\u306f\u3001\u4e0d\u6b63\u306a\u6570\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002"; + t[307] = "CallableStatementは、不正な数のパラメータで実行されました。"; t[308] = "Could not read SSL key file {0}."; - t[309] = "SSL key\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[309] = "SSL keyファイル {0} を読めませんでした。"; t[310] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[311] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: {0} \u30d0\u30a4\u30c8\u3092\u3001 {1} \u30d0\u30a4\u30c8\u5024\u306e\u30a8\u30f3\u30b3\u30fc\u30c9\u306b\u4f7f\u3044\u307e\u3057\u305f: {2}"; + t[311] = "UTF-8シーケンス違反: {0} バイトを、 {1} バイト値のエンコードに使いました: {2}"; t[316] = "Unknown ResultSet holdability setting: {0}."; - t[317] = "\u672a\u77e5\u306e ResultSet \u306b\u5bfe\u3059\u308bholdability\u8a2d\u5b9a\u3067\u3059: {0}"; + t[317] = "未知の ResultSet に対するholdability設定です: {0}"; t[320] = "Unexpected error writing large object to database."; - t[321] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u60f3\u5b9a\u5916\u306e\u30a8\u30e9\u30fc\u304c\u8d77\u304d\u307e\u3057\u305f\u3002"; + t[321] = "データベースへのラージオブジェクト書き込み中に想定外のエラーが起きました。"; t[324] = "Cannot write to copy a byte of value {0}"; - t[325] = "\u5024{0}\u306e\u30d0\u30a4\u30c8\u30b3\u30d4\u30fc\u3067\u66f8\u304d\u8fbc\u307f\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[325] = "値{0}のバイトコピーで書き込みができません。"; t[326] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[327] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: \u6700\u7d42\u5024\u304c\u30b5\u30ed\u30b2\u30fc\u30c8\u5024\u3067\u3059: {0}"; + t[327] = "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}"; t[332] = "Ran out of memory retrieving query results."; - t[333] = "\u30af\u30a8\u30ea\u306e\u7d50\u679c\u53d6\u5f97\u306b\u30e1\u30e2\u30ea\u3092\u4f7f\u3044\u679c\u305f\u3057\u307e\u3057\u305f\u3002"; + t[333] = "クエリの結果取得にメモリを使い果たしました。"; t[334] = "The server requested password-based authentication, but no password was provided."; - t[335] = "\u30b5\u30fc\u30d0\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u30fb\u30d9\u30fc\u30b9\u306e\u8a8d\u8a3c\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c\u3001\u3044\u304b\u306a\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[335] = "サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供されませんでした。"; t[336] = "Large Objects may not be used in auto-commit mode."; - t[337] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u30e2\u30fc\u30c9\u3067\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[337] = "ラージオブジェクトは、自動コミットモードで使うことができません。"; t[338] = "This ResultSet is closed."; - t[339] = "ResultSet\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[339] = "ResultSetは閉じられました。"; t[340] = "Returning autogenerated keys by column index is not supported."; - t[341] = "\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u81ea\u52d5\u751f\u6210\u30ad\u30fc\u3092\u8fd4\u3059\u3053\u3068\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[341] = "列インデックスで自動生成キーを返すことはサポートされていません。"; t[348] = "Error during recover"; - t[349] = "\u56de\u5fa9\u4e2d\u306b\u30a8\u30e9\u30fc"; + t[349] = "回復中にエラー"; t[350] = "Cannot truncate LOB to a negative length."; - t[351] = "\u8ca0\u306e\u5024\u3067LOB\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002"; + t[351] = "負の値でLOBを削除できません。"; t[358] = "The column name {0} was not found in this ResultSet."; - t[359] = "ResultSet \u306b\u5217\u540d {0} \u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[359] = "ResultSet に列名 {0} は見つかりませんでした。"; t[372] = "No function outputs were registered."; - t[373] = "\u95a2\u6570\u51fa\u529b\u306f\u767b\u9332\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[373] = "関数出力は登録されませんでした。"; t[374] = "Unknown XML Source class: {0}"; - t[375] = "\u672a\u77e5\u306eXML\u30bd\u30fc\u30b9\u30af\u30e9\u30b9: {0}"; + t[375] = "未知のXMLソースクラス: {0}"; t[386] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[387] = "CallableStatement\u306f\u5ba3\u8a00\u3055\u308c\u307e\u3057\u305f\u304c\u3001registerOutParameter(1, ) \u306f\u547c\u3073\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[387] = "CallableStatementは宣言されましたが、registerOutParameter(1, ) は呼び出されませんでした。"; t[388] = "Connection has been closed."; - t[389] = "\u63a5\u7d9a\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[389] = "接続は閉じられました。"; t[390] = "The JVM claims not to support the encoding: {0}"; - t[391] = "JVM\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: {0}"; + t[391] = "JVMでサポートされないエンコーディングです: {0}"; t[392] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[393] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u305f\u305f\u3081\u3001\u3053\u308c\u4ee5\u4e0a\u64cd\u4f5c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[393] = "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。"; t[404] = "Database connection failed when ending copy"; - t[405] = "\u30b3\u30d4\u30fc\u7d42\u4e86\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[405] = "コピー終了時のデータベース接続に失敗しました。"; t[414] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[415] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: Prepare\u306f\u3001\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u958b\u59cb\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u63a5\u7d9a\u3067\u4f7f\u308f\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002currentXid={0}, prepare xid={1}"; + t[415] = "実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わなくてはなりません。currentXid={0}, prepare xid={1}"; t[418] = "{0} function takes three and only three arguments."; - t[419] = "{0} \u95a2\u6570\u306f\u3001\u4e09\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[419] = "{0} 関数は、三つの引数のみを用います。"; t[424] = "Invalid UUID data."; - t[425] = "\u7121\u52b9\u306aUUID\u30c7\u30fc\u30bf\u3067\u3059\u3002"; + t[425] = "無効なUUIDデータです。"; t[428] = "commit called before end. commit xid={0}, state={1}"; - t[429] = "\u7d42\u4e86\u306e\u524d\u306b COMMIT \u3092\u547c\u3073\u307e\u3057\u305f commit xid={0}, state={1}"; + t[429] = "終了の前に COMMIT を呼びました commit xid={0}, state={1}"; t[430] = "Custom type maps are not supported."; - t[431] = "\u30ab\u30b9\u30bf\u30e0\u578b\u30de\u30c3\u30d7\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002"; + t[431] = "カスタム型マップはサポートされません。"; t[436] = "Method {0} is not yet implemented."; - t[437] = "{0} \u30e1\u30bd\u30c3\u30c9\u306f\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[437] = "{0} メソッドはまだ実装されていません。"; t[442] = "This statement has been closed."; - t[443] = "\u3053\u306e\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[443] = "このステートメントは閉じられました。"; t[448] = "xid must not be null"; - t[449] = "xid\u306fnull\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002"; + t[449] = "xidはnullではいけません。"; t[454] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[455] = "ResultSet\u306e\u7d42\u308f\u308a\u306e\u5f8c\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u3053\u3067deleteRow()\u3092\u547c\u3076\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[455] = "ResultSetの終わりの後に位置していました。ここでdeleteRow()を呼ぶことはできません。"; t[456] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[457] = "Fastpath \u547c\u3073\u51fa\u3057 {0} - \u6574\u6570\u5024\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u3044\u304b\u306a\u308b\u7d50\u679c\u3082\u8fd4\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[457] = "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんでした。"; t[464] = "wasNull cannot be call before fetching a result."; - t[465] = "wasNull\u306f\u3001\u7d50\u679c\u30d5\u30a7\u30c3\u30c1\u524d\u306b\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[465] = "wasNullは、結果フェッチ前に呼び出せません。"; t[470] = "Unsupported Types value: {0}"; - t[471] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u578b\u306e\u5024: {0}."; + t[471] = "サポートされない型の値: {0}."; t[478] = "Unable to find server array type for provided name {0}."; - t[479] = "\u63d0\u4f9b\u540d {0} \u3067\u3001\u30b5\u30fc\u30d0\u306e\u914d\u5217\u578b\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[479] = "提供名 {0} で、サーバの配列型を見つけることができません。"; t[490] = "Position: {0}"; - t[491] = "\u30dd\u30b8\u30b7\u30e7\u30f3: {0}"; + t[491] = "ポジション: {0}"; t[492] = "Conversion to type {0} failed: {1}."; - t[493] = "{0} \u3078\u306e\u578b\u5909\u63db\u306f\u5931\u6557\u3057\u307e\u3057\u305f: {1}."; + t[493] = "{0} への型変換は失敗しました: {1}."; t[502] = "Failed to create object for: {0}."; - t[503] = "{0} \u3078\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[503] = "{0} へのオブジェクト生成に失敗しました。"; t[504] = "A CallableStatement was executed with nothing returned."; - t[505] = "CallableStatement\u306f\u3001\u623b\u308a\u306a\u3057\u3067\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002"; + t[505] = "CallableStatementは、戻りなしで実行されました。"; t[510] = "Could not read password for SSL key file, console is not available."; - t[511] = "SSL key\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30b3\u30f3\u30bd\u30fc\u30eb\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002"; + t[511] = "SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。"; t[514] = "Cannot call cancelRowUpdates() when on the insert row."; - t[515] = "\u884c\u633f\u5165\u6642\u306b cancelRowUpdates() \u3092\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[515] = "行挿入時に cancelRowUpdates() を呼び出せません。"; t[518] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[519] = "\u9593\u9055\u3063\u305f\u30b7\u30b9\u30c6\u30e0\u30fb\u30ab\u30bf\u30ed\u30b0\u30fb\u30c7\u30fc\u30bf\u306e\u305f\u3081\u306bMaxIndexKeys\u306e\u5024\u3092\u6c7a\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[519] = "間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができません。"; t[520] = "Not on the insert row."; - t[521] = "\u633f\u5165\u884c\u304c\u3042\u308a\u307e\u305b\u3093\u3002"; + t[521] = "挿入行がありません。"; t[524] = "The column index is out of range: {0}, number of columns: {1}."; - t[525] = "\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u7bc4\u56f2\u5916\u3067\u3059: {0} , \u5217\u306e\u6570: {1}"; + t[525] = "列インデックスは範囲外です: {0} , 列の数: {1}"; t[538] = "Unknown Response Type {0}."; - t[539] = "\u672a\u77e5\u306e\u5fdc\u7b54\u578b {0} \u3067\u3059\u3002"; + t[539] = "未知の応答型 {0} です。"; t[540] = "Cannot call deleteRow() when on the insert row."; - t[541] = "\u884c\u633f\u5165\u6642\u306b deleteRow() \u3092\u547c\u3073\u51fa\u305b\u307e\u305b\u3093\u3002"; + t[541] = "行挿入時に deleteRow() を呼び出せません。"; t[544] = "Provided Reader failed."; - t[545] = "\u63d0\u4f9b\u3055\u308c\u305f Reader \u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[545] = "提供された Reader は失敗しました。"; t[552] = "Could not initialize SSL context."; - t[553] = "SSL context\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[553] = "SSL contextを初期化できませんでした。"; t[554] = "Unable to load the class {0} responsible for the datatype {1}"; - t[555] = "\u30c7\u30fc\u30bf\u578b {1} \u306b\u5bfe\u5fdc\u3059\u308b\u30af\u30e9\u30b9{0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"; + t[555] = "データ型 {1} に対応するクラス{0} をロードできません。"; t[558] = "Expected command status BEGIN, got {0}."; - t[559] = "BEGIN\u30b3\u30de\u30f3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001{0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[559] = "BEGINコマンドステータスを想定しましたが、{0} を得ました。"; t[564] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[565] = "CallableStatement\u6a5f\u80fd\u304c\u5b9f\u884c\u3055\u308c\u3001\u51fa\u529b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u3001\u578b {1} \u3067\u3057\u305f\u3002\u3057\u304b\u3057\u3001\u578b {2} \u304c\u767b\u9332\u3055\u308c\u307e\u3057\u305f\u3002"; + t[565] = "CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しかし、型 {2} が登録されました。"; t[572] = "No hstore extension installed."; - t[573] = "hstore \u62e1\u5f35\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u307e\u305b\u3093\u3002"; + t[573] = "hstore 拡張がインストールされてません。"; t[580] = "Error during one-phase commit. commit xid={0}"; - t[581] = "\u5358\u4e00\u30d5\u30a7\u30fc\u30ba\u306eCOMMIT\u306e\u6700\u4e2d\u306b\u30a8\u30e9\u30fc commit xid={0}"; + t[581] = "単一フェーズのCOMMITの最中にエラー commit xid={0}"; t[594] = "Unsupported value for stringtype parameter: {0}"; - t[595] = "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044stringtype\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3067\u3059: {0}"; + t[595] = "サポートされないstringtypeパラメータ値です: {0}"; t[600] = "This connection has been closed."; - t[601] = "\u3053\u306e\u63a5\u7d9a\u306f\u65e2\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[601] = "この接続は既に閉じられています。"; t[608] = "Could not open SSL certificate file {0}."; - t[609] = "SSL\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb {0} \u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[609] = "SSL証明書ファイル {0} を開けませんでした。"; t[612] = "CommandComplete expected COPY but got: "; - t[613] = "\u30b3\u30de\u30f3\u30c9\u5b8c\u4e86\u306fCOPY\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u304c\u3001\u6b21\u306e\u7d50\u679c\u3092\u5f97\u307e\u3057\u305f:"; + t[613] = "コマンド完了はCOPYを想定しましたが、次の結果を得ました:"; t[616] = "Failed to convert binary xml data to encoding: {0}."; - t[617] = "\u30d0\u30a4\u30ca\u30eaxml\u30c7\u30fc\u30bf\u306e\u30a8\u30f3\u30b3\u30fc\u30c9: {0} \u3078\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[617] = "バイナリxmlデータのエンコード: {0} への変換に失敗しました。"; t[630] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[631] = "\u30c9\u30e9\u30a4\u30d0\u306e\u5931\u6557\u3092\u5f15\u304d\u8d77\u3053\u3059\u7570\u5e38\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u4f8b\u5916\u3092\u5831\u544a\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[631] = "ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。"; t[636] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[637] = "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fb\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u308a\u3001\u63a5\u7d9a\u8a66\u884c\u306f\u59a8\u3052\u3089\u308c\u307e\u3057\u305f\u3002\u304a\u305d\u3089\u304f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30fb\u30b5\u30fc\u30d0\u30fb\u30db\u30b9\u30c8\u63a5\u7d9a\u306e\u305f\u3081java.net.SocketPermission\u3092\u8a31\u53ef\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"; + t[637] = "セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベース・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要があります。"; t[638] = "Statement has been closed."; - t[639] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002"; + t[639] = "ステートメントは閉じられました。"; t[640] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[641] = "\u540c\u3058PooledConnection\u304c\u958b\u304b\u308c\u305f\u306e\u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306f\u81ea\u52d5\u7684\u306b\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002\u307e\u305f\u306f\u3001PooledConnection\u306f\u65e2\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[641] = "同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。または、PooledConnectionは既に閉じられています。"; t[642] = "Cannot cast an instance of {0} to type {1}"; - t[643] = "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 {0} \u3092\u578b {1} \u3078\u30ad\u30e3\u30b9\u30c8\u3067\u304d\u307e\u305b\u3093"; + t[643] = "インスタンス {0} を型 {1} へキャストできません"; t[646] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[647] = "\u64cd\u4f5c\u306f\u3001\u30b9\u30af\u30ed\u30fc\u30eb\u53ef\u80fd\u306aResultSet\u3092\u5fc5\u8981\u3068\u3057\u307e\u3059\u304c\u3001\u3053\u306eResultSet\u306f\u3001 FORWARD_ONLY\u3067\u3059\u3002"; + t[647] = "操作は、スクロール可能なResultSetを必要としますが、このResultSetは、 FORWARD_ONLYです。"; t[662] = "Zero bytes may not occur in identifiers."; - t[663] = "\u30bc\u30ed\u30fb\u30d0\u30a4\u30c8\u3092\u8b58\u5225\u5b50\u306b\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[663] = "ゼロ・バイトを識別子に含めることはできません。"; t[664] = "Unable to convert DOMResult SQLXML data to a string."; - t[665] = "DOMResult SQLXML\u30c7\u30fc\u30bf\u3092\u6587\u5b57\u5217\u306b\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[665] = "DOMResult SQLXMLデータを文字列に変えることができません。"; t[678] = "Cannot change transaction isolation level in the middle of a transaction."; - t[679] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6700\u4e2d\u306b\u9694\u96e2\u30ec\u30d9\u30eb\u3092\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[679] = "トランザクションの最中に隔離レベルを変えることができません。"; t[680] = "Error loading default settings from driverconfig.properties"; - t[681] = "driverconfig.properties\u306b\u3088\u308b\u521d\u671f\u8a2d\u5b9a\u306e\u30ed\u30fc\u30c9\u30a8\u30e9\u30fc\u3002"; + t[681] = "driverconfig.propertiesによる初期設定のロードエラー。"; t[686] = "Unable to create SAXResult for SQLXML."; - t[687] = "SQLXML\u306b\u5bfe\u3059\u308bSAXResult\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[687] = "SQLXMLに対するSAXResultを生成できません。"; t[692] = "Unable to find name datatype in the system catalogs."; - t[693] = "\u540d\u524d\u30c7\u30fc\u30bf\u578b\u3092\u30b7\u30b9\u30c6\u30e0\u30ab\u30bf\u30ed\u30b0\u3067\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[693] = "名前データ型をシステムカタログで見つけることができません。"; t[696] = "oid type {0} not known and not a number"; - t[697] = "\u6570\u5024\u3067\u306a\u3044\u3001\u672a\u77e5\u306eOID\u578b {0} \u3067\u3059\u3002"; + t[697] = "数値でない、未知のOID型 {0} です。"; t[700] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; - t[701] = "\u6e96\u5099\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u30b3\u30df\u30c3\u30c8\u30a8\u30e9\u30fc\u3002commit xid={0}, preparedXid={1}, currentXid={2}"; + t[701] = "準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, currentXid={2}"; t[706] = "LOB positioning offsets start at 1."; - t[707] = "LOB \u30aa\u30d5\u30bb\u30c3\u30c8\u958b\u59cb\u4f4d\u7f6e\u3092 1 \u3068\u3057\u3066\u304f\u3060\u3055\u3044\u3002"; + t[707] = "LOB オフセット開始位置を 1 としてください。"; t[712] = "Invalid fetch direction constant: {0}."; - t[713] = "\u7121\u52b9\u306a\u30d5\u30a7\u30c3\u30c1\u65b9\u5411\u306e\u5b9a\u6570\u3067\u3059: {0}"; + t[713] = "無効なフェッチ方向の定数です: {0}"; t[716] = "Returning autogenerated keys is not supported."; - t[717] = "\u81ea\u52d5\u751f\u6210\u30ad\u30fc\u3092\u8fd4\u3059\u3053\u3068\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[717] = "自動生成キーを返すことはサポートされていません。"; t[732] = "Cannot commit when autoCommit is enabled."; - t[733] = "autoCommit\u6709\u52b9\u6642\u306b\u3001\u660e\u793a\u7684\u306a\u30b3\u30df\u30c3\u30c8\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[733] = "autoCommit有効時に、明示的なコミットはできません。"; t[734] = "Loading the SSL certificate {0} into a KeyManager failed."; - t[735] = "SSL\u8a3c\u660e\u66f8 {0} \u306eKeyManager\u3078\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[735] = "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。"; t[738] = "ResultSet not positioned properly, perhaps you need to call next."; - t[739] = "\u9069\u5207\u306a\u4f4d\u7f6e\u3092\u6307\u3057\u3066\u3044\u306a\u3044ResultSet\u3067\u3059\u3002\u304a\u305d\u3089\u304f\u3001next\u3092\u547c\u3076\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"; + t[739] = "適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。"; t[746] = "Interrupted while waiting to obtain lock on database connection"; - t[747] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3067\u30ed\u30c3\u30af\u5f85\u3061\u306e\u6700\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u304c\u3042\u308a\u307e\u3057\u305f\u3002"; + t[747] = "データベース接続でロック待ちの最中に割り込みがありました。"; t[754] = "Failed to setup DataSource."; - t[755] = "\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[755] = "データソースのセットアップに失敗しました。"; t[758] = "Too many update results were returned."; - t[759] = "\u591a\u3059\u304e\u308b\u66f4\u65b0\u7d50\u679c\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[759] = "多すぎる更新結果が返されました。"; t[762] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[763] = "CONCUR_READ_ONLY\u3092\u4f34\u3046ResultSets\u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002"; + t[763] = "CONCUR_READ_ONLYを伴うResultSetsは更新できません。"; t[770] = "Internal Position: {0}"; - t[771] = "\u30a4\u30f3\u30bf\u30fc\u30ca\u30eb\u30fb\u30dd\u30b8\u30b7\u30e7\u30f3: {0}"; + t[771] = "インターナル・ポジション: {0}"; t[786] = "Unknown Types value."; - t[787] = "\u672a\u77e5\u306e\u578b\u306e\u5024\u3067\u3059\u3002"; + t[787] = "未知の型の値です。"; t[788] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[789] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u521d\u671f\u5316\u3055\u308c\u3066\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u305d\u3053\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"; + t[789] = "このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できません。"; t[790] = "Missing expected error response to copy cancel request"; - t[791] = "\u30b3\u30d4\u30fc\u53d6\u308a\u6d88\u3057\u8981\u6c42\u306e\u30a8\u30e9\u30fc\u5fdc\u7b54\u3092\u60f3\u5b9a\u3057\u307e\u3057\u305f\u3002"; + t[791] = "コピー取り消し要求のエラー応答を想定しました。"; t[792] = "An error occurred while setting up the SSL connection."; - t[793] = "SSL\u63a5\u7d9a\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u4e2d\u306b\u3001\u30a8\u30e9\u30fc\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\u3002"; + t[793] = "SSL接続のセットアップ中に、エラーが起こりました。"; t[794] = "Cannot retrieve the id of a named savepoint."; - t[795] = "\u540d\u524d\u306e\u4ed8\u3044\u305fsavepoint\u306eid\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[795] = "名前の付いたsavepointのidを取得することができません。"; t[796] = "Unable to translate data into the desired encoding."; - t[797] = "\u671b\u3080\u7b26\u53f7\u5316\u306b\u30c7\u30fc\u30bf\u3092\u8a33\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[797] = "望む符号化にデータを訳すことができません。"; t[802] = "Failed to initialize LargeObject API"; - t[803] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8API\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[803] = "ラージオブジェクトAPIの初期化に失敗しました。"; t[806] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[807] = "\u578b {0} \u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u767b\u9332\u3055\u308c\u307e\u3057\u305f\u304c\u3001get{1} (sqltype={2}) \u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"; + t[807] = "型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されました。"; t[814] = "Where: {0}"; - t[815] = "\u5834\u6240: {0}"; + t[815] = "場所: {0}"; t[826] = "Got CopyData without an active copy operation"; - t[827] = "\u52d5\u4f5c\u4e2d\u306e\u30b3\u30d4\u30fc\u64cd\u4f5c\u306a\u3057\u3067CopyData\u3092\u5f97\u307e\u3057\u305f\u3002"; + t[827] = "動作中のコピー操作なしでCopyDataを得ました。"; t[828] = "Unable to create StAXResult for SQLXML"; - t[829] = "SQLXML\u306b\u5bfe\u3059\u308bStAXResult\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[829] = "SQLXMLに対するStAXResultを生成できません。"; t[832] = "Tried to cancel an inactive copy operation"; - t[833] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u64cd\u4f5c\u306e\u53d6\u308a\u6d88\u3057\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[833] = "動作していないコピー操作の取り消しを試みました。"; t[844] = "{0} function takes two or three arguments."; - t[845] = "{0} \u95a2\u6570\u306f\u3001\u4e8c\u3064\u3001\u307e\u305f\u306f\u4e09\u3064\u306e\u5f15\u6570\u3092\u7528\u3044\u307e\u3059\u3002"; + t[845] = "{0} 関数は、二つ、または三つの引数を用います。"; t[846] = "Zero bytes may not occur in string parameters."; - t[847] = "\u30bc\u30ed\u30fb\u30d0\u30a4\u30c8\u3092\u6587\u5b57\u5217\u30d1\u30e9\u30e1\u30fc\u30bf\u4e2d\u306b\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[847] = "ゼロ・バイトを文字列パラメータ中に含めることはできません。"; t[852] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[853] = "\u30d0\u30a4\u30f3\u30c9\u30e1\u30c3\u30bb\u30fc\u30b8\u9577 {0} \u306f\u9577\u3059\u304e\u307e\u3059\u3002InputStream\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3068\u3066\u3082\u5927\u304d\u306a\u9577\u3055\u3001\u3042\u308b\u3044\u306f\u4e0d\u6b63\u78ba\u306a\u9577\u3055\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002"; + t[853] = "バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長さ、あるいは不正確な長さが設定されている可能性があります。"; t[854] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[855] = "\u5bfe\u5fdc\u3059\u308b\u958b\u59cb\u547c\u3073\u51fa\u3057\u306a\u3057\u3067\u3001\u7d42\u4e86\u547c\u3073\u51fa\u3057\u307e\u3057\u305f\u3002state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[855] = "対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[856] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[857] = "UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u9055\u53cd: {1} \u30d0\u30a4\u30c8\u30b7\u30fc\u30b1\u30f3\u30b9\u306e {0} \u30d0\u30a4\u30c8 \u306f\u300110xxxxxx \u3067\u3042\u308a\u307e\u305b\u3093: {2}"; + t[857] = "UTF-8シーケンス違反: {1} バイトシーケンスの {0} バイト は、10xxxxxx でありません: {2}"; t[860] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[861] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: \u7b2c\u4e8c\u30d5\u30a7\u30fc\u30ba\u306e COMMIT \u306f\u3001\u5f85\u6a5f\u63a5\u7d9a\u3067\u4f7f\u308f\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[861] = "実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりません。xid={0}, currentXid={1}, state={2], transactionState={3}"; t[878] = "Can''t refresh the insert row."; - t[879] = "\u633f\u5165\u884c\u3092\u56de\u5fa9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[879] = "挿入行を回復することはできません。"; t[880] = "This SQLXML object has already been freed."; - t[881] = "\u3053\u306eSQLXML\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3059\u3067\u306b\u89e3\u653e\u3055\u308c\u3066\u3044\u307e\u3059\u3002"; + t[881] = "このSQLXMLオブジェクトはすでに解放されています。"; t[882] = "Cannot change transaction read-only property in the middle of a transaction."; - t[883] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6700\u4e2d\u306b\u8aad\u307f\u51fa\u3057\u5c02\u7528\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5909\u3048\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[883] = "トランザクションの最中に読み出し専用プロパティを変えることはできません。"; t[886] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[887] = "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fb\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u7bc4\u56f2\u5916\u3067\u3059: {0} , \u30d1\u30e9\u30e1\u30fc\u30bf\u6570: {1}"; + t[887] = "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}"; t[896] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[897] = "\u5b9f\u884c\u3055\u308c\u308b\u524d\u306b\u3001CallableStatement \u304b\u3089\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[897] = "実行される前に、CallableStatement から結果を得ることはできません。"; t[898] = "Fetch size must be a value greater to or equal to 0."; - t[899] = "\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[899] = "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。"; t[904] = "Maximum number of rows must be a value grater than or equal to 0."; - t[905] = "\u884c\u306e\u6700\u5927\u6570\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[905] = "行の最大数は、0に等しいか、より大きな値でなくてはなりません。"; t[914] = "The connection attempt failed."; - t[915] = "\u63a5\u7d9a\u8a66\u884c\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[915] = "接続試行は失敗しました。"; t[926] = "Error preparing transaction. prepare xid={0}"; - t[927] = "\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6e96\u5099\u30a8\u30e9\u30fc\u3002prepare xid={0}"; + t[927] = "トランザクションの準備エラー。prepare xid={0}"; t[930] = "Tried to end inactive copy"; - t[931] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u306e\u7d42\u4e86\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[931] = "動作していないコピーの終了を試みました。"; t[942] = "Expected an EOF from server, got: {0}"; - t[943] = "\u30b5\u30fc\u30d0\u304b\u3089\u306e EOF \u304c\u60f3\u5b9a\u3055\u308c\u307e\u3057\u305f\u304c\u3001{0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[943] = "サーバからの EOF が想定されましたが、{0} を得ました。"; t[944] = "This PooledConnection has already been closed."; - t[945] = "PooledConnection\u306f\u3001\u3059\u3067\u306b\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u3059\u3002"; + t[945] = "PooledConnectionは、すでに閉じられています。"; t[946] = "Cannot retrieve the name of an unnamed savepoint."; - t[947] = "\u540d\u524d\u306e\u306a\u3044savepoint\u306e\u540d\u524d\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[947] = "名前のないsavepointの名前を取得することができません。"; t[948] = "Tried to break lock on database connection"; - t[949] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u30ed\u30c3\u30af\u4e2d\u65ad\u3092\u8a66\u307f\u307e\u3059\u3002"; + t[949] = "データベース接続のロック中断を試みます。"; t[950] = "Database connection failed when writing to copy"; - t[951] = "\u30b3\u30d4\u30fc\u3078\u306e\u66f8\u304d\u8fbc\u307f\u6642\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[951] = "コピーへの書き込み時のデータベース接続に失敗しました。"; t[952] = "The array index is out of range: {0}, number of elements: {1}."; - t[953] = "\u914d\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3001\u7bc4\u56f2\u5916\u3067\u3059: {0} \u3001\u8981\u7d20\u306e\u6570: {1}"; + t[953] = "配列インデックスは、範囲外です: {0} 、要素の数: {1}"; t[954] = "Unknown type {0}."; - t[955] = "\u672a\u77e5\u306e\u578b {0}."; + t[955] = "未知の型 {0}."; t[956] = "Interval {0} not yet implemented"; - t[957] = "\u9593\u9694 {0} \u306f\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[957] = "間隔 {0} はまだ実装されていません。"; t[966] = "No results were returned by the query."; - t[967] = "\u3044\u304b\u306a\u308b\u7d50\u679c\u3082\u3001\u30af\u30a8\u30ea\u306b\u3088\u3063\u3066\u8fd4\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[967] = "いかなる結果も、クエリによって返されませんでした。"; t[970] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[971] = "\u63d0\u4f9b\u306eSSLSocketFactory\u30af\u30e9\u30b9 {0} \u306f\u3001\u5373\u5fdc\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002"; + t[971] = "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。"; t[972] = "Malformed function or procedure escape syntax at offset {0}."; - t[973] = "\u6b63\u3057\u304f\u306a\u3044\u95a2\u6570\u307e\u305f\u306f\u624b\u7d9a\u304d\u306f\u3001\u4f4d\u7f6e {0} \u3067\u6587\u6cd5\u3092\u9038\u3057\u307e\u3057\u305f\u3002"; + t[973] = "正しくない関数または手続きは、位置 {0} で文法を逸しました。"; t[978] = "Unable to bind parameter values for statement."; - t[979] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3092\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"; + t[979] = "ステートメントのパラメータ値をバインドできません。"; t[986] = "{0} function takes two and only two arguments."; - t[987] = "{0} \u95a2\u6570\u306f\u3001\u4e8c\u3064\u306e\u5f15\u6570\u306e\u307f\u3092\u7528\u3044\u307e\u3059\u3002"; + t[987] = "{0} 関数は、二つの引数のみを用います。"; t[992] = "A connection could not be made using the requested protocol {0}."; - t[993] = "\u8981\u6c42\u3055\u308c\u305f\u30d7\u30ed\u30c8\u30b3\u30eb {0} \u3092\u4f7f\u7528\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[993] = "要求されたプロトコル {0} を使用して接続することができません。"; t[994] = "Connection attempt timed out."; - t[995] = "\u63a5\u7d9a\u8a66\u884c\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002"; + t[995] = "接続試行がタイムアウトしました。"; t[998] = "Protocol error. Session setup failed."; - t[999] = "\u30d7\u30ed\u30c8\u30b3\u30eb\u30a8\u30e9\u30fc\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u8a2d\u5b9a\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[999] = "プロトコルエラー。セッション設定は失敗しました。"; t[1002] = "Multiple ResultSets were returned by the query."; - t[1003] = "\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u306b\u3088\u308a\u3001\u8907\u6570\u306eResultSet\u304c\u8fd4\u3055\u308c\u307e\u3057\u305f\u3002"; + t[1003] = "クエリの実行により、複数のResultSetが返されました。"; t[1004] = "Detail: {0}"; - t[1005] = "\u8a73\u7d30: {0}"; + t[1005] = "詳細: {0}"; t[1006] = "Object is too large to send over the protocol."; - t[1007] = "\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u9001\u4fe1\u3059\u308b\u306b\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002"; + t[1007] = "プロトコルで送信するにはオブジェクトが大きすぎます。"; t[1008] = "Requested CopyOut but got {0}"; - t[1009] = "CopyOut\u3092\u8981\u6c42\u3057\u307e\u3057\u305f\u304c {0} \u3092\u5f97\u307e\u3057\u305f\u3002"; + t[1009] = "CopyOutを要求しましたが {0} を得ました。"; t[1012] = "Could not find a java cryptographic algorithm: {0}."; - t[1013] = "java\u306e\u6697\u53f7\u5316\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 {0} \u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1013] = "javaの暗号化アルゴリズム {0} を見つけることができませんでした。"; t[1018] = "Tried to obtain lock while already holding it"; - t[1019] = "\u3059\u3067\u306b\u5360\u6709\u3057\u3066\u3044\u308b\u6700\u4e2d\u306e\u30ed\u30c3\u30af\u53d6\u5f97\u3067\u3059\u3002"; + t[1019] = "すでに占有している最中のロック取得です。"; t[1020] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[1021] = "ResultSet\u306e\u958b\u59cb\u306e\u524d\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u3053\u3067deleteRow()\u3092\u547c\u3076\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1021] = "ResultSetの開始の前に位置していました。ここでdeleteRow()を呼ぶことはできません。"; t[1022] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[1023] = "\u6e96\u5099\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u30a8\u30e9\u30fc rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[1023] = "準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, currentXid={2}"; t[1028] = "Validating connection."; - t[1029] = "\u6709\u52b9\u78ba\u8a8d\u306e\u63a5\u7d9a"; + t[1029] = "有効確認の接続"; t[1034] = "You must specify at least one column value to insert a row."; - t[1035] = "\u884c\u633f\u5165\u306b\u306f\u3001\u6700\u4f4e\u3067\u3082\uff11\u3064\u306e\u5217\u306e\u5024\u304c\u5fc5\u8981\u3067\u3059\u3002"; + t[1035] = "行挿入には、最低でも1つの列の値が必要です。"; t[1036] = "The JVM claims not to support the {0} encoding."; - t[1037] = "JVM\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u305b\u3093\u3002"; + t[1037] = "JVMは、エンコーディング {0} をサポートしません。"; t[1038] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[1039] = "\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093: \u5358\u4e00\u30d5\u30a7\u30fc\u30ba\u306eCOMMIT\u306f\u3001\u958b\u59cb\u6642\u3068\u540c\u3058\u63a5\u7d9a\u3067\u5b9f\u884c\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"; + t[1039] = "実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなければなりません。"; t[1040] = "Invalid flags {0}"; - t[1041] = "\u7121\u52b9\u306a\u30d5\u30e9\u30b0\u3067\u3059\u3002{0}"; + t[1041] = "無効なフラグです。{0}"; t[1046] = "Bad value for type {0} : {1}"; - t[1047] = "\u578b {0} \u3067\u4e0d\u6b63\u306a\u5024 : {1}"; + t[1047] = "型 {0} で不正な値 : {1}"; t[1054] = "Cannot establish a savepoint in auto-commit mode."; - t[1055] = "\u81ea\u52d5\u30b3\u30df\u30c3\u30c8\u30e2\u30fc\u30c9\u3067savepoint\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1055] = "自動コミットモードでsavepointを作成できません。"; t[1056] = "Could not decrypt SSL key file {0}."; - t[1057] = "SSL key\u30d5\u30a1\u30a4\u30eb {0} \u3092\u5fa9\u53f7\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1057] = "SSL keyファイル {0} を復号できませんでした。"; t[1064] = "Cannot call updateRow() when on the insert row."; - t[1065] = "\u884c\u3092\u633f\u5165\u3057\u305f\u3068\u304d\u306b\u3001updateRow() \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1065] = "行を挿入したときに、updateRow() を呼び出すことができません。"; t[1068] = "Unexpected packet type during copy: {0}"; - t[1069] = "\u30b3\u30d4\u30fc\u4e2d\u306e\u60f3\u5b9a\u5916\u306e\u30d1\u30b1\u30c3\u30c8\u578b\u3067\u3059: {0}"; + t[1069] = "コピー中の想定外のパケット型です: {0}"; t[1072] = "Conversion of interval failed"; - t[1073] = "interval\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1073] = "intervalの変換に失敗しました。"; t[1076] = "GSS Authentication failed"; - t[1077] = "GSS\u8a8d\u8a3c\u306f\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1077] = "GSS認証は失敗しました。"; t[1084] = "Tried to read from inactive copy"; - t[1085] = "\u52d5\u4f5c\u3057\u3066\u3044\u306a\u3044\u30b3\u30d4\u30fc\u304b\u3089\u8aad\u307f\u53d6\u308a\u3092\u8a66\u307f\u307e\u3057\u305f\u3002"; + t[1085] = "動作していないコピーから読み取りを試みました。"; t[1088] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[1089] = "\u5834\u6240: \u30d5\u30a1\u30a4\u30eb: {0}, \u30eb\u30fc\u30c1\u30f3: {1},\u884c: {2}"; + t[1089] = "場所: ファイル: {0}, ルーチン: {1},行: {2}"; t[1098] = "suspend/resume not implemented"; - t[1099] = "\u505c\u6b62/\u518d\u958b \u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[1099] = "停止/再開 は実装されていません。"; t[1102] = "Loading the SSL root certificate {0} into a TrustManager failed."; - t[1103] = "SSL\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8 {0} \u306eTrustManager\u3078\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1103] = "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。"; t[1108] = "Could not read password for SSL key file by callbackhandler {0}."; - t[1109] = "callbackhandler {0} \u3067\u3001SSL key\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002"; + t[1109] = "callbackhandler {0} で、SSL keyファイルを読めませんでした。"; t[1110] = "Copying from database failed: {0}"; - t[1111] = "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}"; + t[1111] = "データベースからコピーに失敗しました: {0}"; t[1112] = "Cannot tell if path is open or closed: {0}."; - t[1113] = "path \u304c \u30aa\u30fc\u30d7\u30f3\u3057\u3066\u3044\u308b\u304b\u3001\u30af\u30ed\u30fc\u30ba\u3057\u3066\u3044\u308b\u304b\u5224\u5225\u3067\u304d\u307e\u305b\u3093: {0}"; + t[1113] = "path が オープンしているか、クローズしているか判別できません: {0}"; t[1116] = "Conversion of money failed."; - t[1117] = "money\u306e\u5909\u63db\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"; + t[1117] = "moneyの変換に失敗しました。"; t[1118] = "Can''t use relative move methods while on the insert row."; - t[1119] = "\u884c\u633f\u5165\u306e\u6700\u4e2d\u306b\u95a2\u9023\u306e\u52d5\u4f5c\u65b9\u6cd5\u3092\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1119] = "行挿入の最中に関連の動作方法を使うことはできません。"; t[1124] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[1125] = "\u4e0d\u6b63\u306a\u6587\u5b57\u30c7\u30fc\u30bf\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001\u6050\u3089\u304f\u4f5c\u6210\u3055\u308c\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u6587\u5b57\u30bb\u30c3\u30c8\u306b\u3068\u3063\u3066\u7121\u52b9\u3067\u3042\u308b\u6587\u5b57\u3092\u542b\u3080\u30c7\u30fc\u30bf\u304c\u683c\u7d0d\u3055\u308c\u305f\u3053\u3068\u306b\u3088\u3063\u3066\u5f15\u304d\u8d77\u3053\u3055\u308c\u307e\u3059\u3002\u6700\u3082\u4e00\u822c\u7684\u306a\u4f8b\u306f\u3001SQL_ASCII\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3055\u308c\u305f8bit\u30c7\u30fc\u30bf\u7b49\u3067\u3059\u3002"; + t[1125] = "不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字セットにとって無効である文字を含むデータが格納されたことによって引き起こされます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。"; t[1126] = "The maximum field size must be a value greater than or equal to 0."; - t[1127] = "\u6700\u5927\u306e\u9805\u76ee\u30b5\u30a4\u30ba\u306f\u30010\u306b\u7b49\u3057\u3044\u304b\u3001\u3088\u308a\u5927\u304d\u306a\u5024\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"; + t[1127] = "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。"; t[1128] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[1129] = "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 {0} \u3067\u4f7f\u3046\u3079\u304dSQL\u578b\u3092\u63a8\u6e2c\u3067\u304d\u307e\u305b\u3093\u3002\u660e\u78ba\u306a\u578b\u5024\u3092\u8a18\u8ff0\u3057\u305f setObject() \u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002"; + t[1129] = "インスタンス {0} で使うべきSQL型を推測できません。明確な型値を記述した setObject() を使ってください。"; t[1136] = "Cannot reference a savepoint after it has been released."; - t[1137] = "savepoint\u306f\u3001\u89e3\u653e\u3055\u308c\u305f\u5f8c\u3067\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"; + t[1137] = "savepointは、解放された後で参照することはできません。"; t[1138] = "ClientInfo property not supported."; - t[1139] = "ClientInfo \u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"; + t[1139] = "ClientInfo プロパティはサポートされていません。"; t[1152] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[1153] = "\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306f\u3001OUT\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5ba3\u8a00\u3057\u3066\u3044\u307e\u305b\u3093\u3002'{' ?= call ... '}' \u3092\u4f7f\u3063\u3066\u5ba3\u8a00\u3057\u3066\u4e0b\u3055\u3044\u3002"; + t[1153] = "ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使って宣言して下さい。"; t[1156] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[1157] = "\u8a8d\u8a3c\u578b {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002pg_hba.conf\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u6210\u3067\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306eIP\u30a2\u30c9\u30ec\u30b9\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3001\u305d\u3057\u3066\u30c9\u30e9\u30a4\u30d0\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u8a8d\u8a3c\u6a5f\u69cb\u3092\u4f7f\u3063\u3066\u3044\u308b\u304b\u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044\u3002"; + t[1157] = "認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIPアドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を使っているかを調べてください。"; t[1162] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[1163] = "\u30e9\u30fc\u30b8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u9664\u53bb\u306f\u3001\u30b5\u30fc\u30d0\u30d0\u30fc\u30b8\u30e7\u30f3\u304c 8.3 \u4ee5\u4e0a\u3067\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002"; + t[1163] = "ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java index 291c197118..35c15557e5 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pl.java @@ -5,141 +5,141 @@ public class messages_pl extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[346]; t[0] = ""; - t[1] = "Project-Id-Version: head-pl\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2005-05-22 03:01+0200\nLast-Translator: Jaros\u0142aw Jan Pyszny \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.10\nPlural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"; + t[1] = "Project-Id-Version: head-pl\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2005-05-22 03:01+0200\nLast-Translator: Jarosław Jan Pyszny \nLanguage-Team: \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.10\nPlural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"; t[2] = "The driver currently does not support COPY operations."; - t[3] = "Sterownik nie obs\u0142uguje aktualnie operacji COPY."; + t[3] = "Sterownik nie obsługuje aktualnie operacji COPY."; t[4] = "Internal Query: {0}"; - t[5] = "Wewn\u0119trzne Zapytanie: {0}"; + t[5] = "Wewnętrzne Zapytanie: {0}"; t[6] = "There are no rows in this ResultSet."; - t[7] = "Nie ma \u017cadnych wierszy w tym ResultSet."; + t[7] = "Nie ma żadnych wierszy w tym ResultSet."; t[8] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[9] = "Znaleziono nieprawid\u0142owy znak. Najprawdopodobniej jest to spowodowane przechowywaniem w bazie znak\u00f3w, kt\u00f3re nie pasuj\u0105 do zestawu znak\u00f3w wybranego podczas tworzenia bazy danych. Najcz\u0119stszy przyk\u0142ad to przechowywanie 8-bitowych znak\u00f3w w bazie o kodowaniu SQL_ASCII."; + t[9] = "Znaleziono nieprawidłowy znak. Najprawdopodobniej jest to spowodowane przechowywaniem w bazie znaków, które nie pasują do zestawu znaków wybranego podczas tworzenia bazy danych. Najczęstszy przykład to przechowywanie 8-bitowych znaków w bazie o kodowaniu SQL_ASCII."; t[12] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[13] = "Wywo\u0142anie fastpath {0} - Nie otrzymano \u017cadnego wyniku, a oczekiwano liczby ca\u0142kowitej."; + t[13] = "Wywołanie fastpath {0} - Nie otrzymano żadnego wyniku, a oczekiwano liczby całkowitej."; t[14] = "An error occurred while setting up the SSL connection."; - t[15] = "Wyst\u0105pi\u0142 b\u0142\u0105d podczas ustanawiania po\u0142\u0105czenia SSL."; + t[15] = "Wystąpił błąd podczas ustanawiania połączenia SSL."; t[20] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[21] = "Funkcja CallableStatement zosta\u0142a zadeklarowana, ale nie wywo\u0142ano registerOutParameter (1, )."; + t[21] = "Funkcja CallableStatement została zadeklarowana, ale nie wywołano registerOutParameter (1, )."; t[24] = "Unexpected command status: {0}."; t[25] = "Nieoczekiwany status komendy: {0}."; t[32] = "A connection could not be made using the requested protocol {0}."; - t[33] = "Nie mo\u017cna by\u0142o nawi\u0105za\u0107 po\u0142\u0105czenia stosuj\u0105c \u017c\u0105dany protoko\u0142u {0}."; + t[33] = "Nie można było nawiązać połączenia stosując żądany protokołu {0}."; t[38] = "Bad value for type {0} : {1}"; - t[39] = "Z\u0142a warto\u015b\u0107 dla typu {0}: {1}"; + t[39] = "Zła wartość dla typu {0}: {1}"; t[40] = "Not on the insert row."; t[41] = "Nie na wstawianym rekordzie."; t[42] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[43] = "Przedwczesny koniec strumienia wej\u015bciowego, oczekiwano {0} bajt\u00f3w, odczytano tylko {1}."; + t[43] = "Przedwczesny koniec strumienia wejściowego, oczekiwano {0} bajtów, odczytano tylko {1}."; t[48] = "Unknown type {0}."; t[49] = "Nieznany typ {0}."; t[52] = "The server does not support SSL."; - t[53] = "Serwer nie obs\u0142uguje SSL."; + t[53] = "Serwer nie obsługuje SSL."; t[60] = "Cannot call updateRow() when on the insert row."; - t[61] = "Nie mo\u017cna wywo\u0142a\u0107 updateRow() na wstawianym rekordzie."; + t[61] = "Nie można wywołać updateRow() na wstawianym rekordzie."; t[62] = "Where: {0}"; t[63] = "Gdzie: {0}"; t[66] = "Failed to initialize LargeObject API"; - t[67] = "Nie uda\u0142o si\u0119 zainicjowa\u0107 LargeObject API"; + t[67] = "Nie udało się zainicjować LargeObject API"; t[72] = "Cannot call cancelRowUpdates() when on the insert row."; - t[73] = "Nie mo\u017cna wywo\u0142a\u0107 cancelRowUpdates() na wstawianym rekordzie."; + t[73] = "Nie można wywołać cancelRowUpdates() na wstawianym rekordzie."; t[82] = "Server SQLState: {0}"; t[83] = "Serwer SQLState: {0}"; t[92] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[93] = "ResultSet nie jest modyfikowalny (not updateable). Zapytanie, kt\u00f3re zwr\u00f3ci\u0142o ten wynik musi dotyczy\u0107 tylko jednej tabeli oraz musi pobiera\u0107 wszystkie klucze g\u0142\u00f3wne tej tabeli. Zobacz Specyfikacj\u0119 JDBC 2.1 API, rozdzia\u0142 5.6, by uzyska\u0107 wi\u0119cej szczeg\u00f3\u0142\u00f3w."; + t[93] = "ResultSet nie jest modyfikowalny (not updateable). Zapytanie, które zwróciło ten wynik musi dotyczyć tylko jednej tabeli oraz musi pobierać wszystkie klucze główne tej tabeli. Zobacz Specyfikację JDBC 2.1 API, rozdział 5.6, by uzyskać więcej szczegółów."; t[102] = "Cannot tell if path is open or closed: {0}."; - t[103] = "Nie mo\u017cna stwierdzi\u0107, czy \u015bcie\u017cka jest otwarta czy zamkni\u0119ta: {0}."; + t[103] = "Nie można stwierdzić, czy ścieżka jest otwarta czy zamknięta: {0}."; t[108] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[109] = "Indeks parametru jest poza zakresem: {0}, liczba parametr\u00f3w: {1}."; + t[109] = "Indeks parametru jest poza zakresem: {0}, liczba parametrów: {1}."; t[110] = "Unsupported Types value: {0}"; - t[111] = "Nieznana warto\u015b\u0107 Types: {0}"; + t[111] = "Nieznana wartość Types: {0}"; t[112] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[113] = "Aktualna pozycja za ko\u0144cem ResultSet. Nie mo\u017cna wywo\u0142a\u0107 deleteRow()."; + t[113] = "Aktualna pozycja za końcem ResultSet. Nie można wywołać deleteRow()."; t[114] = "This ResultSet is closed."; - t[115] = "Ten ResultSet jest zamkni\u0119ty."; + t[115] = "Ten ResultSet jest zamknięty."; t[120] = "Conversion of interval failed"; - t[121] = "Konwersja typu interval nie powiod\u0142a si\u0119"; + t[121] = "Konwersja typu interval nie powiodła się"; t[122] = "Unable to load the class {0} responsible for the datatype {1}"; - t[123] = "Nie jest mo\u017cliwe za\u0142adowanie klasy {0} odpowiedzialnej za typ danych {1}"; + t[123] = "Nie jest możliwe załadowanie klasy {0} odpowiedzialnej za typ danych {1}"; t[138] = "Error loading default settings from driverconfig.properties"; - t[139] = "B\u0142\u0105d podczas wczytywania ustawie\u0144 domy\u015blnych z driverconfig.properties"; + t[139] = "Błąd podczas wczytywania ustawień domyślnych z driverconfig.properties"; t[142] = "The array index is out of range: {0}"; t[143] = "Indeks tablicy jest poza zakresem: {0}"; t[146] = "Unknown Types value."; - t[147] = "Nieznana warto\u015b\u0107 Types."; + t[147] = "Nieznana wartość Types."; t[154] = "The maximum field size must be a value greater than or equal to 0."; - t[155] = "Maksymalny rozmiar pola musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[155] = "Maksymalny rozmiar pola musi być wartością dodatnią lub 0."; t[168] = "Detail: {0}"; - t[169] = "Szczeg\u00f3\u0142y: {0}"; + t[169] = "Szczegóły: {0}"; t[170] = "Unknown Response Type {0}."; t[171] = "Nieznany typ odpowiedzi {0}."; t[172] = "Maximum number of rows must be a value grater than or equal to 0."; - t[173] = "Maksymalna liczba rekord\u00f3w musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[173] = "Maksymalna liczba rekordów musi być wartością dodatnią lub 0."; t[184] = "Query timeout must be a value greater than or equals to 0."; - t[185] = "Timeout zapytania musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[185] = "Timeout zapytania musi być wartością dodatnią lub 0."; t[186] = "Too many update results were returned."; - t[187] = "Zapytanie nie zwr\u00f3ci\u0142o \u017cadnych wynik\u00f3w."; + t[187] = "Zapytanie nie zwróciło żadnych wyników."; t[190] = "The connection attempt failed."; - t[191] = "Pr\u00f3ba nawi\u0105zania po\u0142\u0105czenia nie powiod\u0142a si\u0119."; + t[191] = "Próba nawiązania połączenia nie powiodła się."; t[198] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[199] = "Po\u0142\u0105czenie zosta\u0142o zamkni\u0119te automatycznie, poniewa\u017c nowe po\u0142\u0105czenie zosta\u0142o otwarte dla tego samego PooledConnection lub PooledConnection zosta\u0142o zamkni\u0119te."; + t[199] = "Połączenie zostało zamknięte automatycznie, ponieważ nowe połączenie zostało otwarte dla tego samego PooledConnection lub PooledConnection zostało zamknięte."; t[204] = "Protocol error. Session setup failed."; - t[205] = "B\u0142\u0105d protoko\u0142u. Nie uda\u0142o si\u0119 utworzy\u0107 sesji."; + t[205] = "Błąd protokołu. Nie udało się utworzyć sesji."; t[206] = "This PooledConnection has already been closed."; - t[207] = "To PooledConnection zosta\u0142o ju\u017c zamkni\u0119te."; + t[207] = "To PooledConnection zostało już zamknięte."; t[208] = "DataSource has been closed."; - t[209] = "DataSource zosta\u0142o zamkni\u0119te."; + t[209] = "DataSource zostało zamknięte."; t[212] = "Method {0} is not yet implemented."; - t[213] = "Metoda {0}nie jest jeszcze obs\u0142ugiwana."; + t[213] = "Metoda {0}nie jest jeszcze obsługiwana."; t[216] = "Hint: {0}"; - t[217] = "Wskaz\u00f3wka: {0}"; + t[217] = "Wskazówka: {0}"; t[218] = "No value specified for parameter {0}."; - t[219] = "Nie podano warto\u015bci dla parametru {0}."; + t[219] = "Nie podano wartości dla parametru {0}."; t[222] = "Position: {0}"; t[223] = "Pozycja: {0}"; t[226] = "Cannot call deleteRow() when on the insert row."; - t[227] = "Nie mo\u017cna wywo\u0142a\u0107 deleteRow() na wstawianym rekordzie."; + t[227] = "Nie można wywołać deleteRow() na wstawianym rekordzie."; t[240] = "Conversion of money failed."; - t[241] = "Konwersja typu money nie powiod\u0142a si\u0119."; + t[241] = "Konwersja typu money nie powiodła się."; t[244] = "Internal Position: {0}"; - t[245] = "Wewn\u0119trzna Pozycja: {0}"; + t[245] = "Wewnętrzna Pozycja: {0}"; t[248] = "Connection has been closed."; - t[249] = "Po\u0142\u0105czenie zosta\u0142o zamkni\u0119te."; + t[249] = "Połączenie zostało zamknięte."; t[254] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[255] = "Aktualna pozycja przed pocz\u0105tkiem ResultSet. Nie mo\u017cna wywo\u0142a\u0107 deleteRow()."; + t[255] = "Aktualna pozycja przed początkiem ResultSet. Nie można wywołać deleteRow()."; t[258] = "Failed to create object for: {0}."; - t[259] = "Nie powiod\u0142o si\u0119 utworzenie obiektu dla: {0}."; + t[259] = "Nie powiodło się utworzenie obiektu dla: {0}."; t[262] = "Fetch size must be a value greater to or equal to 0."; - t[263] = "Rozmiar pobierania musi by\u0107 warto\u015bci\u0105 dodatni\u0105 lub 0."; + t[263] = "Rozmiar pobierania musi być wartością dodatnią lub 0."; t[270] = "No results were returned by the query."; - t[271] = "Zapytanie nie zwr\u00f3ci\u0142o \u017cadnych wynik\u00f3w."; + t[271] = "Zapytanie nie zwróciło żadnych wyników."; t[276] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[277] = "Uwierzytelnienie typu {0} nie jest obs\u0142ugiwane. Upewnij si\u0119, \u017ce skonfigurowa\u0142e\u015b plik pg_hba.conf tak, \u017ce zawiera on adres IP lub podsie\u0107 klienta oraz \u017ce u\u017cyta metoda uwierzytelnienia jest wspierana przez ten sterownik."; + t[277] = "Uwierzytelnienie typu {0} nie jest obsługiwane. Upewnij się, że skonfigurowałeś plik pg_hba.conf tak, że zawiera on adres IP lub podsieć klienta oraz że użyta metoda uwierzytelnienia jest wspierana przez ten sterownik."; t[280] = "Conversion to type {0} failed: {1}."; - t[281] = "Konwersja do typu {0} nie powiod\u0142a si\u0119: {1}."; + t[281] = "Konwersja do typu {0} nie powiodła się: {1}."; t[282] = "A result was returned when none was expected."; - t[283] = "Zwr\u00f3cono wynik zapytania, cho\u0107 nie by\u0142 on oczekiwany."; + t[283] = "Zwrócono wynik zapytania, choć nie był on oczekiwany."; t[292] = "Transaction isolation level {0} not supported."; - t[293] = "Poziom izolacji transakcji {0} nie jest obs\u0142ugiwany."; + t[293] = "Poziom izolacji transakcji {0} nie jest obsługiwany."; t[306] = "ResultSet not positioned properly, perhaps you need to call next."; - t[307] = "Z\u0142a pozycja w ResultSet, mo\u017ce musisz wywo\u0142a\u0107 next."; + t[307] = "Zła pozycja w ResultSet, może musisz wywołać next."; t[308] = "Location: File: {0}, Routine: {1}, Line: {2}"; t[309] = "Lokalizacja: Plik: {0}, Procedura: {1}, Linia: {2}"; t[314] = "An unexpected result was returned by a query."; - t[315] = "Zapytanie zwr\u00f3ci\u0142o nieoczekiwany wynik."; + t[315] = "Zapytanie zwróciło nieoczekiwany wynik."; t[316] = "The column index is out of range: {0}, number of columns: {1}."; t[317] = "Indeks kolumny jest poza zakresem: {0}, liczba kolumn: {1}."; t[318] = "Expected command status BEGIN, got {0}."; - t[319] = "Spodziewano si\u0119 statusu komendy BEGIN, otrzymano {0}."; + t[319] = "Spodziewano się statusu komendy BEGIN, otrzymano {0}."; t[320] = "The fastpath function {0} is unknown."; t[321] = "Funkcja fastpath {0} jest nieznana."; t[324] = "The server requested password-based authentication, but no password was provided."; - t[325] = "Serwer za\u017c\u0105da\u0142 uwierzytelnienia opartego na ha\u015ble, ale \u017cadne has\u0142o nie zosta\u0142o dostarczone."; + t[325] = "Serwer zażądał uwierzytelnienia opartego na haśle, ale żadne hasło nie zostało dostarczone."; t[332] = "The array index is out of range: {0}, number of elements: {1}."; - t[333] = "Indeks tablicy jest poza zakresem: {0}, liczba element\u00f3w: {1}."; + t[333] = "Indeks tablicy jest poza zakresem: {0}, liczba elementów: {1}."; t[338] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[339] = "Co\u015b niezwyk\u0142ego spowodowa\u0142o pad sterownika. Prosz\u0119, zg\u0142o\u015b ten wyj\u0105tek."; + t[339] = "Coś niezwykłego spowodowało pad sterownika. Proszę, zgłoś ten wyjątek."; t[342] = "Zero bytes may not occur in string parameters."; - t[343] = "Zerowe bajty nie mog\u0105 pojawia\u0107 si\u0119 w parametrach typu \u0142a\u0144cuch znakowy."; + t[343] = "Zerowe bajty nie mogą pojawiać się w parametrach typu łańcuch znakowy."; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java index 27a9263108..2c91060593 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_pt_BR.java @@ -9,345 +9,345 @@ public class messages_pt_BR extends java.util.ResourceBundle { t[4] = "DataSource has been closed."; t[5] = "DataSource foi fechado."; t[8] = "Invalid flags {0}"; - t[9] = "Marcadores={0} inv\u00e1lidos"; + t[9] = "Marcadores={0} inválidos"; t[18] = "Where: {0}"; t[19] = "Onde: {0}"; t[24] = "Unknown XML Source class: {0}"; t[25] = "Classe XML Source desconhecida: {0}"; t[26] = "The connection attempt failed."; - t[27] = "A tentativa de conex\u00e3o falhou."; + t[27] = "A tentativa de conexão falhou."; t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[29] = "Posicionado depois do fim do ResultSet. Voc\u00ea n\u00e3o pode chamar deleteRow() aqui."; + t[29] = "Posicionado depois do fim do ResultSet. Você não pode chamar deleteRow() aqui."; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "N\u00e3o pode utilizar m\u00e9todos de consulta que pegam uma consulta de um comando preparado."; + t[33] = "Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado."; t[36] = "Multiple ResultSets were returned by the query."; - t[37] = "ResultSets m\u00faltiplos foram retornados pela consulta."; + t[37] = "ResultSets múltiplos foram retornados pela consulta."; t[50] = "Too many update results were returned."; - t[51] = "Muitos resultados de atualiza\u00e7\u00e3o foram retornados."; + t[51] = "Muitos resultados de atualização foram retornados."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[59] = "Sequ\u00eancia UTF-8 ilegal: byte inicial \u00e9 {0}: {1}"; + t[59] = "Sequência UTF-8 ilegal: byte inicial é {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; - t[67] = "A nome da coluna {0} n\u00e3o foi encontrado neste ResultSet."; + t[67] = "A nome da coluna {0} não foi encontrado neste ResultSet."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e n\u00f3s esper\u00e1vamos um inteiro."; + t[71] = "Chamada ao Fastpath {0} - Nenhum resultado foi retornado e nós esperávamos um inteiro."; t[74] = "Protocol error. Session setup failed."; - t[75] = "Erro de Protocolo. Configura\u00e7\u00e3o da sess\u00e3o falhou."; + t[75] = "Erro de Protocolo. Configuração da sessão falhou."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[77] = "Uma fun\u00e7\u00e3o foi declarada mas nenhuma chamada a registerOutParameter (1, ) foi feita."; + t[77] = "Uma função foi declarada mas nenhuma chamada a registerOutParameter (1, ) foi feita."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "ResultSets com CONCUR_READ_ONLY concorrentes n\u00e3o podem ser atualizados."; + t[79] = "ResultSets com CONCUR_READ_ONLY concorrentes não podem ser atualizados."; t[90] = "LOB positioning offsets start at 1."; - t[91] = "Deslocamentos da posi\u00e7\u00e3o de LOB come\u00e7am em 1."; + t[91] = "Deslocamentos da posição de LOB começam em 1."; t[92] = "Internal Position: {0}"; - t[93] = "Posi\u00e7\u00e3o Interna: {0}"; + t[93] = "Posição Interna: {0}"; t[96] = "free() was called on this LOB previously"; - t[97] = "free() j\u00e1 foi chamado neste LOB"; + t[97] = "free() já foi chamado neste LOB"; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "N\u00e3o pode mudar propriedade somente-leitura da transa\u00e7\u00e3o no meio de uma transa\u00e7\u00e3o."; + t[101] = "Não pode mudar propriedade somente-leitura da transação no meio de uma transação."; t[102] = "The JVM claims not to support the {0} encoding."; - t[103] = "A JVM reclamou que n\u00e3o suporta a codifica\u00e7\u00e3o {0}."; + t[103] = "A JVM reclamou que não suporta a codificação {0}."; t[108] = "{0} function doesn''t take any argument."; - t[109] = "fun\u00e7\u00e3o {0} n\u00e3o recebe nenhum argumento."; + t[109] = "função {0} não recebe nenhum argumento."; t[112] = "xid must not be null"; - t[113] = "xid n\u00e3o deve ser nulo"; + t[113] = "xid não deve ser nulo"; t[114] = "Connection has been closed."; - t[115] = "Conex\u00e3o foi fechada."; + t[115] = "Conexão foi fechada."; t[122] = "The server does not support SSL."; - t[123] = "O servidor n\u00e3o suporta SSL."; + t[123] = "O servidor não suporta SSL."; t[124] = "Custom type maps are not supported."; - t[125] = "Mapeamento de tipos personalizados n\u00e3o s\u00e3o suportados."; + t[125] = "Mapeamento de tipos personalizados não são suportados."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[141] = "Sequ\u00eancia UTF-8 ilegal: byte {0} da sequ\u00eancia de bytes {1} n\u00e3o \u00e9 10xxxxxx: {2}"; + t[141] = "Sequência UTF-8 ilegal: byte {0} da sequência de bytes {1} não é 10xxxxxx: {2}"; t[148] = "Hint: {0}"; t[149] = "Dica: {0}"; t[152] = "Unable to find name datatype in the system catalogs."; - t[153] = "N\u00e3o foi poss\u00edvel encontrar tipo de dado name nos cat\u00e1logos do sistema."; + t[153] = "Não foi possível encontrar tipo de dado name nos catálogos do sistema."; t[156] = "Unsupported Types value: {0}"; - t[157] = "Valor de Types n\u00e3o \u00e9 suportado: {0}"; + t[157] = "Valor de Types não é suportado: {0}"; t[158] = "Unknown type {0}."; t[159] = "Tipo desconhecido {0}."; t[166] = "{0} function takes two and only two arguments."; - t[167] = "fun\u00e7\u00e3o {0} recebe somente dois argumentos."; + t[167] = "função {0} recebe somente dois argumentos."; t[170] = "Finalizing a Connection that was never closed:"; - t[171] = "Fechando uma Conex\u00e3o que n\u00e3o foi fechada:"; + t[171] = "Fechando uma Conexão que não foi fechada:"; t[180] = "The maximum field size must be a value greater than or equal to 0."; - t[181] = "O tamanho m\u00e1ximo de um campo deve ser um valor maior ou igual a 0."; + t[181] = "O tamanho máximo de um campo deve ser um valor maior ou igual a 0."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "LOBs do PostgreSQL s\u00f3 podem indexar at\u00e9: {0}"; + t[187] = "LOBs do PostgreSQL só podem indexar até: {0}"; t[194] = "Method {0} is not yet implemented."; - t[195] = "M\u00e9todo {0} ainda n\u00e3o foi implementado."; + t[195] = "Método {0} ainda não foi implementado."; t[198] = "Error loading default settings from driverconfig.properties"; - t[199] = "Erro ao carregar configura\u00e7\u00f5es padr\u00e3o do driverconfig.properties"; + t[199] = "Erro ao carregar configurações padrão do driverconfig.properties"; t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[201] = "Resultados n\u00e3o podem ser recuperados de uma fun\u00e7\u00e3o antes dela ser executada."; + t[201] = "Resultados não podem ser recuperados de uma função antes dela ser executada."; t[202] = "Large Objects may not be used in auto-commit mode."; - t[203] = "Objetos Grandes n\u00e3o podem ser usados no modo de efetiva\u00e7\u00e3o autom\u00e1tica (auto-commit)."; + t[203] = "Objetos Grandes não podem ser usados no modo de efetivação automática (auto-commit)."; t[208] = "Expected command status BEGIN, got {0}."; t[209] = "Status do comando BEGIN esperado, recebeu {0}."; t[218] = "Invalid fetch direction constant: {0}."; - t[219] = "Constante de dire\u00e7\u00e3o da busca \u00e9 inv\u00e1lida: {0}."; + t[219] = "Constante de direção da busca é inválida: {0}."; t[222] = "{0} function takes three and only three arguments."; - t[223] = "fun\u00e7\u00e3o {0} recebe tr\u00eas e somente tr\u00eas argumentos."; + t[223] = "função {0} recebe três e somente três argumentos."; t[226] = "This SQLXML object has already been freed."; - t[227] = "Este objeto SQLXML j\u00e1 foi liberado."; + t[227] = "Este objeto SQLXML já foi liberado."; t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[229] = "N\u00e3o pode atualizar o ResultSet porque ele est\u00e1 antes do in\u00edcio ou depois do fim dos resultados."; + t[229] = "Não pode atualizar o ResultSet porque ele está antes do início ou depois do fim dos resultados."; t[230] = "The JVM claims not to support the encoding: {0}"; - t[231] = "A JVM reclamou que n\u00e3o suporta a codifica\u00e7\u00e3o: {0}"; + t[231] = "A JVM reclamou que não suporta a codificação: {0}"; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[233] = "Par\u00e2metro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) foi feita."; + t[233] = "Parâmetro do tipo {0} foi registrado, mas uma chamada a get{1} (tiposql={2}) foi feita."; t[240] = "Cannot establish a savepoint in auto-commit mode."; - t[241] = "N\u00e3o pode estabelecer um savepoint no modo de efetiva\u00e7\u00e3o autom\u00e1tica (auto-commit)."; + t[241] = "Não pode estabelecer um savepoint no modo de efetivação automática (auto-commit)."; t[242] = "Cannot retrieve the id of a named savepoint."; - t[243] = "N\u00e3o pode recuperar o id de um savepoint com nome."; + t[243] = "Não pode recuperar o id de um savepoint com nome."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; - t[245] = "O \u00edndice da coluna est\u00e1 fora do intervalo: {0}, n\u00famero de colunas: {1}."; + t[245] = "O índice da coluna está fora do intervalo: {0}, número de colunas: {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "Alguma coisa n\u00e3o usual ocorreu para causar a falha do driver. Por favor reporte esta exce\u00e7\u00e3o."; + t[251] = "Alguma coisa não usual ocorreu para causar a falha do driver. Por favor reporte esta exceção."; t[260] = "Cannot cast an instance of {0} to type {1}"; - t[261] = "N\u00e3o pode converter uma inst\u00e2ncia de {0} para tipo {1}"; + t[261] = "Não pode converter uma instância de {0} para tipo {1}"; t[264] = "Unknown Types value."; t[265] = "Valor de Types desconhecido."; t[266] = "Invalid stream length {0}."; - t[267] = "Tamanho de dado {0} \u00e9 inv\u00e1lido."; + t[267] = "Tamanho de dado {0} é inválido."; t[272] = "Cannot retrieve the name of an unnamed savepoint."; - t[273] = "N\u00e3o pode recuperar o nome de um savepoint sem nome."; + t[273] = "Não pode recuperar o nome de um savepoint sem nome."; t[274] = "Unable to translate data into the desired encoding."; - t[275] = "N\u00e3o foi poss\u00edvel traduzir dado para codifica\u00e7\u00e3o desejada."; + t[275] = "Não foi possível traduzir dado para codificação desejada."; t[276] = "Expected an EOF from server, got: {0}"; t[277] = "Esperado um EOF do servidor, recebido: {0}"; t[278] = "Bad value for type {0} : {1}"; - t[279] = "Valor inv\u00e1lido para tipo {0} : {1}"; + t[279] = "Valor inválido para tipo {0} : {1}"; t[280] = "The server requested password-based authentication, but no password was provided."; - t[281] = "O servidor pediu autentica\u00e7\u00e3o baseada em senha, mas nenhuma senha foi fornecida."; + t[281] = "O servidor pediu autenticação baseada em senha, mas nenhuma senha foi fornecida."; t[286] = "Unable to create SAXResult for SQLXML."; - t[287] = "N\u00e3o foi poss\u00edvel criar SAXResult para SQLXML."; + t[287] = "Não foi possível criar SAXResult para SQLXML."; t[292] = "Error during recover"; - t[293] = "Erro durante recupera\u00e7\u00e3o"; + t[293] = "Erro durante recuperação"; t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[295] = "tentou executar end sem a chamada ao start correspondente. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[297] = "Truncar objetos grandes s\u00f3 \u00e9 implementado por servidores 8.3 ou superiores."; + t[297] = "Truncar objetos grandes só é implementado por servidores 8.3 ou superiores."; t[298] = "This PooledConnection has already been closed."; - t[299] = "Este PooledConnection j\u00e1 foi fechado."; + t[299] = "Este PooledConnection já foi fechado."; t[302] = "ClientInfo property not supported."; - t[303] = "propriedade ClientInfo n\u00e3o \u00e9 suportada."; + t[303] = "propriedade ClientInfo não é suportada."; t[306] = "Fetch size must be a value greater to or equal to 0."; t[307] = "Tamanho da busca deve ser um valor maior ou igual a 0."; t[312] = "A connection could not be made using the requested protocol {0}."; - t[313] = "A conex\u00e3o n\u00e3o pode ser feita usando protocolo informado {0}."; + t[313] = "A conexão não pode ser feita usando protocolo informado {0}."; t[318] = "Unknown XML Result class: {0}"; t[319] = "Classe XML Result desconhecida: {0}"; t[322] = "There are no rows in this ResultSet."; - t[323] = "N\u00e3o h\u00e1 nenhum registro neste ResultSet."; + t[323] = "Não há nenhum registro neste ResultSet."; t[324] = "Unexpected command status: {0}."; t[325] = "Status do comando inesperado: {0}."; t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; - t[331] = "Efetiva\u00e7\u00e3o/Cancelamento heur\u00edstico n\u00e3o \u00e9 suportado. forget xid={0}"; + t[331] = "Efetivação/Cancelamento heurístico não é suportado. forget xid={0}"; t[334] = "Not on the insert row."; - t[335] = "N\u00e3o est\u00e1 inserindo um registro."; + t[335] = "Não está inserindo um registro."; t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[337] = "Este objeto SQLXML j\u00e1 foi inicializado, ent\u00e3o voc\u00ea n\u00e3o pode manipul\u00e1-lo depois."; + t[337] = "Este objeto SQLXML já foi inicializado, então você não pode manipulá-lo depois."; t[344] = "Server SQLState: {0}"; t[345] = "SQLState: {0}"; t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[349] = "O par\u00e2metro do servidor standard_conforming_strings foi definido como {0}. O driver JDBC espera que seja on ou off."; + t[349] = "O parâmetro do servidor standard_conforming_strings foi definido como {0}. O driver JDBC espera que seja on ou off."; t[360] = "The driver currently does not support COPY operations."; - t[361] = "O driver atualmente n\u00e3o suporta opera\u00e7\u00f5es COPY."; + t[361] = "O driver atualmente não suporta operações COPY."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; - t[365] = "O \u00edndice da matriz est\u00e1 fora do intervalo: {0}, n\u00famero de elementos: {1}."; + t[365] = "O índice da matriz está fora do intervalo: {0}, número de elementos: {1}."; t[374] = "suspend/resume not implemented"; - t[375] = "suspender/recome\u00e7ar n\u00e3o est\u00e1 implementado"; + t[375] = "suspender/recomeçar não está implementado"; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[379] = "N\u00e3o est\u00e1 implementado: efetivada da primeira fase deve ser executada utilizando a mesma conex\u00e3o que foi utilizada para inici\u00e1-la"; + t[379] = "Não está implementado: efetivada da primeira fase deve ser executada utilizando a mesma conexão que foi utilizada para iniciá-la"; t[380] = "Error during one-phase commit. commit xid={0}"; - t[381] = "Erro durante efetiva\u00e7\u00e3o de uma fase. commit xid={0}"; + t[381] = "Erro durante efetivação de uma fase. commit xid={0}"; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; - t[399] = "N\u00e3o pode chamar cancelRowUpdates() quando estiver inserindo registro."; + t[399] = "Não pode chamar cancelRowUpdates() quando estiver inserindo registro."; t[400] = "Cannot reference a savepoint after it has been released."; - t[401] = "N\u00e3o pode referenciar um savepoint ap\u00f3s ele ser descartado."; + t[401] = "Não pode referenciar um savepoint após ele ser descartado."; t[402] = "You must specify at least one column value to insert a row."; - t[403] = "Voc\u00ea deve especificar pelo menos uma coluna para inserir um registro."; + t[403] = "Você deve especificar pelo menos uma coluna para inserir um registro."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "N\u00e3o foi poss\u00edvel determinar um valor para MaxIndexKeys por causa de falta de dados no cat\u00e1logo do sistema."; + t[405] = "Não foi possível determinar um valor para MaxIndexKeys por causa de falta de dados no catálogo do sistema."; t[410] = "commit called before end. commit xid={0}, state={1}"; t[411] = "commit executado antes do end. commit xid={0}, state={1}"; t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[413] = "Sequ\u00eancia UTF-8 ilegal: valor final est\u00e1 fora do intervalo: {0}"; + t[413] = "Sequência UTF-8 ilegal: valor final está fora do intervalo: {0}"; t[414] = "{0} function takes two or three arguments."; - t[415] = "fun\u00e7\u00e3o {0} recebe dois ou tr\u00eas argumentos."; + t[415] = "função {0} recebe dois ou três argumentos."; t[428] = "Unable to convert DOMResult SQLXML data to a string."; - t[429] = "N\u00e3o foi poss\u00edvel converter dado SQLXML do DOMResult para uma cadeia de caracteres."; + t[429] = "Não foi possível converter dado SQLXML do DOMResult para uma cadeia de caracteres."; t[434] = "Unable to decode xml data."; - t[435] = "N\u00e3o foi poss\u00edvel decodificar dado xml."; + t[435] = "Não foi possível decodificar dado xml."; t[440] = "Unexpected error writing large object to database."; t[441] = "Erro inesperado ao escrever objeto grande no banco de dados."; t[442] = "Zero bytes may not occur in string parameters."; - t[443] = "Zero bytes n\u00e3o podem ocorrer em par\u00e2metros de cadeia de caracteres."; + t[443] = "Zero bytes não podem ocorrer em parâmetros de cadeia de caracteres."; t[444] = "A result was returned when none was expected."; t[445] = "Um resultado foi retornado quando nenhum era esperado."; t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[447] = "N\u00e3o est\u00e1 implementado: efetiva\u00e7\u00e3o da segunda fase deve ser executada utilizado uma conex\u00e3o ociosa. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "Não está implementado: efetivação da segunda fase deve ser executada utilizado uma conexão ociosa. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "ResultSet n\u00e3o \u00e9 atualiz\u00e1vel. A consulta que gerou esse conjunto de resultados deve selecionar somente uma tabela, e deve selecionar todas as chaves prim\u00e1rias daquela tabela. Veja a especifica\u00e7\u00e3o na API do JDBC 2.1, se\u00e7\u00e3o 5.6 para obter mais detalhes."; + t[451] = "ResultSet não é atualizável. A consulta que gerou esse conjunto de resultados deve selecionar somente uma tabela, e deve selecionar todas as chaves primárias daquela tabela. Veja a especificação na API do JDBC 2.1, seção 5.6 para obter mais detalhes."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "Tamanho de mensagem de liga\u00e7\u00e3o {0} \u00e9 muito longo. Isso pode ser causado por especifica\u00e7\u00f5es de tamanho incorretas ou muito grandes nos par\u00e2metros do InputStream."; + t[455] = "Tamanho de mensagem de ligação {0} é muito longo. Isso pode ser causado por especificações de tamanho incorretas ou muito grandes nos parâmetros do InputStream."; t[460] = "Statement has been closed."; t[461] = "Comando foi fechado."; t[462] = "No value specified for parameter {0}."; - t[463] = "Nenhum valor especificado para par\u00e2metro {0}."; + t[463] = "Nenhum valor especificado para parâmetro {0}."; t[468] = "The array index is out of range: {0}"; - t[469] = "O \u00edndice da matriz est\u00e1 fora do intervalo: {0}"; + t[469] = "O índice da matriz está fora do intervalo: {0}"; t[474] = "Unable to bind parameter values for statement."; - t[475] = "N\u00e3o foi poss\u00edvel ligar valores de par\u00e2metro ao comando."; + t[475] = "Não foi possível ligar valores de parâmetro ao comando."; t[476] = "Can''t refresh the insert row."; - t[477] = "N\u00e3o pode renovar um registro inserido."; + t[477] = "Não pode renovar um registro inserido."; t[480] = "No primary key found for table {0}."; - t[481] = "Nenhuma chave prim\u00e1ria foi encontrada para tabela {0}."; + t[481] = "Nenhuma chave primária foi encontrada para tabela {0}."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; - t[483] = "N\u00e3o pode mudar n\u00edvel de isolamento da transa\u00e7\u00e3o no meio de uma transa\u00e7\u00e3o."; + t[483] = "Não pode mudar nível de isolamento da transação no meio de uma transação."; t[498] = "Provided InputStream failed."; t[499] = "InputStream fornecido falhou."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[501] = "O \u00edndice de par\u00e2metro est\u00e1 fora do intervalo: {0}, n\u00famero de par\u00e2metros: {1}."; + t[501] = "O índice de parâmetro está fora do intervalo: {0}, número de parâmetros: {1}."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "O par\u00e2metro do servidor DateStyle foi alterado para {0}. O driver JDBC requer que o DateStyle come\u00e7e com ISO para opera\u00e7\u00e3o normal."; + t[503] = "O parâmetro do servidor DateStyle foi alterado para {0}. O driver JDBC requer que o DateStyle começe com ISO para operação normal."; t[508] = "Connection attempt timed out."; - t[509] = "Tentativa de conex\u00e3o falhou."; + t[509] = "Tentativa de conexão falhou."; t[512] = "Internal Query: {0}"; t[513] = "Consulta Interna: {0}"; t[514] = "Error preparing transaction. prepare xid={0}"; - t[515] = "Erro ao preparar transa\u00e7\u00e3o. prepare xid={0}"; + t[515] = "Erro ao preparar transação. prepare xid={0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "O tipo de autentica\u00e7\u00e3o {0} n\u00e3o \u00e9 suportado. Verifique se voc\u00ea configurou o arquivo pg_hba.conf incluindo a subrede ou endere\u00e7o IP do cliente, e se est\u00e1 utilizando o esquema de autentica\u00e7\u00e3o suportado pelo driver."; + t[519] = "O tipo de autenticação {0} não é suportado. Verifique se você configurou o arquivo pg_hba.conf incluindo a subrede ou endereço IP do cliente, e se está utilizando o esquema de autenticação suportado pelo driver."; t[526] = "Interval {0} not yet implemented"; - t[527] = "Intervalo {0} ainda n\u00e3o foi implementado"; + t[527] = "Intervalo {0} ainda não foi implementado"; t[532] = "Conversion of interval failed"; - t[533] = "Convers\u00e3o de interval falhou"; + t[533] = "Conversão de interval falhou"; t[540] = "Query timeout must be a value greater than or equals to 0."; t[541] = "Tempo de espera da consulta deve ser um valor maior ou igual a 0."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "Conex\u00e3o foi fechada automaticamente porque uma nova conex\u00e3o foi aberta pelo mesmo PooledConnection ou o PooledConnection foi fechado."; + t[543] = "Conexão foi fechada automaticamente porque uma nova conexão foi aberta pelo mesmo PooledConnection ou o PooledConnection foi fechado."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; - t[545] = "ResultSet n\u00e3o est\u00e1 posicionado corretamente, talvez voc\u00ea precise chamar next."; + t[545] = "ResultSet não está posicionado corretamente, talvez você precise chamar next."; t[546] = "Prepare called before end. prepare xid={0}, state={1}"; t[547] = "Prepare executado antes do end. prepare xid={0}, state={1}"; t[548] = "Invalid UUID data."; - t[549] = "dado UUID \u00e9 inv\u00e1lido."; + t[549] = "dado UUID é inválido."; t[550] = "This statement has been closed."; t[551] = "Este comando foi fechado."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "N\u00e3o pode inferir um tipo SQL a ser usado para uma inst\u00e2ncia de {0}. Use setObject() com um valor de Types expl\u00edcito para especificar o tipo a ser usado."; + t[553] = "Não pode inferir um tipo SQL a ser usado para uma instância de {0}. Use setObject() com um valor de Types explícito para especificar o tipo a ser usado."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "N\u00e3o pode chamar updateRow() quando estiver inserindo registro."; + t[555] = "Não pode chamar updateRow() quando estiver inserindo registro."; t[562] = "Detail: {0}"; t[563] = "Detalhe: {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; - t[567] = "N\u00e3o pode chamar deleteRow() quando estiver inserindo registro."; + t[567] = "Não pode chamar deleteRow() quando estiver inserindo registro."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[569] = "Posicionado antes do in\u00edcio do ResultSet. Voc\u00ea n\u00e3o pode chamar deleteRow() aqui."; + t[569] = "Posicionado antes do início do ResultSet. Você não pode chamar deleteRow() aqui."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[577] = "Sequ\u00eancia UTF-8 ilegal: valor final \u00e9 um valor suplementar: {0}"; + t[577] = "Sequência UTF-8 ilegal: valor final é um valor suplementar: {0}"; t[578] = "Unknown Response Type {0}."; t[579] = "Tipo de Resposta Desconhecido {0}."; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "Valor do par\u00e2metro stringtype n\u00e3o \u00e9 suportado: {0}"; + t[583] = "Valor do parâmetro stringtype não é suportado: {0}"; t[584] = "Conversion to type {0} failed: {1}."; - t[585] = "Convers\u00e3o para tipo {0} falhou: {1}."; + t[585] = "Conversão para tipo {0} falhou: {1}."; t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[587] = "Este objeto SQLXML n\u00e3o foi inicializado, ent\u00e3o voc\u00ea n\u00e3o pode recuperar dados dele."; + t[587] = "Este objeto SQLXML não foi inicializado, então você não pode recuperar dados dele."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "N\u00e3o foi poss\u00edvel carregar a classe {0} respons\u00e1vel pelo tipo de dado {1}"; + t[601] = "Não foi possível carregar a classe {0} responsável pelo tipo de dado {1}"; t[604] = "The fastpath function {0} is unknown."; - t[605] = "A fun\u00e7\u00e3o do fastpath {0} \u00e9 desconhecida."; + t[605] = "A função do fastpath {0} é desconhecida."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; - t[609] = "Sintaxe de escape mal formada da fun\u00e7\u00e3o ou do procedimento no deslocamento {0}."; + t[609] = "Sintaxe de escape mal formada da função ou do procedimento no deslocamento {0}."; t[612] = "Provided Reader failed."; t[613] = "Reader fornecido falhou."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; - t[615] = "N\u00famero m\u00e1ximo de registros deve ser um valor maior ou igual a 0."; + t[615] = "Número máximo de registros deve ser um valor maior ou igual a 0."; t[616] = "Failed to create object for: {0}."; t[617] = "Falhou ao criar objeto para: {0}."; t[620] = "Conversion of money failed."; - t[621] = "Convers\u00e3o de money falhou."; + t[621] = "Conversão de money falhou."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; t[623] = "Fim de entrada prematuro, eram esperados {0} bytes, mas somente {1} foram lidos."; t[626] = "An unexpected result was returned by a query."; t[627] = "Um resultado inesperado foi retornado pela consulta."; t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[645] = "Intercala\u00e7\u00e3o de transa\u00e7\u00e3o n\u00e3o est\u00e1 implementado. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[645] = "Intercalação de transação não está implementado. xid={0}, currentXid={1}, state={2}, flags={3}"; t[646] = "An error occurred while setting up the SSL connection."; - t[647] = "Um erro ocorreu ao estabelecer uma conex\u00e3o SSL."; + t[647] = "Um erro ocorreu ao estabelecer uma conexão SSL."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[655] = "Sequ\u00eancia UTF-8 ilegal: {0} bytes utilizados para codificar um valor de {1} bytes: {2}"; + t[655] = "Sequência UTF-8 ilegal: {0} bytes utilizados para codificar um valor de {1} bytes: {2}"; t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[657] = "N\u00e3o est\u00e1 implementado: Prepare deve ser executado utilizando a mesma conex\u00e3o que iniciou a transa\u00e7\u00e3o. currentXid={0}, prepare xid={1}"; + t[657] = "Não está implementado: Prepare deve ser executado utilizando a mesma conexão que iniciou a transação. currentXid={0}, prepare xid={1}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[659] = "A classe SSLSocketFactory forneceu {0} que n\u00e3o p\u00f4de ser instanciado."; + t[659] = "A classe SSLSocketFactory forneceu {0} que não pôde ser instanciado."; t[662] = "Failed to convert binary xml data to encoding: {0}."; - t[663] = "Falhou ao converter dados xml bin\u00e1rios para codifica\u00e7\u00e3o: {0}."; + t[663] = "Falhou ao converter dados xml binários para codificação: {0}."; t[670] = "Position: {0}"; - t[671] = "Posi\u00e7\u00e3o: {0}"; + t[671] = "Posição: {0}"; t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; t[677] = "Local: Arquivo: {0}, Rotina: {1}, Linha: {2}"; t[684] = "Cannot tell if path is open or closed: {0}."; - t[685] = "N\u00e3o pode dizer se caminho est\u00e1 aberto ou fechado: {0}."; + t[685] = "Não pode dizer se caminho está aberto ou fechado: {0}."; t[690] = "Unable to create StAXResult for SQLXML"; - t[691] = "N\u00e3o foi poss\u00edvel criar StAXResult para SQLXML"; + t[691] = "Não foi possível criar StAXResult para SQLXML"; t[700] = "Cannot convert an instance of {0} to type {1}"; - t[701] = "N\u00e3o pode converter uma inst\u00e2ncia de {0} para tipo {1}"; + t[701] = "Não pode converter uma instância de {0} para tipo {1}"; t[710] = "{0} function takes four and only four argument."; - t[711] = "fun\u00e7\u00e3o {0} recebe somente quatro argumentos."; + t[711] = "função {0} recebe somente quatro argumentos."; t[716] = "Error disabling autocommit"; t[717] = "Erro ao desabilitar autocommit"; t[718] = "Interrupted while attempting to connect."; t[719] = "Interrompido ao tentar se conectar."; t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[723] = "Sua pol\u00edtica de seguran\u00e7a impediu que a conex\u00e3o pudesse ser estabelecida. Voc\u00ea provavelmente precisa conceder permiss\u00e3o em java.net.SocketPermission para a m\u00e1quina e a porta do servidor de banco de dados que voc\u00ea deseja se conectar."; + t[723] = "Sua política de segurança impediu que a conexão pudesse ser estabelecida. Você provavelmente precisa conceder permissão em java.net.SocketPermission para a máquina e a porta do servidor de banco de dados que você deseja se conectar."; t[728] = "Failed to initialize LargeObject API"; t[729] = "Falhou ao inicializar API de Objetos Grandes"; t[734] = "No function outputs were registered."; - t[735] = "Nenhum sa\u00edda de fun\u00e7\u00e3o foi registrada."; + t[735] = "Nenhum saída de função foi registrada."; t[736] = "{0} function takes one and only one argument."; - t[737] = "fun\u00e7\u00e3o {0} recebe somente um argumento."; + t[737] = "função {0} recebe somente um argumento."; t[744] = "This ResultSet is closed."; - t[745] = "Este ResultSet est\u00e1 fechado."; + t[745] = "Este ResultSet está fechado."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Caracter inv\u00e1lido foi encontrado. Isso \u00e9 mais comumente causado por dado armazenado que cont\u00e9m caracteres que s\u00e3o inv\u00e1lidos para a codifica\u00e7\u00e3o que foi criado o banco de dados. O exemplo mais comum disso \u00e9 armazenar dados de 8 bits em um banco de dados SQL_ASCII."; + t[747] = "Caracter inválido foi encontrado. Isso é mais comumente causado por dado armazenado que contém caracteres que são inválidos para a codificação que foi criado o banco de dados. O exemplo mais comum disso é armazenar dados de 8 bits em um banco de dados SQL_ASCII."; t[752] = "GSS Authentication failed"; - t[753] = "Autentica\u00e7\u00e3o GSS falhou"; + t[753] = "Autenticação GSS falhou"; t[754] = "Ran out of memory retrieving query results."; - t[755] = "Mem\u00f3ria insuficiente ao recuperar resultados da consulta."; + t[755] = "Memória insuficiente ao recuperar resultados da consulta."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "Retorno de chaves geradas automaticamente n\u00e3o \u00e9 suportado."; + t[757] = "Retorno de chaves geradas automaticamente não é suportado."; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[761] = "Opera\u00e7\u00e3o requer um ResultSet rol\u00e1vel, mas este ResultSet \u00e9 FORWARD_ONLY (somente para frente)."; + t[761] = "Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY (somente para frente)."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "Uma fun\u00e7\u00e3o foi executada e o par\u00e2metro de retorno {0} era do tipo {1} contudo tipo {2} foi registrado."; + t[763] = "Uma função foi executada e o parâmetro de retorno {0} era do tipo {1} contudo tipo {2} foi registrado."; t[764] = "Unable to find server array type for provided name {0}."; - t[765] = "N\u00e3o foi poss\u00edvel encontrar tipo matriz para nome fornecido {0}."; + t[765] = "Não foi possível encontrar tipo matriz para nome fornecido {0}."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "Defini\u00e7\u00e3o de durabilidade do ResultSet desconhecida: {0}."; + t[769] = "Definição de durabilidade do ResultSet desconhecida: {0}."; t[772] = "Transaction isolation level {0} not supported."; - t[773] = "N\u00edvel de isolamento da transa\u00e7\u00e3o {0} n\u00e3o \u00e9 suportado."; + t[773] = "Nível de isolamento da transação {0} não é suportado."; t[774] = "Zero bytes may not occur in identifiers."; - t[775] = "Zero bytes n\u00e3o podem ocorrer em identificadores."; + t[775] = "Zero bytes não podem ocorrer em identificadores."; t[776] = "No results were returned by the query."; t[777] = "Nenhum resultado foi retornado pela consulta."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "Uma fun\u00e7\u00e3o foi executada e nada foi retornado."; + t[779] = "Uma função foi executada e nada foi retornado."; t[780] = "wasNull cannot be call before fetching a result."; - t[781] = "wasNull n\u00e3o pode ser chamado antes de obter um resultado."; + t[781] = "wasNull não pode ser chamado antes de obter um resultado."; t[784] = "Returning autogenerated keys by column index is not supported."; - t[785] = "Retorno de chaves geradas automaticamente por \u00edndice de coluna n\u00e3o \u00e9 suportado."; + t[785] = "Retorno de chaves geradas automaticamente por índice de coluna não é suportado."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[787] = "Este comando n\u00e3o declara um par\u00e2metro de sa\u00edda. Utilize '{' ?= chamada ... '}' para declarar um)"; + t[787] = "Este comando não declara um parâmetro de saída. Utilize '{' ?= chamada ... '}' para declarar um)"; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "N\u00e3o pode utilizar m\u00e9todos de movimenta\u00e7\u00e3o relativos enquanto estiver inserindo registro."; + t[789] = "Não pode utilizar métodos de movimentação relativos enquanto estiver inserindo registro."; t[790] = "A CallableStatement was executed with an invalid number of parameters"; - t[791] = "Uma fun\u00e7\u00e3o foi executada com um n\u00famero inv\u00e1lido de par\u00e2metros"; + t[791] = "Uma função foi executada com um número inválido de parâmetros"; t[792] = "Connection is busy with another transaction"; - t[793] = "Conex\u00e3o est\u00e1 ocupada com outra transa\u00e7\u00e3o"; + t[793] = "Conexão está ocupada com outra transação"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java index ae8638779f..5b03c46e3a 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ru.java @@ -7,215 +7,215 @@ public class messages_ru extends java.util.ResourceBundle { t[0] = ""; t[1] = "Project-Id-Version: JDBC Driver for PostgreSQL 8.x.x\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2016-01-07 15:09+0300\nLast-Translator: Vladimir Sitnikov \nLanguage-Team: pgsql-rus \nLanguage: ru_RU\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 1.5.7\n"; t[4] = "The HostnameVerifier class provided {0} could not be instantiated."; - t[5] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c HostnameVerifier \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[5] = "Невозможно создать HostnameVerifier с помощью указанного класса {0}"; t[8] = "Unknown Types value."; - t[9] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Types."; + t[9] = "Неизвестное значение Types."; t[12] = "The column name {0} was not found in this ResultSet."; - t[13] = "\u041a\u043e\u043b\u043e\u043d\u043a\u0438 {0} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0432 \u044d\u0442\u043e\u043c ResultSet\u2019\u2019\u0435."; + t[13] = "Колонки {0} не найдено в этом ResultSet’’е."; t[18] = "The array index is out of range: {0}, number of elements: {1}."; - t[19] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[19] = "Индекс массива вне диапазона: {0}. Допустимые значения: 1..{1}"; t[22] = "Error during one-phase commit. commit xid={0}"; - t[23] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0444\u0430\u0437\u043d\u043e\u0439 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. commit xid={0}"; + t[23] = "Ошибка при однофазной фиксации транзакции. commit xid={0}"; t[26] = "An error occurred while setting up the SSL connection."; - t[27] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 SSL-\u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[27] = "Ошибка при установке SSL-подсоединения."; t[30] = "Failed to create object for: {0}."; - t[31] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u043b\u044f: {0}."; + t[31] = "Ошибка при создании объект для: {0}."; t[32] = "Zero bytes may not occur in string parameters."; - t[33] = "\u0411\u0430\u0439\u0442 \u0441 \u043a\u043e\u0434\u043e\u043c 0 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0442\u0440\u0435\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445"; + t[33] = "Байт с кодом 0 не может втречаться в строковых параметрах"; t[34] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[35] = "\u0421\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0435, \u0447\u0442\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u044d\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435."; + t[35] = "Случилось что-то необычное, что заставило драйвер произвести ошибку. Пожалуйста сообщите это исключение."; t[38] = "Unsupported Types value: {0}"; - t[39] = "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 java.sql.Types \u0442\u0438\u043f: {0}"; + t[39] = "Неподдерживаемый java.sql.Types тип: {0}"; t[48] = "No IOException expected from StringBuffer or StringBuilder"; - t[49] = "\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a: \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 StringBuffer \u0438 StringBuilder \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c"; + t[49] = "Что-то пошло не так: из классов StringBuffer и StringBuilder исключений не ожидалось"; t[52] = "The server requested password-based authentication, but no password was provided."; - t[53] = "\u0421\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e, \u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d."; + t[53] = "Сервер запросил парольную аутентификацию, но пароль не был указан."; t[54] = "Position: {0}"; - t[55] = "\u041f\u043e\u0437\u0438\u0446\u0438\u044f: {0}"; + t[55] = "Позиция: {0}"; t[60] = "No results were returned by the query."; - t[61] = "\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432."; + t[61] = "Запрос не вернул результатов."; t[66] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[67] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u0442.\u043a. \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0447\u0430\u0442\u0430. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[67] = "Невозможно завершить транзакцию, т.к. транзакция не была начата. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[70] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[71] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: {0} bytes used to encode a {1} byte value: {2}"; + t[71] = "Неверная последовательность UTF-8: {0} bytes used to encode a {1} byte value: {2}"; t[76] = "Unexpected command status: {0}."; - t[77] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b: {0}."; + t[77] = "Неожиданный статус команды: {0}."; t[82] = "Interval {0} not yet implemented"; - t[83] = "\u0418\u043d\u0442\u0435\u0432\u0440\u0432\u0430\u043b {0} \u0435\u0449\u0451 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d"; + t[83] = "Интеврвал {0} ещё не реализован"; t[84] = "Unsupported property name: {0}"; - t[85] = "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f"; + t[85] = "Свойство {0} не поддерживается"; t[90] = "A connection could not be made using the requested protocol {0}."; - t[91] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 {0}"; + t[91] = "Невозможно установить соединение с помощью протокола {0}"; t[92] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[93] = "\u0422\u0438\u043f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u0430\u0439\u043b pg_hba.conf \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044c. \u0422\u0430\u043a\u0436\u0435 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0445\u0435\u043c\u0443 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0443\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c."; + t[93] = "Тип аутентификации {0} не поддерживается. Проверьте если вы сконфигурировали файл pg_hba.conf чтобы включить IP-адреса клиентов или подсеть. Также удостовертесь что он использует схему аутентификации поддерживаемую драйвером."; t[96] = "Protocol error. Session setup failed."; - t[97] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c."; + t[97] = "Ошибка протокола. Установление сессии не удалось."; t[100] = "The password callback class provided {0} could not be instantiated."; - t[101] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c password callback \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[101] = "Невозможно создать password callback с помощью указанного класса {0}"; t[104] = "suspend/resume not implemented"; - t[105] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 XA suspend/resume \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b"; + t[105] = "Операции XA suspend/resume не реализованы"; t[116] = "Fastpath call {0} - No result was returned and we expected a long."; - t[117] = "\u0412\u044b\u0437\u043e\u0432 fastpath {0} \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b, \u0430 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c long"; + t[117] = "Вызов fastpath {0} ничего не вернул, а ожидалось long"; t[130] = "Transaction isolation level {0} not supported."; - t[131] = "\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f."; + t[131] = "Уровень изоляции транзакций {0} не поддерживается."; t[132] = "Large Objects may not be used in auto-commit mode."; - t[133] = "\u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0432\u0442\u043e-\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f (auto-commit)."; + t[133] = "Большие объекты не могут использоваться в режиме авто-подтверждения (auto-commit)."; t[134] = "The driver currently does not support COPY operations."; - t[135] = "\u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 COPY."; + t[135] = "Драйвер в данный момент не поддерживате операции COPY."; t[136] = "Malformed function or procedure escape syntax at offset {0}."; - t[137] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c SQL \u043a\u043e\u043c\u0430\u043d\u0434\u0443. \u041e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 {0}"; + t[137] = "Невозможно разобрать SQL команду. Ошибка на позиции {0}"; t[138] = "Zero bytes may not occur in identifiers."; - t[139] = "\u0421\u0438\u043c\u0432\u043e\u043b \u0441 \u043a\u043e\u0434\u043e\u043c 0 \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c"; + t[139] = "Символ с кодом 0 в идентификаторах не допустим"; t[140] = "The array index is out of range: {0}"; - t[141] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}"; + t[141] = "Индекс массива вне диапазона: {0}"; t[142] = "This SQLXML object has already been freed."; - t[143] = "\u042d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 SQLXML \u0443\u0436\u0435 \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442"; + t[143] = "Этот объект SQLXML уже был закрыт"; t[146] = "Unexpected copydata from server for {0}"; - t[147] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b COPY: {0}"; + t[147] = "Неожиданный статус команды COPY: {0}"; t[148] = "Connection has been closed."; - t[149] = "\u042d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[149] = "Это соединение уже было закрыто"; t[150] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[151] = "\u0414\u0443\u0445\u0444\u0430\u0437\u043d\u0430\u044f \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e, \u0435\u0441\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e (state=idle \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0446\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442). commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[151] = "Духфазная фиксация работает только, если соединение неактивно (state=idle и транзакцция отсутствует). commit xid={0}, currentXid={1}, state={2], transactionState={3}"; t[160] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[161] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SSLSocketFactory \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[161] = "Невозможно создать SSLSocketFactory с помощью указанного класса {0}"; t[164] = "The SocketFactory class provided {0} could not be instantiated."; - t[165] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SSLSocketFactory \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 {0}"; + t[165] = "Невозможно создать SSLSocketFactory с помощью указанного класса {0}"; t[166] = "An I/O error occurred while sending to the backend."; - t[167] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0443"; + t[167] = "Ошибка ввода/ввывода при отправке бэкенду"; t[184] = "An error occurred reading the certificate"; - t[185] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430"; + t[185] = "Ошибка при чтении сертификата"; t[196] = "commit called before end. commit xid={0}, state={1}"; - t[197] = "\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f commit \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 end. commit xid={0}, state={1}"; + t[197] = "Операция commit должна вызываться только после операции end. commit xid={0}, state={1}"; t[200] = "Finalizing a Connection that was never closed:"; - t[201] = "\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u00ab\u0443\u0442\u0435\u043a\u043b\u043e\u00bb. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f connection.close(). \u0414\u0430\u043b\u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0442\u0435\u043a\u0442\u0440\u0435\u0439\u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435"; + t[201] = "Соединение «утекло». Проверьте, что в коде приложения вызывается connection.close(). Далее следует стектрейс того места, где создавалось проблемное соединение"; t[202] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[203] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f surrogate \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c: {0}"; + t[203] = "Неверная последовательность UTF-8: финальное значение является surrogate значением: {0}"; t[210] = "Unknown Response Type {0}."; - t[211] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0430 {0}."; + t[211] = "Неизвестный тип ответа {0}."; t[214] = "Expected an EOF from server, got: {0}"; - t[215] = "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0431\u0430\u0439\u0442 {0}"; + t[215] = "Неожиданный ответ от сервера. Ожидалось окончание потока, получен байт {0}"; t[220] = "Invalid sslmode value: {0}"; - t[221] = "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 sslmode: {0}"; + t[221] = "Неверное значение sslmode: {0}"; t[222] = "Failed to initialize LargeObject API"; - t[223] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 LargeObject API"; + t[223] = "Ошибка при инициализации LargeObject API"; t[226] = "Connection attempt timed out."; - t[227] = "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f"; + t[227] = "Закончилось время ожидания"; t[232] = "An unexpected result was returned by a query."; - t[233] = "\u0417\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0443\u043b \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442."; + t[233] = "Запрос вернул неожиданный результат."; t[236] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; - t[237] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. commit xid={0}, preparedXid={1}, currentXid={2}"; + t[237] = "Ошибка при фиксации подготовленной транзакции. commit xid={0}, preparedXid={1}, currentXid={2}"; t[242] = "Unknown type {0}."; - t[243] = "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f {0}."; + t[243] = "Неизвестный тип {0}."; t[250] = "Interrupted while waiting to obtain lock on database connection"; - t[251] = "\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 COPY \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c interrupt"; + t[251] = "Ожидание COPY блокировки прервано получением interrupt"; t[262] = "Invalid targetServerType value: {0}"; - t[263] = "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 targetServerType: {0}"; + t[263] = "Неверное значение targetServerType: {0}"; t[270] = "A result was returned when none was expected."; - t[271] = "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0451\u043d \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c."; + t[271] = "Результат возвращён когда его не ожидалось."; t[272] = "Detail: {0}"; - t[273] = "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438: {0}"; + t[273] = "Подробности: {0}"; t[276] = "The column index is out of range: {0}, number of columns: {1}."; - t[277] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[277] = "Индекс колонки вне диапазона: {0}. Допустимые значения: 1..{1}"; t[284] = "This ResultSet is closed."; - t[285] = "ResultSet \u0437\u0430\u043a\u0440\u044b\u0442."; + t[285] = "ResultSet закрыт."; t[298] = "Requested CopyIn but got {0}"; - t[299] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u0432\u0435\u0442 CopyIn, \u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[299] = "Ожидался ответ CopyIn, а получен {0}"; t[302] = "Conversion to type {0} failed: {1}."; - t[303] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a \u0442\u0438\u043f\u0443 {0}: {1}"; + t[303] = "Ошибка при преобразовании к типу {0}: {1}"; t[306] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[307] = "\u0412 \u043a\u0430\u043a\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438, \u0432 \u0442\u0430\u043a\u043e\u043c \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0439\u0442\u0435 prepare. \u041f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. currentXid={0}, prepare xid={1}"; + t[307] = "В каком соединении транзакцию начинали, в таком и вызывайте prepare. По-другому не работает. currentXid={0}, prepare xid={1}"; t[308] = "Server SQLState: {0}"; - t[309] = "SQLState \u0441\u0435\u0440\u0432\u0435\u0440\u0430: {0}"; + t[309] = "SQLState сервера: {0}"; t[314] = "Connection to {0} refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."; - t[315] = "\u041f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 {0} \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0447\u0442\u043e \u0445\u043e\u0441\u0442 \u0438 \u043f\u043e\u0440\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u0447\u0442\u043e postmaster \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 TCP/IP-\u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[315] = "Подсоединение по адресу {0} отклонено. Проверьте что хост и порт указаны правильно и что postmaster принимает TCP/IP-подсоединения."; t[318] = "Invalid flags {0}"; - t[319] = "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438 {0}"; + t[319] = "Неверные флаги {0}"; t[326] = "Statement has been closed."; - t[327] = "Statement \u0437\u0430\u043a\u0440\u044b\u0442."; + t[327] = "Statement закрыт."; t[328] = "Too many update results were returned."; - t[329] = "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f."; + t[329] = "Возвращено слишком много результатов обновления."; t[330] = "The connection attempt failed."; - t[331] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f."; + t[331] = "Ошибка при попытке подсоединения."; t[342] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[343] = "\u041c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435: \u0424\u0430\u0439\u043b {0}, \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430: {1}, \u0421\u0442\u0440\u043e\u043a\u0430: {2}"; + t[343] = "Местонахождение: Файл {0}, Процедура: {1}, Строка: {2}"; t[344] = "Expected command status BEGIN, got {0}."; - t[345] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b BEGIN, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[345] = "Ожидался статус команды BEGIN, но получен {0}"; t[346] = "There are no rows in this ResultSet."; - t[347] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443, \u0442.\u043a. \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c ResultSet\u2019\u0435 \u0441\u0442\u0440\u043e\u043a \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435\u0442"; + t[347] = "Невозможно удалить строку, т.к. в текущем ResultSet’е строк вообще нет"; t[350] = "Where: {0}"; - t[351] = "\u0413\u0434\u0435: {0}"; + t[351] = "Где: {0}"; t[356] = "Failed to set ClientInfo property: {0}"; - t[357] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e ClientInfo: {0}"; + t[357] = "Невозможно установить свойство ClientInfo: {0}"; t[358] = "Conversion of money failed."; - t[359] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0438\u043f\u0430 money."; + t[359] = "Ошибка при преобразовании типа money."; t[366] = "Error preparing transaction. prepare xid={0}"; - t[367] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 prepare \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 {0}"; + t[367] = "Ошибка при выполнении prepare для транзакции {0}"; t[368] = "Invalid timeout ({0}<0)."; - t[369] = "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c: {0}"; + t[369] = "Значение таймаута должно быть неотрицательным: {0}"; t[374] = "Unsupported value for stringtype parameter: {0}"; - t[375] = "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 stringtype: {0}"; + t[375] = "Неподдерживаемое значение для параметра stringtype: {0}"; t[380] = "Requested CopyOut but got {0}"; - t[381] = "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u0432\u0435\u0442 CopyOut, \u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d {0}"; + t[381] = "Ожидался ответ CopyOut, а получен {0}"; t[382] = "This PooledConnection has already been closed."; - t[383] = "\u042d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[383] = "Это соединение уже было закрыто"; t[392] = "Could not find a server with specified targetServerType: {0}"; - t[393] = "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c targetServerType: {0}"; + t[393] = "Не удалось найти сервер с указанным значением targetServerType: {0}"; t[402] = "Interrupted while attempting to connect."; - t[403] = "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043d\u0438\u0435\u043c interrupt"; + t[403] = "Подключение прервано получаением interrupt"; t[406] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[407] = "\u0418\u043d\u0434\u0435\u043a\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430: {0}. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1..{1}"; + t[407] = "Индекс параметра вне диапазона: {0}. Допустимые значения: 1..{1}"; t[410] = "Unable to bind parameter values for statement."; - t[411] = "\u041d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b (PGBindException)"; + t[411] = "Не в состоянии ассоциировать значения параметров для команды (PGBindException)"; t[420] = "Cannot write to copy a byte of value {0}"; - t[421] = "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 byte \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 0..255, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {0}"; + t[421] = "Значение byte должно быть в диапазоне 0..255, переданное значение: {0}"; t[422] = "Ran out of memory retrieving query results."; - t[423] = "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c -Xmx \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445"; + t[423] = "Недостаточно памяти для обработки результатов запроса. Попробуйте увеличить -Xmx или проверьте размеры обрабатываемых данных"; t[434] = "Prepare called before end. prepare xid={0}, state={1}"; - t[435] = "\u0412\u044b\u0437\u043e\u0432 prepare \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 end. prepare xid={0}, state={1}"; + t[435] = "Вызов prepare должен происходить только после вызова end. prepare xid={0}, state={1}"; t[436] = "Hint: {0}"; - t[437] = "\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430: {0}"; + t[437] = "Подсказка: {0}"; t[444] = "This copy stream is closed."; - t[445] = "\u041f\u043e\u0442\u043e\u043a \u0443\u0436\u0435 \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442"; + t[445] = "Поток уже был закрыт"; t[450] = "The server does not support SSL."; - t[451] = "\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 SSL."; + t[451] = "Сервер не поддерживает SSL."; t[454] = "Conversion of interval failed"; - t[455] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c PGInterval: {0}"; + t[455] = "Невозможно обработать PGInterval: {0}"; t[464] = "No value specified for parameter {0}."; - t[465] = "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 {0}."; + t[465] = "Не указано значение для параметра {0}."; t[466] = "Invalid stream length {0}."; - t[467] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 {0}."; + t[467] = "Неверная длина потока {0}."; t[472] = "Unsupported properties: {0}"; - t[473] = "\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f: {0}"; + t[473] = "Указанные свойства не поддерживаются: {0}"; t[474] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[475] = "\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0431\u0430\u0437\u044b. \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 8-\u0431\u0438\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0430\u0437\u0435 SQL_ASCII."; + t[475] = "Найдены неверные символьные данные. Причиной этого скорее всего являются хранимые данные содержащие символы не соответствующие набору символов базы. Типичным примером этого является хранение 8-битных данных в базе SQL_ASCII."; t[476] = "Copying from database failed: {0}"; - t[477] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b COPY: {0}"; + t[477] = "Ошибка при обработке ответа команды COPY: {0}"; t[480] = "This statement has been closed."; - t[481] = "\u042d\u0442\u043e\u0442 Sstatement \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442."; + t[481] = "Этот Sstatement был закрыт."; t[484] = "oid type {0} not known and not a number"; - t[485] = "Oid {0} \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0438\u043b\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c"; + t[485] = "Oid {0} не известен или не является числом"; t[490] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[491] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0431\u0430\u0439\u0442 {0} \u0438\u0437 {1} \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043c\u0430\u0441\u043a\u0435 10xxxxxx: {2}"; + t[491] = "Неверная последовательность UTF-8: байт {0} из {1} не подходит к маске 10xxxxxx: {2}"; t[494] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[495] = "\u0427\u0435\u0440\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c xid={0}, currentXid={1}, state={2}, flags={3}"; + t[495] = "Чередование транзакций в одном соединении не поддерживается. Предыдущую транзакцию нужно завершить xid={0}, currentXid={1}, state={2}, flags={3}"; t[506] = "Method {0} is not yet implemented."; - t[507] = "\u041c\u0435\u0442\u043e\u0434 {0} \u0435\u0449\u0451 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d"; + t[507] = "Метод {0} ещё не реализован"; t[514] = "DataSource has been closed."; - t[515] = "DataSource \u0437\u0430\u043a\u0440\u044b\u0442."; + t[515] = "DataSource закрыт."; t[518] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[519] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043d\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445: {0}"; + t[519] = "Неверная последовательность UTF-8: финальное значение вне области допустимых: {0}"; t[520] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[521] = "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0442\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[521] = "Ошибка при откате подготовленной транзакции. rollback xid={0}, preparedXid={1}, currentXid={2}"; t[522] = "Unable to create SAXResult for SQLXML."; - t[523] = "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c SAXResult \u0434\u043b\u044f SQLXML"; + t[523] = "Невозможно создать SAXResult для SQLXML"; t[530] = "This connection has been closed."; - t[531] = "\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e"; + t[531] = "Соединение уже было закрыто"; t[538] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[539] = "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c UTF-8: \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u0438\u0435 {0}: {1}"; + t[539] = "Неверная последовательность UTF-8: начальное значеие {0}: {1}"; t[544] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[545] = "\u0420\u0430\u043d\u043d\u0435\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c \u0431\u0430\u0439\u0442: {0}, \u043d\u043e \u0441\u0447\u0438\u0442\u0430\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e {1}"; + t[545] = "Раннее завершение входного потока, ожидалось байт: {0}, но считано только {1}"; t[550] = "Unsupported binary encoding of {0}."; - t[551] = "\u0411\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0438\u043f\u0430 {0}"; + t[551] = "Бинарная передача не поддерживается для типа {0}"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java index 2236406984..5dc6e77921 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_sr.java @@ -5,305 +5,305 @@ public class messages_sr extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL 8.1\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-26 11:13+0100\nLast-Translator: Bojan \u0160kaljac \nLanguage-Team: Srpski \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Serbian\nX-Poedit-Country: YUGOSLAVIA\n"; + t[1] = "Project-Id-Version: PostgreSQL 8.1\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-26 11:13+0100\nLast-Translator: Bojan Škaljac \nLanguage-Team: Srpski \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Serbian\nX-Poedit-Country: YUGOSLAVIA\n"; t[4] = "DataSource has been closed."; t[5] = "DataSource je zatvoren."; t[8] = "Invalid flags {0}"; - t[9] = "Neva\u017ee\u0107e zastavice {0}"; + t[9] = "Nevažeće zastavice {0}"; t[18] = "Where: {0}"; t[19] = "Gde: {0}"; t[24] = "Unknown XML Source class: {0}"; t[25] = "Nepoznata XML ulazna klasa: {0}"; t[26] = "The connection attempt failed."; - t[27] = "Poku\u0161aj konektovanja propao."; + t[27] = "Pokušaj konektovanja propao."; t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[29] = "Trenutna pozicija posle kraja ResultSet-a. Ne mo\u017eete pozvati deleteRow() na toj poziciji."; + t[29] = "Trenutna pozicija posle kraja ResultSet-a. Ne možete pozvati deleteRow() na toj poziciji."; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "Ne mo\u017eete da koristite metode za upit koji uzimaju string iz upita u PreparedStatement-u."; + t[33] = "Ne možete da koristite metode za upit koji uzimaju string iz upita u PreparedStatement-u."; t[36] = "Multiple ResultSets were returned by the query."; - t[37] = "Vi\u0161estruki ResultSet-vi su vra\u0107eni od strane upita."; + t[37] = "Višestruki ResultSet-vi su vraćeni od strane upita."; t[50] = "Too many update results were returned."; - t[51] = "Previ\u0161e rezultata za a\u017euriranje je vra\u0107eno."; + t[51] = "Previše rezultata za ažuriranje je vraćeno."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; t[59] = "Ilegalna UTF-8 sekvenca: inicijalni bajt je {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; t[67] = "Ime kolone {0} nije pronadjeno u ResultSet."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Fastpath poziv {0} - Nikakav rezultat nije vra\u0107en a o\u010dekivan je integer."; + t[71] = "Fastpath poziv {0} - Nikakav rezultat nije vraćen a očekivan je integer."; t[74] = "Protocol error. Session setup failed."; - t[75] = "Gre\u0161ka protokola. Zakazivanje sesije propalo."; + t[75] = "Greška protokola. Zakazivanje sesije propalo."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; t[77] = "CallableStatement jedeklarisan ali nije bilo poziva registerOutParameter (1, )."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "ResultSets sa osobinom CONCUR_READ_ONLY ne moe\u017ee biti a\u017euriran."; + t[79] = "ResultSets sa osobinom CONCUR_READ_ONLY ne moeže biti ažuriran."; t[90] = "LOB positioning offsets start at 1."; - t[91] = "LOB pozicija ofset po\u010dinje kod 1."; + t[91] = "LOB pozicija ofset počinje kod 1."; t[92] = "Internal Position: {0}"; t[93] = "Interna pozicija: {0}"; t[96] = "free() was called on this LOB previously"; t[97] = "free() je pozvan na ovom LOB-u prethodno"; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "Nije mogu\u0107e izmeniti read-only osobinu transakcije u sred izvr\u0161avanja transakcije."; + t[101] = "Nije moguće izmeniti read-only osobinu transakcije u sred izvršavanja transakcije."; t[102] = "The JVM claims not to support the {0} encoding."; - t[103] = "JVM tvrdi da ne podr\u017eava {0} encoding."; + t[103] = "JVM tvrdi da ne podržava {0} encoding."; t[108] = "{0} function doesn''t take any argument."; t[109] = "Funkcija {0} nema parametara."; t[112] = "xid must not be null"; t[113] = "xid ne sme biti null"; t[114] = "Connection has been closed."; - t[115] = "Konekcija je ve\u0107 zatvorena."; + t[115] = "Konekcija je već zatvorena."; t[122] = "The server does not support SSL."; - t[123] = "Server ne podr\u017eava SSL."; + t[123] = "Server ne podržava SSL."; t[124] = "Custom type maps are not supported."; - t[125] = "Mape sa korisni\u010dki definisanim tipovima nisu podr\u017eane."; + t[125] = "Mape sa korisnički definisanim tipovima nisu podržane."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; t[141] = "Ilegalna UTF-8 sekvenca: bajt {0} od {1} bajtova sekvence nije 10xxxxxx: {2}"; t[148] = "Hint: {0}"; t[149] = "Nagovest: {0}"; t[152] = "Unable to find name datatype in the system catalogs."; - t[153] = "Nije mogu\u0107e prona\u0107i ime tipa podatka u sistemskom katalogu."; + t[153] = "Nije moguće pronaći ime tipa podatka u sistemskom katalogu."; t[156] = "Unsupported Types value: {0}"; - t[157] = "Za tip nije podr\u017eana vrednost: {0}"; + t[157] = "Za tip nije podržana vrednost: {0}"; t[158] = "Unknown type {0}."; t[159] = "Nepoznat tip {0}."; t[166] = "{0} function takes two and only two arguments."; t[167] = "Funkcija {0} prima dva i samo dva parametra."; t[170] = "Finalizing a Connection that was never closed:"; - t[171] = "Dovr\u0161avanje konekcije koja nikada nije zatvorena:"; + t[171] = "Dovršavanje konekcije koja nikada nije zatvorena:"; t[180] = "The maximum field size must be a value greater than or equal to 0."; - t[181] = "Maksimalna vrednost veli\u010dine polja mora biti vrednost ve\u0107a ili jednaka 0."; + t[181] = "Maksimalna vrednost veličine polja mora biti vrednost veća ili jednaka 0."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "PostgreSQL LOB mogu jedino da ozna\u010davaju: {0}"; + t[187] = "PostgreSQL LOB mogu jedino da označavaju: {0}"; t[194] = "Method {0} is not yet implemented."; - t[195] = "Metod {0} nije jo\u0161 impelemtiran."; + t[195] = "Metod {0} nije još impelemtiran."; t[198] = "Error loading default settings from driverconfig.properties"; - t[199] = "Gre\u0161ka u \u010ditanju standardnih pode\u0161avanja iz driverconfig.properties"; + t[199] = "Greška u čitanju standardnih podešavanja iz driverconfig.properties"; t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[201] = "Razultat nemo\u017ee da se primi iz CallableStatement pre nego \u0161to se on izvr\u0161i."; + t[201] = "Razultat nemože da se primi iz CallableStatement pre nego što se on izvrši."; t[202] = "Large Objects may not be used in auto-commit mode."; t[203] = "Veliki objekti (Large Object) se nemogu koristiti u auto-commit modu."; t[208] = "Expected command status BEGIN, got {0}."; - t[209] = "O\u010dekivan status komande je BEGIN, a dobijeno je {0}."; + t[209] = "Očekivan status komande je BEGIN, a dobijeno je {0}."; t[218] = "Invalid fetch direction constant: {0}."; - t[219] = "Pogre\u0161na konstanta za direkciju dono\u0161enja: {0}."; + t[219] = "Pogrešna konstanta za direkciju donošenja: {0}."; t[222] = "{0} function takes three and only three arguments."; t[223] = "Funkcija {0} prima tri i samo tri parametra."; t[226] = "This SQLXML object has already been freed."; - t[227] = "Ovaj SQLXML je ve\u0107 obrisan."; + t[227] = "Ovaj SQLXML je već obrisan."; t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[229] = "Nije mogu\u0107e a\u017eurirati ResultSet zato \u0161to je ili po\u010detak ili kraj rezultata."; + t[229] = "Nije moguće ažurirati ResultSet zato što je ili početak ili kraj rezultata."; t[230] = "The JVM claims not to support the encoding: {0}"; - t[231] = "JVM tvrdi da ne podr\u017eava encoding: {0}"; + t[231] = "JVM tvrdi da ne podržava encoding: {0}"; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[233] = "Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je izvr\u0161en."; + t[233] = "Parametar tipa {0} je registrovan,ali poziv za get{1} (sql tip={2}) je izvršen."; t[234] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[235] = "Gre\u0161ka prilikom povratka na prethodo pripremljenu transakciju. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[235] = "Greška prilikom povratka na prethodo pripremljenu transakciju. rollback xid={0}, preparedXid={1}, currentXid={2}"; t[240] = "Cannot establish a savepoint in auto-commit mode."; - t[241] = "U auto-commit modu nije mogu\u0107e pode\u0161avanje ta\u010dki snimanja."; + t[241] = "U auto-commit modu nije moguće podešavanje tački snimanja."; t[242] = "Cannot retrieve the id of a named savepoint."; - t[243] = "Nije mogu\u0107e primiti id imena ta\u010dke snimanja."; + t[243] = "Nije moguće primiti id imena tačke snimanja."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; t[245] = "Indeks kolone van osega: {0}, broj kolona: {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "Ne\u0161to neobi\u010dno se dogodilo i drajver je zakazao. Molim prijavite ovaj izuzetak."; + t[251] = "Nešto neobično se dogodilo i drajver je zakazao. Molim prijavite ovaj izuzetak."; t[260] = "Cannot cast an instance of {0} to type {1}"; - t[261] = "Nije mogu\u0107e kastovati instancu {0} u tip {1}"; + t[261] = "Nije moguće kastovati instancu {0} u tip {1}"; t[264] = "Unknown Types value."; t[265] = "Nepoznata vrednost za Types."; t[266] = "Invalid stream length {0}."; - t[267] = "Neva\u017ee\u0107a du\u017eina toka {0}."; + t[267] = "Nevažeća dužina toka {0}."; t[272] = "Cannot retrieve the name of an unnamed savepoint."; - t[273] = "Nije mogu\u0107e izvaditi ime ta\u010dke snimanja koja nema ime."; + t[273] = "Nije moguće izvaditi ime tačke snimanja koja nema ime."; t[274] = "Unable to translate data into the desired encoding."; - t[275] = "Nije mogu\u0107e prevesti podatke u odabrani encoding format."; + t[275] = "Nije moguće prevesti podatke u odabrani encoding format."; t[276] = "Expected an EOF from server, got: {0}"; - t[277] = "O\u010dekivan EOF od servera, a dobijeno: {0}"; + t[277] = "Očekivan EOF od servera, a dobijeno: {0}"; t[278] = "Bad value for type {0} : {1}"; - t[279] = "Pogre\u0161na vrednost za tip {0} : {1}"; + t[279] = "Pogrešna vrednost za tip {0} : {1}"; t[280] = "The server requested password-based authentication, but no password was provided."; - t[281] = "Server zahteva autentifikaciju baziranu na \u0161ifri, ali \u0161ifra nije prosle\u0111ena."; + t[281] = "Server zahteva autentifikaciju baziranu na šifri, ali šifra nije prosleđena."; t[286] = "Unable to create SAXResult for SQLXML."; - t[287] = "Nije mogu\u0107e kreirati SAXResult za SQLXML."; + t[287] = "Nije moguće kreirati SAXResult za SQLXML."; t[292] = "Error during recover"; - t[293] = "Gre\u0161ka prilikom oporavljanja."; + t[293] = "Greška prilikom oporavljanja."; t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[295] = "Poku\u0161aj pozivanja kraja pre odgovaraju\u0107eg po\u010detka. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[295] = "Pokušaj pozivanja kraja pre odgovarajućeg početka. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[297] = "Skra\u0107ivanje velikih objekata je implementirano samo u 8.3 i novijim serverima."; + t[297] = "Skraćivanje velikih objekata je implementirano samo u 8.3 i novijim serverima."; t[298] = "This PooledConnection has already been closed."; - t[299] = "PooledConnection je ve\u0107 zatvoren."; + t[299] = "PooledConnection je već zatvoren."; t[302] = "ClientInfo property not supported."; - t[303] = "ClientInfo property nije podr\u017ean."; + t[303] = "ClientInfo property nije podržan."; t[306] = "Fetch size must be a value greater to or equal to 0."; - t[307] = "Doneta veli\u010dina mora biti vrednost ve\u0107a ili jednaka 0."; + t[307] = "Doneta veličina mora biti vrednost veća ili jednaka 0."; t[312] = "A connection could not be made using the requested protocol {0}."; - t[313] = "Konekciju nije mogu\u0107e kreirati uz pomo\u0107 protokola {0}."; + t[313] = "Konekciju nije moguće kreirati uz pomoć protokola {0}."; t[318] = "Unknown XML Result class: {0}"; t[319] = "nepoznata XML klasa rezultata: {0}"; t[322] = "There are no rows in this ResultSet."; t[323] = "U ResultSet-u nema redova."; t[324] = "Unexpected command status: {0}."; - t[325] = "Neo\u010dekivan komandni status: {0}."; + t[325] = "Neočekivan komandni status: {0}."; t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; - t[331] = "Heuristi\u010dki commit/rollback nije podr\u017ean. forget xid={0}"; + t[331] = "Heuristički commit/rollback nije podržan. forget xid={0}"; t[334] = "Not on the insert row."; t[335] = "Nije mod ubacivanja redova."; t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[337] = "SQLXML objekat je ve\u0107 inicijalizovan, tako da ga nije mogu\u0107e dodatno menjati."; + t[337] = "SQLXML objekat je već inicijalizovan, tako da ga nije moguće dodatno menjati."; t[344] = "Server SQLState: {0}"; t[345] = "SQLState servera: {0}"; t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; t[349] = "Serverov standard_conforming_strings parametar javlja {0}. JDBC drajver ocekuje on ili off."; t[360] = "The driver currently does not support COPY operations."; - t[361] = "Drajver trenutno ne podr\u017eava COPY operacije."; + t[361] = "Drajver trenutno ne podržava COPY operacije."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; t[365] = "Indeks niza je van opsega: {0}, broj elemenata: {1}."; t[374] = "suspend/resume not implemented"; t[375] = "obustavljanje/nastavljanje nije implementirano."; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[379] = "Nije implementirano: Commit iz jedne faze mora biti izdat uz kori\u0161tenje iste konekcije koja je kori\u0161tena za startovanje."; + t[379] = "Nije implementirano: Commit iz jedne faze mora biti izdat uz korištenje iste konekcije koja je korištena za startovanje."; t[380] = "Error during one-phase commit. commit xid={0}"; - t[381] = "Kre\u0161ka prilikom commit-a iz jedne faze. commit xid={0}"; + t[381] = "Kreška prilikom commit-a iz jedne faze. commit xid={0}"; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; - t[399] = "Nije mogu\u0107e pozvati cancelRowUpdates() prilikom ubacivanja redova."; + t[399] = "Nije moguće pozvati cancelRowUpdates() prilikom ubacivanja redova."; t[400] = "Cannot reference a savepoint after it has been released."; - t[401] = "Nije mogu\u0107e referenciranje ta\u010dke snimanja nakon njenog osloba\u0111anja."; + t[401] = "Nije moguće referenciranje tačke snimanja nakon njenog oslobađanja."; t[402] = "You must specify at least one column value to insert a row."; t[403] = "Morate specificirati barem jednu vrednost za kolonu da bi ste ubacili red."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "Nije mogu\u0107e odrediti vrednost za MaxIndexKezs zbog nedostatka podataka u sistemskom katalogu."; + t[405] = "Nije moguće odrediti vrednost za MaxIndexKezs zbog nedostatka podataka u sistemskom katalogu."; t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; t[413] = "Ilegalna UTF-8 sekvenca: finalna vrednost je van opsega: {0}"; t[414] = "{0} function takes two or three arguments."; t[415] = "Funkcija {0} prima dva ili tri parametra."; t[428] = "Unable to convert DOMResult SQLXML data to a string."; - t[429] = "Nije mogu\u0107e konvertovati DOMResult SQLXML podatke u string."; + t[429] = "Nije moguće konvertovati DOMResult SQLXML podatke u string."; t[434] = "Unable to decode xml data."; - t[435] = "Neuspe\u0161no dekodiranje XML podataka."; + t[435] = "Neuspešno dekodiranje XML podataka."; t[440] = "Unexpected error writing large object to database."; - t[441] = "Neo\u010dekivana gre\u0161ka prilikom upisa velikog objekta u bazu podataka."; + t[441] = "Neočekivana greška prilikom upisa velikog objekta u bazu podataka."; t[442] = "Zero bytes may not occur in string parameters."; t[443] = "Nula bajtovji se ne smeju pojavljivati u string parametrima."; t[444] = "A result was returned when none was expected."; - t[445] = "Rezultat vra\u0107en ali nikakav rezultat nije o\u010dekivan."; + t[445] = "Rezultat vraćen ali nikakav rezultat nije očekivan."; t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[447] = "Nije implementirano: Dvofazni commit mora biti izdat uz kori\u0161tenje besposlene konekcije. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "Nije implementirano: Dvofazni commit mora biti izdat uz korištenje besposlene konekcije. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "ResultSet nije mogu\u0107e a\u017eurirati. Upit koji je generisao ovaj razultat mora selektoati jedino tabelu,i mora selektovati sve primrne klju\u010deve iz te tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za vi\u0161e detalja."; + t[451] = "ResultSet nije moguće ažurirati. Upit koji je generisao ovaj razultat mora selektoati jedino tabelu,i mora selektovati sve primrne ključeve iz te tabele. Pogledajte API specifikaciju za JDBC 2.1, sekciju 5.6 za više detalja."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "Du\u017eina vezivne poruke {0} prevelika. Ovo je mo\u017eda rezultat veoma velike ili pogre\u0161ne du\u017eine specifikacije za InputStream parametre."; + t[455] = "Dužina vezivne poruke {0} prevelika. Ovo je možda rezultat veoma velike ili pogrešne dužine specifikacije za InputStream parametre."; t[460] = "Statement has been closed."; - t[461] = "Statemen je ve\u0107 zatvoren."; + t[461] = "Statemen je već zatvoren."; t[462] = "No value specified for parameter {0}."; t[463] = "Nije zadata vrednost za parametar {0}."; t[468] = "The array index is out of range: {0}"; t[469] = "Indeks niza je van opsega: {0}"; t[474] = "Unable to bind parameter values for statement."; - t[475] = "Nije mogu\u0107e na\u0107i vrednost vezivnog parametra za izjavu (statement)."; + t[475] = "Nije moguće naći vrednost vezivnog parametra za izjavu (statement)."; t[476] = "Can''t refresh the insert row."; - t[477] = "Nije mogu\u0107e osve\u017eiti uba\u010deni red."; + t[477] = "Nije moguće osvežiti ubačeni red."; t[480] = "No primary key found for table {0}."; - t[481] = "Nije prona\u0111en klju\u010d za tabelu {0}."; + t[481] = "Nije pronađen ključ za tabelu {0}."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; - t[483] = "Nije mogu\u0107e izmeniti nivo izolacije transakcije u sred izvr\u0161avanja transakcije."; + t[483] = "Nije moguće izmeniti nivo izolacije transakcije u sred izvršavanja transakcije."; t[498] = "Provided InputStream failed."; t[499] = "Pribaljeni InputStream zakazao."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; t[501] = "Index parametra je van opsega: {0}, broj parametara je: {1}."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle po\u010dinje sa ISO za uspe\u0161no zavr\u0161avanje operacije."; + t[503] = "Serverov DataStyle parametar promenjen u {0}. JDBC zahteva da DateStyle počinje sa ISO za uspešno završavanje operacije."; t[508] = "Connection attempt timed out."; - t[509] = "Isteklo je vreme za poku\u0161aj konektovanja."; + t[509] = "Isteklo je vreme za pokušaj konektovanja."; t[512] = "Internal Query: {0}"; t[513] = "Interni upit: {0}"; t[514] = "Error preparing transaction. prepare xid={0}"; - t[515] = "Gre\u0161ka u pripremanju transakcije. prepare xid={0}"; + t[515] = "Greška u pripremanju transakcije. prepare xid={0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "Tip autentifikacije {0} nije podr\u017ean. Proverite dali imate pode\u0161en pg_hba.conf fajl koji uklju\u010duje klijentovu IP adresu ili podmre\u017eu, i da ta mre\u017ea koristi \u0161emu autentifikacije koja je podr\u017eana od strane ovog drajvera."; + t[519] = "Tip autentifikacije {0} nije podržan. Proverite dali imate podešen pg_hba.conf fajl koji uključuje klijentovu IP adresu ili podmrežu, i da ta mreža koristi šemu autentifikacije koja je podržana od strane ovog drajvera."; t[526] = "Interval {0} not yet implemented"; - t[527] = "Interval {0} jo\u0161 nije implementiran."; + t[527] = "Interval {0} još nije implementiran."; t[532] = "Conversion of interval failed"; t[533] = "Konverzija intervala propala."; t[540] = "Query timeout must be a value greater than or equals to 0."; - t[541] = "Tajm-aut mora biti vrednost ve\u0107a ili jednaka 0."; + t[541] = "Tajm-aut mora biti vrednost veća ili jednaka 0."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "Konekcija je zatvorena automatski zato \u0161to je nova konekcija otvorena za isti PooledConnection ili je PooledConnection zatvoren."; + t[543] = "Konekcija je zatvorena automatski zato što je nova konekcija otvorena za isti PooledConnection ili je PooledConnection zatvoren."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; - t[545] = "ResultSet nije pravilno pozicioniran, mo\u017eda je potrebno da pozovete next."; + t[545] = "ResultSet nije pravilno pozicioniran, možda je potrebno da pozovete next."; t[546] = "Prepare called before end. prepare xid={0}, state={1}"; t[547] = "Pripremanje poziva pre kraja. prepare xid={0}, state={1}"; t[548] = "Invalid UUID data."; - t[549] = "Neva\u017ee\u0107a UUID podatak."; + t[549] = "Nevažeća UUID podatak."; t[550] = "This statement has been closed."; t[551] = "Statement je zatvoren."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "Nije mogu\u0107e zaklju\u010diti SQL tip koji bi se koristio sa instancom {0}. Koristite setObject() sa zadatim eksplicitnim tipom vrednosti."; + t[553] = "Nije moguće zaključiti SQL tip koji bi se koristio sa instancom {0}. Koristite setObject() sa zadatim eksplicitnim tipom vrednosti."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "Nije mogu\u0107e pozvati updateRow() prilikom ubacivanja redova."; + t[555] = "Nije moguće pozvati updateRow() prilikom ubacivanja redova."; t[562] = "Detail: {0}"; t[563] = "Detalji: {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; - t[567] = "Nije mogu\u0107e pozvati deleteRow() prilikom ubacivanja redova."; + t[567] = "Nije moguće pozvati deleteRow() prilikom ubacivanja redova."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[569] = "Trenutna pozicija pre po\u010detka ResultSet-a. Ne mo\u017eete pozvati deleteRow() na toj poziciji."; + t[569] = "Trenutna pozicija pre početka ResultSet-a. Ne možete pozvati deleteRow() na toj poziciji."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; t[577] = "Ilegalna UTF-8 sekvenca: finalna vrednost je zamena vrednosti: {0}"; t[578] = "Unknown Response Type {0}."; t[579] = "Nepoznat tip odziva {0}."; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "Vrednost za parametar tipa string nije podr\u017eana: {0}"; + t[583] = "Vrednost za parametar tipa string nije podržana: {0}"; t[584] = "Conversion to type {0} failed: {1}."; t[585] = "Konverzija u tip {0} propala: {1}."; t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[587] = "SQLXML objekat nije inicijalizovan tako da nije mogu\u0107e preuzimati podatke iz njega."; + t[587] = "SQLXML objekat nije inicijalizovan tako da nije moguće preuzimati podatke iz njega."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "Nije mogu\u0107e u\u010ditati kalsu {0} odgovornu za tip podataka {1}"; + t[601] = "Nije moguće učitati kalsu {0} odgovornu za tip podataka {1}"; t[604] = "The fastpath function {0} is unknown."; t[605] = "Fastpath funkcija {0} je nepoznata."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; - t[609] = "Pogre\u0161na sintaksa u funkciji ili proceduri na poziciji {0}."; + t[609] = "Pogrešna sintaksa u funkciji ili proceduri na poziciji {0}."; t[612] = "Provided Reader failed."; - t[613] = "Pribavljeni \u010dita\u010d (Reader) zakazao."; + t[613] = "Pribavljeni čitač (Reader) zakazao."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; - t[615] = "Maksimalni broj redova mora biti vrednosti ve\u0107e ili jednake 0."; + t[615] = "Maksimalni broj redova mora biti vrednosti veće ili jednake 0."; t[616] = "Failed to create object for: {0}."; - t[617] = "Propao poku\u0161aj kreiranja objekta za: {0}."; + t[617] = "Propao pokušaj kreiranja objekta za: {0}."; t[620] = "Conversion of money failed."; t[621] = "Konverzija novca (money) propala."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[623] = "Prevremen zavr\u0161etak ulaznog toka podataka,o\u010dekivano {0} bajtova, a pro\u010ditano samo {1}."; + t[623] = "Prevremen završetak ulaznog toka podataka,očekivano {0} bajtova, a pročitano samo {1}."; t[626] = "An unexpected result was returned by a query."; - t[627] = "Nepredvi\u0111en rezultat je vra\u0107en od strane upita."; + t[627] = "Nepredviđen rezultat je vraćen od strane upita."; t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; t[645] = "Preplitanje transakcija nije implementirano. xid={0}, currentXid={1}, state={2}, flags={3}"; t[646] = "An error occurred while setting up the SSL connection."; - t[647] = "Gre\u0161ka se dogodila prilikom pode\u0161avanja SSL konekcije."; + t[647] = "Greška se dogodila prilikom podešavanja SSL konekcije."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; t[655] = "Ilegalna UTF-8 sekvenca: {0} bytes used to encode a {1} byte value: {2}"; t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[657] = "Nije implementirano: Spremanje mora biti pozvano uz kori\u0161\u0107enje iste konekcije koja se koristi za startovanje transakcije. currentXid={0}, prepare xid={1}"; + t[657] = "Nije implementirano: Spremanje mora biti pozvano uz korišćenje iste konekcije koja se koristi za startovanje transakcije. currentXid={0}, prepare xid={1}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[659] = "SSLSocketFactory klasa koju pru\u017ea {0} se nemo\u017ee instancirati."; + t[659] = "SSLSocketFactory klasa koju pruža {0} se nemože instancirati."; t[662] = "Failed to convert binary xml data to encoding: {0}."; - t[663] = "Neuspe\u0161no konvertovanje binarnih XML podataka u kodnu stranu: {0}."; + t[663] = "Neuspešno konvertovanje binarnih XML podataka u kodnu stranu: {0}."; t[670] = "Position: {0}"; t[671] = "Pozicija: {0}"; t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; t[677] = "Lokacija: Fajl: {0}, Rutina: {1}, Linija: {2}"; t[684] = "Cannot tell if path is open or closed: {0}."; - t[685] = "Nije mogu\u0107e utvrditi dali je putanja otvorena ili zatvorena: {0}."; + t[685] = "Nije moguće utvrditi dali je putanja otvorena ili zatvorena: {0}."; t[690] = "Unable to create StAXResult for SQLXML"; - t[691] = "Nije mogu\u0107e kreirati StAXResult za SQLXML"; + t[691] = "Nije moguće kreirati StAXResult za SQLXML"; t[700] = "Cannot convert an instance of {0} to type {1}"; - t[701] = "Nije mogu\u0107e konvertovati instancu {0} u tip {1}"; + t[701] = "Nije moguće konvertovati instancu {0} u tip {1}"; t[710] = "{0} function takes four and only four argument."; - t[711] = "Funkcija {0} prima \u010detiri i samo \u010detiri parametra."; + t[711] = "Funkcija {0} prima četiri i samo četiri parametra."; t[718] = "Interrupted while attempting to connect."; - t[719] = "Prekinut poku\u0161aj konektovanja."; + t[719] = "Prekinut pokušaj konektovanja."; t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[723] = "Sigurnosna pode\u0161avanja su spre\u010dila konekciju. Verovatno je potrebno da dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru."; + t[723] = "Sigurnosna podešavanja su sprečila konekciju. Verovatno je potrebno da dozvolite konekciju klasi java.net.SocketPermission na bazu na serveru."; t[728] = "Failed to initialize LargeObject API"; - t[729] = "Propao poku\u0161aj inicijalizacije LargeObject API-ja."; + t[729] = "Propao pokušaj inicijalizacije LargeObject API-ja."; t[734] = "No function outputs were registered."; t[735] = "Nije registrovan nikakv izlaz iz funkcije."; t[736] = "{0} function takes one and only one argument."; @@ -311,39 +311,39 @@ public class messages_sr extends java.util.ResourceBundle { t[744] = "This ResultSet is closed."; t[745] = "ResultSet je zatvoren."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Prona\u0111eni su neva\u017ee\u0107i karakter podaci. Uzrok je najverovatnije to \u0161to pohranjeni podaci sadr\u017ee karaktere koji su neva\u017ee\u0107i u setu karaktera sa kojima je baza kreirana. Npr. \u010cuvanje 8bit podataka u SQL_ASCII bazi podataka."; + t[747] = "Pronađeni su nevažeći karakter podaci. Uzrok je najverovatnije to što pohranjeni podaci sadrže karaktere koji su nevažeći u setu karaktera sa kojima je baza kreirana. Npr. Čuvanje 8bit podataka u SQL_ASCII bazi podataka."; t[752] = "Error disabling autocommit"; - t[753] = "Gre\u0161ka u isklju\u010divanju autokomita"; + t[753] = "Greška u isključivanju autokomita"; t[754] = "Ran out of memory retrieving query results."; t[755] = "Nestalo je memorije prilikom preuzimanja rezultata upita."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "Vra\u0107anje autogenerisanih klju\u010deva nije podr\u017eano."; + t[757] = "Vraćanje autogenerisanih ključeva nije podržano."; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; t[761] = "Operacija zahteva skrolabilan ResultSet,ali ovaj ResultSet je FORWARD_ONLY."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "CallableStatement funkcija je izvr\u0161ena dok je izlazni parametar {0} tipa {1} a tip {2} je registrovan kao izlazni parametar."; + t[763] = "CallableStatement funkcija je izvršena dok je izlazni parametar {0} tipa {1} a tip {2} je registrovan kao izlazni parametar."; t[764] = "Unable to find server array type for provided name {0}."; - t[765] = "Neuspe\u0161no nala\u017eenje liste servera za zadato ime {0}."; + t[765] = "Neuspešno nalaženje liste servera za zadato ime {0}."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "Nepoznata ResultSet pode\u0161avanja za mogu\u0107nost dr\u017eanja (holdability): {0}."; + t[769] = "Nepoznata ResultSet podešavanja za mogućnost držanja (holdability): {0}."; t[772] = "Transaction isolation level {0} not supported."; - t[773] = "Nivo izolacije transakcije {0} nije podr\u017ean."; + t[773] = "Nivo izolacije transakcije {0} nije podržan."; t[774] = "Zero bytes may not occur in identifiers."; t[775] = "Nula bajtovji se ne smeju pojavljivati u identifikatorima."; t[776] = "No results were returned by the query."; - t[777] = "Nikakav rezultat nije vra\u0107en od strane upita."; + t[777] = "Nikakav rezultat nije vraćen od strane upita."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "CallableStatement je izvr\u0161en ali ni\u0161ta nije vre\u0107eno kao rezultat."; + t[779] = "CallableStatement je izvršen ali ništa nije vrećeno kao rezultat."; t[780] = "wasNull cannot be call before fetching a result."; - t[781] = "wasNull nemo\u017ee biti pozvan pre zahvatanja rezultata."; + t[781] = "wasNull nemože biti pozvan pre zahvatanja rezultata."; t[784] = "Returning autogenerated keys by column index is not supported."; - t[785] = "Vra\u0107anje autogenerisanih klju\u010deva po kloloni nije podr\u017eano."; + t[785] = "Vraćanje autogenerisanih ključeva po kloloni nije podržano."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[787] = "Izraz ne deklari\u0161e izlazni parametar. Koristite '{' ?= poziv ... '}' za deklarisanje."; + t[787] = "Izraz ne deklariše izlazni parametar. Koristite '{' ?= poziv ... '}' za deklarisanje."; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "Ne mo\u017ee se koristiti metod relativnog pomeranja prilikom ubacivanja redova."; + t[789] = "Ne može se koristiti metod relativnog pomeranja prilikom ubacivanja redova."; t[790] = "A CallableStatement was executed with an invalid number of parameters"; - t[791] = "CallableStatement je izvr\u0161en sa neva\u017ee\u0107im brojem parametara"; + t[791] = "CallableStatement je izvršen sa nevažećim brojem parametara"; t[792] = "Connection is busy with another transaction"; t[793] = "Konekcija je zauzeta sa drugom transakciom."; table = t; diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java index 824d8db471..afceba6ca2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_tr.java @@ -5,349 +5,349 @@ public class messages_tr extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[794]; t[0] = ""; - t[1] = "Project-Id-Version: jdbc-tr\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-31 21:47+0200\nLast-Translator: Devrim G\u00dcND\u00dcZ \nLanguage-Team: Turkish \nLanguage: tr\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.3.1\nX-Poedit-Language: Turkish\nX-Poedit-Country: TURKEY\n"; + t[1] = "Project-Id-Version: jdbc-tr\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2009-05-31 21:47+0200\nLast-Translator: Devrim GÜNDÜZ \nLanguage-Team: Turkish \nLanguage: tr\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.3.1\nX-Poedit-Language: Turkish\nX-Poedit-Country: TURKEY\n"; t[4] = "DataSource has been closed."; - t[5] = "DataSource kapat\u0131ld\u0131."; + t[5] = "DataSource kapatıldı."; t[8] = "Invalid flags {0}"; - t[9] = "Ge\u00e7ersiz se\u00e7enekler {0}"; + t[9] = "Geçersiz seçenekler {0}"; t[18] = "Where: {0}"; t[19] = "Where: {0}"; t[24] = "Unknown XML Source class: {0}"; - t[25] = "Bilinmeyen XML Kaynak S\u0131n\u0131f\u0131: {0}"; + t[25] = "Bilinmeyen XML Kaynak Sınıfı: {0}"; t[26] = "The connection attempt failed."; - t[27] = "Ba\u011flant\u0131 denemesi ba\u015far\u0131s\u0131z oldu."; + t[27] = "Bağlantı denemesi başarısız oldu."; t[28] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[29] = "\u015eu an ResultSet sonucundan sonra konumland\u0131. deleteRow() burada \u00e7a\u011f\u0131rabilirsiniz."; + t[29] = "Şu an ResultSet sonucundan sonra konumlandı. deleteRow() burada çağırabilirsiniz."; t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "PreparedStatement ile sorgu sat\u0131r\u0131 alan sorgu y\u00f6ntemleri kullan\u0131lamaz."; + t[33] = "PreparedStatement ile sorgu satırı alan sorgu yöntemleri kullanılamaz."; t[36] = "Multiple ResultSets were returned by the query."; - t[37] = "Sorgu taraf\u0131ndan birden fazla ResultSet getirildi."; + t[37] = "Sorgu tarafından birden fazla ResultSet getirildi."; t[50] = "Too many update results were returned."; - t[51] = "\u00c7ok fazla g\u00fcncelleme sonucu d\u00f6nd\u00fcr\u00fcld\u00fc."; + t[51] = "Çok fazla güncelleme sonucu döndürüldü."; t[58] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[59] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: ilk bayt {0}: {1}"; + t[59] = "Geçersiz UTF-8 çoklu bayt karakteri: ilk bayt {0}: {1}"; t[66] = "The column name {0} was not found in this ResultSet."; - t[67] = "Bu ResultSet i\u00e7inde {0} s\u00fctun ad\u0131 bulunamad\u0131."; + t[67] = "Bu ResultSet içinde {0} sütun adı bulunamadı."; t[70] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[71] = "Fastpath call {0} - Integer beklenirken hi\u00e7bir sonu\u00e7 getirilmedi."; + t[71] = "Fastpath call {0} - Integer beklenirken hiçbir sonuç getirilmedi."; t[74] = "Protocol error. Session setup failed."; - t[75] = "Protokol hatas\u0131. Oturum kurulumu ba\u015far\u0131s\u0131z oldu."; + t[75] = "Protokol hatası. Oturum kurulumu başarısız oldu."; t[76] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[77] = "CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) tan\u0131t\u0131m\u0131 yap\u0131lmad\u0131."; + t[77] = "CallableStatement bildirildi ancak registerOutParameter(1, < bir tip>) tanıtımı yapılmadı."; t[78] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[79] = "E\u015f zamanlama CONCUR_READ_ONLY olan ResultSet''ler de\u011fi\u015ftirilemez"; + t[79] = "Eş zamanlama CONCUR_READ_ONLY olan ResultSet''ler değiştirilemez"; t[90] = "LOB positioning offsets start at 1."; - t[91] = "LOB ba\u011flang\u0131\u00e7 adresi 1Den ba\u015fl\u0131yor"; + t[91] = "LOB bağlangıç adresi 1Den başlıyor"; t[92] = "Internal Position: {0}"; t[93] = "Internal Position: {0}"; t[96] = "free() was called on this LOB previously"; - t[97] = "Bu LOB'da free() daha \u00f6nce \u00e7a\u011f\u0131r\u0131ld\u0131"; + t[97] = "Bu LOB'da free() daha önce çağırıldı"; t[100] = "Cannot change transaction read-only property in the middle of a transaction."; - t[101] = "Transaction ortas\u0131nda ge\u00e7erli transactionun read-only \u00f6zell\u011fi de\u011fi\u015ftirilemez."; + t[101] = "Transaction ortasında geçerli transactionun read-only özellği değiştirilemez."; t[102] = "The JVM claims not to support the {0} encoding."; - t[103] = "JVM, {0} dil kodlamas\u0131n\u0131 desteklememektedir."; + t[103] = "JVM, {0} dil kodlamasını desteklememektedir."; t[108] = "{0} function doesn''t take any argument."; t[109] = "{0} fonksiyonu parametre almaz."; t[112] = "xid must not be null"; t[113] = "xid null olamaz"; t[114] = "Connection has been closed."; - t[115] = "Ba\u011flant\u0131 kapat\u0131ld\u0131."; + t[115] = "Bağlantı kapatıldı."; t[122] = "The server does not support SSL."; t[123] = "Sunucu SSL desteklemiyor."; t[124] = "Custom type maps are not supported."; - t[125] = "\u00d6zel tip e\u015fle\u015ftirmeleri desteklenmiyor."; + t[125] = "Özel tip eşleştirmeleri desteklenmiyor."; t[140] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[141] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: {0}/{1} bayt\u0131 10xxxxxx de\u011fildir: {2}"; + t[141] = "Geçersiz UTF-8 çoklu bayt karakteri: {0}/{1} baytı 10xxxxxx değildir: {2}"; t[148] = "Hint: {0}"; - t[149] = "\u0130pucu: {0}"; + t[149] = "İpucu: {0}"; t[152] = "Unable to find name datatype in the system catalogs."; - t[153] = "Sistem kataloglar\u0131nda name veri tipi bulunam\u0131yor."; + t[153] = "Sistem kataloglarında name veri tipi bulunamıyor."; t[156] = "Unsupported Types value: {0}"; - t[157] = "Ge\u00e7ersiz Types de\u011feri: {0}"; + t[157] = "Geçersiz Types değeri: {0}"; t[158] = "Unknown type {0}."; t[159] = "Bilinmeyen tip {0}."; t[166] = "{0} function takes two and only two arguments."; t[167] = "{0} fonksiyonunu sadece iki parametre alabilir."; t[170] = "Finalizing a Connection that was never closed:"; - t[171] = "Kapat\u0131lmam\u0131\u015f ba\u011flant\u0131 sonland\u0131r\u0131l\u0131yor."; + t[171] = "Kapatılmamış bağlantı sonlandırılıyor."; t[180] = "The maximum field size must be a value greater than or equal to 0."; - t[181] = "En b\u00fcy\u00fck alan boyutu s\u0131f\u0131r ya da s\u0131f\u0131rdan b\u00fcy\u00fck bir de\u011fer olmal\u0131."; + t[181] = "En büyük alan boyutu sıfır ya da sıfırdan büyük bir değer olmalı."; t[186] = "PostgreSQL LOBs can only index to: {0}"; - t[187] = "PostgreSQL LOB g\u00f6stergeleri sadece {0} referans edebilir"; + t[187] = "PostgreSQL LOB göstergeleri sadece {0} referans edebilir"; t[194] = "Method {0} is not yet implemented."; - t[195] = "{0} y\u00f6ntemi hen\u00fcz kodlanmad\u0131."; + t[195] = "{0} yöntemi henüz kodlanmadı."; t[198] = "Error loading default settings from driverconfig.properties"; - t[199] = "driverconfig.properties dosyas\u0131ndan varsay\u0131lan ayarlar\u0131 y\u00fckleme hatas\u0131"; + t[199] = "driverconfig.properties dosyasından varsayılan ayarları yükleme hatası"; t[200] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[201] = "CallableStatement \u00e7al\u0131\u015ft\u0131r\u0131lmadan sonu\u00e7lar ondan al\u0131namaz."; + t[201] = "CallableStatement çalıştırılmadan sonuçlar ondan alınamaz."; t[202] = "Large Objects may not be used in auto-commit mode."; - t[203] = "Auto-commit bi\u00e7imde large object kullan\u0131lamaz."; + t[203] = "Auto-commit biçimde large object kullanılamaz."; t[208] = "Expected command status BEGIN, got {0}."; - t[209] = "BEGIN komut durumunu beklenirken {0} al\u0131nd\u0131."; + t[209] = "BEGIN komut durumunu beklenirken {0} alındı."; t[218] = "Invalid fetch direction constant: {0}."; - t[219] = "Getirme y\u00f6n\u00fc de\u011fi\u015fmezi ge\u00e7ersiz: {0}."; + t[219] = "Getirme yönü değişmezi geçersiz: {0}."; t[222] = "{0} function takes three and only three arguments."; - t[223] = "{0} fonksiyonunu sadece \u00fc\u00e7 parametre alabilir."; + t[223] = "{0} fonksiyonunu sadece üç parametre alabilir."; t[226] = "This SQLXML object has already been freed."; - t[227] = "Bu SQLXML nesnesi zaten bo\u015falt\u0131lm\u0131\u015f."; + t[227] = "Bu SQLXML nesnesi zaten boşaltılmış."; t[228] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[229] = "ResultSet, sonu\u00e7lar\u0131n ilk kayd\u0131ndan \u00f6nce veya son kayd\u0131ndan sonra oldu\u011fu i\u00e7in g\u00fcncelleme yap\u0131lamamaktad\u0131r."; + t[229] = "ResultSet, sonuçların ilk kaydından önce veya son kaydından sonra olduğu için güncelleme yapılamamaktadır."; t[230] = "The JVM claims not to support the encoding: {0}"; - t[231] = "JVM, {0} dil kodlamas\u0131n\u0131 desteklememektedir."; + t[231] = "JVM, {0} dil kodlamasını desteklememektedir."; t[232] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[233] = "{0} tipinde parametre tan\u0131t\u0131ld\u0131, ancak {1} (sqltype={2}) tipinde geri getirmek i\u00e7in \u00e7a\u011fr\u0131 yap\u0131ld\u0131."; + t[233] = "{0} tipinde parametre tanıtıldı, ancak {1} (sqltype={2}) tipinde geri getirmek için çağrı yapıldı."; t[234] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[235] = "Haz\u0131rlanm\u0131\u015f transaction rollback hatas\u0131. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[235] = "Hazırlanmış transaction rollback hatası. rollback xid={0}, preparedXid={1}, currentXid={2}"; t[240] = "Cannot establish a savepoint in auto-commit mode."; - t[241] = "Auto-commit bi\u00e7imde savepoint olu\u015fturulam\u0131yor."; + t[241] = "Auto-commit biçimde savepoint oluşturulamıyor."; t[242] = "Cannot retrieve the id of a named savepoint."; - t[243] = "Adland\u0131r\u0131lm\u0131\u015f savepointin id de\u011ferine eri\u015filemiyor."; + t[243] = "Adlandırılmış savepointin id değerine erişilemiyor."; t[244] = "The column index is out of range: {0}, number of columns: {1}."; - t[245] = "S\u00fctun g\u00e7stergesi kapsam d\u0131\u015f\u0131d\u0131r: {0}, s\u00fctun say\u0131s\u0131: {1}."; + t[245] = "Sütun gçstergesi kapsam dışıdır: {0}, sütun sayısı: {1}."; t[250] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[251] = "S\u0131rad\u0131\u015f\u0131 bir durum s\u00fcr\u00fcc\u00fcn\u00fcn hata vermesine sebep oldu. L\u00fctfen bu durumu geli\u015ftiricilere bildirin."; + t[251] = "Sıradışı bir durum sürücünün hata vermesine sebep oldu. Lütfen bu durumu geliştiricilere bildirin."; t[260] = "Cannot cast an instance of {0} to type {1}"; - t[261] = "{0} tipi {1} tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclemiyor"; + t[261] = "{0} tipi {1} tipine dönüştürülemiyor"; t[264] = "Unknown Types value."; - t[265] = "Ge\u00e7ersiz Types de\u011feri."; + t[265] = "Geçersiz Types değeri."; t[266] = "Invalid stream length {0}."; - t[267] = "Ge\u00e7ersiz ak\u0131m uzunlu\u011fu {0}."; + t[267] = "Geçersiz akım uzunluğu {0}."; t[272] = "Cannot retrieve the name of an unnamed savepoint."; - t[273] = "Ad\u0131 verilmemi\u015f savepointin id de\u011ferine eri\u015filemiyor."; + t[273] = "Adı verilmemiş savepointin id değerine erişilemiyor."; t[274] = "Unable to translate data into the desired encoding."; - t[275] = "Veri, istenilen dil kodlamas\u0131na \u00e7evrilemiyor."; + t[275] = "Veri, istenilen dil kodlamasına çevrilemiyor."; t[276] = "Expected an EOF from server, got: {0}"; - t[277] = "Sunucudan EOF beklendi; ama {0} al\u0131nd\u0131."; + t[277] = "Sunucudan EOF beklendi; ama {0} alındı."; t[278] = "Bad value for type {0} : {1}"; - t[279] = "{0} veri tipi i\u00e7in ge\u00e7ersiz de\u011fer : {1}"; + t[279] = "{0} veri tipi için geçersiz değer : {1}"; t[280] = "The server requested password-based authentication, but no password was provided."; - t[281] = "Sunucu \u015fifre tabanl\u0131 yetkilendirme istedi; ancak bir \u015fifre sa\u011flanmad\u0131."; + t[281] = "Sunucu şifre tabanlı yetkilendirme istedi; ancak bir şifre sağlanmadı."; t[286] = "Unable to create SAXResult for SQLXML."; - t[287] = "SQLXML i\u00e7in SAXResult yarat\u0131lamad\u0131."; + t[287] = "SQLXML için SAXResult yaratılamadı."; t[292] = "Error during recover"; - t[293] = "Kurtarma s\u0131ras\u0131nda hata"; + t[293] = "Kurtarma sırasında hata"; t[294] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[295] = "start \u00e7a\u011f\u0131r\u0131m\u0131 olmadan end \u00e7a\u011f\u0131r\u0131lm\u0131\u015ft\u0131r. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[295] = "start çağırımı olmadan end çağırılmıştır. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; t[296] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[297] = "Large objectlerin temizlenmesi 8.3 ve sonraki s\u00fcr\u00fcmlerde kodlanm\u0131\u015ft\u0131r."; + t[297] = "Large objectlerin temizlenmesi 8.3 ve sonraki sürümlerde kodlanmıştır."; t[298] = "This PooledConnection has already been closed."; - t[299] = "Ge\u00e7erli PooledConnection zaten \u00f6nceden kapat\u0131ld\u0131."; + t[299] = "Geçerli PooledConnection zaten önceden kapatıldı."; t[302] = "ClientInfo property not supported."; t[303] = "Clientinfo property'si desteklenememktedir."; t[306] = "Fetch size must be a value greater to or equal to 0."; - t[307] = "Fetch boyutu s\u0131f\u0131r veya daha b\u00fcy\u00fck bir de\u011fer olmal\u0131d\u0131r."; + t[307] = "Fetch boyutu sıfır veya daha büyük bir değer olmalıdır."; t[312] = "A connection could not be made using the requested protocol {0}."; - t[313] = "\u0130stenilen protokol ile ba\u011flant\u0131 kurulamad\u0131 {0}"; + t[313] = "İstenilen protokol ile bağlantı kurulamadı {0}"; t[318] = "Unknown XML Result class: {0}"; - t[319] = "Bilinmeyen XML Sonu\u00e7 s\u0131n\u0131f\u0131: {0}."; + t[319] = "Bilinmeyen XML Sonuç sınıfı: {0}."; t[322] = "There are no rows in this ResultSet."; - t[323] = "Bu ResultSet i\u00e7inde kay\u0131t bulunamad\u0131."; + t[323] = "Bu ResultSet içinde kayıt bulunamadı."; t[324] = "Unexpected command status: {0}."; t[325] = "Beklenmeyen komut durumu: {0}."; t[330] = "Heuristic commit/rollback not supported. forget xid={0}"; t[331] = "Heuristic commit/rollback desteklenmiyor. forget xid={0}"; t[334] = "Not on the insert row."; - t[335] = "Insert kayd\u0131 de\u011fil."; + t[335] = "Insert kaydı değil."; t[336] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[337] = "Bu SQLXML nesnesi daha \u00f6nceden ilklendirilmi\u015ftir; o y\u00fczden daha fazla m\u00fcdahale edilemez."; + t[337] = "Bu SQLXML nesnesi daha önceden ilklendirilmiştir; o yüzden daha fazla müdahale edilemez."; t[344] = "Server SQLState: {0}"; t[345] = "Sunucu SQLState: {0}"; t[348] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[349] = "\u0130stemcinin client_standard_conforming_strings parametresi {0} olarak raporland\u0131. JDBC s\u00fcr\u00fcc\u00fcs\u00fc on ya da off olarak bekliyordu."; + t[349] = "İstemcinin client_standard_conforming_strings parametresi {0} olarak raporlandı. JDBC sürücüsü on ya da off olarak bekliyordu."; t[360] = "The driver currently does not support COPY operations."; - t[361] = "Bu sunucu \u015fu a\u015famada COPY i\u015flemleri desteklememktedir."; + t[361] = "Bu sunucu şu aşamada COPY işlemleri desteklememktedir."; t[364] = "The array index is out of range: {0}, number of elements: {1}."; - t[365] = "Dizin g\u00f6stergisi kapsam d\u0131\u015f\u0131d\u0131r: {0}, \u00f6\u011fe say\u0131s\u0131: {1}."; + t[365] = "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}."; t[374] = "suspend/resume not implemented"; t[375] = "suspend/resume desteklenmiyor"; t[378] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[379] = "Desteklenmiyor: one-phase commit, i\u015flevinde ba\u015flatan ve bitiren ba\u011flant\u0131 ayn\u0131 olmal\u0131d\u0131r"; + t[379] = "Desteklenmiyor: one-phase commit, işlevinde başlatan ve bitiren bağlantı aynı olmalıdır"; t[380] = "Error during one-phase commit. commit xid={0}"; - t[381] = "One-phase commit s\u0131ras\u0131nda hata. commit xid={0}"; + t[381] = "One-phase commit sırasında hata. commit xid={0}"; t[398] = "Cannot call cancelRowUpdates() when on the insert row."; - t[399] = "Insert edilmi\u015f kayd\u0131n \u00fczerindeyken cancelRowUpdates() \u00e7a\u011f\u0131r\u0131lamaz."; + t[399] = "Insert edilmiş kaydın üzerindeyken cancelRowUpdates() çağırılamaz."; t[400] = "Cannot reference a savepoint after it has been released."; - t[401] = "B\u0131rak\u0131ld\u0131ktan sonra savepoint referans edilemez."; + t[401] = "Bırakıldıktan sonra savepoint referans edilemez."; t[402] = "You must specify at least one column value to insert a row."; - t[403] = "Bir sat\u0131r eklemek i\u00e7in en az bir s\u00fctun de\u011ferini belirtmelisiniz."; + t[403] = "Bir satır eklemek için en az bir sütun değerini belirtmelisiniz."; t[404] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[405] = "Sistem katalo\u011fu olmad\u0131\u011f\u0131ndan MaxIndexKeys de\u011ferini tespit edilememektedir."; + t[405] = "Sistem kataloğu olmadığından MaxIndexKeys değerini tespit edilememektedir."; t[410] = "commit called before end. commit xid={0}, state={1}"; - t[411] = "commit, sondan \u00f6nce \u00e7a\u011f\u0131r\u0131ld\u0131. commit xid={0}, state={1}"; + t[411] = "commit, sondan önce çağırıldı. commit xid={0}, state={1}"; t[412] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[413] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: son de\u011fer s\u0131ra d\u0131\u015f\u0131d\u0131r: {0}"; + t[413] = "Geçersiz UTF-8 çoklu bayt karakteri: son değer sıra dışıdır: {0}"; t[414] = "{0} function takes two or three arguments."; - t[415] = "{0} fonksiyonu yaln\u0131z iki veya \u00fc\u00e7 arg\u00fcman alabilir."; + t[415] = "{0} fonksiyonu yalnız iki veya üç argüman alabilir."; t[428] = "Unable to convert DOMResult SQLXML data to a string."; - t[429] = "DOMResult SQLXML verisini diziye d\u00f6n\u00fc\u015ft\u00fcr\u00fclemedi."; + t[429] = "DOMResult SQLXML verisini diziye dönüştürülemedi."; t[434] = "Unable to decode xml data."; - t[435] = "XML verisinin kodu \u00e7\u00f6z\u00fclemedi."; + t[435] = "XML verisinin kodu çözülemedi."; t[440] = "Unexpected error writing large object to database."; - t[441] = "Large object veritaban\u0131na yaz\u0131l\u0131rken beklenmeyan hata."; + t[441] = "Large object veritabanına yazılırken beklenmeyan hata."; t[442] = "Zero bytes may not occur in string parameters."; - t[443] = "String parametrelerinde s\u0131f\u0131r bayt olamaz."; + t[443] = "String parametrelerinde sıfır bayt olamaz."; t[444] = "A result was returned when none was expected."; - t[445] = "Hi\u00e7bir sonu\u00e7 kebklenimezken sonu\u00e7 getirildi."; + t[445] = "Hiçbir sonuç kebklenimezken sonuç getirildi."; t[446] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[447] = "Desteklenmiyor: 2nd phase commit, at\u0131l bir ba\u011flant\u0131dan ba\u015flat\u0131lmal\u0131d\u0131r. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[447] = "Desteklenmiyor: 2nd phase commit, atıl bir bağlantıdan başlatılmalıdır. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; t[450] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[451] = "ResultSet de\u011fi\u015ftirilemez. Bu sonucu \u00fcreten sorgu tek bir tablodan sorgulamal\u0131 ve tablonun t\u00fcm primary key alanlar\u0131 belirtmelidir. Daha fazla bilgi i\u00e7in bk. JDBC 2.1 API Specification, section 5.6."; + t[451] = "ResultSet değiştirilemez. Bu sonucu üreten sorgu tek bir tablodan sorgulamalı ve tablonun tüm primary key alanları belirtmelidir. Daha fazla bilgi için bk. JDBC 2.1 API Specification, section 5.6."; t[454] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[455] = "Bind mesaj uzunlu\u011fu ({0}) fazla uzun. Bu durum InputStream yaln\u0131\u015f uzunluk belirtimlerden kaynaklanabilir."; + t[455] = "Bind mesaj uzunluğu ({0}) fazla uzun. Bu durum InputStream yalnış uzunluk belirtimlerden kaynaklanabilir."; t[460] = "Statement has been closed."; - t[461] = "Komut kapat\u0131ld\u0131."; + t[461] = "Komut kapatıldı."; t[462] = "No value specified for parameter {0}."; - t[463] = "{0} parametresi i\u00e7in hi\u00e7 bir de\u011fer belirtilmedi."; + t[463] = "{0} parametresi için hiç bir değer belirtilmedi."; t[468] = "The array index is out of range: {0}"; - t[469] = "Dizi g\u00f6stergesi kapsam d\u0131\u015f\u0131d\u0131r: {0}"; + t[469] = "Dizi göstergesi kapsam dışıdır: {0}"; t[474] = "Unable to bind parameter values for statement."; - t[475] = "Komut i\u00e7in parametre de\u011ferlei ba\u011flanamad\u0131."; + t[475] = "Komut için parametre değerlei bağlanamadı."; t[476] = "Can''t refresh the insert row."; - t[477] = "Inser sat\u0131r\u0131 yenilenemiyor."; + t[477] = "Inser satırı yenilenemiyor."; t[480] = "No primary key found for table {0}."; t[481] = "{0} tablosunda primary key yok."; t[482] = "Cannot change transaction isolation level in the middle of a transaction."; - t[483] = "Transaction ortas\u0131nda ge\u00e7erli transactionun transaction isolation level \u00f6zell\u011fi de\u011fi\u015ftirilemez."; + t[483] = "Transaction ortasında geçerli transactionun transaction isolation level özellği değiştirilemez."; t[498] = "Provided InputStream failed."; - t[499] = "Sa\u011flanm\u0131\u015f InputStream ba\u015far\u0131s\u0131z."; + t[499] = "Sağlanmış InputStream başarısız."; t[500] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[501] = "Dizin g\u00f6stergisi kapsam d\u0131\u015f\u0131d\u0131r: {0}, \u00f6\u011fe say\u0131s\u0131: {1}."; + t[501] = "Dizin göstergisi kapsam dışıdır: {0}, öğe sayısı: {1}."; t[502] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[503] = "Sunucunun DateStyle parametresi {0} olarak de\u011fi\u015ftirildi. JDBC s\u00fcr\u00fcc\u00fcs\u00fc do\u011fru i\u015flemesi i\u00e7in DateStyle tan\u0131m\u0131n\u0131n ISO i\u015fle ba\u015flamas\u0131n\u0131 gerekir."; + t[503] = "Sunucunun DateStyle parametresi {0} olarak değiştirildi. JDBC sürücüsü doğru işlemesi için DateStyle tanımının ISO işle başlamasını gerekir."; t[508] = "Connection attempt timed out."; - t[509] = "Ba\u011flant\u0131 denemesi zaman a\u015f\u0131m\u0131na u\u011frad\u0131."; + t[509] = "Bağlantı denemesi zaman aşımına uğradı."; t[512] = "Internal Query: {0}"; t[513] = "Internal Query: {0}"; t[514] = "Error preparing transaction. prepare xid={0}"; - t[515] = "Transaction haz\u0131rlama hatas\u0131. prepare xid={0}"; + t[515] = "Transaction hazırlama hatası. prepare xid={0}"; t[518] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[519] = "{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyan\u0131z\u0131 istemcinin IP adresini ya da subnetini i\u00e7erecek \u015fekilde ayarlay\u0131p ayarlamad\u0131\u011f\u0131n\u0131z\u0131 ve s\u00fcr\u00fcc\u00fc taraf\u0131ndan desteklenen yetkilendirme y\u00f6ntemlerinden birisini kullan\u0131p kullanmad\u0131\u011f\u0131n\u0131 kontrol ediniz."; + t[519] = "{0} yetkinlendirme tipi desteklenmemektedir. pg_hba.conf dosyanızı istemcinin IP adresini ya da subnetini içerecek şekilde ayarlayıp ayarlamadığınızı ve sürücü tarafından desteklenen yetkilendirme yöntemlerinden birisini kullanıp kullanmadığını kontrol ediniz."; t[526] = "Interval {0} not yet implemented"; - t[527] = "{0} aral\u0131\u011f\u0131 hen\u00fcz kodlanmad\u0131."; + t[527] = "{0} aralığı henüz kodlanmadı."; t[532] = "Conversion of interval failed"; - t[533] = "Interval d\u00f6n\u00fc\u015ft\u00fcrmesi ba\u015far\u0131s\u0131z."; + t[533] = "Interval dönüştürmesi başarısız."; t[540] = "Query timeout must be a value greater than or equals to 0."; - t[541] = "Sorgu zaman a\u015f\u0131m\u0131 de\u011fer s\u0131f\u0131r veya s\u0131f\u0131rdan b\u00fcy\u00fck bir say\u0131 olmal\u0131d\u0131r."; + t[541] = "Sorgu zaman aşımı değer sıfır veya sıfırdan büyük bir sayı olmalıdır."; t[542] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[543] = "PooledConnection kapat\u0131ld\u0131\u011f\u0131 i\u00e7in veya ayn\u0131 PooledConnection i\u00e7in yeni bir ba\u011flant\u0131 a\u00e7\u0131ld\u0131\u011f\u0131 i\u00e7in ge\u00e7erli ba\u011flant\u0131 otomatik kapat\u0131ld\u0131."; + t[543] = "PooledConnection kapatıldığı için veya aynı PooledConnection için yeni bir bağlantı açıldığı için geçerli bağlantı otomatik kapatıldı."; t[544] = "ResultSet not positioned properly, perhaps you need to call next."; - t[545] = "ResultSet do\u011fru konumlanmam\u0131\u015ft\u0131r, next i\u015flemi \u00e7a\u011f\u0131rman\u0131z gerekir."; + t[545] = "ResultSet doğru konumlanmamıştır, next işlemi çağırmanız gerekir."; t[546] = "Prepare called before end. prepare xid={0}, state={1}"; - t[547] = "Sondan \u00f6nce prepare \u00e7a\u011f\u0131r\u0131lm\u0131\u015f. prepare xid={0}, state={1}"; + t[547] = "Sondan önce prepare çağırılmış. prepare xid={0}, state={1}"; t[548] = "Invalid UUID data."; - t[549] = "Ge\u00e7ersiz UUID verisi."; + t[549] = "Geçersiz UUID verisi."; t[550] = "This statement has been closed."; - t[551] = "Bu komut kapat\u0131ld\u0131."; + t[551] = "Bu komut kapatıldı."; t[552] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[553] = "{0}''nin \u00f6rne\u011fi ile kullan\u0131lacak SQL tip bulunamad\u0131. Kullan\u0131lacak tip belirtmek i\u00e7in kesin Types de\u011ferleri ile setObject() kullan\u0131n."; + t[553] = "{0}''nin örneği ile kullanılacak SQL tip bulunamadı. Kullanılacak tip belirtmek için kesin Types değerleri ile setObject() kullanın."; t[554] = "Cannot call updateRow() when on the insert row."; - t[555] = "Insert kayd\u0131 \u00fczerinde updateRow() \u00e7a\u011f\u0131r\u0131lamaz."; + t[555] = "Insert kaydı üzerinde updateRow() çağırılamaz."; t[562] = "Detail: {0}"; - t[563] = "Ayr\u0131nt\u0131: {0}"; + t[563] = "Ayrıntı: {0}"; t[566] = "Cannot call deleteRow() when on the insert row."; - t[567] = "Insert kayd\u0131 \u00fczerinde deleteRow() \u00e7a\u011f\u0131r\u0131lamaz."; + t[567] = "Insert kaydı üzerinde deleteRow() çağırılamaz."; t[568] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[569] = "\u015eu an ResultSet ba\u015flangc\u0131\u0131ndan \u00f6nce konumland\u0131. deleteRow() burada \u00e7a\u011f\u0131rabilirsiniz."; + t[569] = "Şu an ResultSet başlangcıından önce konumlandı. deleteRow() burada çağırabilirsiniz."; t[576] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[577] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: son de\u011fer yapay bir de\u011ferdir: {0}"; + t[577] = "Geçersiz UTF-8 çoklu bayt karakteri: son değer yapay bir değerdir: {0}"; t[578] = "Unknown Response Type {0}."; - t[579] = "Bilinmeyen yan\u0131t tipi {0}"; + t[579] = "Bilinmeyen yanıt tipi {0}"; t[582] = "Unsupported value for stringtype parameter: {0}"; - t[583] = "strinftype parametresi i\u00e7in destekleneyen de\u011fer: {0}"; + t[583] = "strinftype parametresi için destekleneyen değer: {0}"; t[584] = "Conversion to type {0} failed: {1}."; - t[585] = "{0} veri tipine d\u00f6n\u00fc\u015ft\u00fcrme hatas\u0131: {1}."; + t[585] = "{0} veri tipine dönüştürme hatası: {1}."; t[586] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[587] = "Bu SQLXML nesnesi ilklendirilmemi\u015f; o y\u00fczden ondan veri alamazs\u0131n\u0131z."; + t[587] = "Bu SQLXML nesnesi ilklendirilmemiş; o yüzden ondan veri alamazsınız."; t[600] = "Unable to load the class {0} responsible for the datatype {1}"; - t[601] = "{1} veri tipinden sorumlu {0} s\u0131n\u0131f\u0131 y\u00fcklenemedi"; + t[601] = "{1} veri tipinden sorumlu {0} sınıfı yüklenemedi"; t[604] = "The fastpath function {0} is unknown."; t[605] = "{0} fastpath fonksiyonu bilinmemektedir."; t[608] = "Malformed function or procedure escape syntax at offset {0}."; - t[609] = "{0} adresinde fonksiyon veya yordamda ka\u00e7\u0131\u015f s\u00f6z dizimi ge\u00e7ersiz."; + t[609] = "{0} adresinde fonksiyon veya yordamda kaçış söz dizimi geçersiz."; t[612] = "Provided Reader failed."; - t[613] = "Sa\u011flanm\u0131\u015f InputStream ba\u015far\u0131s\u0131z."; + t[613] = "Sağlanmış InputStream başarısız."; t[614] = "Maximum number of rows must be a value grater than or equal to 0."; - t[615] = "En b\u00fcy\u00fck getirilecek sat\u0131r say\u0131s\u0131 s\u0131f\u0131rdan b\u00fcy\u00fck olmal\u0131d\u0131r."; + t[615] = "En büyük getirilecek satır sayısı sıfırdan büyük olmalıdır."; t[616] = "Failed to create object for: {0}."; - t[617] = "{0} i\u00e7in nesne olu\u015fturma hatas\u0131."; + t[617] = "{0} için nesne oluşturma hatası."; t[620] = "Conversion of money failed."; - t[621] = "Money d\u00f6n\u00fc\u015ft\u00fcrmesi ba\u015far\u0131s\u0131z."; + t[621] = "Money dönüştürmesi başarısız."; t[622] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[623] = "Giri\u015f ak\u0131m\u0131nda beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt al\u0131nd\u0131."; + t[623] = "Giriş akımında beklenmeyen dosya sonu, {0} bayt beklenirken sadece {1} bayt alındı."; t[626] = "An unexpected result was returned by a query."; - t[627] = "Sorgu beklenmeyen bir sonu\u00e7 d\u00f6nd\u00fcrd\u00fc."; + t[627] = "Sorgu beklenmeyen bir sonuç döndürdü."; t[644] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; t[645] = "Transaction interleaving desteklenmiyor. xid={0}, currentXid={1}, state={2}, flags={3}"; t[646] = "An error occurred while setting up the SSL connection."; - t[647] = "SSL ba\u011flant\u0131s\u0131 ayarlan\u0131rken bir hata olu\u015ftu."; + t[647] = "SSL bağlantısı ayarlanırken bir hata oluştu."; t[654] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[655] = "Ge\u00e7ersiz UTF-8 \u00e7oklu bayt karakteri: {0} bayt, {1} bayt de\u011feri kodlamak i\u00e7in kullan\u0131lm\u0131\u015f: {2}"; + t[655] = "Geçersiz UTF-8 çoklu bayt karakteri: {0} bayt, {1} bayt değeri kodlamak için kullanılmış: {2}"; t[656] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[657] = "Desteklenmiyor: Prepare, transaction ba\u015flatran ba\u011flant\u0131 taraf\u0131ndan \u00e7a\u011f\u0131rmal\u0131d\u0131r. currentXid={0}, prepare xid={1}"; + t[657] = "Desteklenmiyor: Prepare, transaction başlatran bağlantı tarafından çağırmalıdır. currentXid={0}, prepare xid={1}"; t[658] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[659] = "SSLSocketFactory {0} ile \u00f6rneklenmedi."; + t[659] = "SSLSocketFactory {0} ile örneklenmedi."; t[662] = "Failed to convert binary xml data to encoding: {0}."; - t[663] = "xml verisinin \u015fu dil kodlamas\u0131na \u00e7evirilmesi ba\u015far\u0131s\u0131z oldu: {0}"; + t[663] = "xml verisinin şu dil kodlamasına çevirilmesi başarısız oldu: {0}"; t[670] = "Position: {0}"; t[671] = "Position: {0}"; t[676] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[677] = "Yer: Dosya: {0}, Yordam: {1}, Sat\u0131r: {2}"; + t[677] = "Yer: Dosya: {0}, Yordam: {1}, Satır: {2}"; t[684] = "Cannot tell if path is open or closed: {0}."; - t[685] = "Path\u0131n a\u00e7\u0131k m\u0131 kapal\u0131 oldu\u011funu tespit edilemiyor: {0}."; + t[685] = "Pathın açık mı kapalı olduğunu tespit edilemiyor: {0}."; t[690] = "Unable to create StAXResult for SQLXML"; - t[691] = "SQLXML i\u00e7in StAXResult yarat\u0131lamad\u0131"; + t[691] = "SQLXML için StAXResult yaratılamadı"; t[700] = "Cannot convert an instance of {0} to type {1}"; - t[701] = "{0} instance, {1} tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclemiyor"; + t[701] = "{0} instance, {1} tipine dönüştürülemiyor"; t[710] = "{0} function takes four and only four argument."; - t[711] = "{0} fonksiyonunu yaln\u0131z d\u00f6rt parametre alabilir."; + t[711] = "{0} fonksiyonunu yalnız dört parametre alabilir."; t[718] = "Interrupted while attempting to connect."; - t[719] = "Ba\u011flan\u0131rken kesildi."; + t[719] = "Bağlanırken kesildi."; t[722] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[723] = "G\u00fcvenlik politikan\u0131z ba\u011flant\u0131n\u0131n kurulmas\u0131n\u0131 engelledi. java.net.SocketPermission'a veritaban\u0131na ve de ba\u011flanaca\u011f\u0131 porta ba\u011flant\u0131 izni vermelisiniz."; + t[723] = "Güvenlik politikanız bağlantının kurulmasını engelledi. java.net.SocketPermission'a veritabanına ve de bağlanacağı porta bağlantı izni vermelisiniz."; t[728] = "Failed to initialize LargeObject API"; - t[729] = "LArgeObject API ilklendirme hatas\u0131"; + t[729] = "LArgeObject API ilklendirme hatası"; t[734] = "No function outputs were registered."; - t[735] = "Hi\u00e7bir fonksiyon \u00e7\u0131kt\u0131s\u0131 kaydedilmedi."; + t[735] = "Hiçbir fonksiyon çıktısı kaydedilmedi."; t[736] = "{0} function takes one and only one argument."; - t[737] = "{0} fonksiyonunu yaln\u0131z tek bir parametre alabilir."; + t[737] = "{0} fonksiyonunu yalnız tek bir parametre alabilir."; t[744] = "This ResultSet is closed."; - t[745] = "ResultSet kapal\u0131d\u0131r."; + t[745] = "ResultSet kapalıdır."; t[746] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[747] = "Ge\u00e7ersiz karakterler bulunmu\u015ftur. Bunun sebebi, verilerde veritaban\u0131n destekledi\u011fi dil kodlamadaki karakterlerin d\u0131\u015f\u0131nda bir karaktere rastlamas\u0131d\u0131r. Bunun en yayg\u0131n \u00f6rne\u011fi 8 bitlik veriyi SQL_ASCII veritaban\u0131nda saklamas\u0131d\u0131r."; + t[747] = "Geçersiz karakterler bulunmuştur. Bunun sebebi, verilerde veritabanın desteklediği dil kodlamadaki karakterlerin dışında bir karaktere rastlamasıdır. Bunun en yaygın örneği 8 bitlik veriyi SQL_ASCII veritabanında saklamasıdır."; t[752] = "Error disabling autocommit"; - t[753] = "autocommit'i devre d\u0131\u015f\u0131 b\u0131rakma s\u0131ras\u0131nda hata"; + t[753] = "autocommit'i devre dışı bırakma sırasında hata"; t[754] = "Ran out of memory retrieving query results."; - t[755] = "Sorgu sonu\u00e7lar\u0131 al\u0131n\u0131rken bellek yetersiz."; + t[755] = "Sorgu sonuçları alınırken bellek yetersiz."; t[756] = "Returning autogenerated keys is not supported."; - t[757] = "Otomatik \u00fcretilen de\u011ferlerin getirilmesi desteklenememktedir."; + t[757] = "Otomatik üretilen değerlerin getirilmesi desteklenememktedir."; t[760] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[761] = "\u0130\u015flem, kayd\u0131r\u0131labilen ResultSet gerektirir, ancak bu ResultSet FORWARD_ONLYdir."; + t[761] = "İşlem, kaydırılabilen ResultSet gerektirir, ancak bu ResultSet FORWARD_ONLYdir."; t[762] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[763] = "CallableStatement \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131, ancak {2} tipi kaydedilmesine ra\u011fmen d\u00f6nd\u00fcrme parametresi {0} ve tipi {1} idi."; + t[763] = "CallableStatement çalıştırıldı, ancak {2} tipi kaydedilmesine rağmen döndürme parametresi {0} ve tipi {1} idi."; t[764] = "Unable to find server array type for provided name {0}."; - t[765] = "Belirtilen {0} ad\u0131 i\u00e7in sunucu array tipi bulunamad\u0131."; + t[765] = "Belirtilen {0} adı için sunucu array tipi bulunamadı."; t[768] = "Unknown ResultSet holdability setting: {0}."; - t[769] = "ResultSet tutabilme ayar\u0131 ge\u00e7ersiz: {0}."; + t[769] = "ResultSet tutabilme ayarı geçersiz: {0}."; t[772] = "Transaction isolation level {0} not supported."; t[773] = "Transaction isolation level {0} desteklenmiyor."; t[774] = "Zero bytes may not occur in identifiers."; - t[775] = "Belirte\u00e7lerde s\u0131f\u0131r bayt olamaz."; + t[775] = "Belirteçlerde sıfır bayt olamaz."; t[776] = "No results were returned by the query."; - t[777] = "Sorgudan hi\u00e7 bir sonu\u00e7 d\u00f6nmedi."; + t[777] = "Sorgudan hiç bir sonuç dönmedi."; t[778] = "A CallableStatement was executed with nothing returned."; - t[779] = "CallableStatement \u00e7al\u0131\u015ft\u0131rma sonucunda veri getirilmedi."; + t[779] = "CallableStatement çalıştırma sonucunda veri getirilmedi."; t[780] = "wasNull cannot be call before fetching a result."; - t[781] = "wasNull sonu\u00e7 \u00e7ekmeden \u00f6nce \u00e7a\u011f\u0131r\u0131lamaz."; + t[781] = "wasNull sonuç çekmeden önce çağırılamaz."; t[784] = "Returning autogenerated keys by column index is not supported."; - t[785] = "Kolonlar\u0131n indexlenmesi ile otomatik olarak olu\u015fturulan anahtarlar\u0131n d\u00f6nd\u00fcr\u00fclmesi desteklenmiyor."; + t[785] = "Kolonların indexlenmesi ile otomatik olarak oluşturulan anahtarların döndürülmesi desteklenmiyor."; t[786] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[787] = "Bu komut OUT parametresi bildirmemektedir. Bildirmek i\u00e7in '{' ?= call ... '}' kullan\u0131n."; + t[787] = "Bu komut OUT parametresi bildirmemektedir. Bildirmek için '{' ?= call ... '}' kullanın."; t[788] = "Can''t use relative move methods while on the insert row."; - t[789] = "Insert kayd\u0131 \u00fczerinde relative move method kullan\u0131lamaz."; + t[789] = "Insert kaydı üzerinde relative move method kullanılamaz."; t[790] = "A CallableStatement was executed with an invalid number of parameters"; - t[791] = "CallableStatement ge\u00e7ersiz say\u0131da parametre ile \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131."; + t[791] = "CallableStatement geçersiz sayıda parametre ile çalıştırıldı."; t[792] = "Connection is busy with another transaction"; - t[793] = "Ba\u011flant\u0131, ba\u015fka bir transaction taraf\u0131ndan me\u015fgul ediliyor"; + t[793] = "Bağlantı, başka bir transaction tarafından meşgul ediliyor"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java index fee2d266dc..37fcf26965 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_CN.java @@ -5,233 +5,233 @@ public class messages_zh_CN extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[578]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-31 14:34+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: CHINA\nX-Poedit-SourceCharset: utf-8\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-31 14:34+0800\nLast-Translator: 郭朝益(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: CHINA\nX-Poedit-SourceCharset: utf-8\n"; t[6] = "Cannot call cancelRowUpdates() when on the insert row."; - t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; + t[7] = "不能在新增的数据列上呼叫 cancelRowUpdates()。"; t[8] = "The server requested password-based authentication, but no password was provided."; - t[9] = "\u670d\u52a1\u5668\u8981\u6c42\u4f7f\u7528\u5bc6\u7801\u9a8c\u8bc1\uff0c\u4f46\u662f\u5bc6\u7801\u5e76\u672a\u63d0\u4f9b\u3002"; + t[9] = "服务器要求使用密码验证,但是密码并未提供。"; t[12] = "Detail: {0}"; - t[13] = "\u8be6\u7ec6\uff1a{0}"; + t[13] = "详细:{0}"; t[16] = "Can''t refresh the insert row."; - t[17] = "\u65e0\u6cd5\u91cd\u8bfb\u65b0\u589e\u7684\u6570\u636e\u5217\u3002"; + t[17] = "无法重读新增的数据列。"; t[18] = "Connection has been closed."; - t[19] = "Connection \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[19] = "Connection 已经被关闭。"; t[24] = "Bad value for type {0} : {1}"; - t[25] = "\u4e0d\u826f\u7684\u7c7b\u578b\u503c {0} : {1}"; + t[25] = "不良的类型值 {0} : {1}"; t[34] = "Failed to initialize LargeObject API"; - t[35] = "\u521d\u59cb\u5316 LargeObject API \u5931\u8d25"; + t[35] = "初始化 LargeObject API 失败"; t[36] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[37] = "\u5927\u578b\u5bf9\u8c61\u7684\u622a\u65ad(Truncation)\u4ec5\u88ab\u5b9e\u4f5c\u6267\u884c\u5728 8.3 \u548c\u540e\u6765\u7684\u670d\u52a1\u5668\u3002"; + t[37] = "大型对象的截断(Truncation)仅被实作执行在 8.3 和后来的服务器。"; t[40] = "Cannot retrieve the name of an unnamed savepoint."; - t[41] = "\u65e0\u6cd5\u53d6\u5f97\u672a\u547d\u540d\u50a8\u5b58\u70b9(Savepoint)\u7684\u540d\u79f0\u3002"; + t[41] = "无法取得未命名储存点(Savepoint)的名称。"; t[46] = "An error occurred while setting up the SSL connection."; - t[47] = "\u8fdb\u884c SSL \u8fde\u7ebf\u65f6\u53d1\u751f\u9519\u8bef\u3002"; + t[47] = "进行 SSL 连线时发生错误。"; t[50] = "suspend/resume not implemented"; - t[51] = "\u6682\u505c(suspend)/\u518d\u7ee7\u7eed(resume)\u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[51] = "暂停(suspend)/再继续(resume)尚未被实作。"; t[60] = "{0} function takes one and only one argument."; - t[61] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e00\u4e2a\u4e14\u4ec5\u6709\u4e00\u4e2a\u5f15\u6570\u3002"; + t[61] = "{0} 函式取得一个且仅有一个引数。"; t[62] = "Conversion to type {0} failed: {1}."; - t[63] = "\u8f6c\u6362\u7c7b\u578b {0} \u5931\u8d25\uff1a{1}\u3002"; + t[63] = "转换类型 {0} 失败:{1}。"; t[66] = "Conversion of money failed."; - t[67] = "money \u8f6c\u6362\u5931\u8d25\u3002"; + t[67] = "money 转换失败。"; t[70] = "A result was returned when none was expected."; - t[71] = "\u4f20\u56de\u9884\u671f\u4e4b\u5916\u7684\u7ed3\u679c\u3002"; + t[71] = "传回预期之外的结果。"; t[80] = "This PooledConnection has already been closed."; - t[81] = "\u8fd9\u4e2a PooledConnection \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[81] = "这个 PooledConnection 已经被关闭。"; t[84] = "Multiple ResultSets were returned by the query."; - t[85] = "\u67e5\u8be2\u4f20\u56de\u591a\u4e2a ResultSet\u3002"; + t[85] = "查询传回多个 ResultSet。"; t[90] = "Not on the insert row."; - t[91] = "\u4e0d\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u3002"; + t[91] = "不在新增的数据列上。"; t[94] = "An unexpected result was returned by a query."; - t[95] = "\u4f20\u56de\u975e\u9884\u671f\u7684\u67e5\u8be2\u7ed3\u679c\u3002"; + t[95] = "传回非预期的查询结果。"; t[102] = "Internal Query: {0}"; - t[103] = "\u5185\u90e8\u67e5\u8be2\uff1a{0}"; + t[103] = "内部查询:{0}"; t[106] = "The array index is out of range: {0}"; - t[107] = "\u9635\u5217\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}"; + t[107] = "阵列索引超过许可范围:{0}"; t[112] = "Connection attempt timed out."; - t[113] = "Connection \u5c1d\u8bd5\u903e\u65f6\u3002"; + t[113] = "Connection 尝试逾时。"; t[114] = "Unable to find name datatype in the system catalogs."; - t[115] = "\u5728\u7cfb\u7edf catalog \u4e2d\u627e\u4e0d\u5230\u540d\u79f0\u6570\u636e\u7c7b\u578b(datatype)\u3002"; + t[115] = "在系统 catalog 中找不到名称数据类型(datatype)。"; t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[117] = "\u4e0d\u660e\u7684\u539f\u56e0\u5bfc\u81f4\u9a71\u52a8\u7a0b\u5e8f\u9020\u6210\u5931\u8d25\uff0c\u8bf7\u56de\u62a5\u8fd9\u4e2a\u4f8b\u5916\u3002"; + t[117] = "不明的原因导致驱动程序造成失败,请回报这个例外。"; t[120] = "The array index is out of range: {0}, number of elements: {1}."; - t[121] = "\u9635\u5217\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u5143\u7d20\u6570\u91cf\uff1a{1}\u3002"; + t[121] = "阵列索引超过许可范围:{0},元素数量:{1}。"; t[138] = "Invalid flags {0}"; - t[139] = "\u65e0\u6548\u7684\u65d7\u6807 flags {0}"; + t[139] = "无效的旗标 flags {0}"; t[146] = "Unexpected error writing large object to database."; - t[147] = "\u5c06\u5927\u578b\u5bf9\u8c61(large object)\u5199\u5165\u6570\u636e\u5e93\u65f6\u53d1\u751f\u4e0d\u660e\u9519\u8bef\u3002"; + t[147] = "将大型对象(large object)写入数据库时发生不明错误。"; t[162] = "Query timeout must be a value greater than or equals to 0."; - t[163] = "\u67e5\u8be2\u903e\u65f6\u7b49\u5019\u65f6\u95f4\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[163] = "查询逾时等候时间必须大于或等于 0。"; t[170] = "Unknown type {0}."; - t[171] = "\u4e0d\u660e\u7684\u7c7b\u578b {0}"; + t[171] = "不明的类型 {0}"; t[174] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[175] = "\u8fd9\u670d\u52a1\u5668\u7684 standard_conforming_strings \u53c2\u6570\u5df2\u56de\u62a5\u4e3a {0}\uff0cJDBC \u9a71\u52a8\u7a0b\u5e8f\u5df2\u9884\u671f\u5f00\u542f\u6216\u662f\u5173\u95ed\u3002"; + t[175] = "这服务器的 standard_conforming_strings 参数已回报为 {0},JDBC 驱动程序已预期开启或是关闭。"; t[176] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[177] = "\u53d1\u73b0\u4e0d\u5408\u6cd5\u7684\u5b57\u5143\uff0c\u53ef\u80fd\u7684\u539f\u56e0\u662f\u6b32\u50a8\u5b58\u7684\u6570\u636e\u4e2d\u5305\u542b\u6570\u636e\u5e93\u7684\u5b57\u5143\u96c6\u4e0d\u652f\u63f4\u7684\u5b57\u7801\uff0c\u5176\u4e2d\u6700\u5e38\u89c1\u4f8b\u5b50\u7684\u5c31\u662f\u5c06 8 \u4f4d\u5143\u6570\u636e\u5b58\u5165\u4f7f\u7528 SQL_ASCII \u7f16\u7801\u7684\u6570\u636e\u5e93\u4e2d\u3002"; + t[177] = "发现不合法的字元,可能的原因是欲储存的数据中包含数据库的字元集不支援的字码,其中最常见例子的就是将 8 位元数据存入使用 SQL_ASCII 编码的数据库中。"; t[178] = "The column index is out of range: {0}, number of columns: {1}."; - t[179] = "\u680f\u4f4d\u7d22\u5f15\u8d85\u8fc7\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u680f\u4f4d\u6570\uff1a{1}\u3002"; + t[179] = "栏位索引超过许可范围:{0},栏位数:{1}。"; t[180] = "The connection attempt failed."; - t[181] = "\u5c1d\u8bd5\u8fde\u7ebf\u5df2\u5931\u8d25\u3002"; + t[181] = "尝试连线已失败。"; t[182] = "No value specified for parameter {0}."; - t[183] = "\u672a\u8bbe\u5b9a\u53c2\u6570\u503c {0} \u7684\u5185\u5bb9\u3002"; + t[183] = "未设定参数值 {0} 的内容。"; t[190] = "Provided Reader failed."; - t[191] = "\u63d0\u4f9b\u7684 Reader \u5df2\u5931\u8d25\u3002"; + t[191] = "提供的 Reader 已失败。"; t[194] = "Unsupported value for stringtype parameter: {0}"; - t[195] = "\u5b57\u7b26\u7c7b\u578b\u53c2\u6570\u503c\u672a\u88ab\u652f\u6301\uff1a{0}"; + t[195] = "字符类型参数值未被支持:{0}"; t[198] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[199] = "\u5df2\u7ecf\u5ba3\u544a CallableStatement \u51fd\u5f0f\uff0c\u4f46\u662f\u5c1a\u672a\u547c\u53eb registerOutParameter (1, ) \u3002"; + t[199] = "已经宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, ) 。"; t[204] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[205] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u7b2c\u4e00\u7b14\u6570\u636e\u4e4b\u524d\u547c\u53eb deleteRow()\u3002"; + t[205] = "不能在 ResultSet 的第一笔数据之前呼叫 deleteRow()。"; t[214] = "The maximum field size must be a value greater than or equal to 0."; - t[215] = "\u6700\u5927\u680f\u4f4d\u5bb9\u91cf\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[215] = "最大栏位容量必须大于或等于 0。"; t[216] = "Fetch size must be a value greater to or equal to 0."; - t[217] = "\u6570\u636e\u8bfb\u53d6\u7b14\u6570(fetch size)\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[217] = "数据读取笔数(fetch size)必须大于或等于 0。"; t[220] = "PostgreSQL LOBs can only index to: {0}"; - t[221] = "PostgreSQL LOBs \u4ec5\u80fd\u7d22\u5f15\u5230\uff1a{0}"; + t[221] = "PostgreSQL LOBs 仅能索引到:{0}"; t[224] = "The JVM claims not to support the encoding: {0}"; - t[225] = "JVM \u58f0\u660e\u5e76\u4e0d\u652f\u63f4\u7f16\u7801\uff1a{0} \u3002"; + t[225] = "JVM 声明并不支援编码:{0} 。"; t[226] = "Interval {0} not yet implemented"; - t[227] = "\u9694\u7edd {0} \u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[227] = "隔绝 {0} 尚未被实作。"; t[238] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[239] = "Fastpath \u547c\u53eb {0} - \u6ca1\u6709\u4f20\u56de\u503c\uff0c\u4e14\u5e94\u8be5\u4f20\u56de\u4e00\u4e2a\u6574\u6570\u3002"; + t[239] = "Fastpath 呼叫 {0} - 没有传回值,且应该传回一个整数。"; t[246] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[247] = "ResultSets \u4e0e\u5e76\u53d1\u540c\u4f5c(Concurrency) CONCUR_READ_ONLY \u4e0d\u80fd\u88ab\u66f4\u65b0\u3002"; + t[247] = "ResultSets 与并发同作(Concurrency) CONCUR_READ_ONLY 不能被更新。"; t[250] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[251] = "\u8fd9\u4e2a statement \u672a\u5ba3\u544a OUT \u53c2\u6570\uff0c\u4f7f\u7528 '{' ?= call ... '}' \u5ba3\u544a\u4e00\u4e2a\u3002"; + t[251] = "这个 statement 未宣告 OUT 参数,使用 '{' ?= call ... '}' 宣告一个。"; t[256] = "Cannot reference a savepoint after it has been released."; - t[257] = "\u65e0\u6cd5\u53c2\u7167\u5df2\u7ecf\u88ab\u91ca\u653e\u7684\u50a8\u5b58\u70b9\u3002"; + t[257] = "无法参照已经被释放的储存点。"; t[260] = "Unsupported Types value: {0}"; - t[261] = "\u672a\u88ab\u652f\u6301\u7684\u7c7b\u578b\u503c\uff1a{0}"; + t[261] = "未被支持的类型值:{0}"; t[266] = "Protocol error. Session setup failed."; - t[267] = "\u901a\u8baf\u534f\u5b9a\u9519\u8bef\uff0cSession \u521d\u59cb\u5316\u5931\u8d25\u3002"; + t[267] = "通讯协定错误,Session 初始化失败。"; t[274] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[275] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u6700\u540e\u4e00\u7b14\u6570\u636e\u4e4b\u540e\u547c\u53eb deleteRow()\u3002"; + t[275] = "不能在 ResultSet 的最后一笔数据之后呼叫 deleteRow()。"; t[278] = "Internal Position: {0}"; - t[279] = "\u5185\u90e8\u4f4d\u7f6e\uff1a{0}"; + t[279] = "内部位置:{0}"; t[280] = "Zero bytes may not occur in identifiers."; - t[281] = "\u5728\u6807\u8bc6\u8bc6\u522b\u7b26\u4e2d\u4e0d\u5b58\u5728\u96f6\u4f4d\u5143\u7ec4\u3002"; + t[281] = "在标识识别符中不存在零位元组。"; t[288] = "{0} function doesn''t take any argument."; - t[289] = "{0} \u51fd\u5f0f\u65e0\u6cd5\u53d6\u5f97\u4efb\u4f55\u7684\u5f15\u6570\u3002"; + t[289] = "{0} 函式无法取得任何的引数。"; t[300] = "This statement has been closed."; - t[301] = "\u8fd9\u4e2a statement \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[301] = "这个 statement 已经被关闭。"; t[318] = "Cannot establish a savepoint in auto-commit mode."; - t[319] = "\u5728\u81ea\u52a8\u786e\u8ba4\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u65e0\u6cd5\u5efa\u7acb\u50a8\u5b58\u70b9(Savepoint)\u3002"; + t[319] = "在自动确认事物交易模式无法建立储存点(Savepoint)。"; t[320] = "Position: {0}"; - t[321] = "\u4f4d\u7f6e\uff1a{0}"; + t[321] = "位置:{0}"; t[322] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[323] = "\u4e0d\u53ef\u66f4\u65b0\u7684 ResultSet\u3002\u7528\u6765\u4ea7\u751f\u8fd9\u4e2a ResultSet \u7684 SQL \u547d\u4ee4\u53ea\u80fd\u64cd\u4f5c\u4e00\u4e2a\u6570\u636e\u8868\uff0c\u5e76\u4e14\u5fc5\u9700\u9009\u62e9\u6240\u6709\u4e3b\u952e\u680f\u4f4d\uff0c\u8be6\u7ec6\u8bf7\u53c2\u9605 JDBC 2.1 API \u89c4\u683c\u4e66 5.6 \u8282\u3002"; + t[323] = "不可更新的 ResultSet。用来产生这个 ResultSet 的 SQL 命令只能操作一个数据表,并且必需选择所有主键栏位,详细请参阅 JDBC 2.1 API 规格书 5.6 节。"; t[330] = "This ResultSet is closed."; - t[331] = "\u8fd9\u4e2a ResultSet \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[331] = "这个 ResultSet 已经被关闭。"; t[338] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[339] = "\u5df2\u6ce8\u518c\u53c2\u6570\u7c7b\u578b {0}\uff0c\u4f46\u662f\u53c8\u547c\u53eb\u4e86get{1}(sqltype={2})\u3002"; + t[339] = "已注册参数类型 {0},但是又呼叫了get{1}(sqltype={2})。"; t[342] = "Transaction isolation level {0} not supported."; - t[343] = "\u4e0d\u652f\u63f4\u4ea4\u6613\u9694\u7edd\u7b49\u7ea7 {0} \u3002"; + t[343] = "不支援交易隔绝等级 {0} 。"; t[344] = "Statement has been closed."; - t[345] = "Sstatement \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[345] = "Sstatement 已经被关闭。"; t[352] = "Server SQLState: {0}"; - t[353] = "\u670d\u52a1\u5668 SQLState\uff1a{0}"; + t[353] = "服务器 SQLState:{0}"; t[354] = "No primary key found for table {0}."; - t[355] = "{0} \u6570\u636e\u8868\u4e2d\u672a\u627e\u5230\u4e3b\u952e(Primary key)\u3002"; + t[355] = "{0} 数据表中未找到主键(Primary key)。"; t[362] = "Cannot convert an instance of {0} to type {1}"; - t[363] = "\u65e0\u6cd5\u8f6c\u6362 {0} \u5230\u7c7b\u578b {1} \u7684\u5b9e\u4f8b"; + t[363] = "无法转换 {0} 到类型 {1} 的实例"; t[364] = "DataSource has been closed."; - t[365] = "DataSource \u5df2\u7ecf\u88ab\u5173\u95ed\u3002"; + t[365] = "DataSource 已经被关闭。"; t[368] = "The column name {0} was not found in this ResultSet."; - t[369] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u680f\u4f4d\u540d\u79f0 {0}\u3002"; + t[369] = "ResultSet 中找不到栏位名称 {0}。"; t[372] = "ResultSet not positioned properly, perhaps you need to call next."; - t[373] = "\u67e5\u8be2\u7ed3\u679c\u6307\u6807\u4f4d\u7f6e\u4e0d\u6b63\u786e\uff0c\u60a8\u4e5f\u8bb8\u9700\u8981\u547c\u53eb ResultSet \u7684 next() \u65b9\u6cd5\u3002"; + t[373] = "查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。"; t[378] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[379] = "\u65e0\u6cd5\u66f4\u65b0 ResultSet\uff0c\u53ef\u80fd\u5728\u7b2c\u4e00\u7b14\u6570\u636e\u4e4b\u524d\u6216\u6700\u672a\u7b14\u6570\u636e\u4e4b\u540e\u3002"; + t[379] = "无法更新 ResultSet,可能在第一笔数据之前或最未笔数据之后。"; t[380] = "Method {0} is not yet implemented."; - t[381] = "\u8fd9\u4e2a {0} \u65b9\u6cd5\u5c1a\u672a\u88ab\u5b9e\u4f5c\u3002"; + t[381] = "这个 {0} 方法尚未被实作。"; t[382] = "{0} function takes two or three arguments."; - t[383] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u4e2a\u6216\u4e09\u4e2a\u5f15\u6570\u3002"; + t[383] = "{0} 函式取得二个或三个引数。"; t[384] = "The JVM claims not to support the {0} encoding."; - t[385] = "JVM \u58f0\u660e\u5e76\u4e0d\u652f\u63f4 {0} \u7f16\u7801\u3002"; + t[385] = "JVM 声明并不支援 {0} 编码。"; t[396] = "Unknown Response Type {0}."; - t[397] = "\u4e0d\u660e\u7684\u56de\u5e94\u7c7b\u578b {0}\u3002"; + t[397] = "不明的回应类型 {0}。"; t[398] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[399] = "\u53c2\u6570\u7d22\u5f15\u8d85\u51fa\u8bb8\u53ef\u8303\u56f4\uff1a{0}\uff0c\u53c2\u6570\u603b\u6570\uff1a{1}\u3002"; + t[399] = "参数索引超出许可范围:{0},参数总数:{1}。"; t[400] = "Where: {0}"; - t[401] = "\u5728\u4f4d\u7f6e\uff1a{0}"; + t[401] = "在位置:{0}"; t[406] = "Cannot call deleteRow() when on the insert row."; - t[407] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[407] = "不能在新增的数据上呼叫 deleteRow()。"; t[414] = "{0} function takes four and only four argument."; - t[415] = "{0} \u51fd\u5f0f\u53d6\u5f97\u56db\u4e2a\u4e14\u4ec5\u6709\u56db\u4e2a\u5f15\u6570\u3002"; + t[415] = "{0} 函式取得四个且仅有四个引数。"; t[416] = "Unable to translate data into the desired encoding."; - t[417] = "\u65e0\u6cd5\u5c06\u6570\u636e\u8f6c\u6210\u76ee\u6807\u7f16\u7801\u3002"; + t[417] = "无法将数据转成目标编码。"; t[424] = "Can''t use relative move methods while on the insert row."; - t[425] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u4f7f\u7528\u76f8\u5bf9\u4f4d\u7f6e move \u65b9\u6cd5\u3002"; + t[425] = "不能在新增的数据列上使用相对位置 move 方法。"; t[434] = "Invalid stream length {0}."; - t[435] = "\u65e0\u6548\u7684\u4e32\u6d41\u957f\u5ea6 {0}."; + t[435] = "无效的串流长度 {0}."; t[436] = "The driver currently does not support COPY operations."; - t[437] = "\u9a71\u52a8\u7a0b\u5e8f\u76ee\u524d\u4e0d\u652f\u63f4 COPY \u64cd\u4f5c\u3002"; + t[437] = "驱动程序目前不支援 COPY 操作。"; t[440] = "Maximum number of rows must be a value grater than or equal to 0."; - t[441] = "\u6700\u5927\u6570\u636e\u8bfb\u53d6\u7b14\u6570\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0\u3002"; + t[441] = "最大数据读取笔数必须大于或等于 0。"; t[446] = "Failed to create object for: {0}."; - t[447] = "\u4e3a {0} \u5efa\u7acb\u5bf9\u8c61\u5931\u8d25\u3002"; + t[447] = "为 {0} 建立对象失败。"; t[448] = "{0} function takes three and only three arguments."; - t[449] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e09\u4e2a\u4e14\u4ec5\u6709\u4e09\u4e2a\u5f15\u6570\u3002"; + t[449] = "{0} 函式取得三个且仅有三个引数。"; t[450] = "Conversion of interval failed"; - t[451] = "\u9694\u7edd(Interval)\u8f6c\u6362\u5931\u8d25\u3002"; + t[451] = "隔绝(Interval)转换失败。"; t[452] = "Cannot tell if path is open or closed: {0}."; - t[453] = "\u65e0\u6cd5\u5f97\u77e5 path \u662f\u5f00\u542f\u6216\u5173\u95ed\uff1a{0}\u3002"; + t[453] = "无法得知 path 是开启或关闭:{0}。"; t[460] = "Provided InputStream failed."; - t[461] = "\u63d0\u4f9b\u7684 InputStream \u5df2\u5931\u8d25\u3002"; + t[461] = "提供的 InputStream 已失败。"; t[462] = "Invalid fetch direction constant: {0}."; - t[463] = "\u65e0\u6548\u7684 fetch \u65b9\u5411\u5e38\u6570\uff1a{0}\u3002"; + t[463] = "无效的 fetch 方向常数:{0}。"; t[472] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[473] = "\u4e8b\u7269\u4ea4\u6613\u9694\u7edd(Transaction interleaving)\u672a\u88ab\u5b9e\u4f5c\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[473] = "事物交易隔绝(Transaction interleaving)未被实作。xid={0}, currentXid={1}, state={2}, flags={3}"; t[474] = "{0} function takes two and only two arguments."; - t[475] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u4e2a\u4e14\u4ec5\u6709\u4e8c\u4e2a\u5f15\u6570\u3002"; + t[475] = "{0} 函式取得二个且仅有二个引数。"; t[476] = "There are no rows in this ResultSet."; - t[477] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u6570\u636e\u5217\u3002"; + t[477] = "ResultSet 中找不到数据列。"; t[478] = "Zero bytes may not occur in string parameters."; - t[479] = "\u5b57\u7b26\u53c2\u6570\u4e0d\u80fd\u6709 0 \u4e2a\u4f4d\u5143\u7ec4\u3002"; + t[479] = "字符参数不能有 0 个位元组。"; t[480] = "Cannot call updateRow() when on the insert row."; - t[481] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u6570\u636e\u5217\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[481] = "不能在新增的数据列上呼叫 deleteRow()。"; t[482] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[483] = "Connection \u5df2\u81ea\u52a8\u7ed3\u675f\uff0c\u56e0\u4e3a\u4e00\u4e2a\u65b0\u7684 PooledConnection \u8fde\u7ebf\u88ab\u5f00\u542f\u6216\u8005\u6216 PooledConnection \u5df2\u88ab\u5173\u95ed\u3002"; + t[483] = "Connection 已自动结束,因为一个新的 PooledConnection 连线被开启或者或 PooledConnection 已被关闭。"; t[488] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[489] = "\u4e00\u4e2a CallableStatement \u6267\u884c\u51fd\u5f0f\u540e\u8f93\u51fa\u7684\u53c2\u6570\u7c7b\u578b\u4e3a {1} \u503c\u4e3a {0}\uff0c\u4f46\u662f\u5df2\u6ce8\u518c\u7684\u7c7b\u578b\u662f {2}\u3002"; + t[489] = "一个 CallableStatement 执行函式后输出的参数类型为 {1} 值为 {0},但是已注册的类型是 {2}。"; t[494] = "Cannot cast an instance of {0} to type {1}"; - t[495] = "\u4e0d\u80fd\u8f6c\u6362\u4e00\u4e2a {0} \u5b9e\u4f8b\u5230\u7c7b\u578b {1}"; + t[495] = "不能转换一个 {0} 实例到类型 {1}"; t[498] = "Cannot retrieve the id of a named savepoint."; - t[499] = "\u65e0\u6cd5\u53d6\u5f97\u5df2\u547d\u540d\u50a8\u5b58\u70b9\u7684 id\u3002"; + t[499] = "无法取得已命名储存点的 id。"; t[500] = "Cannot change transaction read-only property in the middle of a transaction."; - t[501] = "\u4e0d\u80fd\u5728\u4e8b\u7269\u4ea4\u6613\u8fc7\u7a0b\u4e2d\u6539\u53d8\u4e8b\u7269\u4ea4\u6613\u552f\u8bfb\u5c5e\u6027\u3002"; + t[501] = "不能在事物交易过程中改变事物交易唯读属性。"; t[502] = "The server does not support SSL."; - t[503] = "\u670d\u52a1\u5668\u4e0d\u652f\u63f4 SSL \u8fde\u7ebf\u3002"; + t[503] = "服务器不支援 SSL 连线。"; t[510] = "A connection could not be made using the requested protocol {0}."; - t[511] = "\u65e0\u6cd5\u4ee5\u8981\u6c42\u7684\u901a\u8baf\u534f\u5b9a {0} \u5efa\u7acb\u8fde\u7ebf\u3002"; + t[511] = "无法以要求的通讯协定 {0} 建立连线。"; t[512] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[513] = "\u4e0d\u652f\u63f4 {0} \u9a8c\u8bc1\u7c7b\u578b\u3002\u8bf7\u6838\u5bf9\u60a8\u5df2\u7ecf\u7ec4\u6001 pg_hba.conf \u6587\u4ef6\u5305\u542b\u5ba2\u6237\u7aef\u7684IP\u4f4d\u5740\u6216\u7f51\u8def\u533a\u6bb5\uff0c\u4ee5\u53ca\u9a71\u52a8\u7a0b\u5e8f\u6240\u652f\u63f4\u7684\u9a8c\u8bc1\u67b6\u6784\u6a21\u5f0f\u5df2\u88ab\u652f\u63f4\u3002"; + t[513] = "不支援 {0} 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网路区段,以及驱动程序所支援的验证架构模式已被支援。"; t[514] = "Malformed function or procedure escape syntax at offset {0}."; - t[515] = "\u4e0d\u6b63\u786e\u7684\u51fd\u5f0f\u6216\u7a0b\u5e8f escape \u8bed\u6cd5\u4e8e {0}\u3002"; + t[515] = "不正确的函式或程序 escape 语法于 {0}。"; t[516] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[517] = "\u8fd9\u670d\u52a1\u5668\u7684 DateStyle \u53c2\u6570\u88ab\u66f4\u6539\u6210 {0}\uff0cJDBC \u9a71\u52a8\u7a0b\u5e8f\u8bf7\u6c42\u9700\u8981 DateStyle \u4ee5 ISO \u5f00\u5934\u4ee5\u6b63\u786e\u5de5\u4f5c\u3002"; + t[517] = "这服务器的 DateStyle 参数被更改成 {0},JDBC 驱动程序请求需要 DateStyle 以 ISO 开头以正确工作。"; t[518] = "No results were returned by the query."; - t[519] = "\u67e5\u8be2\u6ca1\u6709\u4f20\u56de\u4efb\u4f55\u7ed3\u679c\u3002"; + t[519] = "查询没有传回任何结果。"; t[520] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[521] = "\u4f4d\u7f6e\uff1a\u6587\u4ef6\uff1a{0}\uff0c\u5e38\u5f0f\uff1a{1}\uff0c\u884c\uff1a{2}"; + t[521] = "位置:文件:{0},常式:{1},行:{2}"; t[526] = "Hint: {0}"; - t[527] = "\u5efa\u8bae\uff1a{0}"; + t[527] = "建议:{0}"; t[528] = "A CallableStatement was executed with nothing returned."; - t[529] = "\u4e00\u4e2a CallableStatement \u6267\u884c\u51fd\u5f0f\u540e\u6ca1\u6709\u4f20\u56de\u503c\u3002"; + t[529] = "一个 CallableStatement 执行函式后没有传回值。"; t[530] = "Unknown ResultSet holdability setting: {0}."; - t[531] = "\u672a\u77e5\u7684 ResultSet \u53ef\u9002\u7528\u7684\u8bbe\u7f6e\uff1a{0}\u3002"; + t[531] = "未知的 ResultSet 可适用的设置:{0}。"; t[540] = "Cannot change transaction isolation level in the middle of a transaction."; - t[541] = "\u4e0d\u80fd\u5728\u4e8b\u52a1\u4ea4\u6613\u8fc7\u7a0b\u4e2d\u6539\u53d8\u4e8b\u7269\u4ea4\u6613\u9694\u7edd\u7b49\u7ea7\u3002"; + t[541] = "不能在事务交易过程中改变事物交易隔绝等级。"; t[544] = "The fastpath function {0} is unknown."; - t[545] = "\u4e0d\u660e\u7684 fastpath \u51fd\u5f0f {0}\u3002"; + t[545] = "不明的 fastpath 函式 {0}。"; t[546] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[547] = "\u5728 PreparedStatement \u4e0a\u4e0d\u80fd\u4f7f\u7528\u83b7\u53d6\u67e5\u8be2\u5b57\u7b26\u7684\u67e5\u8be2\u65b9\u6cd5\u3002"; + t[547] = "在 PreparedStatement 上不能使用获取查询字符的查询方法。"; t[556] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[557] = "\u64cd\u4f5c\u8981\u6c42\u53ef\u5377\u52a8\u7684 ResultSet\uff0c\u4f46\u6b64 ResultSet \u662f FORWARD_ONLY\u3002"; + t[557] = "操作要求可卷动的 ResultSet,但此 ResultSet 是 FORWARD_ONLY。"; t[564] = "Unknown Types value."; - t[565] = "\u4e0d\u660e\u7684\u7c7b\u578b\u503c\u3002"; + t[565] = "不明的类型值。"; t[570] = "Large Objects may not be used in auto-commit mode."; - t[571] = "\u5927\u578b\u5bf9\u8c61\u65e0\u6cd5\u88ab\u4f7f\u7528\u5728\u81ea\u52a8\u786e\u8ba4\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u3002"; + t[571] = "大型对象无法被使用在自动确认事物交易模式。"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java index 489871b935..761c7934bf 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_zh_TW.java @@ -5,233 +5,233 @@ public class messages_zh_TW extends java.util.ResourceBundle { static { java.lang.String[] t = new java.lang.String[578]; t[0] = ""; - t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-21 16:50+0800\nLast-Translator: \u90ed\u671d\u76ca(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: TAIWAN\nX-Poedit-SourceCharset: utf-8\n"; + t[1] = "Project-Id-Version: PostgreSQL JDBC Driver 8.3\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2008-01-21 16:50+0800\nLast-Translator: 郭朝益(ChaoYi, Kuo) \nLanguage-Team: The PostgreSQL Development Team \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Poedit-Language: Chinese\nX-Poedit-Country: TAIWAN\nX-Poedit-SourceCharset: utf-8\n"; t[6] = "Cannot call cancelRowUpdates() when on the insert row."; - t[7] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u547c\u53eb cancelRowUpdates()\u3002"; + t[7] = "不能在新增的資料列上呼叫 cancelRowUpdates()。"; t[8] = "The server requested password-based authentication, but no password was provided."; - t[9] = "\u4f3a\u670d\u5668\u8981\u6c42\u4f7f\u7528\u5bc6\u78bc\u9a57\u8b49\uff0c\u4f46\u662f\u5bc6\u78bc\u4e26\u672a\u63d0\u4f9b\u3002"; + t[9] = "伺服器要求使用密碼驗證,但是密碼並未提供。"; t[12] = "Detail: {0}"; - t[13] = "\u8a73\u7d30\uff1a{0}"; + t[13] = "詳細:{0}"; t[16] = "Can''t refresh the insert row."; - t[17] = "\u7121\u6cd5\u91cd\u8b80\u65b0\u589e\u7684\u8cc7\u6599\u5217\u3002"; + t[17] = "無法重讀新增的資料列。"; t[18] = "Connection has been closed."; - t[19] = "Connection \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[19] = "Connection 已經被關閉。"; t[24] = "Bad value for type {0} : {1}"; - t[25] = "\u4e0d\u826f\u7684\u578b\u5225\u503c {0} : {1}"; + t[25] = "不良的型別值 {0} : {1}"; t[34] = "Failed to initialize LargeObject API"; - t[35] = "\u521d\u59cb\u5316 LargeObject API \u5931\u6557"; + t[35] = "初始化 LargeObject API 失敗"; t[36] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[37] = "\u5927\u578b\u7269\u4ef6\u7684\u622a\u65b7(Truncation)\u50c5\u88ab\u5be6\u4f5c\u57f7\u884c\u5728 8.3 \u548c\u5f8c\u4f86\u7684\u4f3a\u670d\u5668\u3002"; + t[37] = "大型物件的截斷(Truncation)僅被實作執行在 8.3 和後來的伺服器。"; t[40] = "Cannot retrieve the name of an unnamed savepoint."; - t[41] = "\u7121\u6cd5\u53d6\u5f97\u672a\u547d\u540d\u5132\u5b58\u9ede(Savepoint)\u7684\u540d\u7a31\u3002"; + t[41] = "無法取得未命名儲存點(Savepoint)的名稱。"; t[46] = "An error occurred while setting up the SSL connection."; - t[47] = "\u9032\u884c SSL \u9023\u7dda\u6642\u767c\u751f\u932f\u8aa4\u3002"; + t[47] = "進行 SSL 連線時發生錯誤。"; t[50] = "suspend/resume not implemented"; - t[51] = "\u66ab\u505c(suspend)/\u518d\u7e7c\u7e8c(resume)\u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[51] = "暫停(suspend)/再繼續(resume)尚未被實作。"; t[60] = "{0} function takes one and only one argument."; - t[61] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e00\u500b\u4e14\u50c5\u6709\u4e00\u500b\u5f15\u6578\u3002"; + t[61] = "{0} 函式取得一個且僅有一個引數。"; t[62] = "Conversion to type {0} failed: {1}."; - t[63] = "\u8f49\u63db\u578b\u5225 {0} \u5931\u6557\uff1a{1}\u3002"; + t[63] = "轉換型別 {0} 失敗:{1}。"; t[66] = "Conversion of money failed."; - t[67] = "money \u8f49\u63db\u5931\u6557\u3002"; + t[67] = "money 轉換失敗。"; t[70] = "A result was returned when none was expected."; - t[71] = "\u50b3\u56de\u9810\u671f\u4e4b\u5916\u7684\u7d50\u679c\u3002"; + t[71] = "傳回預期之外的結果。"; t[80] = "This PooledConnection has already been closed."; - t[81] = "\u9019\u500b PooledConnection \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[81] = "這個 PooledConnection 已經被關閉。"; t[84] = "Multiple ResultSets were returned by the query."; - t[85] = "\u67e5\u8a62\u50b3\u56de\u591a\u500b ResultSet\u3002"; + t[85] = "查詢傳回多個 ResultSet。"; t[90] = "Not on the insert row."; - t[91] = "\u4e0d\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u3002"; + t[91] = "不在新增的資料列上。"; t[94] = "An unexpected result was returned by a query."; - t[95] = "\u50b3\u56de\u975e\u9810\u671f\u7684\u67e5\u8a62\u7d50\u679c\u3002"; + t[95] = "傳回非預期的查詢結果。"; t[102] = "Internal Query: {0}"; - t[103] = "\u5167\u90e8\u67e5\u8a62\uff1a{0}"; + t[103] = "內部查詢:{0}"; t[106] = "The array index is out of range: {0}"; - t[107] = "\u9663\u5217\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}"; + t[107] = "陣列索引超過許可範圍:{0}"; t[112] = "Connection attempt timed out."; - t[113] = "Connection \u5617\u8a66\u903e\u6642\u3002"; + t[113] = "Connection 嘗試逾時。"; t[114] = "Unable to find name datatype in the system catalogs."; - t[115] = "\u5728\u7cfb\u7d71 catalog \u4e2d\u627e\u4e0d\u5230\u540d\u7a31\u8cc7\u6599\u985e\u578b(datatype)\u3002"; + t[115] = "在系統 catalog 中找不到名稱資料類型(datatype)。"; t[116] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[117] = "\u4e0d\u660e\u7684\u539f\u56e0\u5c0e\u81f4\u9a45\u52d5\u7a0b\u5f0f\u9020\u6210\u5931\u6557\uff0c\u8acb\u56de\u5831\u9019\u500b\u4f8b\u5916\u3002"; + t[117] = "不明的原因導致驅動程式造成失敗,請回報這個例外。"; t[120] = "The array index is out of range: {0}, number of elements: {1}."; - t[121] = "\u9663\u5217\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u5143\u7d20\u6578\u91cf\uff1a{1}\u3002"; + t[121] = "陣列索引超過許可範圍:{0},元素數量:{1}。"; t[138] = "Invalid flags {0}"; - t[139] = "\u7121\u6548\u7684\u65d7\u6a19 {0}"; + t[139] = "無效的旗標 {0}"; t[146] = "Unexpected error writing large object to database."; - t[147] = "\u5c07\u5927\u578b\u7269\u4ef6(large object)\u5beb\u5165\u8cc7\u6599\u5eab\u6642\u767c\u751f\u4e0d\u660e\u932f\u8aa4\u3002"; + t[147] = "將大型物件(large object)寫入資料庫時發生不明錯誤。"; t[162] = "Query timeout must be a value greater than or equals to 0."; - t[163] = "\u67e5\u8a62\u903e\u6642\u7b49\u5019\u6642\u9593\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[163] = "查詢逾時等候時間必須大於或等於 0。"; t[170] = "Unknown type {0}."; - t[171] = "\u4e0d\u660e\u7684\u578b\u5225 {0}"; + t[171] = "不明的型別 {0}"; t[174] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[175] = "\u9019\u4f3a\u670d\u5668\u7684 standard_conforming_strings \u53c3\u6578\u5df2\u56de\u5831\u70ba {0}\uff0cJDBC \u9a45\u52d5\u7a0b\u5f0f\u5df2\u9810\u671f\u958b\u555f\u6216\u662f\u95dc\u9589\u3002"; + t[175] = "這伺服器的 standard_conforming_strings 參數已回報為 {0},JDBC 驅動程式已預期開啟或是關閉。"; t[176] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[177] = "\u767c\u73fe\u4e0d\u5408\u6cd5\u7684\u5b57\u5143\uff0c\u53ef\u80fd\u7684\u539f\u56e0\u662f\u6b32\u5132\u5b58\u7684\u8cc7\u6599\u4e2d\u5305\u542b\u8cc7\u6599\u5eab\u7684\u5b57\u5143\u96c6\u4e0d\u652f\u63f4\u7684\u5b57\u78bc\uff0c\u5176\u4e2d\u6700\u5e38\u898b\u4f8b\u5b50\u7684\u5c31\u662f\u5c07 8 \u4f4d\u5143\u8cc7\u6599\u5b58\u5165\u4f7f\u7528 SQL_ASCII \u7de8\u78bc\u7684\u8cc7\u6599\u5eab\u4e2d\u3002"; + t[177] = "發現不合法的字元,可能的原因是欲儲存的資料中包含資料庫的字元集不支援的字碼,其中最常見例子的就是將 8 位元資料存入使用 SQL_ASCII 編碼的資料庫中。"; t[178] = "The column index is out of range: {0}, number of columns: {1}."; - t[179] = "\u6b04\u4f4d\u7d22\u5f15\u8d85\u904e\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u6b04\u4f4d\u6578\uff1a{1}\u3002"; + t[179] = "欄位索引超過許可範圍:{0},欄位數:{1}。"; t[180] = "The connection attempt failed."; - t[181] = "\u5617\u8a66\u9023\u7dda\u5df2\u5931\u6557\u3002"; + t[181] = "嘗試連線已失敗。"; t[182] = "No value specified for parameter {0}."; - t[183] = "\u672a\u8a2d\u5b9a\u53c3\u6578\u503c {0} \u7684\u5167\u5bb9\u3002"; + t[183] = "未設定參數值 {0} 的內容。"; t[190] = "Provided Reader failed."; - t[191] = "\u63d0\u4f9b\u7684 Reader \u5df2\u5931\u6557\u3002"; + t[191] = "提供的 Reader 已失敗。"; t[194] = "Unsupported value for stringtype parameter: {0}"; - t[195] = "\u5b57\u4e32\u578b\u5225\u53c3\u6578\u503c\u672a\u88ab\u652f\u6301\uff1a{0}"; + t[195] = "字串型別參數值未被支持:{0}"; t[198] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[199] = "\u5df2\u7d93\u5ba3\u544a CallableStatement \u51fd\u5f0f\uff0c\u4f46\u662f\u5c1a\u672a\u547c\u53eb registerOutParameter (1, ) \u3002"; + t[199] = "已經宣告 CallableStatement 函式,但是尚未呼叫 registerOutParameter (1, ) 。"; t[204] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[205] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u7b2c\u4e00\u7b46\u8cc7\u6599\u4e4b\u524d\u547c\u53eb deleteRow()\u3002"; + t[205] = "不能在 ResultSet 的第一筆資料之前呼叫 deleteRow()。"; t[214] = "The maximum field size must be a value greater than or equal to 0."; - t[215] = "\u6700\u5927\u6b04\u4f4d\u5bb9\u91cf\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[215] = "最大欄位容量必須大於或等於 0。"; t[216] = "Fetch size must be a value greater to or equal to 0."; - t[217] = "\u8cc7\u6599\u8b80\u53d6\u7b46\u6578(fetch size)\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[217] = "資料讀取筆數(fetch size)必須大於或等於 0。"; t[220] = "PostgreSQL LOBs can only index to: {0}"; - t[221] = "PostgreSQL LOBs \u50c5\u80fd\u7d22\u5f15\u5230\uff1a{0}"; + t[221] = "PostgreSQL LOBs 僅能索引到:{0}"; t[224] = "The JVM claims not to support the encoding: {0}"; - t[225] = "JVM \u8072\u660e\u4e26\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0} \u3002"; + t[225] = "JVM 聲明並不支援編碼:{0} 。"; t[226] = "Interval {0} not yet implemented"; - t[227] = "\u9694\u7d55 {0} \u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[227] = "隔絕 {0} 尚未被實作。"; t[238] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[239] = "Fastpath \u547c\u53eb {0} - \u6c92\u6709\u50b3\u56de\u503c\uff0c\u4e14\u61c9\u8a72\u50b3\u56de\u4e00\u500b\u6574\u6578\u3002"; + t[239] = "Fastpath 呼叫 {0} - 沒有傳回值,且應該傳回一個整數。"; t[246] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[247] = "ResultSets \u8207\u4e26\u767c\u540c\u4f5c(Concurrency) CONCUR_READ_ONLY \u4e0d\u80fd\u88ab\u66f4\u65b0\u3002"; + t[247] = "ResultSets 與並發同作(Concurrency) CONCUR_READ_ONLY 不能被更新。"; t[250] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[251] = "\u9019\u500b statement \u672a\u5ba3\u544a OUT \u53c3\u6578\uff0c\u4f7f\u7528 '{' ?= call ... '}' \u5ba3\u544a\u4e00\u500b\u3002"; + t[251] = "這個 statement 未宣告 OUT 參數,使用 '{' ?= call ... '}' 宣告一個。"; t[256] = "Cannot reference a savepoint after it has been released."; - t[257] = "\u7121\u6cd5\u53c3\u7167\u5df2\u7d93\u88ab\u91cb\u653e\u7684\u5132\u5b58\u9ede\u3002"; + t[257] = "無法參照已經被釋放的儲存點。"; t[260] = "Unsupported Types value: {0}"; - t[261] = "\u672a\u88ab\u652f\u6301\u7684\u578b\u5225\u503c\uff1a{0}"; + t[261] = "未被支持的型別值:{0}"; t[266] = "Protocol error. Session setup failed."; - t[267] = "\u901a\u8a0a\u5354\u5b9a\u932f\u8aa4\uff0cSession \u521d\u59cb\u5316\u5931\u6557\u3002"; + t[267] = "通訊協定錯誤,Session 初始化失敗。"; t[274] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[275] = "\u4e0d\u80fd\u5728 ResultSet \u7684\u6700\u5f8c\u4e00\u7b46\u8cc7\u6599\u4e4b\u5f8c\u547c\u53eb deleteRow()\u3002"; + t[275] = "不能在 ResultSet 的最後一筆資料之後呼叫 deleteRow()。"; t[278] = "Internal Position: {0}"; - t[279] = "\u5167\u90e8\u4f4d\u7f6e\uff1a{0}"; + t[279] = "內部位置:{0}"; t[280] = "Zero bytes may not occur in identifiers."; - t[281] = "\u5728\u6a19\u8b58\u8b58\u5225\u7b26\u4e2d\u4e0d\u5b58\u5728\u96f6\u4f4d\u5143\u7d44\u3002"; + t[281] = "在標識識別符中不存在零位元組。"; t[288] = "{0} function doesn''t take any argument."; - t[289] = "{0} \u51fd\u5f0f\u7121\u6cd5\u53d6\u5f97\u4efb\u4f55\u7684\u5f15\u6578\u3002"; + t[289] = "{0} 函式無法取得任何的引數。"; t[300] = "This statement has been closed."; - t[301] = "\u9019\u500b statement \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[301] = "這個 statement 已經被關閉。"; t[318] = "Cannot establish a savepoint in auto-commit mode."; - t[319] = "\u5728\u81ea\u52d5\u78ba\u8a8d\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u7121\u6cd5\u5efa\u7acb\u5132\u5b58\u9ede(Savepoint)\u3002"; + t[319] = "在自動確認事物交易模式無法建立儲存點(Savepoint)。"; t[320] = "Position: {0}"; - t[321] = "\u4f4d\u7f6e\uff1a{0}"; + t[321] = "位置:{0}"; t[322] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[323] = "\u4e0d\u53ef\u66f4\u65b0\u7684 ResultSet\u3002\u7528\u4f86\u7522\u751f\u9019\u500b ResultSet \u7684 SQL \u547d\u4ee4\u53ea\u80fd\u64cd\u4f5c\u4e00\u500b\u8cc7\u6599\u8868\uff0c\u4e26\u4e14\u5fc5\u9700\u9078\u64c7\u6240\u6709\u4e3b\u9375\u6b04\u4f4d\uff0c\u8a73\u7d30\u8acb\u53c3\u95b1 JDBC 2.1 API \u898f\u683c\u66f8 5.6 \u7bc0\u3002"; + t[323] = "不可更新的 ResultSet。用來產生這個 ResultSet 的 SQL 命令只能操作一個資料表,並且必需選擇所有主鍵欄位,詳細請參閱 JDBC 2.1 API 規格書 5.6 節。"; t[330] = "This ResultSet is closed."; - t[331] = "\u9019\u500b ResultSet \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[331] = "這個 ResultSet 已經被關閉。"; t[338] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[339] = "\u5df2\u8a3b\u518a\u53c3\u6578\u578b\u5225 {0}\uff0c\u4f46\u662f\u53c8\u547c\u53eb\u4e86get{1}(sqltype={2})\u3002"; + t[339] = "已註冊參數型別 {0},但是又呼叫了get{1}(sqltype={2})。"; t[342] = "Transaction isolation level {0} not supported."; - t[343] = "\u4e0d\u652f\u63f4\u4ea4\u6613\u9694\u7d55\u7b49\u7d1a {0} \u3002"; + t[343] = "不支援交易隔絕等級 {0} 。"; t[344] = "Statement has been closed."; - t[345] = "Sstatement \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[345] = "Sstatement 已經被關閉。"; t[352] = "Server SQLState: {0}"; - t[353] = "\u4f3a\u670d\u5668 SQLState\uff1a{0}"; + t[353] = "伺服器 SQLState:{0}"; t[354] = "No primary key found for table {0}."; - t[355] = "{0} \u8cc7\u6599\u8868\u4e2d\u672a\u627e\u5230\u4e3b\u9375(Primary key)\u3002"; + t[355] = "{0} 資料表中未找到主鍵(Primary key)。"; t[362] = "Cannot convert an instance of {0} to type {1}"; - t[363] = "\u7121\u6cd5\u8f49\u63db {0} \u5230\u985e\u578b {1} \u7684\u5be6\u4f8b"; + t[363] = "無法轉換 {0} 到類型 {1} 的實例"; t[364] = "DataSource has been closed."; - t[365] = "DataSource \u5df2\u7d93\u88ab\u95dc\u9589\u3002"; + t[365] = "DataSource 已經被關閉。"; t[368] = "The column name {0} was not found in this ResultSet."; - t[369] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u6b04\u4f4d\u540d\u7a31 {0}\u3002"; + t[369] = "ResultSet 中找不到欄位名稱 {0}。"; t[372] = "ResultSet not positioned properly, perhaps you need to call next."; - t[373] = "\u67e5\u8a62\u7d50\u679c\u6307\u6a19\u4f4d\u7f6e\u4e0d\u6b63\u78ba\uff0c\u60a8\u4e5f\u8a31\u9700\u8981\u547c\u53eb ResultSet \u7684 next() \u65b9\u6cd5\u3002"; + t[373] = "查詢結果指標位置不正確,您也許需要呼叫 ResultSet 的 next() 方法。"; t[378] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[379] = "\u7121\u6cd5\u66f4\u65b0 ResultSet\uff0c\u53ef\u80fd\u5728\u7b2c\u4e00\u7b46\u8cc7\u6599\u4e4b\u524d\u6216\u6700\u672a\u7b46\u8cc7\u6599\u4e4b\u5f8c\u3002"; + t[379] = "無法更新 ResultSet,可能在第一筆資料之前或最未筆資料之後。"; t[380] = "Method {0} is not yet implemented."; - t[381] = "\u9019\u500b {0} \u65b9\u6cd5\u5c1a\u672a\u88ab\u5be6\u4f5c\u3002"; + t[381] = "這個 {0} 方法尚未被實作。"; t[382] = "{0} function takes two or three arguments."; - t[383] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u500b\u6216\u4e09\u500b\u5f15\u6578\u3002"; + t[383] = "{0} 函式取得二個或三個引數。"; t[384] = "The JVM claims not to support the {0} encoding."; - t[385] = "JVM \u8072\u660e\u4e26\u4e0d\u652f\u63f4 {0} \u7de8\u78bc\u3002"; + t[385] = "JVM 聲明並不支援 {0} 編碼。"; t[396] = "Unknown Response Type {0}."; - t[397] = "\u4e0d\u660e\u7684\u56de\u61c9\u985e\u578b {0}\u3002"; + t[397] = "不明的回應類型 {0}。"; t[398] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[399] = "\u53c3\u6578\u7d22\u5f15\u8d85\u51fa\u8a31\u53ef\u7bc4\u570d\uff1a{0}\uff0c\u53c3\u6578\u7e3d\u6578\uff1a{1}\u3002"; + t[399] = "參數索引超出許可範圍:{0},參數總數:{1}。"; t[400] = "Where: {0}"; - t[401] = "\u5728\u4f4d\u7f6e\uff1a{0}"; + t[401] = "在位置:{0}"; t[406] = "Cannot call deleteRow() when on the insert row."; - t[407] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[407] = "不能在新增的資料上呼叫 deleteRow()。"; t[414] = "{0} function takes four and only four argument."; - t[415] = "{0} \u51fd\u5f0f\u53d6\u5f97\u56db\u500b\u4e14\u50c5\u6709\u56db\u500b\u5f15\u6578\u3002"; + t[415] = "{0} 函式取得四個且僅有四個引數。"; t[416] = "Unable to translate data into the desired encoding."; - t[417] = "\u7121\u6cd5\u5c07\u8cc7\u6599\u8f49\u6210\u76ee\u6a19\u7de8\u78bc\u3002"; + t[417] = "無法將資料轉成目標編碼。"; t[424] = "Can''t use relative move methods while on the insert row."; - t[425] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u4f7f\u7528\u76f8\u5c0d\u4f4d\u7f6e move \u65b9\u6cd5\u3002"; + t[425] = "不能在新增的資料列上使用相對位置 move 方法。"; t[434] = "Invalid stream length {0}."; - t[435] = "\u7121\u6548\u7684\u4e32\u6d41\u9577\u5ea6 {0}."; + t[435] = "無效的串流長度 {0}."; t[436] = "The driver currently does not support COPY operations."; - t[437] = "\u9a45\u52d5\u7a0b\u5f0f\u76ee\u524d\u4e0d\u652f\u63f4 COPY \u64cd\u4f5c\u3002"; + t[437] = "驅動程式目前不支援 COPY 操作。"; t[440] = "Maximum number of rows must be a value grater than or equal to 0."; - t[441] = "\u6700\u5927\u8cc7\u6599\u8b80\u53d6\u7b46\u6578\u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0\u3002"; + t[441] = "最大資料讀取筆數必須大於或等於 0。"; t[446] = "Failed to create object for: {0}."; - t[447] = "\u70ba {0} \u5efa\u7acb\u7269\u4ef6\u5931\u6557\u3002"; + t[447] = "為 {0} 建立物件失敗。"; t[448] = "{0} function takes three and only three arguments."; - t[449] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e09\u500b\u4e14\u50c5\u6709\u4e09\u500b\u5f15\u6578\u3002"; + t[449] = "{0} 函式取得三個且僅有三個引數。"; t[450] = "Conversion of interval failed"; - t[451] = "\u9694\u7d55(Interval)\u8f49\u63db\u5931\u6557\u3002"; + t[451] = "隔絕(Interval)轉換失敗。"; t[452] = "Cannot tell if path is open or closed: {0}."; - t[453] = "\u7121\u6cd5\u5f97\u77e5 path \u662f\u958b\u555f\u6216\u95dc\u9589\uff1a{0}\u3002"; + t[453] = "無法得知 path 是開啟或關閉:{0}。"; t[460] = "Provided InputStream failed."; - t[461] = "\u63d0\u4f9b\u7684 InputStream \u5df2\u5931\u6557\u3002"; + t[461] = "提供的 InputStream 已失敗。"; t[462] = "Invalid fetch direction constant: {0}."; - t[463] = "\u7121\u6548\u7684 fetch \u65b9\u5411\u5e38\u6578\uff1a{0}\u3002"; + t[463] = "無效的 fetch 方向常數:{0}。"; t[472] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[473] = "\u4e8b\u7269\u4ea4\u6613\u9694\u7d55(Transaction interleaving)\u672a\u88ab\u5be6\u4f5c\u3002xid={0}, currentXid={1}, state={2}, flags={3}"; + t[473] = "事物交易隔絕(Transaction interleaving)未被實作。xid={0}, currentXid={1}, state={2}, flags={3}"; t[474] = "{0} function takes two and only two arguments."; - t[475] = "{0} \u51fd\u5f0f\u53d6\u5f97\u4e8c\u500b\u4e14\u50c5\u6709\u4e8c\u500b\u5f15\u6578\u3002"; + t[475] = "{0} 函式取得二個且僅有二個引數。"; t[476] = "There are no rows in this ResultSet."; - t[477] = "ResultSet \u4e2d\u627e\u4e0d\u5230\u8cc7\u6599\u5217\u3002"; + t[477] = "ResultSet 中找不到資料列。"; t[478] = "Zero bytes may not occur in string parameters."; - t[479] = "\u5b57\u4e32\u53c3\u6578\u4e0d\u80fd\u6709 0 \u500b\u4f4d\u5143\u7d44\u3002"; + t[479] = "字串參數不能有 0 個位元組。"; t[480] = "Cannot call updateRow() when on the insert row."; - t[481] = "\u4e0d\u80fd\u5728\u65b0\u589e\u7684\u8cc7\u6599\u5217\u4e0a\u547c\u53eb deleteRow()\u3002"; + t[481] = "不能在新增的資料列上呼叫 deleteRow()。"; t[482] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[483] = "Connection \u5df2\u81ea\u52d5\u7d50\u675f\uff0c\u56e0\u70ba\u4e00\u500b\u65b0\u7684 PooledConnection \u9023\u7dda\u88ab\u958b\u555f\u6216\u8005\u6216 PooledConnection \u5df2\u88ab\u95dc\u9589\u3002"; + t[483] = "Connection 已自動結束,因為一個新的 PooledConnection 連線被開啟或者或 PooledConnection 已被關閉。"; t[488] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[489] = "\u4e00\u500b CallableStatement \u57f7\u884c\u51fd\u5f0f\u5f8c\u8f38\u51fa\u7684\u53c3\u6578\u578b\u5225\u70ba {1} \u503c\u70ba {0}\uff0c\u4f46\u662f\u5df2\u8a3b\u518a\u7684\u578b\u5225\u662f {2}\u3002"; + t[489] = "一個 CallableStatement 執行函式後輸出的參數型別為 {1} 值為 {0},但是已註冊的型別是 {2}。"; t[494] = "Cannot cast an instance of {0} to type {1}"; - t[495] = "\u4e0d\u80fd\u8f49\u63db\u4e00\u500b {0} \u5be6\u4f8b\u5230\u578b\u5225 {1}"; + t[495] = "不能轉換一個 {0} 實例到型別 {1}"; t[498] = "Cannot retrieve the id of a named savepoint."; - t[499] = "\u7121\u6cd5\u53d6\u5f97\u5df2\u547d\u540d\u5132\u5b58\u9ede\u7684 id\u3002"; + t[499] = "無法取得已命名儲存點的 id。"; t[500] = "Cannot change transaction read-only property in the middle of a transaction."; - t[501] = "\u4e0d\u80fd\u5728\u4e8b\u7269\u4ea4\u6613\u904e\u7a0b\u4e2d\u6539\u8b8a\u4e8b\u7269\u4ea4\u6613\u552f\u8b80\u5c6c\u6027\u3002"; + t[501] = "不能在事物交易過程中改變事物交易唯讀屬性。"; t[502] = "The server does not support SSL."; - t[503] = "\u4f3a\u670d\u5668\u4e0d\u652f\u63f4 SSL \u9023\u7dda\u3002"; + t[503] = "伺服器不支援 SSL 連線。"; t[510] = "A connection could not be made using the requested protocol {0}."; - t[511] = "\u7121\u6cd5\u4ee5\u8981\u6c42\u7684\u901a\u8a0a\u5354\u5b9a {0} \u5efa\u7acb\u9023\u7dda\u3002"; + t[511] = "無法以要求的通訊協定 {0} 建立連線。"; t[512] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[513] = "\u4e0d\u652f\u63f4 {0} \u9a57\u8b49\u578b\u5225\u3002\u8acb\u6838\u5c0d\u60a8\u5df2\u7d93\u7d44\u614b pg_hba.conf \u6a94\u6848\u5305\u542b\u5ba2\u6236\u7aef\u7684IP\u4f4d\u5740\u6216\u7db2\u8def\u5340\u6bb5\uff0c\u4ee5\u53ca\u9a45\u52d5\u7a0b\u5f0f\u6240\u652f\u63f4\u7684\u9a57\u8b49\u67b6\u69cb\u6a21\u5f0f\u5df2\u88ab\u652f\u63f4\u3002"; + t[513] = "不支援 {0} 驗證型別。請核對您已經組態 pg_hba.conf 檔案包含客戶端的IP位址或網路區段,以及驅動程式所支援的驗證架構模式已被支援。"; t[514] = "Malformed function or procedure escape syntax at offset {0}."; - t[515] = "\u4e0d\u6b63\u78ba\u7684\u51fd\u5f0f\u6216\u7a0b\u5e8f escape \u8a9e\u6cd5\u65bc {0}\u3002"; + t[515] = "不正確的函式或程序 escape 語法於 {0}。"; t[516] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[517] = "\u9019\u4f3a\u670d\u5668\u7684 DateStyle \u53c3\u6578\u88ab\u66f4\u6539\u6210 {0}\uff0cJDBC \u9a45\u52d5\u7a0b\u5f0f\u8acb\u6c42\u9700\u8981 DateStyle \u4ee5 ISO \u958b\u982d\u4ee5\u6b63\u78ba\u5de5\u4f5c\u3002"; + t[517] = "這伺服器的 DateStyle 參數被更改成 {0},JDBC 驅動程式請求需要 DateStyle 以 ISO 開頭以正確工作。"; t[518] = "No results were returned by the query."; - t[519] = "\u67e5\u8a62\u6c92\u6709\u50b3\u56de\u4efb\u4f55\u7d50\u679c\u3002"; + t[519] = "查詢沒有傳回任何結果。"; t[520] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[521] = "\u4f4d\u7f6e\uff1a\u6a94\u6848\uff1a{0}\uff0c\u5e38\u5f0f\uff1a{1}\uff0c\u884c\uff1a{2}"; + t[521] = "位置:檔案:{0},常式:{1},行:{2}"; t[526] = "Hint: {0}"; - t[527] = "\u5efa\u8b70\uff1a{0}"; + t[527] = "建議:{0}"; t[528] = "A CallableStatement was executed with nothing returned."; - t[529] = "\u4e00\u500b CallableStatement \u57f7\u884c\u51fd\u5f0f\u5f8c\u6c92\u6709\u50b3\u56de\u503c\u3002"; + t[529] = "一個 CallableStatement 執行函式後沒有傳回值。"; t[530] = "Unknown ResultSet holdability setting: {0}."; - t[531] = "\u672a\u77e5\u7684 ResultSet \u53ef\u9069\u7528\u7684\u8a2d\u7f6e\uff1a{0}\u3002"; + t[531] = "未知的 ResultSet 可適用的設置:{0}。"; t[540] = "Cannot change transaction isolation level in the middle of a transaction."; - t[541] = "\u4e0d\u80fd\u5728\u4e8b\u52d9\u4ea4\u6613\u904e\u7a0b\u4e2d\u6539\u8b8a\u4e8b\u7269\u4ea4\u6613\u9694\u7d55\u7b49\u7d1a\u3002"; + t[541] = "不能在事務交易過程中改變事物交易隔絕等級。"; t[544] = "The fastpath function {0} is unknown."; - t[545] = "\u4e0d\u660e\u7684 fastpath \u51fd\u5f0f {0}\u3002"; + t[545] = "不明的 fastpath 函式 {0}。"; t[546] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[547] = "\u5728 PreparedStatement \u4e0a\u4e0d\u80fd\u4f7f\u7528\u7372\u53d6\u67e5\u8a62\u5b57\u4e32\u7684\u67e5\u8a62\u65b9\u6cd5\u3002"; + t[547] = "在 PreparedStatement 上不能使用獲取查詢字串的查詢方法。"; t[556] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[557] = "\u64cd\u4f5c\u8981\u6c42\u53ef\u6372\u52d5\u7684 ResultSet\uff0c\u4f46\u6b64 ResultSet \u662f FORWARD_ONLY\u3002"; + t[557] = "操作要求可捲動的 ResultSet,但此 ResultSet 是 FORWARD_ONLY。"; t[564] = "Unknown Types value."; - t[565] = "\u4e0d\u660e\u7684\u578b\u5225\u503c\u3002"; + t[565] = "不明的型別值。"; t[570] = "Large Objects may not be used in auto-commit mode."; - t[571] = "\u5927\u578b\u7269\u4ef6\u7121\u6cd5\u88ab\u4f7f\u7528\u5728\u81ea\u52d5\u78ba\u8a8d\u4e8b\u7269\u4ea4\u6613\u6a21\u5f0f\u3002"; + t[571] = "大型物件無法被使用在自動確認事物交易模式。"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { From 21e126f451df667627c1cc3a0acfb3c38be45ffa Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 23 Jul 2018 10:53:28 +0300 Subject: [PATCH 207/427] fix: typo in "One ore more ClientInfo failed" error message [ci skip] --- pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java | 2 +- pgjdbc/src/main/java/org/postgresql/translation/bg.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/cs.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/de.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/es.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/fr.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/it.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/ja.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/messages.pot | 2 +- pgjdbc/src/main/java/org/postgresql/translation/nl.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/pl.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/ru.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/sr.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/tr.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po | 2 +- pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 7140ab4ab6..2bd09a2add 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -1455,7 +1455,7 @@ public void setClientInfo(Properties properties) throws SQLClientInfoException { } if (!failures.isEmpty()) { - throw new SQLClientInfoException(GT.tr("One ore more ClientInfo failed."), + throw new SQLClientInfoException(GT.tr("One or more ClientInfo failed."), PSQLState.NOT_IMPLEMENTED.getState(), failures); } } diff --git a/pgjdbc/src/main/java/org/postgresql/translation/bg.po b/pgjdbc/src/main/java/org/postgresql/translation/bg.po index 525ee98fae..ff2ee1226e 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/bg.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/bg.po @@ -893,7 +893,7 @@ msgid "ClientInfo property not supported." msgstr "Информацията за ClientInfo не се поддържа." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/cs.po b/pgjdbc/src/main/java/org/postgresql/translation/cs.po index d85e956ea8..c62ea31e3b 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/cs.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/cs.po @@ -852,7 +852,7 @@ msgid "ClientInfo property not supported." msgstr "Vrcen automaticky generovanch kl nen podporovno." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/de.po b/pgjdbc/src/main/java/org/postgresql/translation/de.po index 3c844603d9..d6e5af6ef2 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/de.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/de.po @@ -930,7 +930,7 @@ msgid "ClientInfo property not supported." msgstr "Die ClientInfo-Eigenschaft ist nicht untersttzt." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/es.po b/pgjdbc/src/main/java/org/postgresql/translation/es.po index 8f2d6c97d0..e00f311487 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/es.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/es.po @@ -854,7 +854,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/fr.po b/pgjdbc/src/main/java/org/postgresql/translation/fr.po index bc05ed0968..79b490075e 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/fr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/fr.po @@ -916,7 +916,7 @@ msgid "ClientInfo property not supported." msgstr "Le renvoi des cls automatiquement gnres n''est pas support." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/it.po b/pgjdbc/src/main/java/org/postgresql/translation/it.po index f89a69691a..4ce70160b7 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/it.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/it.po @@ -921,7 +921,7 @@ msgid "ClientInfo property not supported." msgstr "La restituzione di chiavi autogenerate non supportata." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index 2b1d85480b..46e5a439a1 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -889,7 +889,7 @@ msgid "ClientInfo property not supported." msgstr "ClientInfo プロパティはサポートされていません。" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot index 69901a6ac4..da1909758b 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages.pot +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages.pot @@ -833,7 +833,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/nl.po b/pgjdbc/src/main/java/org/postgresql/translation/nl.po index 948559dee0..3af8a9e1a7 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/nl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/nl.po @@ -861,7 +861,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pl.po b/pgjdbc/src/main/java/org/postgresql/translation/pl.po index c684c617ed..9f02517bf3 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pl.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pl.po @@ -877,7 +877,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po index 5d46055476..3f572900af 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/pt_BR.po @@ -906,7 +906,7 @@ msgid "ClientInfo property not supported." msgstr "propriedade ClientInfo não é suportada." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ru.po b/pgjdbc/src/main/java/org/postgresql/translation/ru.po index 717bb9149f..1ead39d7b0 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ru.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ru.po @@ -914,7 +914,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/sr.po b/pgjdbc/src/main/java/org/postgresql/translation/sr.po index 8d54fd03f9..80eb4b1a8a 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/sr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/sr.po @@ -899,7 +899,7 @@ msgid "ClientInfo property not supported." msgstr "ClientInfo property nije podržan." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/tr.po b/pgjdbc/src/main/java/org/postgresql/translation/tr.po index 58f1cd389c..a67071e546 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/tr.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/tr.po @@ -885,7 +885,7 @@ msgid "ClientInfo property not supported." msgstr "Clientinfo property'si desteklenememktedir." #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po index 894b0ed8eb..b0d15339ee 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_CN.po @@ -857,7 +857,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 diff --git a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po index 96f5330f63..6d67cd2bc9 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/zh_TW.po @@ -857,7 +857,7 @@ msgid "ClientInfo property not supported." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1458 -msgid "One ore more ClientInfo failed." +msgid "One or more ClientInfo failed." msgstr "" #: org/postgresql/jdbc/PgConnection.java:1559 From 993a3beba10aed73418340b14f2d3420c8984de5 Mon Sep 17 00:00:00 2001 From: Kyotaro Horiguchi Date: Wed, 25 Jul 2018 04:28:43 +0900 Subject: [PATCH 208/427] fix: Japanese translation (#1275) --- .../java/org/postgresql/translation/ja.po | 610 +++++----- .../postgresql/translation/messages_ja.java | 1030 +++++++++-------- 2 files changed, 885 insertions(+), 755 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/translation/ja.po b/pgjdbc/src/main/java/org/postgresql/translation/ja.po index 46e5a439a1..cc4cadeb82 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/ja.po +++ b/pgjdbc/src/main/java/org/postgresql/translation/ja.po @@ -8,24 +8,24 @@ msgid "" msgstr "" "Project-Id-Version: head-ja\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2010-04-11 22:58+0900\n" -"Last-Translator: Hiroshi Saito \n" +"PO-Revision-Date: 2018-07-23 11:10+0900\n" +"Last-Translator: Kyotaro Horiguchi \n" "Language-Team: PostgreSQL \n" -"Language: \n" +"Language: ja_JP\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.2\n" -"X-Poedit-Language: Japanese\n" -"X-Poedit-Country: Japan\n" +"X-Generator: Poedit 1.5.4\n" #: org/postgresql/Driver.java:217 msgid "Error loading default settings from driverconfig.properties" -msgstr "driverconfig.propertiesによる初期設定のロードエラー。" +msgstr "driverconfig.properties からの初期設定ロード中のエラー" #: org/postgresql/Driver.java:229 msgid "Properties for the driver contains a non-string value for the key " msgstr "" +"このドライバのプロパティでは以下のキーに対して文字列ではない値が設定されてい" +"ます: " #: org/postgresql/Driver.java:272 msgid "" @@ -33,16 +33,15 @@ msgid "" "probably need to grant the connect java.net.SocketPermission to the database " "server host and port that you wish to connect to." msgstr "" -"セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベー" -"ス・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要がありま" -"す。" +"セキュリティ・ポリシーにより、接続が妨げられました。おそらく、接続先のデータ" +"ベースサーバのホストとポートに対して java.net.SocketPermission の connect 権" +"限を許可する必要があります。" #: org/postgresql/Driver.java:278 org/postgresql/Driver.java:410 msgid "" "Something unusual has occurred to cause the driver to fail. Please report " "this exception." -msgstr "" -"ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。" +msgstr "何らかの異常によりドライバが動作できません。この例外を報告して下さい。" #: org/postgresql/Driver.java:418 msgid "Connection attempt timed out." @@ -58,126 +57,130 @@ msgid "Method {0} is not yet implemented." msgstr "{0} メソッドはまだ実装されていません。" #: org/postgresql/PGProperty.java:537 org/postgresql/PGProperty.java:557 -#, fuzzy, java-format +#, java-format msgid "{0} parameter value must be an integer but was: {1}" -msgstr "unknownLengthパラメータ値は整数でなければなりません" +msgstr "" +"パラメータ {0} の値は整数でなければなりませんが指定された値は {1} でした" #: org/postgresql/copy/CopyManager.java:49 #, java-format msgid "Requested CopyIn but got {0}" -msgstr "CopyInを要求しましたが {0} を得ました。" +msgstr "CopyIn を要求しましたが {0} が返却されました" #: org/postgresql/copy/CopyManager.java:60 #, java-format msgid "Requested CopyOut but got {0}" -msgstr "CopyOutを要求しましたが {0} を得ました。" +msgstr "CopyOut を要求しましたが {0} が返却されました" #: org/postgresql/copy/CopyManager.java:71 -#, fuzzy, java-format +#, java-format msgid "Requested CopyDual but got {0}" -msgstr "CopyOutを要求しましたが {0} を得ました。" +msgstr "CopyDualを要求しましたが {0} が返却されました。" #: org/postgresql/copy/PGCopyInputStream.java:51 #, java-format msgid "Copying from database failed: {0}" -msgstr "データベースからコピーに失敗しました: {0}" +msgstr "データベースからのコピーに失敗しました: {0}" #: org/postgresql/copy/PGCopyInputStream.java:67 #: org/postgresql/copy/PGCopyOutputStream.java:94 msgid "This copy stream is closed." -msgstr "コピー・ストリームは閉じられました。" +msgstr "このコピーストリームはクローズされています。" #: org/postgresql/copy/PGCopyInputStream.java:110 msgid "Read from copy failed." -msgstr "copyからの読み取りに失敗しました。" +msgstr "コピーストリームからの読み取りに失敗しました。" #: org/postgresql/copy/PGCopyOutputStream.java:71 #, java-format msgid "Cannot write to copy a byte of value {0}" -msgstr "値{0}のバイトコピーで書き込みができません。" +msgstr "バイト値{0}はコピーストリームへの書き込みはできません" #: org/postgresql/core/CommandCompleteParser.java:71 -#, fuzzy, java-format +#, java-format msgid "Unable to parse the count in command completion tag: {0}." -msgstr "コマンド完了タグの更新数を解釈することができません: {0}" +msgstr "コマンド完了タグのカウントをパースできません: {0}" #: org/postgresql/core/ConnectionFactory.java:57 #, java-format msgid "A connection could not be made using the requested protocol {0}." -msgstr "要求されたプロトコル {0} を使用して接続することができません。" +msgstr "要求されたプロトコル {0} で接続することができませんでした。" #: org/postgresql/core/Oid.java:128 #, java-format msgid "oid type {0} not known and not a number" -msgstr "数値でない、未知のOID型 {0} です。" +msgstr "OID型 {0} は未知でかつ数値でもありません" #: org/postgresql/core/PGStream.java:486 #, java-format msgid "Premature end of input stream, expected {0} bytes, but only read {1}." msgstr "" -"早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読" -"み込まれました。" +"入力ストリームが途中で終了しました、{0} バイトを読み込もうとしましたが、 {1} " +"バイトしかありませんでした。" #: org/postgresql/core/PGStream.java:528 #, java-format msgid "Expected an EOF from server, got: {0}" -msgstr "サーバからの EOF が想定されましたが、{0} を得ました。" +msgstr "サーバからの EOF を期待していましたが、{0} が送られてきました" #: org/postgresql/core/Parser.java:1051 #, java-format msgid "Malformed function or procedure escape syntax at offset {0}." -msgstr "正しくない関数または手続きは、位置 {0} で文法を逸しました。" +msgstr "" +"関数またはプロシージャの間違ったエスケープ構文が位置{0}で見つかりました。" #: org/postgresql/core/SetupQueryRunner.java:64 msgid "An unexpected result was returned by a query." -msgstr "クエリによって想定しない結果が返されました。" +msgstr "クエリが想定外の結果を返却しました。" #: org/postgresql/core/SocketFactoryFactory.java:41 -#, fuzzy, java-format +#, java-format msgid "The SocketFactory class provided {0} could not be instantiated." -msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" +msgstr "渡された SocketFactoryクラス {0} はインスタンス化できませんでした。" #: org/postgresql/core/UTF8Encoding.java:28 #, java-format msgid "" "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}" msgstr "" -"UTF-8シーケンス違反: {1} バイトシーケンスの {0} バイト は、10xxxxxx でありま" -"せん: {2}" +"不正なUTF-8シーケンス: {1} バイトのシーケンス中 {0} バイト目が、10xxxxxx では" +"ありません: {2}" #: org/postgresql/core/UTF8Encoding.java:66 #, java-format msgid "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}" msgstr "" -"UTF-8シーケンス違反: {0} バイトを、 {1} バイト値のエンコードに使いました: {2}" +"不正なUTF-8シーケンス: {1} バイトの値のエンコードに{0} バイト使用しています: " +"{2}" #: org/postgresql/core/UTF8Encoding.java:102 #: org/postgresql/core/UTF8Encoding.java:129 #, java-format msgid "Illegal UTF-8 sequence: initial byte is {0}: {1}" -msgstr "UTF-8シーケンス違反: 初期バイトは、{0}: {1}" +msgstr "不正なUTF-8シーケンス: 先頭バイトが {0}: {1}" #: org/postgresql/core/UTF8Encoding.java:135 #, java-format msgid "Illegal UTF-8 sequence: final value is out of range: {0}" -msgstr "UTF-8シーケンス違反: 最終値が範囲外です: {0}" +msgstr "不正なUTF-8シーケンス: 変換後の値が範囲外です: {0}" #: org/postgresql/core/UTF8Encoding.java:151 #, java-format msgid "Illegal UTF-8 sequence: final value is a surrogate value: {0}" -msgstr "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}" +msgstr "不正なUTF-8シーケンス: 変換後の値がサロゲート値です: {0}" #: org/postgresql/core/Utils.java:93 org/postgresql/core/Utils.java:110 msgid "Zero bytes may not occur in string parameters." -msgstr "ゼロ・バイトを文字列パラメータ中に含めることはできません。" +msgstr "バイト値0を文字列ラメータに含めることはできません。" #: org/postgresql/core/Utils.java:120 org/postgresql/core/Utils.java:170 msgid "No IOException expected from StringBuffer or StringBuilder" msgstr "" +"StringBuffer または StringBuilder からの IOException は想定されていません" #: org/postgresql/core/Utils.java:159 msgid "Zero bytes may not occur in identifiers." -msgstr "ゼロ・バイトを識別子に含めることはできません。" +msgstr "バイト値0を識別子に含めることはできません。" #: org/postgresql/core/v3/CompositeParameterList.java:33 #: org/postgresql/core/v3/SimpleParameterList.java:54 @@ -189,23 +192,23 @@ msgid "The column index is out of range: {0}, number of columns: {1}." msgstr "列インデックスは範囲外です: {0} , 列の数: {1}" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:103 -#, fuzzy, java-format +#, java-format msgid "Invalid sslmode value: {0}" -msgstr "無効な sslmode 値です。{0}." +msgstr "不正な sslmode 値: {0}" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:118 -#, fuzzy, java-format +#, java-format msgid "Invalid targetServerType value: {0}" -msgstr "無効な sslmode 値です。{0}." +msgstr "不正な targetServerType 値です。{0}." #: org/postgresql/core/v3/ConnectionFactoryImpl.java:239 -#, fuzzy, java-format +#, java-format msgid "" "Connection to {0} refused. Check that the hostname and port are correct and " "that the postmaster is accepting TCP/IP connections." msgstr "" -"接続は拒絶されました。ホスト名とポート番号が正しいことと、ポストマスタがTCP/" -"IP接続を受け入れていることを調べて下さい。" +"{0} への接続が拒絶されました。ホスト名とポート番号が正しいことと、postmaster " +"がTCP/IP接続を受け付けていることを確認してください。" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:250 #: org/postgresql/core/v3/replication/V3ReplicationProtocol.java:133 @@ -215,7 +218,7 @@ msgstr "接続試行は失敗しました。" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:265 #, java-format msgid "Could not find a server with specified targetServerType: {0}" -msgstr "" +msgstr "指定された targetServerType のサーバーが見つかりません: {0}" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:361 #: org/postgresql/core/v3/ConnectionFactoryImpl.java:374 @@ -232,14 +235,16 @@ msgid "" "The server requested password-based authentication, but no password was " "provided." msgstr "" -"サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供さ" -"れませんでした。" +"サーバはパスワード・ベースの認証を要求しましたが、パスワードが渡されませんで" +"した。" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:614 msgid "" "SCRAM authentication is not supported by this driver. You need JDK >= 8 and " "pgjdbc >= 42.2.0 (not \".jre\" versions)" msgstr "" +"SCRAM認証はこのドライバではサポートされません。JDK8 以降かつ pgjdbc 42.2.0 以" +"降(\".jre\"のバージョンではありません)が必要です。" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:638 #, java-format @@ -248,9 +253,9 @@ msgid "" "the pg_hba.conf file to include the client''s IP address or subnet, and that " "it is using an authentication scheme supported by the driver." msgstr "" -"認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIP" -"アドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を" -"使っているかを調べてください。" +"認証タイプ {0} はサポートされません。pg_hba.confでクライアントのIPアドレスま" +"たはサブネットの指定があり、そのエントリでこのドライバがサポートする認証機構" +"を使うように設定されていることを確認してください。" #: org/postgresql/core/v3/ConnectionFactoryImpl.java:645 #: org/postgresql/core/v3/QueryExecutorImpl.java:2543 @@ -259,31 +264,31 @@ msgstr "" #: org/postgresql/core/v3/QueryExecutorImpl.java:2648 #: org/postgresql/gss/GssAction.java:126 msgid "Protocol error. Session setup failed." -msgstr "プロトコルエラー。セッション設定は失敗しました。" +msgstr "プロトコルエラー。セッションは準備できませんでした。" #: org/postgresql/core/v3/CopyInImpl.java:49 msgid "CopyIn copy direction can't receive data" -msgstr "" +msgstr "コピー方向 CopyIn はデータを受信できません" #: org/postgresql/core/v3/CopyOperationImpl.java:54 msgid "CommandComplete expected COPY but got: " -msgstr "コマンド完了はCOPYを想定しましたが、次の結果を得ました:" +msgstr "CommandComplete はCOPYを想定しましたが、次の結果が返却されました:" #: org/postgresql/core/v3/QueryExecutorImpl.java:163 msgid "Tried to obtain lock while already holding it" -msgstr "すでに占有している最中のロック取得です。" +msgstr "すでに取得中のロックを取得しようとしました" #: org/postgresql/core/v3/QueryExecutorImpl.java:179 msgid "Tried to break lock on database connection" -msgstr "データベース接続のロック中断を試みます。" +msgstr "データベース接続のロックを破壊しようとしました" #: org/postgresql/core/v3/QueryExecutorImpl.java:197 msgid "Interrupted while waiting to obtain lock on database connection" -msgstr "データベース接続でロック待ちの最中に割り込みがありました。" +msgstr "データベース接続のロック待ちの最中に割り込みがありました" #: org/postgresql/core/v3/QueryExecutorImpl.java:329 msgid "Unable to bind parameter values for statement." -msgstr "ステートメントのパラメータ値をバインドできません。" +msgstr "ステートメントのパラメータ値をバインドできませんでした。" #: org/postgresql/core/v3/QueryExecutorImpl.java:335 #: org/postgresql/core/v3/QueryExecutorImpl.java:487 @@ -292,113 +297,111 @@ msgstr "ステートメントのパラメータ値をバインドできません #: org/postgresql/core/v3/QueryExecutorImpl.java:731 #: org/postgresql/core/v3/QueryExecutorImpl.java:2377 #: org/postgresql/util/StreamWrapper.java:130 -#, fuzzy msgid "An I/O error occurred while sending to the backend." -msgstr "バックエンドに送信中に、入出力エラーが起こりました。" +msgstr "バックエンドへの送信中に、入出力エラーが起こりました。" #: org/postgresql/core/v3/QueryExecutorImpl.java:536 #: org/postgresql/core/v3/QueryExecutorImpl.java:578 #, java-format msgid "Expected command status BEGIN, got {0}." -msgstr "BEGINコマンドステータスを想定しましたが、{0} を得ました。" +msgstr "BEGINコマンドステータスを想定しましたが、{0} が返却されました。" #: org/postgresql/core/v3/QueryExecutorImpl.java:583 #: org/postgresql/jdbc/PgResultSet.java:1778 #, java-format msgid "Unexpected command status: {0}." -msgstr "想定外のコマンドステータス: {0}" +msgstr "想定外のコマンドステータス: {0}。" #: org/postgresql/core/v3/QueryExecutorImpl.java:689 -#, fuzzy msgid "An error occurred while trying to get the socket timeout." -msgstr "バックエンドに送信中に、入出力エラーが起こりました。" +msgstr "ソケットタイムアウト取得中にエラーが発生しました。" #: org/postgresql/core/v3/QueryExecutorImpl.java:724 #: org/postgresql/core/v3/QueryExecutorImpl.java:800 #, java-format msgid "Unknown Response Type {0}." -msgstr "未知の応答型 {0} です。" +msgstr "未知の応答タイプ {0} です。" #: org/postgresql/core/v3/QueryExecutorImpl.java:747 -#, fuzzy msgid "An error occurred while trying to reset the socket timeout." -msgstr "バックエンドに送信中に、入出力エラーが起こりました。" +msgstr "ソケットタイムアウトのリセット中にエラーが発生しました。" #: org/postgresql/core/v3/QueryExecutorImpl.java:845 msgid "Database connection failed when starting copy" -msgstr "コピー開始時のデータベース接続に失敗しました。" +msgstr "コピー開始時のデータベース接続に失敗しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:880 msgid "Tried to cancel an inactive copy operation" -msgstr "動作していないコピー操作の取り消しを試みました。" +msgstr "実行中ではないコピー操作の中断を試みました" #: org/postgresql/core/v3/QueryExecutorImpl.java:919 msgid "Database connection failed when canceling copy operation" -msgstr "コピー操作取り消し時のデータベース接続に失敗しました。" +msgstr "コピー操作中断のためのデータベース接続に失敗しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:935 msgid "Missing expected error response to copy cancel request" -msgstr "コピー取り消し要求のエラー応答を想定しました。" +msgstr "予期していたコピーの中断要求へのエラー応答がありませんでした" #: org/postgresql/core/v3/QueryExecutorImpl.java:939 #, java-format msgid "Got {0} error responses to single copy cancel request" -msgstr "単一copy取り消し要求に {0} エラー応答を得ました。" +msgstr "一つのコピー中断要求にたいして {0} 個のエラー応答が返されました" #: org/postgresql/core/v3/QueryExecutorImpl.java:954 msgid "Tried to end inactive copy" -msgstr "動作していないコピーの終了を試みました。" +msgstr "実行中ではないコピー操作を終了しようとしました" #: org/postgresql/core/v3/QueryExecutorImpl.java:969 msgid "Database connection failed when ending copy" -msgstr "コピー終了時のデータベース接続に失敗しました。" +msgstr "コピー操作の終了中にデータベース接続で異常が発生しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:987 #: org/postgresql/core/v3/QueryExecutorImpl.java:1007 msgid "Tried to write to an inactive copy operation" -msgstr "動作していないコピー操作で書き込みを試みました。" +msgstr "実行中ではないコピー操作に書き込もうとしました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1000 #: org/postgresql/core/v3/QueryExecutorImpl.java:1015 msgid "Database connection failed when writing to copy" -msgstr "コピーへの書き込み時のデータベース接続に失敗しました。" +msgstr "コピーへの書き込み中にデータベース接続で異常が発生しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1030 msgid "Tried to read from inactive copy" -msgstr "動作していないコピーから読み取りを試みました。" +msgstr "実行中ではないコピーから読み取ろうとしました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1037 msgid "Database connection failed when reading from copy" -msgstr "コピーからの読み取り時のデータベース接続に失敗しました。" +msgstr "コピーからの読み取り中にデータベース接続で異常が発生しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1103 #, java-format msgid "Received CommandComplete ''{0}'' without an active copy operation" -msgstr "活動中のコピー操作なしでCommandComplete ''{0}'' を受け取りました。" +msgstr "" +"実行中のコピー操作がないにもかかわらず CommandComplete ''{0}'' を受信しました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1128 #, java-format msgid "Got CopyInResponse from server during an active {0}" -msgstr "活動中のサーバ {0} からCopyInResponseを得ました" +msgstr "{0} を実行中のサーバから CopyInResponse を受け取りました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1142 #, java-format msgid "Got CopyOutResponse from server during an active {0}" -msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" +msgstr "{0} を実行中のサーバから CopyOutResponse を受け取りました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1156 -#, fuzzy, java-format +#, java-format msgid "Got CopyBothResponse from server during an active {0}" -msgstr "活動中のサーバ {0} からCopyOutResponseを得ました" +msgstr "{0} を実行中のサーバから CopyOutResponse を受け取りました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1172 msgid "Got CopyData without an active copy operation" -msgstr "動作中のコピー操作なしでCopyDataを得ました。" +msgstr "実行中のコピー操作がないにもかかわらず CopyData を受け取りました" #: org/postgresql/core/v3/QueryExecutorImpl.java:1176 #, java-format msgid "Unexpected copydata from server for {0}" -msgstr "{0} のサーバからの思いがけない copydata です。" +msgstr "{0} を実行中のサーバからのあり得ない CopyData" #: org/postgresql/core/v3/QueryExecutorImpl.java:1236 #, java-format @@ -411,25 +414,25 @@ msgid "" "Bind message length {0} too long. This can be caused by very large or " "incorrect length specifications on InputStream parameters." msgstr "" -"バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長" -"さ、あるいは不正確な長さが設定されている可能性があります。" +"バインドメッセージ長 {0} は長すぎます。InputStreamのパラメータにとても大きな" +"長さ、あるいは不正確な長さが設定されている可能性があります。" #: org/postgresql/core/v3/QueryExecutorImpl.java:2150 msgid "Ran out of memory retrieving query results." -msgstr "クエリの結果取得にメモリを使い果たしました。" +msgstr "クエリの結果取得中にメモリ不足が起きました。" #: org/postgresql/core/v3/QueryExecutorImpl.java:2318 msgid "The driver currently does not support COPY operations." -msgstr "現在、ドライバはコピー操作をサポートしません。" +msgstr "ドライバはコピー操作をサポートしていません。" #: org/postgresql/core/v3/QueryExecutorImpl.java:2605 -#, fuzzy, java-format +#, java-format msgid "" "The server''s client_encoding parameter was changed to {0}. The JDBC driver " "requires client_encoding to be UTF8 for correct operation." msgstr "" -"サーバのclient_encodingパラメータが {0} に変わりました。JDBCドライバは、正し" -"い操作のためclient_encodingをUNICODEにすることを要求します。" +"サーバの client_encoding パラメータが {0} に変わりました。JDBCドライバが正し" +"く動作するためには、 client_encoding は UTF8 である必要があります。" #: org/postgresql/core/v3/QueryExecutorImpl.java:2615 #, java-format @@ -437,8 +440,8 @@ msgid "" "The server''s DateStyle parameter was changed to {0}. The JDBC driver " "requires DateStyle to begin with ISO for correct operation." msgstr "" -"サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作" -"のためISOで開始するDateStyleを要求します。" +"サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバが正しく動作す" +"るためには、DateStyle が ISO で始まる値である必要があります。" #: org/postgresql/core/v3/QueryExecutorImpl.java:2628 #, java-format @@ -446,8 +449,8 @@ msgid "" "The server''s standard_conforming_strings parameter was reported as {0}. The " "JDBC driver expected on or off." msgstr "" -"サーバのstandard_conforming_stringsパラメータは、{0}として報告されました。" -"JDBCドライバは、on または off を想定します。" +"サーバのstandard_conforming_stringsパラメータは、{0}であると報告されました。" +"JDBCドライバは、on または off を想定しています。" #: org/postgresql/core/v3/SimpleParameterList.java:257 #, java-format @@ -455,39 +458,38 @@ msgid "No value specified for parameter {0}." msgstr "パラメータ {0} に値が設定されてません。" #: org/postgresql/core/v3/SimpleParameterList.java:431 -#, fuzzy, java-format +#, java-format msgid "Added parameters index out of range: {0}, number of columns: {1}." -msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" +msgstr "パラメータ・インデックスは範囲外です: {0} , カラム数: {1}" #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:144 -#, fuzzy, java-format +#, java-format msgid "Unexpected packet type during replication: {0}" -msgstr "コピー中の想定外のパケット型です: {0}" +msgstr "レプリケーション中に想定外のパケット型: {0}" #: org/postgresql/core/v3/replication/V3PGReplicationStream.java:269 -#, fuzzy msgid "This replication stream has been closed." -msgstr "この接続は既に閉じられています。" +msgstr "このレプリケーション接続は既にクローズされています。" #: org/postgresql/ds/PGPooledConnection.java:118 msgid "This PooledConnection has already been closed." -msgstr "PooledConnectionは、すでに閉じられています。" +msgstr "この PooledConnectionは、すでに閉じられています。" #: org/postgresql/ds/PGPooledConnection.java:314 msgid "" "Connection has been closed automatically because a new connection was opened " "for the same PooledConnection or the PooledConnection has been closed." msgstr "" -"同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。また" -"は、PooledConnectionは既に閉じられています。" +"同じ PooledConnection に対して新しい接続をオープンしたか、この " +"PooledConnection がクローズされたため、接続が自動的にクローズされました。" #: org/postgresql/ds/PGPooledConnection.java:315 msgid "Connection has been closed." -msgstr "接続は閉じられました。" +msgstr "接続はクローズされました。" #: org/postgresql/ds/PGPooledConnection.java:420 msgid "Statement has been closed." -msgstr "ステートメントは閉じられました。" +msgstr "ステートメントはクローズされました。" #: org/postgresql/ds/PGPoolingDataSource.java:269 msgid "Failed to setup DataSource." @@ -495,52 +497,52 @@ msgstr "データソースのセットアップに失敗しました。" #: org/postgresql/ds/PGPoolingDataSource.java:371 msgid "DataSource has been closed." -msgstr "データソースは閉じられました。" +msgstr "データソースはクローズされました。" #: org/postgresql/ds/common/BaseDataSource.java:1132 #: org/postgresql/ds/common/BaseDataSource.java:1142 -#, fuzzy, java-format +#, java-format msgid "Unsupported property name: {0}" -msgstr "サポートされない型の値: {0}." +msgstr "サポートされていないプロパティ名: {0}" #: org/postgresql/fastpath/Fastpath.java:84 -#, fuzzy, java-format +#, java-format msgid "Fastpath call {0} - No result was returned and we expected a numeric." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"Fastpath 呼び出し {0} - numeric を想定していましたが、結果は返却されませんで" "した。" #: org/postgresql/fastpath/Fastpath.java:161 #, java-format msgid "Fastpath call {0} - No result was returned and we expected an integer." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" +"Fastpath 呼び出し {0} - integer を想定していましたが、結果は返却されませんで" "した。" #: org/postgresql/fastpath/Fastpath.java:169 -#, fuzzy, java-format +#, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting an " "integer." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"Fastpath 呼び出し {0} - integer を想定していましたが、結果は返却されないかま" +"たは間違った大きさでした。" #: org/postgresql/fastpath/Fastpath.java:186 -#, fuzzy, java-format +#, java-format msgid "Fastpath call {0} - No result was returned and we expected a long." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"Fastpath 呼び出し {0} - long を想定していましたが、結果は返却されませんでし" +"た。" #: org/postgresql/fastpath/Fastpath.java:194 -#, fuzzy, java-format +#, java-format msgid "" "Fastpath call {0} - No result was returned or wrong size while expecting a " "long." msgstr "" -"Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんで" -"した。" +"Fastpath 呼び出し {0} - long を想定していましたが、結果は返却されないかまたは" +"間違った大きさでした。" #: org/postgresql/fastpath/Fastpath.java:297 #, java-format @@ -556,12 +558,12 @@ msgstr "{0} は未知の fastpath 関数です。" #: org/postgresql/geometric/PGpoint.java:76 #, java-format msgid "Conversion to type {0} failed: {1}." -msgstr "{0} への型変換は失敗しました: {1}." +msgstr "{0} への型変換に失敗しました: {1}" #: org/postgresql/geometric/PGpath.java:70 #, java-format msgid "Cannot tell if path is open or closed: {0}." -msgstr "path が オープンしているか、クローズしているか判別できません: {0}" +msgstr "経路が開いているか、閉じているか判別できません: {0}" #: org/postgresql/gss/GssAction.java:137 org/postgresql/gss/MakeGSS.java:66 #: org/postgresql/gss/MakeGSS.java:74 @@ -572,48 +574,50 @@ msgstr "GSS認証は失敗しました。" msgid "" "Truncation of large objects is only implemented in 8.3 and later servers." msgstr "" -"ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。" +"ラージオブジェクトの切り詰めは、バージョン8.3 以降のサーバでのみ実装されてい" +"ます。" #: org/postgresql/jdbc/AbstractBlobClob.java:83 msgid "Cannot truncate LOB to a negative length." -msgstr "負の値でLOBを削除できません。" +msgstr "LOBを負の長さに切り詰めることはできません。" #: org/postgresql/jdbc/AbstractBlobClob.java:90 #: org/postgresql/jdbc/AbstractBlobClob.java:234 #, java-format msgid "PostgreSQL LOBs can only index to: {0}" -msgstr "PostgreSQL LOB は、インデックス {0} までのみ可能です。 " +msgstr "PostgreSQL LOB 上の位置指定は最大 {0} までです" #: org/postgresql/jdbc/AbstractBlobClob.java:230 msgid "LOB positioning offsets start at 1." -msgstr "LOB オフセット開始位置を 1 としてください。" +msgstr "LOB 位置指定のオフセット値は 1 以上です。" #: org/postgresql/jdbc/AbstractBlobClob.java:246 msgid "free() was called on this LOB previously" -msgstr "以前に、このLOBに対するfree() は呼ばれました。" +msgstr "このLOBに対して free() はすでに呼び出し済みです" #: org/postgresql/jdbc/BatchResultHandler.java:92 msgid "Too many update results were returned." -msgstr "多すぎる更新結果が返されました。" +msgstr "返却された更新結果が多すぎます。" #: org/postgresql/jdbc/BatchResultHandler.java:146 -#, fuzzy, java-format +#, java-format msgid "" "Batch entry {0} {1} was aborted: {2} Call getNextException to see other " "errors in the batch." msgstr "" -"バッチ投入 {0} {1} は停止しました。getNextExceptionを呼んで原因を見て下さい。" +"バッチ {0} {1} はアボートしました: {2} このバッチの他のエラーは " +"getNextException を呼び出すことで確認できます。" #: org/postgresql/jdbc/BooleanTypeUtil.java:99 #, java-format msgid "Cannot cast to boolean: \"{0}\"" -msgstr "" +msgstr "boolean へのキャストはできません: \"{0}\"" #: org/postgresql/jdbc/EscapedFunctions.java:240 #: org/postgresql/jdbc/EscapedFunctions2.java:167 #, java-format msgid "{0} function takes four and only four argument." -msgstr "{0} 関数は、四つの引数のみを用います。" +msgstr "{0} 関数はちょうど4個の引数を取ります。" #: org/postgresql/jdbc/EscapedFunctions.java:270 #: org/postgresql/jdbc/EscapedFunctions.java:337 @@ -623,7 +627,7 @@ msgstr "{0} 関数は、四つの引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions2.java:665 #, java-format msgid "{0} function takes two and only two arguments." -msgstr "{0} 関数は、二つの引数のみを用います。" +msgstr "{0} 関数はちょうど2個の引数を取ります。" #: org/postgresql/jdbc/EscapedFunctions.java:288 #: org/postgresql/jdbc/EscapedFunctions.java:441 @@ -637,7 +641,7 @@ msgstr "{0} 関数は、二つの引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions2.java:654 #, java-format msgid "{0} function takes one and only one argument." -msgstr "{0} 関数は、単一の引数のみを用います。" +msgstr "{0} 関数はちょうど1個の引数を取ります。" #: org/postgresql/jdbc/EscapedFunctions.java:312 #: org/postgresql/jdbc/EscapedFunctions.java:386 @@ -645,7 +649,7 @@ msgstr "{0} 関数は、単一の引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions2.java:307 #, java-format msgid "{0} function takes two or three arguments." -msgstr "{0} 関数は、二つ、または三つの引数を用います。" +msgstr "{0} 関数は2個、または3個の引数を取ります。" #: org/postgresql/jdbc/EscapedFunctions.java:411 #: org/postgresql/jdbc/EscapedFunctions.java:426 @@ -654,7 +658,7 @@ msgstr "{0} 関数は、二つ、または三つの引数を用います。" #: org/postgresql/jdbc/EscapedFunctions2.java:645 #, java-format msgid "{0} function doesn''t take any argument." -msgstr "{0} 関数は、どのような引数も用いません。" +msgstr "{0} 関数は引数を取りません。" #: org/postgresql/jdbc/EscapedFunctions.java:586 #: org/postgresql/jdbc/EscapedFunctions.java:639 @@ -662,7 +666,7 @@ msgstr "{0} 関数は、どのような引数も用いません。" #: org/postgresql/jdbc/EscapedFunctions2.java:571 #, java-format msgid "{0} function takes three and only three arguments." -msgstr "{0} 関数は、三つの引数のみを用います。" +msgstr "{0} 関数はちょうど3個の引数を取ります。" #: org/postgresql/jdbc/EscapedFunctions.java:599 #: org/postgresql/jdbc/EscapedFunctions.java:620 @@ -676,31 +680,31 @@ msgstr "{0} 関数は、三つの引数のみを用います。" #: org/postgresql/jdbc/EscapedFunctions2.java:597 #, java-format msgid "Interval {0} not yet implemented" -msgstr "間隔 {0} はまだ実装されていません。" +msgstr "時間間隔 {0} は実装されていません" #: org/postgresql/jdbc/PSQLSavepoint.java:37 #: org/postgresql/jdbc/PSQLSavepoint.java:51 #: org/postgresql/jdbc/PSQLSavepoint.java:69 msgid "Cannot reference a savepoint after it has been released." -msgstr "savepointは、解放された後で参照することはできません。" +msgstr "解放された savepoint は参照できません。" #: org/postgresql/jdbc/PSQLSavepoint.java:42 msgid "Cannot retrieve the id of a named savepoint." -msgstr "名前の付いたsavepointのidを取得することができません。" +msgstr "名前付き savepoint の id は取得できません。" #: org/postgresql/jdbc/PSQLSavepoint.java:56 msgid "Cannot retrieve the name of an unnamed savepoint." -msgstr "名前のないsavepointの名前を取得することができません。" +msgstr "無名 savepoint の名前は取得できません。" #: org/postgresql/jdbc/PgArray.java:155 org/postgresql/jdbc/PgArray.java:842 #, java-format msgid "The array index is out of range: {0}" -msgstr "配列インデックスは、範囲外です: {0}" +msgstr "配列インデックスが範囲外です: {0}" #: org/postgresql/jdbc/PgArray.java:176 org/postgresql/jdbc/PgArray.java:859 #, java-format msgid "The array index is out of range: {0}, number of elements: {1}." -msgstr "配列インデックスは、範囲外です: {0} 、要素の数: {1}" +msgstr "配列インデックスが範囲外です: {0} 、要素の数: {1}" #: org/postgresql/jdbc/PgArray.java:208 #: org/postgresql/jdbc/PgResultSet.java:1930 @@ -712,18 +716,18 @@ msgid "" "was created in. The most common example of this is storing 8bit data in a " "SQL_ASCII database." msgstr "" -"不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字" -"セットにとって無効である文字を含むデータが格納されたことによって引き起こされ" -"ます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。" +"不正な文字データが見つかりました。これはデータベース作成時の文字セットに対し" +"て不正な文字を含むデータが格納されているために起きている可能性が高いです。最" +"も一般的な例は、SQL_ASCIIデータベースに8bitデータが保存されている場合です。" #: org/postgresql/jdbc/PgCallableStatement.java:85 #: org/postgresql/jdbc/PgCallableStatement.java:95 msgid "A CallableStatement was executed with nothing returned." -msgstr "CallableStatementは、戻りなしで実行されました。" +msgstr "CallableStatement が実行されましたがなにも返却されませんでした。" #: org/postgresql/jdbc/PgCallableStatement.java:106 msgid "A CallableStatement was executed with an invalid number of parameters" -msgstr "CallableStatementは、不正な数のパラメータで実行されました。" +msgstr "CallableStatement は不正な数のパラメータで実行されました。" #: org/postgresql/jdbc/PgCallableStatement.java:144 #, java-format @@ -731,16 +735,16 @@ msgid "" "A CallableStatement function was executed and the out parameter {0} was of " "type {1} however type {2} was registered." msgstr "" -"CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しか" -"し、型 {2} が登録されました。" +"CallableStatement 関数が実行され、出力パラメータ {0} は {1} 型 でした。しか" +"し、{2} 型 が登録されました。" #: org/postgresql/jdbc/PgCallableStatement.java:206 msgid "" "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' " "to declare one." msgstr "" -"ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使っ" -"て宣言して下さい。" +"このステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を" +"使って宣言して下さい。" #: org/postgresql/jdbc/PgCallableStatement.java:229 msgid "wasNull cannot be call before fetching a result." @@ -753,7 +757,7 @@ msgid "" "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was " "made." msgstr "" -"型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" +"{0} 型のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されまし" "た。" #: org/postgresql/jdbc/PgCallableStatement.java:407 @@ -766,17 +770,17 @@ msgstr "" #: org/postgresql/jdbc/PgCallableStatement.java:413 msgid "No function outputs were registered." -msgstr "関数出力は登録されませんでした。" +msgstr "関数出力は登録されていません。" #: org/postgresql/jdbc/PgCallableStatement.java:419 msgid "" "Results cannot be retrieved from a CallableStatement before it is executed." -msgstr "実行される前に、CallableStatement から結果を得ることはできません。" +msgstr "実行前の CallableStatement から結果の取得はできません。" #: org/postgresql/jdbc/PgCallableStatement.java:686 -#, fuzzy, java-format +#, java-format msgid "Unsupported type conversion to {1}." -msgstr "サポートされないバイナリエンコーディングです: {0}." +msgstr "{1} への型変換はサポートされていません。" #: org/postgresql/jdbc/PgConnection.java:241 #, java-format @@ -794,12 +798,12 @@ msgstr "サポートされないstringtypeパラメータ値です: {0}" #: org/postgresql/jdbc/TypeInfoCache.java:526 #: org/postgresql/jdbc/TypeInfoCache.java:531 msgid "No results were returned by the query." -msgstr "いかなる結果も、クエリによって返されませんでした。" +msgstr "クエリは結果を返却しませんでした。" #: org/postgresql/jdbc/PgConnection.java:442 #: org/postgresql/jdbc/PgStatement.java:254 msgid "A result was returned when none was expected." -msgstr "結果がないことを想定しましたが、結果が返されました。" +msgstr "ないはずの結果が返却されました。" #: org/postgresql/jdbc/PgConnection.java:547 msgid "Custom type maps are not supported." @@ -808,7 +812,7 @@ msgstr "カスタム型マップはサポートされません。" #: org/postgresql/jdbc/PgConnection.java:589 #, java-format msgid "Failed to create object for: {0}." -msgstr "{0} へのオブジェクト生成に失敗しました。" +msgstr "{0} のオブジェクトの生成に失敗しました。" #: org/postgresql/jdbc/PgConnection.java:643 #, java-format @@ -818,8 +822,7 @@ msgstr "データ型 {1} に対応するクラス{0} をロードできません #: org/postgresql/jdbc/PgConnection.java:705 msgid "" "Cannot change transaction read-only property in the middle of a transaction." -msgstr "" -"トランザクションの最中に読み出し専用プロパティを変えることはできません。" +msgstr "トランザクションの中で read-only プロパティは変更できません。" #: org/postgresql/jdbc/PgConnection.java:772 msgid "Cannot commit when autoCommit is enabled." @@ -829,7 +832,7 @@ msgstr "autoCommit有効時に、明示的なコミットはできません。" #: org/postgresql/jdbc/PgConnection.java:1401 #: org/postgresql/jdbc/PgConnection.java:1445 msgid "This connection has been closed." -msgstr "この接続は既に閉じられています。" +msgstr "このコネクションは既にクローズされています。" #: org/postgresql/jdbc/PgConnection.java:794 msgid "Cannot rollback when autoCommit is enabled." @@ -838,51 +841,51 @@ msgstr "autoCommit有効時に、明示的なロールバックはできませ #: org/postgresql/jdbc/PgConnection.java:844 msgid "" "Cannot change transaction isolation level in the middle of a transaction." -msgstr "トランザクションの最中に隔離レベルを変えることができません。" +msgstr "トランザクションの中でトランザクション分離レベルは変更できません。" #: org/postgresql/jdbc/PgConnection.java:850 #, java-format msgid "Transaction isolation level {0} not supported." -msgstr "トランザクション隔離レベル{0} はサポートされていません。" +msgstr "トランザクション分離レベル{0} はサポートされていません。" #: org/postgresql/jdbc/PgConnection.java:895 msgid "Finalizing a Connection that was never closed:" -msgstr "接続終了で閉じられませんでした:" +msgstr "クローズされていないコネクションの終了処理を行います: " #: org/postgresql/jdbc/PgConnection.java:962 msgid "Unable to translate data into the desired encoding." -msgstr "望む符号化にデータを訳すことができません。" +msgstr "データを指定されたエンコーディングに変換することができません。" #: org/postgresql/jdbc/PgConnection.java:1025 #: org/postgresql/jdbc/PgResultSet.java:1817 #: org/postgresql/jdbc/PgStatement.java:908 msgid "Fetch size must be a value greater to or equal to 0." -msgstr "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。" +msgstr "フェッチサイズは、0または、より大きな値でなくてはなりません。" #: org/postgresql/jdbc/PgConnection.java:1306 #: org/postgresql/jdbc/PgConnection.java:1347 #, java-format msgid "Unable to find server array type for provided name {0}." -msgstr "提供名 {0} で、サーバの配列型を見つけることができません。" +msgstr "指定された名前 {0} のサーバ配列型はありません。" #: org/postgresql/jdbc/PgConnection.java:1329 -#, fuzzy, java-format +#, java-format msgid "Invalid elements {0}" -msgstr "無効なフラグです。{0}" +msgstr "不正な要素です: {0}" #: org/postgresql/jdbc/PgConnection.java:1365 -#, fuzzy, java-format +#, java-format msgid "Invalid timeout ({0}<0)." -msgstr "無効なタイムアウト値です ({0}<0)。" +msgstr "不正なタイムアウト値 ({0}<0)。" #: org/postgresql/jdbc/PgConnection.java:1389 msgid "Validating connection." -msgstr "有効確認の接続" +msgstr "コネクションを検証しています" #: org/postgresql/jdbc/PgConnection.java:1422 -#, fuzzy, java-format +#, java-format msgid "Failed to set ClientInfo property: {0}" -msgstr "ClientInfo プロパティ:{0} の設定に失敗しました。" +msgstr "ClientInfo のプロパティの設定に失敗しました: {0}" #: org/postgresql/jdbc/PgConnection.java:1432 msgid "ClientInfo property not supported." @@ -890,25 +893,24 @@ msgstr "ClientInfo プロパティはサポートされていません。" #: org/postgresql/jdbc/PgConnection.java:1458 msgid "One or more ClientInfo failed." -msgstr "" +msgstr "1つ以上の ClinentInfo で問題が発生しました。" #: org/postgresql/jdbc/PgConnection.java:1559 -#, fuzzy msgid "Network timeout must be a value greater than or equal to 0." -msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" +msgstr "ネットワークタイムアウトは、0またはより大きな値でなくてはなりません。" #: org/postgresql/jdbc/PgConnection.java:1571 msgid "Unable to set network timeout." -msgstr "" +msgstr "ネットワークタイムアウトが設定できません。" #: org/postgresql/jdbc/PgConnection.java:1582 msgid "Unable to get network timeout." -msgstr "" +msgstr "ネットワークタイムアウトが取得できません。" #: org/postgresql/jdbc/PgConnection.java:1599 #, java-format msgid "Unknown ResultSet holdability setting: {0}." -msgstr "未知の ResultSet に対するholdability設定です: {0}" +msgstr "ResultSet の holdability に対する未知の設定値です: {0}" #: org/postgresql/jdbc/PgConnection.java:1617 #: org/postgresql/jdbc/PgConnection.java:1638 @@ -923,18 +925,15 @@ msgstr "自動生成キーを返すことはサポートされていません。 msgid "" "Unable to determine a value for MaxIndexKeys due to missing system catalog " "data." -msgstr "" -"間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができ" -"ません。" +msgstr "システムカタログにデータがないため MaxIndexKeys の値を決定できません。" #: org/postgresql/jdbc/PgDatabaseMetaData.java:82 msgid "Unable to find name datatype in the system catalogs." -msgstr "名前データ型をシステムカタログで見つけることができません。" +msgstr "name データ型がシステムカタログにありません。" #: org/postgresql/jdbc/PgDatabaseMetaData.java:322 -#, fuzzy msgid "Unable to find keywords in the system catalogs." -msgstr "名前データ型をシステムカタログで見つけることができません。" +msgstr "キーワードはシステムカタログにありません。" #: org/postgresql/jdbc/PgDatabaseMetaData.java:1095 msgid "oid" @@ -978,7 +977,7 @@ msgstr "" #: org/postgresql/jdbc/PgParameterMetaData.java:83 #, java-format msgid "The parameter index is out of range: {0}, number of parameters: {1}." -msgstr "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}" +msgstr "パラメータのインデックスが範囲外です: {0} , パラメータ数: {1}" #: org/postgresql/jdbc/PgPreparedStatement.java:94 #: org/postgresql/jdbc/PgPreparedStatement.java:115 @@ -986,11 +985,11 @@ msgstr "パラメータ・インデックスは範囲外です: {0} , パラメ #: org/postgresql/jdbc/PgPreparedStatement.java:1008 msgid "" "Can''t use query methods that take a query string on a PreparedStatement." -msgstr "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。" +msgstr "PreparedStatement でクエリ文字列を取るクエリメソッドは使えません。" #: org/postgresql/jdbc/PgPreparedStatement.java:237 msgid "Unknown Types value." -msgstr "未知の型の値です。" +msgstr "未知の Types の値です。" #: org/postgresql/jdbc/PgPreparedStatement.java:364 #: org/postgresql/jdbc/PgPreparedStatement.java:421 @@ -998,7 +997,7 @@ msgstr "未知の型の値です。" #: org/postgresql/jdbc/PgPreparedStatement.java:1472 #, java-format msgid "Invalid stream length {0}." -msgstr "無効なストリーム長 {0}." +msgstr "不正なストリーム長 {0}。" #: org/postgresql/jdbc/PgPreparedStatement.java:393 #, java-format @@ -1009,7 +1008,7 @@ msgstr "JVMは、エンコーディング {0} をサポートしません。" #: org/postgresql/jdbc/PgResultSet.java:1122 #: org/postgresql/jdbc/PgResultSet.java:1156 msgid "Provided InputStream failed." -msgstr "提供された InputStream は失敗しました。" +msgstr "渡された InputStream で異常が発生しました。" #: org/postgresql/jdbc/PgPreparedStatement.java:442 #: org/postgresql/jdbc/PgPreparedStatement.java:1069 @@ -1027,17 +1026,17 @@ msgstr "hstore 拡張がインストールされてません。" #: org/postgresql/jdbc/PgPreparedStatement.java:646 #, java-format msgid "Cannot cast an instance of {0} to type {1}" -msgstr "インスタンス {0} を型 {1} へキャストできません" +msgstr "{0} のインスタンスは {1} 型へキャストできません" #: org/postgresql/jdbc/PgPreparedStatement.java:664 #, java-format msgid "Unsupported Types value: {0}" -msgstr "サポートされない型の値: {0}." +msgstr "サポートされない Types の値: {0}." #: org/postgresql/jdbc/PgPreparedStatement.java:876 #, java-format msgid "Cannot convert an instance of {0} to type {1}" -msgstr "型 {1} に {0} のインスタンスを変換できません。" +msgstr "{0} のインスタンスは {1} 型に変換できません" #: org/postgresql/jdbc/PgPreparedStatement.java:950 #, java-format @@ -1045,8 +1044,8 @@ msgid "" "Can''t infer the SQL type to use for an instance of {0}. Use setObject() " "with an explicit Types value to specify the type to use." msgstr "" -"インスタンス {0} で使うべきSQL型を推測できません。明確な型値を記述した " -"setObject() を使ってください。" +"{0} のインスタンスに対して使うべきSQL型を推測できません。明示的な Types 引数" +"をとる setObject() で使うべき型を指定してください。" #: org/postgresql/jdbc/PgPreparedStatement.java:1106 #: org/postgresql/jdbc/PgPreparedStatement.java:1206 @@ -1057,12 +1056,12 @@ msgstr "" #: org/postgresql/jdbc/PgPreparedStatement.java:1151 #: org/postgresql/jdbc/PgResultSet.java:1210 msgid "Provided Reader failed." -msgstr "提供された Reader は失敗しました。" +msgstr "渡された Reader で異常が発生しました。" #: org/postgresql/jdbc/PgPreparedStatement.java:1431 #: org/postgresql/util/StreamWrapper.java:56 msgid "Object is too large to send over the protocol." -msgstr "プロトコルで送信するにはオブジェクトが大きすぎます。" +msgstr "オブジェクトが大きすぎてこのプロトコルでは送信できません。" #: org/postgresql/jdbc/PgResultSet.java:280 msgid "" @@ -1079,21 +1078,21 @@ msgstr "" #: org/postgresql/jdbc/PgResultSet.java:624 #: org/postgresql/jdbc/PgResultSet.java:3012 #: org/postgresql/jdbc/PgResultSet.java:3057 -#, fuzzy, java-format +#, java-format msgid "Cannot convert the column of type {0} to requested type {1}." -msgstr "型 {0} の列値を型 {1} に変換できません。" +msgstr "{0}型のカラムの値を指定の型 {1} に変換できませんでした。" #: org/postgresql/jdbc/PgResultSet.java:838 #: org/postgresql/jdbc/PgResultSet.java:859 #: org/postgresql/jdbc/PgResultSet.java:1832 msgid "Can''t use relative move methods while on the insert row." -msgstr "行挿入の最中に関連の動作方法を使うことはできません。" +msgstr "行挿入中に相対移動メソッドは使えません。" #: org/postgresql/jdbc/PgResultSet.java:878 #: org/postgresql/jdbc/PgStatement.java:900 #, java-format msgid "Invalid fetch direction constant: {0}." -msgstr "無効なフェッチ方向の定数です: {0}" +msgstr "不正なフェッチ方向の定数です: {0}" #: org/postgresql/jdbc/PgResultSet.java:889 msgid "Cannot call cancelRowUpdates() when on the insert row." @@ -1108,24 +1107,22 @@ msgid "" "Currently positioned before the start of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -"ResultSetの開始の前に位置していました。ここでdeleteRow()を呼ぶことはできませ" -"ん。" +"RsultSet の開始点より前にいるため、deleteRow() を呼ぶことはできません。" #: org/postgresql/jdbc/PgResultSet.java:918 msgid "" "Currently positioned after the end of the ResultSet. You cannot call " "deleteRow() here." msgstr "" -"ResultSetの終わりの後に位置していました。ここでdeleteRow()を呼ぶことはできま" -"せん。" +"ResultSet の最後尾より後ろにいるため、deleteRow() を呼ぶことはできません。" #: org/postgresql/jdbc/PgResultSet.java:922 msgid "There are no rows in this ResultSet." -msgstr "このResultSetにいかなる行もありません。" +msgstr "このResultSetに行がありません。" #: org/postgresql/jdbc/PgResultSet.java:963 msgid "Not on the insert row." -msgstr "挿入行がありません。" +msgstr "挿入行上にいません。" #: org/postgresql/jdbc/PgResultSet.java:965 msgid "You must specify at least one column value to insert a row." @@ -1141,27 +1138,29 @@ msgstr "JVMでサポートされないエンコーディングです: {0}" #: org/postgresql/jdbc/PgResultSet.java:1261 msgid "Can''t refresh the insert row." -msgstr "挿入行を回復することはできません。" +msgstr "挿入行を再フェッチすることはできません。" #: org/postgresql/jdbc/PgResultSet.java:1328 msgid "Cannot call updateRow() when on the insert row." -msgstr "行を挿入したときに、updateRow() を呼び出すことができません。" +msgstr "挿入行上では updateRow() を呼び出すことができません。" #: org/postgresql/jdbc/PgResultSet.java:1335 #: org/postgresql/jdbc/PgResultSet.java:3074 msgid "" "Cannot update the ResultSet because it is either before the start or after " "the end of the results." -msgstr "開始前もしくは終了後であるため、ResultSetを更新することができません。" +msgstr "" +"開始位置より前もしくは終了位置より後ろであるため、ResultSetを更新することがで" +"きません。" #: org/postgresql/jdbc/PgResultSet.java:1535 msgid "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated." -msgstr "CONCUR_READ_ONLYを伴うResultSetsは更新できません。" +msgstr "CONCUR_READ_ONLYに設定されている ResultSet は更新できません。" #: org/postgresql/jdbc/PgResultSet.java:1603 #, java-format msgid "No primary key found for table {0}." -msgstr "テーブル {0} の主キーがありません。" +msgstr "テーブル {0} には主キーがありません。" #: org/postgresql/jdbc/PgResultSet.java:2017 #: org/postgresql/jdbc/PgResultSet.java:2022 @@ -1178,12 +1177,12 @@ msgstr "テーブル {0} の主キーがありません。" #: org/postgresql/jdbc/PgResultSet.java:3062 #, java-format msgid "Bad value for type {0} : {1}" -msgstr "型 {0} で不正な値 : {1}" +msgstr "型 {0} に対する不正な値 : {1}" #: org/postgresql/jdbc/PgResultSet.java:2593 #, java-format msgid "The column name {0} was not found in this ResultSet." -msgstr "ResultSet に列名 {0} は見つかりませんでした。" +msgstr "この ResultSet に列名 {0} ありません。" #: org/postgresql/jdbc/PgResultSet.java:2729 msgid "" @@ -1191,22 +1190,21 @@ msgid "" "select only one table, and must select all primary keys from that table. See " "the JDBC 2.1 API Specification, section 5.6 for more details." msgstr "" -"ResultSetは変更可能ではありません。この結果セットを生成したクエリは、ただ一つ" -"のテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より" -"多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。" +"ResultSetは更新不可です。この結果セットを生成したクエリは、ただ一つのテーブル" +"を選択して、そのテーブルの全ての主キーを選択する必要があります。詳細に関して" +"は JDBC 2.1 API仕様、章 5.6 を参照して下さい。" #: org/postgresql/jdbc/PgResultSet.java:2741 msgid "This ResultSet is closed." -msgstr "ResultSetは閉じられました。" +msgstr "この ResultSet はクローズされています。" #: org/postgresql/jdbc/PgResultSet.java:2772 msgid "ResultSet not positioned properly, perhaps you need to call next." -msgstr "" -"適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。" +msgstr "適切な位置にいない ResultSetです。おそらく、nextを呼ぶ必要があります。" #: org/postgresql/jdbc/PgResultSet.java:3094 msgid "Invalid UUID data." -msgstr "無効なUUIDデータです。" +msgstr "不正なUUIDデータです。" #: org/postgresql/jdbc/PgResultSet.java:3183 #: org/postgresql/jdbc/PgResultSet.java:3190 @@ -1231,13 +1229,13 @@ msgstr "無効なUUIDデータです。" #: org/postgresql/jdbc/PgResultSet.java:3400 #: org/postgresql/jdbc/PgResultSet.java:3420 #: org/postgresql/jdbc/PgResultSet.java:3433 -#, fuzzy, java-format +#, java-format msgid "conversion to {0} from {1} not supported" -msgstr "トランザクション隔離レベル{0} はサポートされていません。" +msgstr "{1} から {0} への変換はサポートされていません。" #: org/postgresql/jdbc/PgSQLXML.java:147 msgid "Unable to decode xml data." -msgstr "xmlデータを復号化できません。" +msgstr "xmlデータをデコードできません。" #: org/postgresql/jdbc/PgSQLXML.java:150 #, java-format @@ -1276,13 +1274,14 @@ msgstr "バイナリxmlデータのエンコード: {0} への変換に失敗し #: org/postgresql/jdbc/PgSQLXML.java:273 msgid "Unable to convert DOMResult SQLXML data to a string." -msgstr "DOMResult SQLXMLデータを文字列に変えることができません。" +msgstr "DOMResult SQLXMLデータを文字列に変換することができません。" #: org/postgresql/jdbc/PgSQLXML.java:287 msgid "" "This SQLXML object has already been initialized, so you cannot manipulate it " "further." -msgstr "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。" +msgstr "" +"このSQLXMLオブジェクトは既に初期化済みであるため、これ以上操作できません。" #: org/postgresql/jdbc/PgStatement.java:235 msgid "Multiple ResultSets were returned by the query." @@ -1290,23 +1289,23 @@ msgstr "クエリの実行により、複数のResultSetが返されました。 #: org/postgresql/jdbc/PgStatement.java:316 msgid "Can''t use executeWithFlags(int) on a Statement." -msgstr "" +msgstr "executeWithFlags(int) は Statement インスタンスでは使えません。" #: org/postgresql/jdbc/PgStatement.java:509 msgid "Maximum number of rows must be a value grater than or equal to 0." -msgstr "行の最大数は、0に等しいか、より大きな値でなくてはなりません。" +msgstr "行数の制限値は 0またはより大きな値でなくてはなりません。" #: org/postgresql/jdbc/PgStatement.java:555 msgid "Query timeout must be a value greater than or equals to 0." -msgstr "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。" +msgstr "クエリタイムアウトは、0またはより大きな値でなくてはなりません。" #: org/postgresql/jdbc/PgStatement.java:595 msgid "The maximum field size must be a value greater than or equal to 0." -msgstr "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。" +msgstr "最大の項目サイズは、0またはより大きな値でなくてはなりません。" #: org/postgresql/jdbc/PgStatement.java:694 msgid "This statement has been closed." -msgstr "このステートメントは閉じられました。" +msgstr "このステートメントはクローズされています。" #: org/postgresql/jdbc/PgStatement.java:1150 #: org/postgresql/jdbc/PgStatement.java:1178 @@ -1315,44 +1314,44 @@ msgstr "列インデックスで自動生成キーを返すことはサポート #: org/postgresql/jdbc/TimestampUtils.java:365 #: org/postgresql/jdbc/TimestampUtils.java:433 -#, fuzzy, java-format +#, java-format msgid "Bad value for type timestamp/date/time: {1}" -msgstr "型 {0} で不正な値 : {1}" +msgstr "timestamp/date/time 型に対する不正な値: {1}" #: org/postgresql/jdbc/TimestampUtils.java:914 #: org/postgresql/jdbc/TimestampUtils.java:971 #: org/postgresql/jdbc/TimestampUtils.java:1017 #: org/postgresql/jdbc/TimestampUtils.java:1066 -#, fuzzy, java-format +#, java-format msgid "Unsupported binary encoding of {0}." -msgstr "サポートされないバイナリエンコーディングです: {0}." +msgstr "{0} 型に対するサポートされないバイナリエンコーディング。" #: org/postgresql/jre8/sasl/ScramAuthenticator.java:68 msgid "No SCRAM mechanism(s) advertised by the server" -msgstr "" +msgstr "サーバは SCRAM認証機構を広告していません" #: org/postgresql/jre8/sasl/ScramAuthenticator.java:81 msgid "Invalid or unsupported by client SCRAM mechanisms" -msgstr "" +msgstr "不正であるかクライアントのSCRAM機構でサポートされていません" #: org/postgresql/jre8/sasl/ScramAuthenticator.java:119 -#, fuzzy, java-format +#, java-format msgid "Invalid server-first-message: {0}" -msgstr "無効な sslmode 値です。{0}." +msgstr "不正な server-first-message: {0}" #: org/postgresql/jre8/sasl/ScramAuthenticator.java:151 -#, fuzzy, java-format +#, java-format msgid "Invalid server-final-message: {0}" -msgstr "無効な sslmode 値です。{0}." +msgstr "不正な server-final-message: {0}." #: org/postgresql/jre8/sasl/ScramAuthenticator.java:157 #, java-format msgid "SCRAM authentication failed, server returned error: {0}" -msgstr "" +msgstr "スクラム認証が失敗しました、サーバはエラーを返却しました: {0}" #: org/postgresql/jre8/sasl/ScramAuthenticator.java:164 msgid "Invalid server SCRAM signature" -msgstr "" +msgstr "不正なサーバSCRAM署名です" #: org/postgresql/largeobject/LargeObjectManager.java:136 msgid "Failed to initialize LargeObject API" @@ -1364,14 +1363,14 @@ msgid "Large Objects may not be used in auto-commit mode." msgstr "ラージオブジェクトは、自動コミットモードで使うことができません。" #: org/postgresql/osgi/PGDataSourceFactory.java:82 -#, fuzzy, java-format +#, java-format msgid "Unsupported properties: {0}" -msgstr "サポートされない型の値: {0}." +msgstr "サポートされないプロパティ: {0}" #: org/postgresql/ssl/MakeSSL.java:52 #, java-format msgid "The SSLSocketFactory class provided {0} could not be instantiated." -msgstr "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。" +msgstr "渡された SSLSocketFactoryクラス {0} はインスタンス化できませんでした。" #: org/postgresql/ssl/MakeSSL.java:67 #, java-format @@ -1379,50 +1378,52 @@ msgid "SSL error: {0}" msgstr "SSL エラー: {0}" #: org/postgresql/ssl/MakeSSL.java:78 -#, fuzzy, java-format +#, java-format msgid "The HostnameVerifier class provided {0} could not be instantiated." -msgstr "提供されたHostnameVerifierクラス {0} は、即応しないかもしれません。" +msgstr "与えれた HostnameVerifier クラス {0} はインスタンス化できませんした。" #: org/postgresql/ssl/MakeSSL.java:84 #, java-format msgid "The hostname {0} could not be verified by hostnameverifier {1}." -msgstr "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。" +msgstr "ホスト名 {0} は、hostnameverifier {1} で検証できませんでした。" #: org/postgresql/ssl/MakeSSL.java:93 #, java-format msgid "The hostname {0} could not be verified." -msgstr "ホスト名 {0} は確認できませんでした。" +msgstr "ホスト名 {0} は検証できませんでした。" #: org/postgresql/ssl/SingleCertValidatingFactory.java:90 msgid "The sslfactoryarg property may not be empty." -msgstr "" +msgstr "プロパティ sslfactoryarg は空であってはなりません。" #: org/postgresql/ssl/SingleCertValidatingFactory.java:106 msgid "" "The environment variable containing the server's SSL certificate must not be " "empty." -msgstr "" +msgstr "サーバのSSL証明書を指定する環境変数は空であってはなりません。" #: org/postgresql/ssl/SingleCertValidatingFactory.java:114 msgid "" "The system property containing the server's SSL certificate must not be " "empty." msgstr "" +"サーバーのSSL証明書を指定するシステムプロパティは空であってはなりません。" #: org/postgresql/ssl/SingleCertValidatingFactory.java:121 msgid "" "The sslfactoryarg property must start with the prefix file:, classpath:, " "env:, sys:, or -----BEGIN CERTIFICATE-----." msgstr "" +"プロパティ sslfactoryarg の先頭はプリフィクス file:, classpath:, env:, sys: " +"もしくは -----BEGIN CERTIFICATE----- のいずれかでなければなりません。" #: org/postgresql/ssl/SingleCertValidatingFactory.java:133 -#, fuzzy msgid "An error occurred reading the certificate" -msgstr "SSL接続のセットアップ中に、エラーが起こりました。" +msgstr "証明書の読み込み中にエラーが起きました" #: org/postgresql/ssl/SingleCertValidatingFactory.java:166 msgid "No X509TrustManager found" -msgstr "" +msgstr "X509TrustManager が見つかりません" #: org/postgresql/ssl/jdbc4/LazyKeyManager.java:133 msgid "" @@ -1440,7 +1441,7 @@ msgstr "SSL証明書ファイル {0} を開けませんでした。" #: org/postgresql/ssl/jdbc4/LazyKeyManager.java:148 #, java-format msgid "Loading the SSL certificate {0} into a KeyManager failed." -msgstr "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。" +msgstr "SSL証明書 {0} をKeyManagerへ読み込めませんでした。" #: org/postgresql/ssl/jdbc4/LazyKeyManager.java:205 msgid "Enter SSL password: " @@ -1473,14 +1474,15 @@ msgid "Could not find a java cryptographic algorithm: {0}." msgstr "javaの暗号化アルゴリズム {0} を見つけることができませんでした。" #: org/postgresql/ssl/jdbc4/LibPQFactory.java:99 -#, fuzzy, java-format +#, java-format msgid "The password callback class provided {0} could not be instantiated." -msgstr "提供されたpassword callbackクラス {0} は、即応しないかもしれません。" +msgstr "" +"渡されたパスワードコールバッククラス {0} はインスタンス化できませんでした。" #: org/postgresql/ssl/jdbc4/LibPQFactory.java:132 #, java-format msgid "Could not open SSL root certificate file {0}." -msgstr "SSLルート証明書ファイル {0} を開けませんでした。" +msgstr "SSLルート証明書ファイル {0} をオープンできませんでした。" #: org/postgresql/ssl/jdbc4/LibPQFactory.java:147 #, java-format @@ -1490,19 +1492,19 @@ msgstr "SSLルート証明書ファイル {0} を読めませんでした。" #: org/postgresql/ssl/jdbc4/LibPQFactory.java:151 #, java-format msgid "Loading the SSL root certificate {0} into a TrustManager failed." -msgstr "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。" +msgstr "SSLルート証明書 {0} をTrustManagerへ読み込めませんでした。" #: org/postgresql/ssl/jdbc4/LibPQFactory.java:170 msgid "Could not initialize SSL context." -msgstr "SSL contextを初期化できませんでした。" +msgstr "SSLコンテクストを初期化できませんでした。" #: org/postgresql/util/PGInterval.java:152 msgid "Conversion of interval failed" -msgstr "intervalの変換に失敗しました。" +msgstr "時間間隔の変換に失敗しました。" #: org/postgresql/util/PGmoney.java:62 msgid "Conversion of money failed." -msgstr "moneyの変換に失敗しました。" +msgstr "貨幣金額の変換に失敗しました。" #: org/postgresql/util/ServerErrorMessage.java:45 #, java-format @@ -1511,6 +1513,9 @@ msgid "" "readable, please check database logs and/or host, port, dbname, user, " "password, pg_hba.conf)" msgstr "" +"(pgjdbc: server-encoding として {0} を自動検出しました、メッセージが読めない" +"場合はデータベースログおよび host, port, dbname, user, password, pg_dba.conf " +"を確認してください)" #: org/postgresql/util/ServerErrorMessage.java:176 #, java-format @@ -1525,7 +1530,7 @@ msgstr "ヒント: {0}" #: org/postgresql/util/ServerErrorMessage.java:185 #, java-format msgid "Position: {0}" -msgstr "ポジション: {0}" +msgstr "位置: {0}" #: org/postgresql/util/ServerErrorMessage.java:189 #, java-format @@ -1535,12 +1540,12 @@ msgstr "場所: {0}" #: org/postgresql/util/ServerErrorMessage.java:195 #, java-format msgid "Internal Query: {0}" -msgstr "インターナル・クエリ: {0}" +msgstr "内部クエリ: {0}" #: org/postgresql/util/ServerErrorMessage.java:199 #, java-format msgid "Internal Position: {0}" -msgstr "インターナル・ポジション: {0}" +msgstr "内部位置: {0}" #: org/postgresql/util/ServerErrorMessage.java:206 #, java-format @@ -1557,15 +1562,15 @@ msgid "" "Transaction control methods setAutoCommit(true), commit, rollback and " "setSavePoint not allowed while an XA transaction is active." msgstr "" -"トランザクション制御メソッドである setAutoCommit(true), commit, rollback, " -"setSavePoint は、XAトランザクションが有効では利用できません。" +"トランザクション制御メソッド setAutoCommit(true), commit, rollback, " +"setSavePoint は、XAトランザクションが有効である間は利用できません。" #: org/postgresql/xa/PGXAConnection.java:186 #: org/postgresql/xa/PGXAConnection.java:272 #: org/postgresql/xa/PGXAConnection.java:381 #, java-format msgid "Invalid flags {0}" -msgstr "無効なフラグです。{0}" +msgstr "不正なフラグ {0}" #: org/postgresql/xa/PGXAConnection.java:190 #: org/postgresql/xa/PGXAConnection.java:276 @@ -1575,7 +1580,7 @@ msgstr "xidはnullではいけません。" #: org/postgresql/xa/PGXAConnection.java:194 msgid "Connection is busy with another transaction" -msgstr "接続は、別のトランザクションに対応中です。" +msgstr "接続は、別のトランザクションを処理中です" #: org/postgresql/xa/PGXAConnection.java:203 #: org/postgresql/xa/PGXAConnection.java:286 @@ -1590,12 +1595,12 @@ msgid "" "Invalid protocol state requested. Attempted transaction interleaving is not " "supported. xid={0}, currentXid={1}, state={2}, flags={3}" msgstr "" -"Transaction interleaving は実装されていません。xid={0}, currentXid={1}, " -"state={2}, flags={3}" +"不正なプロトコル状態が要求されました。Transaction interleaving を試みましたが" +"実装されていません。xid={0}, currentXid={1}, state={2}, flags={3}" #: org/postgresql/xa/PGXAConnection.java:233 msgid "Error disabling autocommit" -msgstr "自動コミットの無効化エラー" +msgstr "自動コミットの無効化処理中のエラー" #: org/postgresql/xa/PGXAConnection.java:280 #, java-format @@ -1603,21 +1608,21 @@ msgid "" "tried to call end without corresponding start call. state={0}, start " "xid={1}, currentXid={2}, preparedXid={3}" msgstr "" -"対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, " -"currentXid={2}, preparedXid={3}" +"対応する start の呼び出しなしで、end を呼び出しました。state={0}, start " +"xid={1}, currentXid={2}, preparedXid={3}" #: org/postgresql/xa/PGXAConnection.java:326 -#, fuzzy, java-format +#, java-format msgid "" "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}" msgstr "" -"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"すでにプリペアされているトランザクションをプリペアしようとしました、プリペア" +"されている xid={0}, プリペアしようとした xid={1}" #: org/postgresql/xa/PGXAConnection.java:329 #, java-format msgid "Current connection does not have an associated xid. prepare xid={0}" -msgstr "" +msgstr "この接続は xid と関連付けられていません。プリペア xid={0}" #: org/postgresql/xa/PGXAConnection.java:336 #, java-format @@ -1625,13 +1630,13 @@ msgid "" "Not implemented: Prepare must be issued using the same connection that " "started the transaction. currentXid={0}, prepare xid={1}" msgstr "" -"実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わ" -"なくてはなりません。currentXid={0}, prepare xid={1}" +"実装されていません: Prepareは、トランザクションを開始したものと同じコネクショ" +"ンで発行しなくてはなりません。currentXid={0}, prepare xid={1}" #: org/postgresql/xa/PGXAConnection.java:340 #, java-format msgid "Prepare called before end. prepare xid={0}, state={1}" -msgstr "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}" +msgstr "end より前に prepare が呼ばれました prepare xid={0}, state={1}" #: org/postgresql/xa/PGXAConnection.java:360 #, java-format @@ -1640,7 +1645,7 @@ msgstr "トランザクションの準備エラー。prepare xid={0}" #: org/postgresql/xa/PGXAConnection.java:416 msgid "Error during recover" -msgstr "回復中にエラー" +msgstr "recover 処理中のエラー" #: org/postgresql/xa/PGXAConnection.java:480 #, java-format @@ -1648,37 +1653,39 @@ msgid "" "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -"準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, " -"currentXid={2}" +"プリペアドトランザクションのロールバック中のエラー rollback xid={0}, " +"preparedXid={1}, currentXid={2}" #: org/postgresql/xa/PGXAConnection.java:521 #, java-format msgid "" "One-phase commit called for xid {0} but connection was prepared with xid {1}" msgstr "" +"単相コミットが xid {0} に対してよびだされましたが、コネクションは xid {1} と" +"関連付けられています" #: org/postgresql/xa/PGXAConnection.java:529 msgid "" "Not implemented: one-phase commit must be issued using the same connection " "that was used to start it" msgstr "" -"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなけれ" +"実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で発行されなけれ" "ばなりません。" #: org/postgresql/xa/PGXAConnection.java:533 #, java-format msgid "One-phase commit with unknown xid. commit xid={0}, currentXid={1}" -msgstr "" +msgstr "未知の xid の単相コミット。 コミットxid={0}, 現在のxid={1}" #: org/postgresql/xa/PGXAConnection.java:537 #, java-format msgid "commit called before end. commit xid={0}, state={1}" -msgstr "終了の前に COMMIT を呼びました commit xid={0}, state={1}" +msgstr "end の前に COMMIT を呼びました commit xid={0}, state={1}" #: org/postgresql/xa/PGXAConnection.java:548 #, java-format msgid "Error during one-phase commit. commit xid={0}" -msgstr "単一フェーズのCOMMITの最中にエラー commit xid={0}" +msgstr "単一フェーズのCOMMITの処理中のエラー commit xid={0}" #: org/postgresql/xa/PGXAConnection.java:576 msgid "" @@ -1694,10 +1701,11 @@ msgid "" "Error committing prepared transaction. commit xid={0}, preparedXid={1}, " "currentXid={2}" msgstr "" -"準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, " -"currentXid={2}" +"プリペアドトランザクションの COMMIT 処理中のエラー。commit xid={0}, " +"preparedXid={1}, currentXid={2}" #: org/postgresql/xa/PGXAConnection.java:626 #, java-format msgid "Heuristic commit/rollback not supported. forget xid={0}" -msgstr "サポートされない commit/rollback が見つかりました。forget xid={0}" +msgstr "" +"ヒューリスティック commit/rollback はサポートされません。forget xid={0}" diff --git a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java index c656da3e73..41071cec67 100644 --- a/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java +++ b/pgjdbc/src/main/java/org/postgresql/translation/messages_ja.java @@ -3,466 +3,588 @@ public class messages_ja extends java.util.ResourceBundle { private static final java.lang.String[] table; static { - java.lang.String[] t = new java.lang.String[1178]; + java.lang.String[] t = new java.lang.String[1426]; t[0] = ""; - t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2010-04-11 22:58+0900\nLast-Translator: Hiroshi Saito \nLanguage-Team: PostgreSQL \nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: KBabel 1.0.2\nX-Poedit-Language: Japanese\nX-Poedit-Country: Japan\n"; - t[6] = "PostgreSQL LOBs can only index to: {0}"; - t[7] = "PostgreSQL LOB は、インデックス {0} までのみ可能です。 "; - t[14] = "The server does not support SSL."; - t[15] = "サーバはSSLをサポートしていません。"; - t[22] = "Error disabling autocommit"; - t[23] = "自動コミットの無効化エラー"; - t[24] = "Hint: {0}"; - t[25] = "ヒント: {0}"; - t[28] = "Interrupted while attempting to connect."; - t[29] = "接続試行中に割り込みがありました。"; - t[32] = "Can''t use query methods that take a query string on a PreparedStatement."; - t[33] = "PreparedStatementでクエリ文字を持ったクエリメソッドは使えません。"; - t[34] = "Got CopyInResponse from server during an active {0}"; - t[35] = "活動中のサーバ {0} からCopyInResponseを得ました"; - t[38] = "Cannot rollback when autoCommit is enabled."; - t[39] = "autoCommit有効時に、明示的なロールバックはできません。"; - t[46] = "DataSource has been closed."; - t[47] = "データソースは閉じられました。"; - t[54] = "The fastpath function {0} is unknown."; - t[55] = "{0} は未知の fastpath 関数です。"; - t[56] = "The driver currently does not support COPY operations."; - t[57] = "現在、ドライバはコピー操作をサポートしません。"; - t[60] = "Illegal UTF-8 sequence: final value is out of range: {0}"; - t[61] = "UTF-8シーケンス違反: 最終値が範囲外です: {0}"; - t[64] = "Prepare called before end. prepare xid={0}, state={1}"; - t[65] = "終了前に\"Prepare\"が呼ばれました prepare xid={0}, state={1}"; - t[66] = "Internal Query: {0}"; - t[67] = "インターナル・クエリ: {0}"; - t[68] = "An unexpected result was returned by a query."; - t[69] = "クエリによって想定しない結果が返されました。"; - t[82] = "Transaction isolation level {0} not supported."; - t[83] = "トランザクション隔離レベル{0} はサポートされていません。"; - t[88] = "Requested CopyIn but got {0}"; - t[89] = "CopyInを要求しましたが {0} を得ました。"; - t[90] = "Tried to write to an inactive copy operation"; - t[91] = "動作していないコピー操作で書き込みを試みました。"; - t[94] = "{0} function takes four and only four argument."; - t[95] = "{0} 関数は、四つの引数のみを用います。"; - t[98] = "Unable to decode xml data."; - t[99] = "xmlデータを復号化できません。"; + t[1] = "Project-Id-Version: head-ja\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2018-07-23 11:10+0900\nLast-Translator: Kyotaro Horiguchi \nLanguage-Team: PostgreSQL \nLanguage: ja_JP\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 1.5.4\n"; + t[2] = "Method {0} is not yet implemented."; + t[3] = "{0} メソッドはまだ実装されていません。"; + t[10] = "Got {0} error responses to single copy cancel request"; + t[11] = "一つのコピー中断要求にたいして {0} 個のエラー応答が返されました"; + t[26] = "Tried to obtain lock while already holding it"; + t[27] = "すでに取得中のロックを取得しようとしました"; + t[28] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; + t[29] = "不正なプロトコル状態が要求されました。Transaction interleaving を試みましたが実装されていません。xid={0}, currentXid={1}, state={2}, flags={3}"; + t[34] = "Unsupported property name: {0}"; + t[35] = "サポートされていないプロパティ名: {0}"; + t[36] = "Unsupported Types value: {0}"; + t[37] = "サポートされない Types の値: {0}."; + t[44] = "The hostname {0} could not be verified by hostnameverifier {1}."; + t[45] = "ホスト名 {0} は、hostnameverifier {1} で検証できませんでした。"; + t[52] = "Invalid UUID data."; + t[53] = "不正なUUIDデータです。"; + t[54] = "{0} parameter value must be an integer but was: {1}"; + t[55] = "パラメータ {0} の値は整数でなければなりませんが指定された値は {1} でした"; + t[56] = "Copying from database failed: {0}"; + t[57] = "データベースからのコピーに失敗しました: {0}"; + t[58] = "Requested CopyDual but got {0}"; + t[59] = "CopyDualを要求しましたが {0} が返却されました。"; + t[64] = "Multiple ResultSets were returned by the query."; + t[65] = "クエリの実行により、複数のResultSetが返されました。"; + t[76] = "Too many update results were returned."; + t[77] = "返却された更新結果が多すぎます。"; + t[84] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; + t[85] = "システムカタログにデータがないため MaxIndexKeys の値を決定できません。"; + t[90] = "Database connection failed when starting copy"; + t[91] = "コピー開始時のデータベース接続に失敗しました"; + t[94] = "Unknown XML Result class: {0}"; + t[95] = "未知のXML結果クラス: {0}"; t[100] = "The server''s standard_conforming_strings parameter was reported as {0}. The JDBC driver expected on or off."; - t[101] = "サーバのstandard_conforming_stringsパラメータは、{0}として報告されました。JDBCドライバは、on または off を想定します。"; - t[102] = "There are no rows in this ResultSet."; - t[103] = "このResultSetにいかなる行もありません。"; - t[106] = "Server SQLState: {0}"; - t[107] = "サーバ SQLState: {0}"; - t[108] = "This copy stream is closed."; - t[109] = "コピー・ストリームは閉じられました。"; - t[120] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; - t[121] = "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバは、正しい操作のためISOで開始するDateStyleを要求します。"; - t[122] = "Database connection failed when reading from copy"; - t[123] = "コピーからの読み取り時のデータベース接続に失敗しました。"; - t[124] = "Provided InputStream failed."; - t[125] = "提供された InputStream は失敗しました。"; - t[142] = "Could not read SSL root certificate file {0}."; - t[143] = "SSLルート証明書ファイル {0} を読めませんでした。"; - t[144] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; - t[145] = "ResultSetは変更可能ではありません。この結果セットを生成したクエリは、ただ一つのテーブルを選び、そのテーブルから全ての主キーを選ばなくてはいけません。より多くの詳細に関して JDBC 2.1 API仕様、章 5.6 を参照して下さい。"; - t[152] = "The array index is out of range: {0}"; - t[153] = "配列インデックスは、範囲外です: {0}"; - t[154] = "Unexpected command status: {0}."; - t[155] = "想定外のコマンドステータス: {0}"; - t[156] = "Unknown XML Result class: {0}"; - t[157] = "未知のXML結果クラス: {0}"; - t[160] = "Unexpected copydata from server for {0}"; - t[161] = "{0} のサーバからの思いがけない copydata です。"; - t[162] = "Premature end of input stream, expected {0} bytes, but only read {1}."; - t[163] = "早すぎた入力ストリームの終了です。{0} バイトが想定されましたが、 {1} のみが読み込まれました。"; - t[168] = "Database connection failed when canceling copy operation"; - t[169] = "コピー操作取り消し時のデータベース接続に失敗しました。"; - t[174] = "No primary key found for table {0}."; - t[175] = "テーブル {0} の主キーがありません。"; - t[180] = "Enter SSL password: "; - t[181] = "SSLパスワード入力: "; - t[182] = "{0} function takes one and only one argument."; - t[183] = "{0} 関数は、単一の引数のみを用います。"; - t[184] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; - t[185] = "UTF-8シーケンス違反: 初期バイトは、{0}: {1}"; - t[194] = "Could not find a java cryptographic algorithm: X.509 CertificateFactory not available."; - t[195] = "javaの暗号化アルゴリズムを見つけることができませんでした。X.509 CertificateFactory は利用できません。"; - t[204] = "No value specified for parameter {0}."; - t[205] = "パラメータ {0} に値が設定されてません。"; - t[210] = "The hostname {0} could not be verified."; - t[211] = "ホスト名 {0} は確認できませんでした。"; - t[216] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; - t[217] = "開始前もしくは終了後であるため、ResultSetを更新することができません。"; - t[218] = "SSL error: {0}"; - t[219] = "SSL エラー: {0}"; - t[220] = "{0} function doesn''t take any argument."; - t[221] = "{0} 関数は、どのような引数も用いません。"; - t[222] = "Connection is busy with another transaction"; - t[223] = "接続は、別のトランザクションに対応中です。"; - t[228] = "Transaction control methods setAutoCommit(true), commit, rollback and setSavePoint not allowed while an XA transaction is active."; - t[229] = "トランザクション制御メソッドである setAutoCommit(true), commit, rollback, setSavePoint は、XAトランザクションが有効では利用できません。"; - t[234] = "Could not open SSL root certificate file {0}."; - t[235] = "SSLルート証明書ファイル {0} を開けませんでした。"; - t[236] = "Received CommandComplete ''{0}'' without an active copy operation"; - t[237] = "活動中のコピー操作なしでCommandComplete ''{0}'' を受け取りました。"; - t[242] = "free() was called on this LOB previously"; - t[243] = "以前に、このLOBに対するfree() は呼ばれました。"; - t[244] = "The hostname {0} could not be verified by hostnameverifier {1}."; - t[245] = "ホスト名 {0} は、hostnameverifier {1} で確認できませんでした。"; - t[246] = "Heuristic commit/rollback not supported. forget xid={0}"; - t[247] = "サポートされない commit/rollback が見つかりました。forget xid={0}"; - t[252] = "Got CopyOutResponse from server during an active {0}"; - t[253] = "活動中のサーバ {0} からCopyOutResponseを得ました"; - t[258] = "Got {0} error responses to single copy cancel request"; - t[259] = "単一copy取り消し要求に {0} エラー応答を得ました。"; - t[260] = "Read from copy failed."; - t[261] = "copyからの読み取りに失敗しました。"; - t[264] = "Query timeout must be a value greater than or equals to 0."; - t[265] = "クエリタイムアウトは、0に等しいか、より大きな値でなくてはなりません。"; - t[272] = "A result was returned when none was expected."; - t[273] = "結果がないことを想定しましたが、結果が返されました。"; - t[276] = "Database connection failed when starting copy"; - t[277] = "コピー開始時のデータベース接続に失敗しました。"; - t[282] = "Invalid protocol state requested. Attempted transaction interleaving is not supported. xid={0}, currentXid={1}, state={2}, flags={3}"; - t[283] = "Transaction interleaving は実装されていません。xid={0}, currentXid={1}, state={2}, flags={3}"; - t[286] = "Invalid stream length {0}."; - t[287] = "無効なストリーム長 {0}."; - t[300] = "Finalizing a Connection that was never closed:"; - t[301] = "接続終了で閉じられませんでした:"; - t[304] = "Cannot convert an instance of {0} to type {1}"; - t[305] = "型 {1} に {0} のインスタンスを変換できません。"; - t[306] = "A CallableStatement was executed with an invalid number of parameters"; - t[307] = "CallableStatementは、不正な数のパラメータで実行されました。"; - t[308] = "Could not read SSL key file {0}."; - t[309] = "SSL keyファイル {0} を読めませんでした。"; - t[310] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; - t[311] = "UTF-8シーケンス違反: {0} バイトを、 {1} バイト値のエンコードに使いました: {2}"; - t[316] = "Unknown ResultSet holdability setting: {0}."; - t[317] = "未知の ResultSet に対するholdability設定です: {0}"; - t[320] = "Unexpected error writing large object to database."; - t[321] = "データベースへのラージオブジェクト書き込み中に想定外のエラーが起きました。"; - t[324] = "Cannot write to copy a byte of value {0}"; - t[325] = "値{0}のバイトコピーで書き込みができません。"; - t[326] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; - t[327] = "UTF-8シーケンス違反: 最終値がサロゲート値です: {0}"; - t[332] = "Ran out of memory retrieving query results."; - t[333] = "クエリの結果取得にメモリを使い果たしました。"; - t[334] = "The server requested password-based authentication, but no password was provided."; - t[335] = "サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供されませんでした。"; - t[336] = "Large Objects may not be used in auto-commit mode."; - t[337] = "ラージオブジェクトは、自動コミットモードで使うことができません。"; - t[338] = "This ResultSet is closed."; - t[339] = "ResultSetは閉じられました。"; - t[340] = "Returning autogenerated keys by column index is not supported."; - t[341] = "列インデックスで自動生成キーを返すことはサポートされていません。"; - t[348] = "Error during recover"; - t[349] = "回復中にエラー"; - t[350] = "Cannot truncate LOB to a negative length."; - t[351] = "負の値でLOBを削除できません。"; - t[358] = "The column name {0} was not found in this ResultSet."; - t[359] = "ResultSet に列名 {0} は見つかりませんでした。"; - t[372] = "No function outputs were registered."; - t[373] = "関数出力は登録されませんでした。"; - t[374] = "Unknown XML Source class: {0}"; - t[375] = "未知のXMLソースクラス: {0}"; - t[386] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; - t[387] = "CallableStatementは宣言されましたが、registerOutParameter(1, ) は呼び出されませんでした。"; - t[388] = "Connection has been closed."; - t[389] = "接続は閉じられました。"; - t[390] = "The JVM claims not to support the encoding: {0}"; - t[391] = "JVMでサポートされないエンコーディングです: {0}"; - t[392] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; - t[393] = "このSQLXMLオブジェクトは既に初期化されたため、これ以上操作できません。"; - t[404] = "Database connection failed when ending copy"; - t[405] = "コピー終了時のデータベース接続に失敗しました。"; - t[414] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; - t[415] = "実装されていません: Prepareは、トランザクションを開始したときと同じ接続で使わなくてはなりません。currentXid={0}, prepare xid={1}"; - t[418] = "{0} function takes three and only three arguments."; - t[419] = "{0} 関数は、三つの引数のみを用います。"; - t[424] = "Invalid UUID data."; - t[425] = "無効なUUIDデータです。"; - t[428] = "commit called before end. commit xid={0}, state={1}"; - t[429] = "終了の前に COMMIT を呼びました commit xid={0}, state={1}"; - t[430] = "Custom type maps are not supported."; - t[431] = "カスタム型マップはサポートされません。"; - t[436] = "Method {0} is not yet implemented."; - t[437] = "{0} メソッドはまだ実装されていません。"; + t[101] = "サーバのstandard_conforming_stringsパラメータは、{0}であると報告されました。JDBCドライバは、on または off を想定しています。"; + t[102] = "Batch entry {0} {1} was aborted: {2} Call getNextException to see other errors in the batch."; + t[103] = "バッチ {0} {1} はアボートしました: {2} このバッチの他のエラーは getNextException を呼び出すことで確認できます。"; + t[104] = "Protocol error. Session setup failed."; + t[105] = "プロトコルエラー。セッションは準備できませんでした。"; + t[106] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; + t[107] = "このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できません。"; + t[116] = "Bad value for type {0} : {1}"; + t[117] = "型 {0} に対する不正な値 : {1}"; + t[120] = "A CallableStatement was executed with an invalid number of parameters"; + t[121] = "CallableStatement は不正な数のパラメータで実行されました。"; + t[124] = "Error preparing transaction. prepare xid={0}"; + t[125] = "トランザクションの準備エラー。prepare xid={0}"; + t[126] = "Can''t use relative move methods while on the insert row."; + t[127] = "行挿入中に相対移動メソッドは使えません。"; + t[130] = "Failed to create object for: {0}."; + t[131] = "{0} のオブジェクトの生成に失敗しました。"; + t[138] = "Cannot change transaction read-only property in the middle of a transaction."; + t[139] = "トランザクションの中で read-only プロパティは変更できません。"; + t[154] = "{0} function takes three and only three arguments."; + t[155] = "{0} 関数はちょうど3個の引数を取ります。"; + t[158] = "One-phase commit called for xid {0} but connection was prepared with xid {1}"; + t[159] = "単相コミットが xid {0} に対してよびだされましたが、コネクションは xid {1} と関連付けられています"; + t[160] = "Validating connection."; + t[161] = "コネクションを検証しています"; + t[166] = "This replication stream has been closed."; + t[167] = "このレプリケーション接続は既にクローズされています。"; + t[168] = "An error occurred while trying to get the socket timeout."; + t[169] = "ソケットタイムアウト取得中にエラーが発生しました。"; + t[170] = "Conversion of money failed."; + t[171] = "貨幣金額の変換に失敗しました。"; + t[172] = "Provided Reader failed."; + t[173] = "渡された Reader で異常が発生しました。"; + t[174] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[175] = "対応する start の呼び出しなしで、end を呼び出しました。state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; + t[178] = "Got CopyBothResponse from server during an active {0}"; + t[179] = "{0} を実行中のサーバから CopyOutResponse を受け取りました"; + t[186] = "Unknown ResultSet holdability setting: {0}."; + t[187] = "ResultSet の holdability に対する未知の設定値です: {0}"; + t[190] = "Invalid server SCRAM signature"; + t[191] = "不正なサーバSCRAM署名です"; + t[192] = "The server''s client_encoding parameter was changed to {0}. The JDBC driver requires client_encoding to be UTF8 for correct operation."; + t[193] = "サーバの client_encoding パラメータが {0} に変わりました。JDBCドライバが正しく動作するためには、 client_encoding は UTF8 である必要があります。"; + t[198] = "Detail: {0}"; + t[199] = "詳細: {0}"; + t[200] = "Unexpected packet type during copy: {0}"; + t[201] = "コピー中の想定外のパケット型です: {0}"; + t[206] = "Transaction isolation level {0} not supported."; + t[207] = "トランザクション分離レベル{0} はサポートされていません。"; + t[210] = "The server requested password-based authentication, but no password was provided."; + t[211] = "サーバはパスワード・ベースの認証を要求しましたが、パスワードが渡されませんでした。"; + t[214] = "Interrupted while attempting to connect."; + t[215] = "接続試行中に割り込みがありました。"; + t[216] = "Fetch size must be a value greater to or equal to 0."; + t[217] = "フェッチサイズは、0または、より大きな値でなくてはなりません。"; + t[228] = "Added parameters index out of range: {0}, number of columns: {1}."; + t[229] = "パラメータ・インデックスは範囲外です: {0} , カラム数: {1}"; + t[230] = "Could not decrypt SSL key file {0}."; + t[231] = "SSL keyファイル {0} を復号できませんでした。"; + t[242] = "Could not initialize SSL context."; + t[243] = "SSLコンテクストを初期化できませんでした。"; + t[244] = "{0} function takes one and only one argument."; + t[245] = "{0} 関数はちょうど1個の引数を取ります。"; + t[248] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; + t[249] = "{0} 型のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されました。"; + t[258] = "Conversion of interval failed"; + t[259] = "時間間隔の変換に失敗しました。"; + t[262] = "xid must not be null"; + t[263] = "xidはnullではいけません。"; + t[264] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; + t[265] = "セキュリティ・ポリシーにより、接続が妨げられました。おそらく、接続先のデータベースサーバのホストとポートに対して java.net.SocketPermission の connect 権限を許可する必要があります。"; + t[270] = "ClientInfo property not supported."; + t[271] = "ClientInfo プロパティはサポートされていません。"; + t[272] = "LOB positioning offsets start at 1."; + t[273] = "LOB 位置指定のオフセット値は 1 以上です。"; + t[276] = "Tried to write to an inactive copy operation"; + t[277] = "実行中ではないコピー操作に書き込もうとしました"; + t[278] = "suspend/resume not implemented"; + t[279] = "停止/再開 は実装されていません。"; + t[290] = "Transaction control methods setAutoCommit(true), commit, rollback and setSavePoint not allowed while an XA transaction is active."; + t[291] = "トランザクション制御メソッド setAutoCommit(true), commit, rollback, setSavePoint は、XAトランザクションが有効である間は利用できません。"; + t[292] = "Unable to find server array type for provided name {0}."; + t[293] = "指定された名前 {0} のサーバ配列型はありません。"; + t[300] = "Statement has been closed."; + t[301] = "ステートメントはクローズされました。"; + t[302] = "The fastpath function {0} is unknown."; + t[303] = "{0} は未知の fastpath 関数です。"; + t[306] = "The server''s DateStyle parameter was changed to {0}. The JDBC driver requires DateStyle to begin with ISO for correct operation."; + t[307] = "サーバのDateStyleパラメータは、{0} に変わりました。JDBCドライバが正しく動作するためには、DateStyle が ISO で始まる値である必要があります。"; + t[308] = "Invalid flags {0}"; + t[309] = "不正なフラグ {0}"; + t[324] = "A CallableStatement was declared, but no call to registerOutParameter(1, ) was made."; + t[325] = "CallableStatementは宣言されましたが、registerOutParameter(1, ) は呼び出されませんでした。"; + t[328] = "Cannot commit when autoCommit is enabled."; + t[329] = "autoCommit有効時に、明示的なコミットはできません。"; + t[330] = "Database connection failed when writing to copy"; + t[331] = "コピーへの書き込み中にデータベース接続で異常が発生しました"; + t[334] = "Hint: {0}"; + t[335] = "ヒント: {0}"; + t[336] = "Interval {0} not yet implemented"; + t[337] = "時間間隔 {0} は実装されていません"; + t[338] = "No X509TrustManager found"; + t[339] = "X509TrustManager が見つかりません"; + t[346] = "No results were returned by the query."; + t[347] = "クエリは結果を返却しませんでした。"; + t[354] = "Heuristic commit/rollback not supported. forget xid={0}"; + t[355] = "ヒューリスティック commit/rollback はサポートされません。forget xid={0}"; + t[362] = "Fastpath call {0} - No result was returned or wrong size while expecting an integer."; + t[363] = "Fastpath 呼び出し {0} - integer を想定していましたが、結果は返却されないかまたは間違った大きさでした。"; + t[364] = "Cannot cast an instance of {0} to type {1}"; + t[365] = "{0} のインスタンスは {1} 型へキャストできません"; + t[366] = "ResultSet not positioned properly, perhaps you need to call next."; + t[367] = "適切な位置にいない ResultSetです。おそらく、nextを呼ぶ必要があります。"; + t[372] = "Cannot establish a savepoint in auto-commit mode."; + t[373] = "自動コミットモードでsavepointを作成できません。"; + t[374] = "Prepare called before end. prepare xid={0}, state={1}"; + t[375] = "end より前に prepare が呼ばれました prepare xid={0}, state={1}"; + t[382] = "You must specify at least one column value to insert a row."; + t[383] = "行挿入には、最低でも1つの列の値が必要です。"; + t[388] = "Query timeout must be a value greater than or equals to 0."; + t[389] = "クエリタイムアウトは、0またはより大きな値でなくてはなりません。"; + t[394] = "The array index is out of range: {0}, number of elements: {1}."; + t[395] = "配列インデックスが範囲外です: {0} 、要素の数: {1}"; + t[396] = "The parameter index is out of range: {0}, number of parameters: {1}."; + t[397] = "パラメータのインデックスが範囲外です: {0} , パラメータ数: {1}"; + t[400] = "This ResultSet is closed."; + t[401] = "この ResultSet はクローズされています。"; + t[402] = "Cannot update the ResultSet because it is either before the start or after the end of the results."; + t[403] = "開始位置より前もしくは終了位置より後ろであるため、ResultSetを更新することができません。"; + t[404] = "SSL error: {0}"; + t[405] = "SSL エラー: {0}"; + t[408] = "The column name {0} was not found in this ResultSet."; + t[409] = "この ResultSet に列名 {0} ありません。"; + t[412] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; + t[413] = "認証タイプ {0} はサポートされません。pg_hba.confでクライアントのIPアドレスまたはサブネットの指定があり、そのエントリでこのドライバがサポートする認証機構を使うように設定されていることを確認してください。"; + t[440] = "The driver currently does not support COPY operations."; + t[441] = "ドライバはコピー操作をサポートしていません。"; t[442] = "This statement has been closed."; - t[443] = "このステートメントは閉じられました。"; - t[448] = "xid must not be null"; - t[449] = "xidはnullではいけません。"; + t[443] = "このステートメントはクローズされています。"; + t[444] = "Object is too large to send over the protocol."; + t[445] = "オブジェクトが大きすぎてこのプロトコルでは送信できません。"; + t[448] = "oid type {0} not known and not a number"; + t[449] = "OID型 {0} は未知でかつ数値でもありません"; + t[452] = "No hstore extension installed."; + t[453] = "hstore 拡張がインストールされてません。"; t[454] = "Currently positioned after the end of the ResultSet. You cannot call deleteRow() here."; - t[455] = "ResultSetの終わりの後に位置していました。ここでdeleteRow()を呼ぶことはできません。"; - t[456] = "Fastpath call {0} - No result was returned and we expected an integer."; - t[457] = "Fastpath 呼び出し {0} - 整数値を想定しましたが、いかなる結果も返されませんでした。"; - t[464] = "wasNull cannot be call before fetching a result."; - t[465] = "wasNullは、結果フェッチ前に呼び出せません。"; - t[470] = "Unsupported Types value: {0}"; - t[471] = "サポートされない型の値: {0}."; - t[478] = "Unable to find server array type for provided name {0}."; - t[479] = "提供名 {0} で、サーバの配列型を見つけることができません。"; - t[490] = "Position: {0}"; - t[491] = "ポジション: {0}"; - t[492] = "Conversion to type {0} failed: {1}."; - t[493] = "{0} への型変換は失敗しました: {1}."; - t[502] = "Failed to create object for: {0}."; - t[503] = "{0} へのオブジェクト生成に失敗しました。"; - t[504] = "A CallableStatement was executed with nothing returned."; - t[505] = "CallableStatementは、戻りなしで実行されました。"; - t[510] = "Could not read password for SSL key file, console is not available."; - t[511] = "SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。"; - t[514] = "Cannot call cancelRowUpdates() when on the insert row."; - t[515] = "行挿入時に cancelRowUpdates() を呼び出せません。"; - t[518] = "Unable to determine a value for MaxIndexKeys due to missing system catalog data."; - t[519] = "間違ったシステム・カタログ・データのためにMaxIndexKeysの値を決めることができません。"; - t[520] = "Not on the insert row."; - t[521] = "挿入行がありません。"; - t[524] = "The column index is out of range: {0}, number of columns: {1}."; - t[525] = "列インデックスは範囲外です: {0} , 列の数: {1}"; - t[538] = "Unknown Response Type {0}."; - t[539] = "未知の応答型 {0} です。"; + t[455] = "ResultSet の最後尾より後ろにいるため、deleteRow() を呼ぶことはできません。"; + t[462] = "The column index is out of range: {0}, number of columns: {1}."; + t[463] = "列インデックスは範囲外です: {0} , 列の数: {1}"; + t[468] = "Got CopyInResponse from server during an active {0}"; + t[469] = "{0} を実行中のサーバから CopyInResponse を受け取りました"; + t[474] = "Fastpath call {0} - No result was returned and we expected a numeric."; + t[475] = "Fastpath 呼び出し {0} - numeric を想定していましたが、結果は返却されませんでした。"; + t[482] = "An error occurred while setting up the SSL connection."; + t[483] = "SSL接続のセットアップ中に、エラーが起こりました。"; + t[484] = "Could not open SSL certificate file {0}."; + t[485] = "SSL証明書ファイル {0} を開けませんでした。"; + t[490] = "free() was called on this LOB previously"; + t[491] = "このLOBに対して free() はすでに呼び出し済みです"; + t[492] = "Finalizing a Connection that was never closed:"; + t[493] = "クローズされていないコネクションの終了処理を行います: "; + t[494] = "Unsupported properties: {0}"; + t[495] = "サポートされないプロパティ: {0}"; + t[498] = "Interrupted while waiting to obtain lock on database connection"; + t[499] = "データベース接続のロック待ちの最中に割り込みがありました"; + t[504] = "The HostnameVerifier class provided {0} could not be instantiated."; + t[505] = "与えれた HostnameVerifier クラス {0} はインスタンス化できませんした。"; + t[506] = "Unable to create SAXResult for SQLXML."; + t[507] = "SQLXMLに対するSAXResultを生成できません。"; + t[508] = "The SSLSocketFactory class provided {0} could not be instantiated."; + t[509] = "渡された SSLSocketFactoryクラス {0} はインスタンス化できませんでした。"; + t[510] = "The server does not support SSL."; + t[511] = "サーバはSSLをサポートしていません。"; + t[516] = "Got CopyData without an active copy operation"; + t[517] = "実行中のコピー操作がないにもかかわらず CopyData を受け取りました"; + t[518] = "Error during one-phase commit. commit xid={0}"; + t[519] = "単一フェーズのCOMMITの処理中のエラー commit xid={0}"; + t[522] = "Network timeout must be a value greater than or equal to 0."; + t[523] = "ネットワークタイムアウトは、0またはより大きな値でなくてはなりません。"; + t[532] = "Unsupported type conversion to {1}."; + t[533] = "{1} への型変換はサポートされていません。"; + t[534] = "Premature end of input stream, expected {0} bytes, but only read {1}."; + t[535] = "入力ストリームが途中で終了しました、{0} バイトを読み込もうとしましたが、 {1} バイトしかありませんでした。"; + t[536] = "Zero bytes may not occur in string parameters."; + t[537] = "バイト値0を文字列ラメータに含めることはできません。"; + t[538] = "This connection has been closed."; + t[539] = "このコネクションは既にクローズされています。"; t[540] = "Cannot call deleteRow() when on the insert row."; t[541] = "行挿入時に deleteRow() を呼び出せません。"; - t[544] = "Provided Reader failed."; - t[545] = "提供された Reader は失敗しました。"; - t[552] = "Could not initialize SSL context."; - t[553] = "SSL contextを初期化できませんでした。"; - t[554] = "Unable to load the class {0} responsible for the datatype {1}"; - t[555] = "データ型 {1} に対応するクラス{0} をロードできません。"; + t[544] = "Unable to bind parameter values for statement."; + t[545] = "ステートメントのパラメータ値をバインドできませんでした。"; + t[552] = "Cannot convert an instance of {0} to type {1}"; + t[553] = "{0} のインスタンスは {1} 型に変換できません"; + t[554] = "Conversion to type {0} failed: {1}."; + t[555] = "{0} への型変換に失敗しました: {1}"; + t[556] = "Error loading default settings from driverconfig.properties"; + t[557] = "driverconfig.properties からの初期設定ロード中のエラー"; t[558] = "Expected command status BEGIN, got {0}."; - t[559] = "BEGINコマンドステータスを想定しましたが、{0} を得ました。"; - t[564] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; - t[565] = "CallableStatement機能が実行され、出力パラメータ {0} は、型 {1} でした。しかし、型 {2} が登録されました。"; - t[572] = "No hstore extension installed."; - t[573] = "hstore 拡張がインストールされてません。"; - t[580] = "Error during one-phase commit. commit xid={0}"; - t[581] = "単一フェーズのCOMMITの最中にエラー commit xid={0}"; - t[594] = "Unsupported value for stringtype parameter: {0}"; - t[595] = "サポートされないstringtypeパラメータ値です: {0}"; - t[600] = "This connection has been closed."; - t[601] = "この接続は既に閉じられています。"; - t[608] = "Could not open SSL certificate file {0}."; - t[609] = "SSL証明書ファイル {0} を開けませんでした。"; - t[612] = "CommandComplete expected COPY but got: "; - t[613] = "コマンド完了はCOPYを想定しましたが、次の結果を得ました:"; - t[616] = "Failed to convert binary xml data to encoding: {0}."; - t[617] = "バイナリxmlデータのエンコード: {0} への変換に失敗しました。"; - t[630] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; - t[631] = "ドライバの失敗を引き起こす異常が起こりました。この例外を報告して下さい。"; - t[636] = "Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to."; - t[637] = "セキュリティ・ポリシーにより、接続試行は妨げられました。おそらく、データベース・サーバ・ホスト接続のためjava.net.SocketPermissionを許可する必要があります。"; - t[638] = "Statement has been closed."; - t[639] = "ステートメントは閉じられました。"; - t[640] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; - t[641] = "同じPooledConnectionが開かれたので新しい接続は自動的に閉じられました。または、PooledConnectionは既に閉じられています。"; - t[642] = "Cannot cast an instance of {0} to type {1}"; - t[643] = "インスタンス {0} を型 {1} へキャストできません"; - t[646] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; - t[647] = "操作は、スクロール可能なResultSetを必要としますが、このResultSetは、 FORWARD_ONLYです。"; - t[662] = "Zero bytes may not occur in identifiers."; - t[663] = "ゼロ・バイトを識別子に含めることはできません。"; - t[664] = "Unable to convert DOMResult SQLXML data to a string."; - t[665] = "DOMResult SQLXMLデータを文字列に変えることができません。"; - t[678] = "Cannot change transaction isolation level in the middle of a transaction."; - t[679] = "トランザクションの最中に隔離レベルを変えることができません。"; - t[680] = "Error loading default settings from driverconfig.properties"; - t[681] = "driverconfig.propertiesによる初期設定のロードエラー。"; - t[686] = "Unable to create SAXResult for SQLXML."; - t[687] = "SQLXMLに対するSAXResultを生成できません。"; - t[692] = "Unable to find name datatype in the system catalogs."; - t[693] = "名前データ型をシステムカタログで見つけることができません。"; - t[696] = "oid type {0} not known and not a number"; - t[697] = "数値でない、未知のOID型 {0} です。"; - t[700] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; - t[701] = "準備トランザクションのコミットエラー。commit xid={0}, preparedXid={1}, currentXid={2}"; - t[706] = "LOB positioning offsets start at 1."; - t[707] = "LOB オフセット開始位置を 1 としてください。"; - t[712] = "Invalid fetch direction constant: {0}."; - t[713] = "無効なフェッチ方向の定数です: {0}"; - t[716] = "Returning autogenerated keys is not supported."; - t[717] = "自動生成キーを返すことはサポートされていません。"; - t[732] = "Cannot commit when autoCommit is enabled."; - t[733] = "autoCommit有効時に、明示的なコミットはできません。"; - t[734] = "Loading the SSL certificate {0} into a KeyManager failed."; - t[735] = "SSL証明書 {0} のKeyManagerへの読み込みに失敗しました。"; - t[738] = "ResultSet not positioned properly, perhaps you need to call next."; - t[739] = "適切な位置を指していないResultSetです。おそらく、nextを呼ぶ必要があります。"; - t[746] = "Interrupted while waiting to obtain lock on database connection"; - t[747] = "データベース接続でロック待ちの最中に割り込みがありました。"; - t[754] = "Failed to setup DataSource."; - t[755] = "データソースのセットアップに失敗しました。"; - t[758] = "Too many update results were returned."; - t[759] = "多すぎる更新結果が返されました。"; - t[762] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; - t[763] = "CONCUR_READ_ONLYを伴うResultSetsは更新できません。"; - t[770] = "Internal Position: {0}"; - t[771] = "インターナル・ポジション: {0}"; - t[786] = "Unknown Types value."; - t[787] = "未知の型の値です。"; - t[788] = "This SQLXML object has not been initialized, so you cannot retrieve data from it."; - t[789] = "このSQLXMLオブジェクトは初期化されてなかったため、そこからデータを取得できません。"; - t[790] = "Missing expected error response to copy cancel request"; - t[791] = "コピー取り消し要求のエラー応答を想定しました。"; - t[792] = "An error occurred while setting up the SSL connection."; - t[793] = "SSL接続のセットアップ中に、エラーが起こりました。"; - t[794] = "Cannot retrieve the id of a named savepoint."; - t[795] = "名前の付いたsavepointのidを取得することができません。"; - t[796] = "Unable to translate data into the desired encoding."; - t[797] = "望む符号化にデータを訳すことができません。"; - t[802] = "Failed to initialize LargeObject API"; - t[803] = "ラージオブジェクトAPIの初期化に失敗しました。"; - t[806] = "Parameter of type {0} was registered, but call to get{1} (sqltype={2}) was made."; - t[807] = "型 {0} のパラメータが登録されましたが、get{1} (sqltype={2}) が呼び出されました。"; - t[814] = "Where: {0}"; - t[815] = "場所: {0}"; - t[826] = "Got CopyData without an active copy operation"; - t[827] = "動作中のコピー操作なしでCopyDataを得ました。"; - t[828] = "Unable to create StAXResult for SQLXML"; - t[829] = "SQLXMLに対するStAXResultを生成できません。"; - t[832] = "Tried to cancel an inactive copy operation"; - t[833] = "動作していないコピー操作の取り消しを試みました。"; - t[844] = "{0} function takes two or three arguments."; - t[845] = "{0} 関数は、二つ、または三つの引数を用います。"; - t[846] = "Zero bytes may not occur in string parameters."; - t[847] = "ゼロ・バイトを文字列パラメータ中に含めることはできません。"; - t[852] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; - t[853] = "バインドメッセージ長 {0} は長すぎます。InputStreamパラメータにとても大きな長さ、あるいは不正確な長さが設定されている可能性があります。"; - t[854] = "tried to call end without corresponding start call. state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[855] = "対応する開始呼び出しなしで、終了呼び出しました。state={0}, start xid={1}, currentXid={2}, preparedXid={3}"; - t[856] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; - t[857] = "UTF-8シーケンス違反: {1} バイトシーケンスの {0} バイト は、10xxxxxx でありません: {2}"; - t[860] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[861] = "実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりません。xid={0}, currentXid={1}, state={2], transactionState={3}"; - t[878] = "Can''t refresh the insert row."; - t[879] = "挿入行を回復することはできません。"; - t[880] = "This SQLXML object has already been freed."; - t[881] = "このSQLXMLオブジェクトはすでに解放されています。"; - t[882] = "Cannot change transaction read-only property in the middle of a transaction."; - t[883] = "トランザクションの最中に読み出し専用プロパティを変えることはできません。"; - t[886] = "The parameter index is out of range: {0}, number of parameters: {1}."; - t[887] = "パラメータ・インデックスは範囲外です: {0} , パラメータ数: {1}"; - t[896] = "Results cannot be retrieved from a CallableStatement before it is executed."; - t[897] = "実行される前に、CallableStatement から結果を得ることはできません。"; - t[898] = "Fetch size must be a value greater to or equal to 0."; - t[899] = "フェッチサイズは、0に等しいか、より大きな値でなくてはなりません。"; - t[904] = "Maximum number of rows must be a value grater than or equal to 0."; - t[905] = "行の最大数は、0に等しいか、より大きな値でなくてはなりません。"; - t[914] = "The connection attempt failed."; - t[915] = "接続試行は失敗しました。"; - t[926] = "Error preparing transaction. prepare xid={0}"; - t[927] = "トランザクションの準備エラー。prepare xid={0}"; - t[930] = "Tried to end inactive copy"; - t[931] = "動作していないコピーの終了を試みました。"; - t[942] = "Expected an EOF from server, got: {0}"; - t[943] = "サーバからの EOF が想定されましたが、{0} を得ました。"; - t[944] = "This PooledConnection has already been closed."; - t[945] = "PooledConnectionは、すでに閉じられています。"; - t[946] = "Cannot retrieve the name of an unnamed savepoint."; - t[947] = "名前のないsavepointの名前を取得することができません。"; - t[948] = "Tried to break lock on database connection"; - t[949] = "データベース接続のロック中断を試みます。"; - t[950] = "Database connection failed when writing to copy"; - t[951] = "コピーへの書き込み時のデータベース接続に失敗しました。"; - t[952] = "The array index is out of range: {0}, number of elements: {1}."; - t[953] = "配列インデックスは、範囲外です: {0} 、要素の数: {1}"; - t[954] = "Unknown type {0}."; - t[955] = "未知の型 {0}."; - t[956] = "Interval {0} not yet implemented"; - t[957] = "間隔 {0} はまだ実装されていません。"; - t[966] = "No results were returned by the query."; - t[967] = "いかなる結果も、クエリによって返されませんでした。"; - t[970] = "The SSLSocketFactory class provided {0} could not be instantiated."; - t[971] = "提供のSSLSocketFactoryクラス {0} は、即応しないかもしれません。"; - t[972] = "Malformed function or procedure escape syntax at offset {0}."; - t[973] = "正しくない関数または手続きは、位置 {0} で文法を逸しました。"; - t[978] = "Unable to bind parameter values for statement."; - t[979] = "ステートメントのパラメータ値をバインドできません。"; - t[986] = "{0} function takes two and only two arguments."; - t[987] = "{0} 関数は、二つの引数のみを用います。"; - t[992] = "A connection could not be made using the requested protocol {0}."; - t[993] = "要求されたプロトコル {0} を使用して接続することができません。"; - t[994] = "Connection attempt timed out."; - t[995] = "接続試行がタイムアウトしました。"; - t[998] = "Protocol error. Session setup failed."; - t[999] = "プロトコルエラー。セッション設定は失敗しました。"; - t[1002] = "Multiple ResultSets were returned by the query."; - t[1003] = "クエリの実行により、複数のResultSetが返されました。"; - t[1004] = "Detail: {0}"; - t[1005] = "詳細: {0}"; - t[1006] = "Object is too large to send over the protocol."; - t[1007] = "プロトコルで送信するにはオブジェクトが大きすぎます。"; - t[1008] = "Requested CopyOut but got {0}"; - t[1009] = "CopyOutを要求しましたが {0} を得ました。"; - t[1012] = "Could not find a java cryptographic algorithm: {0}."; - t[1013] = "javaの暗号化アルゴリズム {0} を見つけることができませんでした。"; - t[1018] = "Tried to obtain lock while already holding it"; - t[1019] = "すでに占有している最中のロック取得です。"; - t[1020] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; - t[1021] = "ResultSetの開始の前に位置していました。ここでdeleteRow()を呼ぶことはできません。"; - t[1022] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[1023] = "準備トランザクションのロールバックエラー rollback xid={0}, preparedXid={1}, currentXid={2}"; - t[1028] = "Validating connection."; - t[1029] = "有効確認の接続"; - t[1034] = "You must specify at least one column value to insert a row."; - t[1035] = "行挿入には、最低でも1つの列の値が必要です。"; - t[1036] = "The JVM claims not to support the {0} encoding."; - t[1037] = "JVMは、エンコーディング {0} をサポートしません。"; - t[1038] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; - t[1039] = "実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で実行されなければなりません。"; - t[1040] = "Invalid flags {0}"; - t[1041] = "無効なフラグです。{0}"; - t[1046] = "Bad value for type {0} : {1}"; - t[1047] = "型 {0} で不正な値 : {1}"; - t[1054] = "Cannot establish a savepoint in auto-commit mode."; - t[1055] = "自動コミットモードでsavepointを作成できません。"; - t[1056] = "Could not decrypt SSL key file {0}."; - t[1057] = "SSL keyファイル {0} を復号できませんでした。"; - t[1064] = "Cannot call updateRow() when on the insert row."; - t[1065] = "行を挿入したときに、updateRow() を呼び出すことができません。"; - t[1068] = "Unexpected packet type during copy: {0}"; - t[1069] = "コピー中の想定外のパケット型です: {0}"; - t[1072] = "Conversion of interval failed"; - t[1073] = "intervalの変換に失敗しました。"; - t[1076] = "GSS Authentication failed"; - t[1077] = "GSS認証は失敗しました。"; - t[1084] = "Tried to read from inactive copy"; - t[1085] = "動作していないコピーから読み取りを試みました。"; - t[1088] = "Location: File: {0}, Routine: {1}, Line: {2}"; - t[1089] = "場所: ファイル: {0}, ルーチン: {1},行: {2}"; - t[1098] = "suspend/resume not implemented"; - t[1099] = "停止/再開 は実装されていません。"; + t[559] = "BEGINコマンドステータスを想定しましたが、{0} が返却されました。"; + t[564] = "An unexpected result was returned by a query."; + t[565] = "クエリが想定外の結果を返却しました。"; + t[568] = "Something unusual has occurred to cause the driver to fail. Please report this exception."; + t[569] = "何らかの異常によりドライバが動作できません。この例外を報告して下さい。"; + t[576] = "One or more ClientInfo failed."; + t[577] = "1つ以上の ClinentInfo で問題が発生しました。"; + t[578] = "Location: File: {0}, Routine: {1}, Line: {2}"; + t[579] = "場所: ファイル: {0}, ルーチン: {1},行: {2}"; + t[582] = "Unknown type {0}."; + t[583] = "未知の型 {0}."; + t[590] = "This SQLXML object has already been freed."; + t[591] = "このSQLXMLオブジェクトはすでに解放されています。"; + t[594] = "Unexpected copydata from server for {0}"; + t[595] = "{0} を実行中のサーバからのあり得ない CopyData"; + t[596] = "{0} function takes two or three arguments."; + t[597] = "{0} 関数は2個、または3個の引数を取ります。"; + t[602] = "Connection to {0} refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."; + t[603] = "{0} への接続が拒絶されました。ホスト名とポート番号が正しいことと、postmaster がTCP/IP接続を受け付けていることを確認してください。"; + t[612] = "Unsupported binary encoding of {0}."; + t[613] = "{0} 型に対するサポートされないバイナリエンコーディング。"; + t[616] = "Returning autogenerated keys is not supported."; + t[617] = "自動生成キーを返すことはサポートされていません。"; + t[620] = "Provided InputStream failed."; + t[621] = "渡された InputStream で異常が発生しました。"; + t[626] = "No IOException expected from StringBuffer or StringBuilder"; + t[627] = "StringBuffer または StringBuilder からの IOException は想定されていません"; + t[638] = "Not implemented: one-phase commit must be issued using the same connection that was used to start it"; + t[639] = "実装されていません: 単一フェーズのCOMMITは、開始時と同じ接続で発行されなければなりません。"; + t[640] = "Cannot reference a savepoint after it has been released."; + t[641] = "解放された savepoint は参照できません。"; + t[642] = "Ran out of memory retrieving query results."; + t[643] = "クエリの結果取得中にメモリ不足が起きました。"; + t[654] = "No primary key found for table {0}."; + t[655] = "テーブル {0} には主キーがありません。"; + t[658] = "Error during recover"; + t[659] = "recover 処理中のエラー"; + t[666] = "This copy stream is closed."; + t[667] = "このコピーストリームはクローズされています。"; + t[668] = "Could not open SSL root certificate file {0}."; + t[669] = "SSLルート証明書ファイル {0} をオープンできませんでした。"; + t[676] = "Invalid sslmode value: {0}"; + t[677] = "不正な sslmode 値: {0}"; + t[678] = "Cannot tell if path is open or closed: {0}."; + t[679] = "経路が開いているか、閉じているか判別できません: {0}"; + t[682] = "Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}"; + t[683] = "不正なUTF-8シーケンス: {1} バイトの値のエンコードに{0} バイト使用しています: {2}"; + t[684] = "Unknown XML Source class: {0}"; + t[685] = "未知のXMLソースクラス: {0}"; + t[686] = "Internal Query: {0}"; + t[687] = "内部クエリ: {0}"; + t[702] = "Could not find a java cryptographic algorithm: {0}."; + t[703] = "javaの暗号化アルゴリズム {0} を見つけることができませんでした。"; + t[706] = "Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed."; + t[707] = "同じ PooledConnection に対して新しい接続をオープンしたか、この PooledConnection がクローズされたため、接続が自動的にクローズされました。"; + t[708] = "Invalid fetch direction constant: {0}."; + t[709] = "不正なフェッチ方向の定数です: {0}"; + t[714] = "Can''t use query methods that take a query string on a PreparedStatement."; + t[715] = "PreparedStatement でクエリ文字列を取るクエリメソッドは使えません。"; + t[716] = "SCRAM authentication failed, server returned error: {0}"; + t[717] = "スクラム認証が失敗しました、サーバはエラーを返却しました: {0}"; + t[722] = "Invalid elements {0}"; + t[723] = "不正な要素です: {0}"; + t[738] = "Not on the insert row."; + t[739] = "挿入行上にいません。"; + t[740] = "Unable to load the class {0} responsible for the datatype {1}"; + t[741] = "データ型 {1} に対応するクラス{0} をロードできません。"; + t[752] = "Could not find a java cryptographic algorithm: X.509 CertificateFactory not available."; + t[753] = "javaの暗号化アルゴリズムを見つけることができませんでした。X.509 CertificateFactory は利用できません。"; + t[756] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; + t[757] = "{0} のインスタンスに対して使うべきSQL型を推測できません。明示的な Types 引数をとる setObject() で使うべき型を指定してください。"; + t[760] = "Invalid server-first-message: {0}"; + t[761] = "不正な server-first-message: {0}"; + t[762] = "No value specified for parameter {0}."; + t[763] = "パラメータ {0} に値が設定されてません。"; + t[764] = "Not implemented: 2nd phase commit must be issued using an idle connection. commit xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[765] = "実装されていません: 第二フェーズの COMMIT は、待機接続で使わなくてはなりません。xid={0}, currentXid={1}, state={2], transactionState={3}"; + t[766] = "Fastpath call {0} - No result was returned and we expected an integer."; + t[767] = "Fastpath 呼び出し {0} - integer を想定していましたが、結果は返却されませんでした。"; + t[774] = "Unable to create StAXResult for SQLXML"; + t[775] = "SQLXMLに対するStAXResultを生成できません。"; + t[798] = "CommandComplete expected COPY but got: "; + t[799] = "CommandComplete はCOPYを想定しましたが、次の結果が返却されました:"; + t[800] = "Enter SSL password: "; + t[801] = "SSLパスワード入力: "; + t[802] = "Failed to convert binary xml data to encoding: {0}."; + t[803] = "バイナリxmlデータのエンコード: {0} への変換に失敗しました。"; + t[804] = "No SCRAM mechanism(s) advertised by the server"; + t[805] = "サーバは SCRAM認証機構を広告していません"; + t[818] = "Custom type maps are not supported."; + t[819] = "カスタム型マップはサポートされません。"; + t[822] = "Illegal UTF-8 sequence: final value is a surrogate value: {0}"; + t[823] = "不正なUTF-8シーケンス: 変換後の値がサロゲート値です: {0}"; + t[824] = "The SocketFactory class provided {0} could not be instantiated."; + t[825] = "渡された SocketFactoryクラス {0} はインスタンス化できませんでした。"; + t[830] = "The hostname {0} could not be verified."; + t[831] = "ホスト名 {0} は検証できませんでした。"; + t[832] = "Large Objects may not be used in auto-commit mode."; + t[833] = "ラージオブジェクトは、自動コミットモードで使うことができません。"; + t[834] = "Fastpath call {0} - No result was returned or wrong size while expecting a long."; + t[835] = "Fastpath 呼び出し {0} - long を想定していましたが、結果は返却されないかまたは間違った大きさでした。"; + t[844] = "Invalid stream length {0}."; + t[845] = "不正なストリーム長 {0}。"; + t[850] = "The sslfactoryarg property must start with the prefix file:, classpath:, env:, sys:, or -----BEGIN CERTIFICATE-----."; + t[851] = "プロパティ sslfactoryarg の先頭はプリフィクス file:, classpath:, env:, sys: もしくは -----BEGIN CERTIFICATE----- のいずれかでなければなりません。"; + t[852] = "Can''t use executeWithFlags(int) on a Statement."; + t[853] = "executeWithFlags(int) は Statement インスタンスでは使えません。"; + t[856] = "Cannot retrieve the id of a named savepoint."; + t[857] = "名前付き savepoint の id は取得できません。"; + t[860] = "Could not read password for SSL key file by callbackhandler {0}."; + t[861] = "callbackhandler {0} で、SSL keyファイルを読めませんでした。"; + t[864] = "Failed to initialize LargeObject API"; + t[865] = "ラージオブジェクトAPIの初期化に失敗しました。"; + t[874] = "Tried to break lock on database connection"; + t[875] = "データベース接続のロックを破壊しようとしました"; + t[878] = "Unexpected error writing large object to database."; + t[879] = "データベースへのラージオブジェクト書き込み中に想定外のエラーが起きました。"; + t[880] = "Expected an EOF from server, got: {0}"; + t[881] = "サーバからの EOF を期待していましたが、{0} が送られてきました"; + t[886] = "Could not read SSL root certificate file {0}."; + t[887] = "SSLルート証明書ファイル {0} を読めませんでした。"; + t[888] = "This SQLXML object has already been initialized, so you cannot manipulate it further."; + t[889] = "このSQLXMLオブジェクトは既に初期化済みであるため、これ以上操作できません。"; + t[896] = "The array index is out of range: {0}"; + t[897] = "配列インデックスが範囲外です: {0}"; + t[898] = "Unable to set network timeout."; + t[899] = "ネットワークタイムアウトが設定できません。"; + t[900] = "{0} function takes four and only four argument."; + t[901] = "{0} 関数はちょうど4個の引数を取ります。"; + t[904] = "Unable to decode xml data."; + t[905] = "xmlデータをデコードできません。"; + t[916] = "Bad value for type timestamp/date/time: {1}"; + t[917] = "timestamp/date/time 型に対する不正な値: {1}"; + t[928] = "Illegal UTF-8 sequence: final value is out of range: {0}"; + t[929] = "不正なUTF-8シーケンス: 変換後の値が範囲外です: {0}"; + t[932] = "Unable to parse the count in command completion tag: {0}."; + t[933] = "コマンド完了タグのカウントをパースできません: {0}"; + t[942] = "Read from copy failed."; + t[943] = "コピーストリームからの読み取りに失敗しました。"; + t[944] = "Maximum number of rows must be a value grater than or equal to 0."; + t[945] = "行数の制限値は 0またはより大きな値でなくてはなりません。"; + t[958] = "The password callback class provided {0} could not be instantiated."; + t[959] = "渡されたパスワードコールバッククラス {0} はインスタンス化できませんでした。"; + t[960] = "Returning autogenerated keys by column index is not supported."; + t[961] = "列インデックスで自動生成キーを返すことはサポートされていません。"; + t[966] = "Properties for the driver contains a non-string value for the key "; + t[967] = "このドライバのプロパティでは以下のキーに対して文字列ではない値が設定されています: "; + t[974] = "Database connection failed when canceling copy operation"; + t[975] = "コピー操作中断のためのデータベース接続に失敗しました"; + t[976] = "DataSource has been closed."; + t[977] = "データソースはクローズされました。"; + t[996] = "Unable to get network timeout."; + t[997] = "ネットワークタイムアウトが取得できません。"; + t[1000] = "A CallableStatement was executed with nothing returned."; + t[1001] = "CallableStatement が実行されましたがなにも返却されませんでした。"; + t[1002] = "Can''t refresh the insert row."; + t[1003] = "挿入行を再フェッチすることはできません。"; + t[1004] = "Could not find a server with specified targetServerType: {0}"; + t[1005] = "指定された targetServerType のサーバーが見つかりません: {0}"; + t[1006] = "This PooledConnection has already been closed."; + t[1007] = "この PooledConnectionは、すでに閉じられています。"; + t[1010] = "Cannot call cancelRowUpdates() when on the insert row."; + t[1011] = "行挿入時に cancelRowUpdates() を呼び出せません。"; + t[1012] = "Preparing already prepared transaction, the prepared xid {0}, prepare xid={1}"; + t[1013] = "すでにプリペアされているトランザクションをプリペアしようとしました、プリペアされている xid={0}, プリペアしようとした xid={1}"; + t[1018] = "CopyIn copy direction can't receive data"; + t[1019] = "コピー方向 CopyIn はデータを受信できません"; + t[1024] = "conversion to {0} from {1} not supported"; + t[1025] = "{1} から {0} への変換はサポートされていません。"; + t[1030] = "An error occurred reading the certificate"; + t[1031] = "証明書の読み込み中にエラーが起きました"; + t[1032] = "Invalid or unsupported by client SCRAM mechanisms"; + t[1033] = "不正であるかクライアントのSCRAM機構でサポートされていません"; + t[1034] = "Malformed function or procedure escape syntax at offset {0}."; + t[1035] = "関数またはプロシージャの間違ったエスケープ構文が位置{0}で見つかりました。"; + t[1038] = "Bind message length {0} too long. This can be caused by very large or incorrect length specifications on InputStream parameters."; + t[1039] = "バインドメッセージ長 {0} は長すぎます。InputStreamのパラメータにとても大きな長さ、あるいは不正確な長さが設定されている可能性があります。"; + t[1050] = "Cannot change transaction isolation level in the middle of a transaction."; + t[1051] = "トランザクションの中でトランザクション分離レベルは変更できません。"; + t[1058] = "Internal Position: {0}"; + t[1059] = "内部位置: {0}"; + t[1062] = "No function outputs were registered."; + t[1063] = "関数出力は登録されていません。"; + t[1072] = "Unexpected packet type during replication: {0}"; + t[1073] = "レプリケーション中に想定外のパケット型: {0}"; + t[1076] = "Error disabling autocommit"; + t[1077] = "自動コミットの無効化処理中のエラー"; + t[1080] = "Requested CopyOut but got {0}"; + t[1081] = "CopyOut を要求しましたが {0} が返却されました"; + t[1084] = "Error rolling back prepared transaction. rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[1085] = "プリペアドトランザクションのロールバック中のエラー rollback xid={0}, preparedXid={1}, currentXid={2}"; + t[1086] = "Database connection failed when ending copy"; + t[1087] = "コピー操作の終了中にデータベース接続で異常が発生しました"; + t[1090] = "Unsupported value for stringtype parameter: {0}"; + t[1091] = "サポートされないstringtypeパラメータ値です: {0}"; + t[1094] = "The sslfactoryarg property may not be empty."; + t[1095] = "プロパティ sslfactoryarg は空であってはなりません。"; t[1102] = "Loading the SSL root certificate {0} into a TrustManager failed."; - t[1103] = "SSLルート証明書 {0} のTrustManagerへの読み込みに失敗しました。"; - t[1108] = "Could not read password for SSL key file by callbackhandler {0}."; - t[1109] = "callbackhandler {0} で、SSL keyファイルを読めませんでした。"; - t[1110] = "Copying from database failed: {0}"; - t[1111] = "データベースからコピーに失敗しました: {0}"; - t[1112] = "Cannot tell if path is open or closed: {0}."; - t[1113] = "path が オープンしているか、クローズしているか判別できません: {0}"; - t[1116] = "Conversion of money failed."; - t[1117] = "moneyの変換に失敗しました。"; - t[1118] = "Can''t use relative move methods while on the insert row."; - t[1119] = "行挿入の最中に関連の動作方法を使うことはできません。"; - t[1124] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; - t[1125] = "不正な文字データが見つかりました。これは、恐らく作成されたデータベースの文字セットにとって無効である文字を含むデータが格納されたことによって引き起こされます。最も一般的な例は、SQL_ASCIIデータベースに保存された8bitデータ等です。"; - t[1126] = "The maximum field size must be a value greater than or equal to 0."; - t[1127] = "最大の項目サイズは、0に等しいか、より大きな値でなくてはなりません。"; - t[1128] = "Can''t infer the SQL type to use for an instance of {0}. Use setObject() with an explicit Types value to specify the type to use."; - t[1129] = "インスタンス {0} で使うべきSQL型を推測できません。明確な型値を記述した setObject() を使ってください。"; - t[1136] = "Cannot reference a savepoint after it has been released."; - t[1137] = "savepointは、解放された後で参照することはできません。"; - t[1138] = "ClientInfo property not supported."; - t[1139] = "ClientInfo プロパティはサポートされていません。"; - t[1152] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; - t[1153] = "ステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使って宣言して下さい。"; - t[1156] = "The authentication type {0} is not supported. Check that you have configured the pg_hba.conf file to include the client''s IP address or subnet, and that it is using an authentication scheme supported by the driver."; - t[1157] = "認証型 {0} はサポートされません。pg_hba.confファイルの構成でクライアントのIPアドレス、サブネットが含まれているか、そしてドライバがサポートする認証機構を使っているかを調べてください。"; - t[1162] = "Truncation of large objects is only implemented in 8.3 and later servers."; - t[1163] = "ラージオブジェクトの除去は、サーババージョンが 8.3 以上で実装されています。"; + t[1103] = "SSLルート証明書 {0} をTrustManagerへ読み込めませんでした。"; + t[1104] = "Illegal UTF-8 sequence: initial byte is {0}: {1}"; + t[1105] = "不正なUTF-8シーケンス: 先頭バイトが {0}: {1}"; + t[1116] = "The environment variable containing the server's SSL certificate must not be empty."; + t[1117] = "サーバのSSL証明書を指定する環境変数は空であってはなりません。"; + t[1118] = "Connection attempt timed out."; + t[1119] = "接続試行がタイムアウトしました。"; + t[1130] = "Cannot write to copy a byte of value {0}"; + t[1131] = "バイト値{0}はコピーストリームへの書き込みはできません"; + t[1132] = "Connection has been closed."; + t[1133] = "接続はクローズされました。"; + t[1136] = "Could not read password for SSL key file, console is not available."; + t[1137] = "SSL keyファイルのパスワードを読めませんでした。コンソールは利用できません。"; + t[1140] = "The JVM claims not to support the encoding: {0}"; + t[1141] = "JVMでサポートされないエンコーディングです: {0}"; + t[1146] = "Unexpected command status: {0}."; + t[1147] = "想定外のコマンドステータス: {0}。"; + t[1154] = "Cannot rollback when autoCommit is enabled."; + t[1155] = "autoCommit有効時に、明示的なロールバックはできません。"; + t[1158] = "Not implemented: Prepare must be issued using the same connection that started the transaction. currentXid={0}, prepare xid={1}"; + t[1159] = "実装されていません: Prepareは、トランザクションを開始したものと同じコネクションで発行しなくてはなりません。currentXid={0}, prepare xid={1}"; + t[1162] = "The connection attempt failed."; + t[1163] = "接続試行は失敗しました。"; + t[1166] = "Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}"; + t[1167] = "不正なUTF-8シーケンス: {1} バイトのシーケンス中 {0} バイト目が、10xxxxxx ではありません: {2}"; + t[1178] = "A connection could not be made using the requested protocol {0}."; + t[1179] = "要求されたプロトコル {0} で接続することができませんでした。"; + t[1182] = "The system property containing the server's SSL certificate must not be empty."; + t[1183] = "サーバーのSSL証明書を指定するシステムプロパティは空であってはなりません。"; + t[1188] = "Cannot call updateRow() when on the insert row."; + t[1189] = "挿入行上では updateRow() を呼び出すことができません。"; + t[1192] = "Fastpath call {0} - No result was returned and we expected a long."; + t[1193] = "Fastpath 呼び出し {0} - long を想定していましたが、結果は返却されませんでした。"; + t[1198] = "Truncation of large objects is only implemented in 8.3 and later servers."; + t[1199] = "ラージオブジェクトの切り詰めは、バージョン8.3 以降のサーバでのみ実装されています。"; + t[1200] = "Cannot convert the column of type {0} to requested type {1}."; + t[1201] = "{0}型のカラムの値を指定の型 {1} に変換できませんでした。"; + t[1204] = "Requested CopyIn but got {0}"; + t[1205] = "CopyIn を要求しましたが {0} が返却されました"; + t[1206] = "Cannot cast to boolean: \"{0}\""; + t[1207] = "boolean へのキャストはできません: \"{0}\""; + t[1212] = "Invalid server-final-message: {0}"; + t[1213] = "不正な server-final-message: {0}."; + t[1214] = "This statement does not declare an OUT parameter. Use '{' ?= call ... '}' to declare one."; + t[1215] = "このステートメントは、OUTパラメータを宣言していません。'{' ?= call ... '}' を使って宣言して下さい。"; + t[1218] = "Cannot truncate LOB to a negative length."; + t[1219] = "LOBを負の長さに切り詰めることはできません。"; + t[1220] = "Zero bytes may not occur in identifiers."; + t[1221] = "バイト値0を識別子に含めることはできません。"; + t[1222] = "Unable to convert DOMResult SQLXML data to a string."; + t[1223] = "DOMResult SQLXMLデータを文字列に変換することができません。"; + t[1224] = "Missing expected error response to copy cancel request"; + t[1225] = "予期していたコピーの中断要求へのエラー応答がありませんでした"; + t[1234] = "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" versions)"; + t[1235] = "SCRAM認証はこのドライバではサポートされません。JDK8 以降かつ pgjdbc 42.2.0 以降(\".jre\"のバージョンではありません)が必要です。"; + t[1240] = "Tried to end inactive copy"; + t[1241] = "実行中ではないコピー操作を終了しようとしました"; + t[1246] = "A CallableStatement function was executed and the out parameter {0} was of type {1} however type {2} was registered."; + t[1247] = "CallableStatement 関数が実行され、出力パラメータ {0} は {1} 型 でした。しかし、{2} 型 が登録されました。"; + t[1250] = "Failed to setup DataSource."; + t[1251] = "データソースのセットアップに失敗しました。"; + t[1252] = "Loading the SSL certificate {0} into a KeyManager failed."; + t[1253] = "SSL証明書 {0} をKeyManagerへ読み込めませんでした。"; + t[1254] = "Could not read SSL key file {0}."; + t[1255] = "SSL keyファイル {0} を読めませんでした。"; + t[1258] = "Tried to read from inactive copy"; + t[1259] = "実行中ではないコピーから読み取ろうとしました"; + t[1260] = "ResultSet is not updateable. The query that generated this result set must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details."; + t[1261] = "ResultSetは更新不可です。この結果セットを生成したクエリは、ただ一つのテーブルを選択して、そのテーブルの全ての主キーを選択する必要があります。詳細に関しては JDBC 2.1 API仕様、章 5.6 を参照して下さい。"; + t[1264] = "A result was returned when none was expected."; + t[1265] = "ないはずの結果が返却されました。"; + t[1266] = "Tried to cancel an inactive copy operation"; + t[1267] = "実行中ではないコピー操作の中断を試みました"; + t[1268] = "Server SQLState: {0}"; + t[1269] = "サーバ SQLState: {0}"; + t[1272] = "Unable to find keywords in the system catalogs."; + t[1273] = "キーワードはシステムカタログにありません。"; + t[1276] = "Connection is busy with another transaction"; + t[1277] = "接続は、別のトランザクションを処理中です"; + t[1280] = "ResultSets with concurrency CONCUR_READ_ONLY cannot be updated."; + t[1281] = "CONCUR_READ_ONLYに設定されている ResultSet は更新できません。"; + t[1296] = "commit called before end. commit xid={0}, state={1}"; + t[1297] = "end の前に COMMIT を呼びました commit xid={0}, state={1}"; + t[1308] = "PostgreSQL LOBs can only index to: {0}"; + t[1309] = "PostgreSQL LOB 上の位置指定は最大 {0} までです"; + t[1310] = "Where: {0}"; + t[1311] = "場所: {0}"; + t[1312] = "Unable to find name datatype in the system catalogs."; + t[1313] = "name データ型がシステムカタログにありません。"; + t[1314] = "Invalid targetServerType value: {0}"; + t[1315] = "不正な targetServerType 値です。{0}."; + t[1318] = "Cannot retrieve the name of an unnamed savepoint."; + t[1319] = "無名 savepoint の名前は取得できません。"; + t[1320] = "Error committing prepared transaction. commit xid={0}, preparedXid={1}, currentXid={2}"; + t[1321] = "プリペアドトランザクションの COMMIT 処理中のエラー。commit xid={0}, preparedXid={1}, currentXid={2}"; + t[1324] = "Invalid timeout ({0}<0)."; + t[1325] = "不正なタイムアウト値 ({0}<0)。"; + t[1328] = "Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY."; + t[1329] = "操作は、スクロール可能なResultSetを必要としますが、このResultSetは、 FORWARD_ONLYです。"; + t[1330] = "Results cannot be retrieved from a CallableStatement before it is executed."; + t[1331] = "実行前の CallableStatement から結果の取得はできません。"; + t[1332] = "wasNull cannot be call before fetching a result."; + t[1333] = "wasNullは、結果フェッチ前に呼び出せません。"; + t[1336] = "{0} function doesn''t take any argument."; + t[1337] = "{0} 関数は引数を取りません。"; + t[1344] = "Unknown Response Type {0}."; + t[1345] = "未知の応答タイプ {0} です。"; + t[1346] = "The JVM claims not to support the {0} encoding."; + t[1347] = "JVMは、エンコーディング {0} をサポートしません。"; + t[1348] = "{0} function takes two and only two arguments."; + t[1349] = "{0} 関数はちょうど2個の引数を取ります。"; + t[1350] = "The maximum field size must be a value greater than or equal to 0."; + t[1351] = "最大の項目サイズは、0またはより大きな値でなくてはなりません。"; + t[1352] = "Received CommandComplete ''{0}'' without an active copy operation"; + t[1353] = "実行中のコピー操作がないにもかかわらず CommandComplete ''{0}'' を受信しました"; + t[1354] = "Unable to translate data into the desired encoding."; + t[1355] = "データを指定されたエンコーディングに変換することができません。"; + t[1368] = "Got CopyOutResponse from server during an active {0}"; + t[1369] = "{0} を実行中のサーバから CopyOutResponse を受け取りました"; + t[1370] = "Failed to set ClientInfo property: {0}"; + t[1371] = "ClientInfo のプロパティの設定に失敗しました: {0}"; + t[1372] = "Invalid character data was found. This is most likely caused by stored data containing characters that are invalid for the character set the database was created in. The most common example of this is storing 8bit data in a SQL_ASCII database."; + t[1373] = "不正な文字データが見つかりました。これはデータベース作成時の文字セットに対して不正な文字を含むデータが格納されているために起きている可能性が高いです。最も一般的な例は、SQL_ASCIIデータベースに8bitデータが保存されている場合です。"; + t[1374] = "Unknown Types value."; + t[1375] = "未知の Types の値です。"; + t[1376] = " (pgjdbc: autodetected server-encoding to be {0}, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf)"; + t[1377] = "(pgjdbc: server-encoding として {0} を自動検出しました、メッセージが読めない場合はデータベースログおよび host, port, dbname, user, password, pg_dba.conf を確認してください)"; + t[1386] = "GSS Authentication failed"; + t[1387] = "GSS認証は失敗しました。"; + t[1390] = "An error occurred while trying to reset the socket timeout."; + t[1391] = "ソケットタイムアウトのリセット中にエラーが発生しました。"; + t[1392] = "Currently positioned before the start of the ResultSet. You cannot call deleteRow() here."; + t[1393] = "RsultSet の開始点より前にいるため、deleteRow() を呼ぶことはできません。"; + t[1394] = "Current connection does not have an associated xid. prepare xid={0}"; + t[1395] = "この接続は xid と関連付けられていません。プリペア xid={0}"; + t[1408] = "An I/O error occurred while sending to the backend."; + t[1409] = "バックエンドへの送信中に、入出力エラーが起こりました。"; + t[1416] = "One-phase commit with unknown xid. commit xid={0}, currentXid={1}"; + t[1417] = "未知の xid の単相コミット。 コミットxid={0}, 現在のxid={1}"; + t[1420] = "Position: {0}"; + t[1421] = "位置: {0}"; + t[1422] = "There are no rows in this ResultSet."; + t[1423] = "このResultSetに行がありません。"; + t[1424] = "Database connection failed when reading from copy"; + t[1425] = "コピーからの読み取り中にデータベース接続で異常が発生しました"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { int hash_val = msgid.hashCode() & 0x7fffffff; - int idx = (hash_val % 589) << 1; + int idx = (hash_val % 713) << 1; { java.lang.Object found = table[idx]; if (found == null) @@ -470,11 +592,11 @@ public java.lang.Object handleGetObject (java.lang.String msgid) throws java.uti if (msgid.equals(found)) return table[idx + 1]; } - int incr = ((hash_val % 587) + 1) << 1; + int incr = ((hash_val % 711) + 1) << 1; for (;;) { idx += incr; - if (idx >= 1178) - idx -= 1178; + if (idx >= 1426) + idx -= 1426; java.lang.Object found = table[idx]; if (found == null) return null; @@ -486,13 +608,13 @@ public java.util.Enumeration getKeys () { return new java.util.Enumeration() { private int idx = 0; - { while (idx < 1178 && table[idx] == null) idx += 2; } + { while (idx < 1426 && table[idx] == null) idx += 2; } public boolean hasMoreElements () { - return (idx < 1178); + return (idx < 1426); } public java.lang.Object nextElement () { java.lang.Object key = table[idx]; - do idx += 2; while (idx < 1178 && table[idx] == null); + do idx += 2; while (idx < 1426 && table[idx] == null); return key; } }; From c66bf7108dd36f50aacebfd4f09e383aed02424b Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 30 Jul 2018 10:16:27 -0400 Subject: [PATCH 209/427] Add issue templates (#1263) * Add issue template --- pgjdbc/ISSUE_TEMPLATE.md | 30 ++++++++++++++++++++++++++++++ pgjdbc/pull_request_template.md | 18 ++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 pgjdbc/ISSUE_TEMPLATE.md create mode 100644 pgjdbc/pull_request_template.md diff --git a/pgjdbc/ISSUE_TEMPLATE.md b/pgjdbc/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..6f8307588a --- /dev/null +++ b/pgjdbc/ISSUE_TEMPLATE.md @@ -0,0 +1,30 @@ +**I'm submitting a ...** + + + - [ ] bug report + - [ ] feature request + + +**Describe the issue** +A clear and concise description of what the issue is. + +**Java Version** + +**OS Version** + +**PostgreSQL Version** + +**To Reproduce** +Steps to reproduce the behaviour: + +**Expected behaviour** +A clear and concise description of what you expected to happen. +And what actually happens + +**Logs** +If possible PostgreSQL logs surrounding the occurrence of the issue +Additionally logs from the driver can be obtained adding +```java +loggerLevel=TRACE&loggerFile=pgjdbc-trace.log +``` +to the connection string \ No newline at end of file diff --git a/pgjdbc/pull_request_template.md b/pgjdbc/pull_request_template.md new file mode 100644 index 0000000000..d677c4cd53 --- /dev/null +++ b/pgjdbc/pull_request_template.md @@ -0,0 +1,18 @@ +### All Submissions: + +* [ ] Have you followed the guidelines in our [Contributing](CONTRIBUTING.md) document? +* [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change? + + + +### New Feature Submissions: + +1. [ ] Does your submission pass tests? +2. [ ] Does mvn checkstyle:check pass ? + +### Changes to Existing Features: + +* [ ] Does this break existing behaviour? If so please explain. +* [ ] Have you added an explanation of what your changes do and why you'd like us to include them? +* [ ] Have you written new tests for your core changes, as applicable? +* [ ] Have you successfully run tests with your changes locally? \ No newline at end of file From b5c19af627c8650410495ad8e3f2ee85e687e3c1 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 30 Jul 2018 18:31:08 -0400 Subject: [PATCH 210/427] =?UTF-8?q?move=20issue=20template=20and=20pull=20?= =?UTF-8?q?request=20template=20into=20github=20specific=20di=E2=80=A6=20(?= =?UTF-8?q?#1283)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * move issue template and pull request template into github specific directory * remove spaces in front of checklist --- pgjdbc/ISSUE_TEMPLATE.md => .github/issue_template.md | 6 +++--- {pgjdbc => .github}/pull_request_template.md | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename pgjdbc/ISSUE_TEMPLATE.md => .github/issue_template.md (89%) rename {pgjdbc => .github}/pull_request_template.md (100%) diff --git a/pgjdbc/ISSUE_TEMPLATE.md b/.github/issue_template.md similarity index 89% rename from pgjdbc/ISSUE_TEMPLATE.md rename to .github/issue_template.md index 6f8307588a..a892ae3dee 100644 --- a/pgjdbc/ISSUE_TEMPLATE.md +++ b/.github/issue_template.md @@ -1,8 +1,8 @@ **I'm submitting a ...** - - [ ] bug report - - [ ] feature request +- [ ] bug report +- [ ] feature request **Describe the issue** @@ -27,4 +27,4 @@ Additionally logs from the driver can be obtained adding ```java loggerLevel=TRACE&loggerFile=pgjdbc-trace.log ``` -to the connection string \ No newline at end of file +to the connection string diff --git a/pgjdbc/pull_request_template.md b/.github/pull_request_template.md similarity index 100% rename from pgjdbc/pull_request_template.md rename to .github/pull_request_template.md From 203a106ddc9eb0d94cc94838f4fb0924e37f441a Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Thu, 2 Aug 2018 14:59:09 -0400 Subject: [PATCH 211/427] fix: Correct typo in CopyManager comment (#1285) --- pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java index ed2d5876ce..a152b7c160 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/CopyManager.java @@ -95,7 +95,7 @@ public long copyOut(final String sql, Writer to) throws SQLException, IOExceptio if (cp.isActive()) { cp.cancelCopy(); } - try { // read until excausted or operation cancelled SQLException + try { // read until exhausted or operation cancelled SQLException while ((buf = cp.readFromCopy()) != null) { } } catch (SQLException sqlEx) { @@ -130,7 +130,7 @@ public long copyOut(final String sql, OutputStream to) throws SQLException, IOEx if (cp.isActive()) { cp.cancelCopy(); } - try { // read until excausted or operation cancelled SQLException + try { // read until exhausted or operation cancelled SQLException while ((buf = cp.readFromCopy()) != null) { } } catch (SQLException sqlEx) { From 9534e9ca0e1840445ad5f4eee75bc1e2ac102dde Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Mon, 13 Aug 2018 18:29:31 +0900 Subject: [PATCH 212/427] docs: fix typos detected by github.com/client9/misspell (#1287) --- docs/community/mailinglist.html | 2 +- docs/development/website.html | 4 ++-- docs/documentation/92/escaped-functions.md | 4 ++-- docs/documentation/93/escaped-functions.md | 4 ++-- docs/documentation/94/connect.md | 2 +- docs/documentation/94/escaped-functions.md | 4 ++-- docs/documentation/changelog.md | 14 +++++++------- docs/documentation/head/thread.md | 4 ++-- .../src/main/java/org/postgresql/copy/CopyIn.java | 2 +- .../java/org/postgresql/copy/CopyOperation.java | 2 +- .../core/VisibleBufferedInputStream.java | 2 +- .../org/postgresql/core/v3/QueryExecutorImpl.java | 4 ++-- .../java/org/postgresql/core/v3/SimpleQuery.java | 2 +- .../main/java/org/postgresql/jdbc/PgResultSet.java | 2 +- .../org/postgresql/largeobject/LargeObject.java | 4 ++-- .../fluent/ChainedCommonStreamBuilder.java | 2 +- .../org/postgresql/ssl/jdbc4/LibPQFactory.java | 2 +- .../src/main/java/org/postgresql/util/Base64.java | 4 ++-- .../test/java/org/postgresql/test/TestUtil.java | 8 ++++---- .../test/jdbc2/DatabaseEncodingTest.java | 2 +- .../java/org/postgresql/test/jdbc2/NotifyTest.java | 4 ++-- .../test/jdbc2/PreparedStatementTest.java | 2 +- .../test/jdbc2/optional/ConnectionPoolTest.java | 2 +- .../ssl/SingleCertValidatingFactoryTestSuite.java | 6 +++--- 24 files changed, 44 insertions(+), 44 deletions(-) diff --git a/docs/community/mailinglist.html b/docs/community/mailinglist.html index 7447595b62..3997a37ef8 100644 --- a/docs/community/mailinglist.html +++ b/docs/community/mailinglist.html @@ -74,7 +74,7 @@

Commit Messages - jdbc-commits@pgfoundry.org

This mailing list is for people interested in carefully monitoring the development process. The mailing list was active until the code - base was transfered to GitHub in late 2012. Every commit to this earlier + base was transferred to GitHub in late 2012. Every commit to this earlier CVS repository sent out an email with the log message and links to diffs. So the archive of this list, pgfoundry site, holds the history of activity with the driver prior to 2013. diff --git a/docs/development/website.html b/docs/development/website.html index 68e6755c4b..559d3e85d2 100644 --- a/docs/development/website.html +++ b/docs/development/website.html @@ -27,7 +27,7 @@

Building the Website

The website is produced with Jekyll. It allows you to build a reasonably good looking website that is easy to maintain and modular in nature. Templates are used from the _layout - and _includes directories which are then used in conjuction with content that + and _includes directories which are then used in conjunction with content that is created with Markdown, Textile, or just standard HTML for input. Using Markdown or Textile allows the content @@ -63,4 +63,4 @@

Adding a Page

have their repositories available for review.

- \ No newline at end of file + diff --git a/docs/documentation/92/escaped-functions.md b/docs/documentation/92/escaped-functions.md index f734b28603..38b9adf871 100644 --- a/docs/documentation/92/escaped-functions.md +++ b/docs/documentation/92/escaped-functions.md @@ -15,7 +15,7 @@ The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. Some functions in the following tables are translated but not reported as supported -because they are duplicating or changing ther order of the arguments. While this +because they are duplicating or changing their order of the arguments. While this is harmless for literal values or columns, it will cause problems when using prepared statements. For example "`{fn right(?,?)}`" will be translated to "`substring(? from (length(?)+1-?))`". As you can see the translated SQL requires more parameters than before the @@ -477,4 +477,4 @@ or SQL_TSI_FRAC_DAY is supported   - \ No newline at end of file + diff --git a/docs/documentation/93/escaped-functions.md b/docs/documentation/93/escaped-functions.md index f734b28603..38b9adf871 100644 --- a/docs/documentation/93/escaped-functions.md +++ b/docs/documentation/93/escaped-functions.md @@ -15,7 +15,7 @@ The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. Some functions in the following tables are translated but not reported as supported -because they are duplicating or changing ther order of the arguments. While this +because they are duplicating or changing their order of the arguments. While this is harmless for literal values or columns, it will cause problems when using prepared statements. For example "`{fn right(?,?)}`" will be translated to "`substring(? from (length(?)+1-?))`". As you can see the translated SQL requires more parameters than before the @@ -477,4 +477,4 @@ or SQL_TSI_FRAC_DAY is supported   - \ No newline at end of file + diff --git a/docs/documentation/94/connect.md b/docs/documentation/94/connect.md index 15adad82d2..8700f03531 100644 --- a/docs/documentation/94/connect.md +++ b/docs/documentation/94/connect.md @@ -235,7 +235,7 @@ connection. Enable optimization to rewrite and collapse compatible INSERT statements that are batched. If enabled, pgjdbc rewrites batch of `insert into ... values(?, ?)` into `insert into ... values(?, ?), (?, ?), ...` That reduces per-statement overhead. The drawback is if one of the statements fail, the whole batch fails. - The default value is `false`. The option is avaliable since 9.4.1208 + The default value is `false`. The option is available since 9.4.1208 * `loginTimeout = int` diff --git a/docs/documentation/94/escaped-functions.md b/docs/documentation/94/escaped-functions.md index f734b28603..38b9adf871 100644 --- a/docs/documentation/94/escaped-functions.md +++ b/docs/documentation/94/escaped-functions.md @@ -15,7 +15,7 @@ The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. Some functions in the following tables are translated but not reported as supported -because they are duplicating or changing ther order of the arguments. While this +because they are duplicating or changing their order of the arguments. While this is harmless for literal values or columns, it will cause problems when using prepared statements. For example "`{fn right(?,?)}`" will be translated to "`substring(? from (length(?)+1-?))`". As you can see the translated SQL requires more parameters than before the @@ -477,4 +477,4 @@ or SQL_TSI_FRAC_DAY is supported   - \ No newline at end of file + diff --git a/docs/documentation/changelog.md b/docs/documentation/changelog.md index 9981e7767f..5a97d1a089 100644 --- a/docs/documentation/changelog.md +++ b/docs/documentation/changelog.md @@ -1071,7 +1071,7 @@ Author:Craig Ringer Author: cchantep Date: Thu Dec 12 15:54:55 2013 +0100 - Base table more usefull than "" as basic table name + Base table more useful than "" as basic table name fixed driver fails to find foreign tables fix from plalg@hotmail.com @@ -1597,7 +1597,7 @@ Date: Fri Sep 30 10:08:17 2011 +0000 Author: Dave Cramer Date: Tue Sep 27 11:15:23 2011 +0000 - more jdk 1.4 compatability issues fixed from Mike Fowler + more jdk 1.4 compatibility issues fixed from Mike Fowler Author: Dave Cramer Date: Mon Sep 26 15:16:05 2011 +0000 @@ -2020,20 +2020,20 @@ Date: Mon Jan 28 16:52:56 2013 -0500 Author: Fiona Tay Date: Sun Jan 20 23:46:31 2013 -0800 - Fix spelling of occured in error message + Fix spelling of occurred in error message - An error occurred while setting up the SSL connection Author: Fiona Tay Date: Sun Jan 20 23:45:26 2013 -0800 - Fix spelling of occured in error message + Fix spelling of occurred in error message - Something unusual has occurred to cause the driver to fail Author: Fiona Tay Date: Sun Jan 20 23:44:02 2013 -0800 - Fix spelling of occured in error message - - An I/O error occured while sending to the backend. + Fix spelling of occurred in error message + - An I/O error occurred while sending to the backend. Author: Dave Cramer Date: Fri Jan 11 11:38:17 2013 -0800 @@ -2127,7 +2127,7 @@ Date: Fri Jan 11 05:43:24 2013 -0800 Merge pull request #25 from rkrzewski/backend_pid - Expose PID of the backend process serving a paricular JDBC connection + Expose PID of the backend process serving a particular JDBC connection Author: Dave Cramer Date: Fri Jan 11 05:41:51 2013 -0800 diff --git a/docs/documentation/head/thread.md b/docs/documentation/head/thread.md index b1f7b7fc78..682b47e915 100644 --- a/docs/documentation/head/thread.md +++ b/docs/documentation/head/thread.md @@ -16,5 +16,5 @@ as such any concurrent requests to the process would have to be serialized. The driver makes no guarantees that methods on connections are synchronized. It will be up to the caller to synchronize calls to the driver. -A noteable exception is org/postgresql/jdbc/TimestampUtils.java which is threadsafe. - \ No newline at end of file +A notable exception is org/postgresql/jdbc/TimestampUtils.java which is threadsafe. + diff --git a/pgjdbc/src/main/java/org/postgresql/copy/CopyIn.java b/pgjdbc/src/main/java/org/postgresql/copy/CopyIn.java index a49809af13..73671bb09e 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/CopyIn.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/CopyIn.java @@ -33,7 +33,7 @@ public interface CopyIn extends CopyOperation { void flushCopy() throws SQLException; /** - * Finishes copy operation succesfully. + * Finishes copy operation successfully. * * @return number of updated rows for server 8.2 or newer (see getHandledRowCount()) * @throws SQLException if the operation fails. diff --git a/pgjdbc/src/main/java/org/postgresql/copy/CopyOperation.java b/pgjdbc/src/main/java/org/postgresql/copy/CopyOperation.java index 9fd9c4e2e1..239c629b72 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/CopyOperation.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/CopyOperation.java @@ -42,7 +42,7 @@ public interface CopyOperation { void cancelCopy() throws SQLException; /** - * After succesful end of copy, returns the number of database records handled in that operation. + * After successful end of copy, returns the number of database records handled in that operation. * Only implemented in PostgreSQL server version 8.2 and up. Otherwise, returns -1. * * @return number of handled rows or -1 diff --git a/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java b/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java index d80ebe1e6a..90854d44a2 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java @@ -162,7 +162,7 @@ private void compact() { } /** - * Moves bytes from the buffer to the begining of the destination buffer. Also sets the index and + * Moves bytes from the buffer to the beginning of the destination buffer. Also sets the index and * endIndex variables. * * @param dest The destination buffer. diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 62030e5024..387a9ac1cd 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -311,7 +311,7 @@ public synchronized void execute(Query query, ParameterList parameters, ResultHa // There are three causes of this error, an // invalid total Bind message length, a // BinaryStream that cannot provide the amount - // of data claimed by the length arugment, and + // of data claimed by the length argument, and // a BinaryStream that throws an Exception // when reading. // @@ -414,7 +414,7 @@ && getTransactionState() == TransactionState.FAILED // the server is sending. // // Our message size estimation is coarse, and disregards asynchronous - // notifications, warnings/info/debug messages, etc, so the repsonse size may be + // notifications, warnings/info/debug messages, etc, so the response size may be // quite different from the 250 bytes assumed here even for queries that don't // return data. // diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java index 4be7ac4397..ad013dca13 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleQuery.java @@ -119,7 +119,7 @@ void setStatementName(String statementName, short deallocateEpoch) { } void setPrepareTypes(int[] paramTypes) { - // Remember which parameters were unspecified since the parameters will be overriden later by + // Remember which parameters were unspecified since the parameters will be overridden later by // ParameterDescription message for (int i = 0; i < paramTypes.length; i++) { int paramType = paramTypes[i]; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 69ebc3baa1..d4a6c90758 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1557,7 +1557,7 @@ boolean isUpdateable() throws SQLException { primaryKeys = new ArrayList(); - // this is not stricty jdbc spec, but it will make things much faster if used + // this is not strictly jdbc spec, but it will make things much faster if used // the user has to select oid, * from table and then we will just use oid diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java index 4c689fa1ac..31d2ad4c34 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObject.java @@ -44,7 +44,7 @@ public class LargeObject //#endif /* hi, checkstyle */ { /** - * Indicates a seek from the begining of a file. + * Indicates a seek from the beginning of a file. */ public static final int SEEK_SET = 0; @@ -279,7 +279,7 @@ public void seek64(long pos, int ref) throws SQLException { *

This is similar to the fseek() call in the standard C library. It allows you to have random * access to the large object.

* - * @param pos position within object from begining + * @param pos position within object from beginning * @throws SQLException if a database-access error occurs. */ public void seek(int pos) throws SQLException { diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java index da3e83f4da..2a41246345 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonStreamBuilder.java @@ -37,7 +37,7 @@ public interface ChainedCommonStreamBuildersource and writes the resulting four Base64 * bytes to destination. The source and destination arrays can be manipulated anywhere * along their length by specifying srcOffset and destOffset. This method - * does not check to make sure your arrays are large enough to accomodate srcOffset + 3 + * does not check to make sure your arrays are large enough to accommodate srcOffset + 3 * for the source array or destOffset + 4 for the destination * array. The actual number of significant bytes in your array is given by numSigBytes. * @@ -403,7 +403,7 @@ public static String encodeBytes(byte[] source, int off, int len, int options) { * Decodes four bytes from array source and writes the resulting bytes (up to three of * them) to destination. The source and destination arrays can be manipulated anywhere * along their length by specifying srcOffset and destOffset. This method - * does not check to make sure your arrays are large enough to accomodate srcOffset + 4 + * does not check to make sure your arrays are large enough to accommodate srcOffset + 4 * for the source array or destOffset + 3 for the destination * array. This method returns the actual number of bytes that were converted from the Base64 * encoding. diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index fb6e8c3a61..8a3fb7283a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -255,10 +255,10 @@ public static File getFile(String name) { } /** - * Get a connection using a priviliged user mostly for tests that the ability to load C functions + * Get a connection using a privileged user mostly for tests that the ability to load C functions * now as of 4/14. * - * @return connection using a priviliged user mostly for tests that the ability to load C + * @return connection using a privileged user mostly for tests that the ability to load C * functions now as of 4/14 */ public static Connection openPrivilegedDB() throws Exception { @@ -782,7 +782,7 @@ public static void closeQuietly(ResultSet rs) { public static void recreateLogicalReplicationSlot(Connection connection, String slotName, String outputPlugin) throws SQLException, InterruptedException, TimeoutException { - //drop previos slot + //drop previous slot dropReplicationSlot(connection, slotName); PreparedStatement stm = null; @@ -798,7 +798,7 @@ public static void recreateLogicalReplicationSlot(Connection connection, String public static void recreatePhysicalReplicationSlot(Connection connection, String slotName) throws SQLException, InterruptedException, TimeoutException { - //drop previos slot + //drop previous slot dropReplicationSlot(connection, slotName); PreparedStatement stm = null; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java index fe3a06f2fa..a2b430ec00 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java @@ -260,7 +260,7 @@ public void testBadUTF8Decode() throws Exception { // Seven-byte illegal sequences {(byte) 0xfe}, // Can't have a seven-byte sequence. - // Eigth-byte illegal sequences + // Eighth-byte illegal sequences {(byte) 0xff}, // Can't have an eight-byte sequence. }; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java index ded17f1ba4..b9615b0967 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java @@ -111,7 +111,7 @@ public void testAsyncNotifyWithTimeout() throws Exception { PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(500); long endMillis = System.currentTimeMillis(); long runtime = endMillis - startMillis; - assertNull("There have been notifications, althought none have been expected.",notifications); + assertNull("There have been notifications, although none have been expected.",notifications); Assert.assertTrue("We didn't wait long enough! runtime=" + runtime, runtime > 450); stmt.close(); @@ -229,7 +229,7 @@ public void run() { ((org.postgresql.PGConnection) conn).getNotifications(40000); Assert.fail("The getNotifications(...) call didn't return when the socket closed."); } catch (SQLException e) { - // We expected thta + // We expected that } stmt.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index eeabb4e79e..16fe74b483 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -1228,7 +1228,7 @@ public void testSetObjectCharacter() throws SQLException { /** * When we have parameters of unknown type and it's not using the unnamed statement, we issue a - * protocol level statment describe message for the V3 protocol. This test just makes sure that + * protocol level statement describe message for the V3 protocol. This test just makes sure that * works. */ @Test diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index dfa33c9b2b..bcfeade45f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -157,7 +157,7 @@ public void testPoolCloseOldWrapper() { /** * Makes sure that if you get two connection wrappers from the same PooledConnection, they are * different, even though the represent the same physical connection. See JDBC 2.0 Optional - * Pacakge spec section 6.2.2 + * Package spec section 6.2.2 */ @Test public void testPoolNewWrapper() { diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java index 58166c4f0b..ec3c2622ed 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SingleCertValidatingFactoryTestSuite.java @@ -33,7 +33,7 @@ public class SingleCertValidatingFactoryTestSuite { private static String IS_ENABLED_PROP_NAME = "testsinglecertfactory"; /** - *

This method returns the paramaters that JUnit will use when constructing this class for + *

This method returns the parameters that JUnit will use when constructing this class for * testing. It returns a collection of arrays, each containing a single value for the JDBC URL to * test against.

* @@ -97,7 +97,7 @@ protected String getServerJdbcUrl() { } /** - * Helper method to create a connection using the additional properites specified in the "info" + * Helper method to create a connection using the additional properties specified in the "info" * paramater. * * @param info The additional properties to use when creating a connection @@ -279,7 +279,7 @@ public void connectSSLWithValidationProperCertSysProp() throws SQLException, IOE *

Connect using SSL and attempt to validate the server's certificate against the proper pre * shared certificate. The certificate is specified as an environment variable.

* - *

Note: To execute this test succesfully you need to set the value of the environment variable + *

Note: To execute this test successfully you need to set the value of the environment variable * DATASOURCE_SSL_CERT prior to running the test.

* *

Here's one way to do it: $ DATASOURCE_SSL_CERT=$(cat certdir/goodroot.crt) ant clean test

From c2885dd0cfc793f81e5dd3ed2300bb32476eb14a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 15 Aug 2018 11:05:31 +0300 Subject: [PATCH 213/427] fix: IndexOutOfBounds on prepared multistatement with insert values Re-initialize "isValuesFound and isCurrentReWriteCompatible" variables so multi-statement prepared sql like INSERT INTO inttable(a) VALUES (?);... could be parsed properly. Previously it identified the second statement as multi-values since isValuesFound was not reset closes #1289 --- .../main/java/org/postgresql/core/Parser.java | 2 ++ .../test/jdbc2/PreparedStatementTest.java | 19 +++++++++++++++++++ .../test/jdbc3/CompositeQueryParseTest.java | 14 ++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index c017de0bcc..993a7f0047 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -176,6 +176,8 @@ public static List parseJdbcSql(String query, boolean standardConfo bindPositions.clear(); } nativeSql.setLength(0); + isValuesFound = false; + isCurrentReWriteCompatible = false; valuesBraceOpenPosition = -1; valuesBraceClosePosition = -1; valuesBraceCloseFound = false; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index 16fe74b483..8c4d990173 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -256,6 +256,25 @@ public void testTrailingSpaces() throws SQLException { pstmt.close(); } + @Test + public void testBinds() throws SQLException { + // braces around (42) are required to puzzle the parser + String query = "INSERT INTO inttable(a) VALUES (?);SELECT (42)"; + PreparedStatement ps = con.prepareStatement(query); + ps.setInt(1, 100500); + ps.execute(); + ResultSet rs = ps.getResultSet(); + Assert.assertNull("insert produces no results ==> getResultSet should be null", rs); + Assert.assertTrue("There are two statements => getMoreResults should be true", ps.getMoreResults()); + rs = ps.getResultSet(); + Assert.assertNotNull("select produces results ==> getResultSet should be not null", rs); + Assert.assertTrue("select produces 1 row ==> rs.next should be true", rs.next()); + Assert.assertEquals("second result of query " + query, 42, rs.getInt(1)); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(ps); + } + @Test public void testSetNull() throws SQLException { // valid: fully qualified type to setNull() diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java index dc4cf8fc6e..31ceb7a304 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeQueryParseTest.java @@ -126,6 +126,20 @@ public void testDelete() throws SQLException { assertEquals("This is a delete command", SqlCommandType.DELETE, query.command.getType()); } + @Test + public void testMultiQueryWithBind() throws SQLException { + // braces around (42) are required to puzzle the parser + String sql = "INSERT INTO inttable(a) VALUES (?);SELECT (42)"; + List queries = Parser.parseJdbcSql(sql, true, true, true,true); + NativeQuery query = queries.get(0); + assertEquals("query(0) of " + sql, + "INSERT: INSERT INTO inttable(a) VALUES ($1)", + query.command.getType() + ": " + query.nativeSql); + query = queries.get(1); + assertEquals("query(1) of " + sql, + "SELECT: SELECT (42)", + query.command.getType() + ": " + query.nativeSql); + } @Test public void testMove() throws SQLException { From cdeeaca47dc3bc6f727c79a582c9e4123099526e Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 12 Aug 2018 18:15:22 +0300 Subject: [PATCH 214/427] security: implement SSL hostname verification for non-default (LibPQFactory) SSL factories (CVE-2018-10936) In order to configure full SLL verification, `sslmode=verify-full` should be used. However, previous versions of pgjdbc missed hostname verification for non-default SSL factories, so `sslmode=verify-full` was effectively the same as `sslmode=verify-ca`. Default sslfactory (which is LibPQFactory) is not impacted. Extra changes: - support for sslmode=allow/prefer/require - ssl=true is treated as verify-full - sslfactoryarg and socketFactoryArg are deprecated (as constructors with Properties) can be used. --- .travis/travis_configure_ssl.sh | 11 +- README.md | 4 +- build.properties | 1 + certdir/README | 57 -- certdir/README.md | 44 ++ docs/documentation/head/connect.md | 4 +- .../main/java/org/postgresql/PGProperty.java | 17 +- .../java/org/postgresql/core/PGStream.java | 15 +- .../postgresql/core/SocketFactoryFactory.java | 26 + .../core/v3/ConnectionFactoryImpl.java | 216 +++-- .../postgresql/core/v3/QueryExecutorImpl.java | 2 +- .../java/org/postgresql/jdbc/SslMode.java | 81 ++ .../postgresql/ssl/DefaultJavaSSLFactory.java | 20 + .../ssl/{jdbc4 => }/LazyKeyManager.java | 3 +- .../java/org/postgresql/ssl/LibPQFactory.java | 220 ++++++ .../main/java/org/postgresql/ssl/MakeSSL.java | 77 +- .../ssl/PGjdbcHostnameVerifier.java | 264 +++++++ .../postgresql/ssl/jdbc4/LibPQFactory.java | 323 +------- .../org/postgresql/util/ObjectFactory.java | 2 +- .../java/org/postgresql/test/TestUtil.java | 38 +- .../org/postgresql/test/jdbc2/NotifyTest.java | 22 +- .../postgresql/test/jdbc4/Jdbc4TestSuite.java | 1 - .../test/ssl/CommonNameVerifierTest.java | 51 ++ .../LibPQFactoryHostNameTest.java | 10 +- .../java/org/postgresql/test/ssl/SslTest.java | 745 +++++++++++------- .../org/postgresql/test/ssl/SslTestSuite.java | 49 +- ssltest.properties | 32 +- 27 files changed, 1455 insertions(+), 880 deletions(-) delete mode 100644 certdir/README create mode 100644 certdir/README.md create mode 100644 pgjdbc/src/main/java/org/postgresql/jdbc/SslMode.java create mode 100644 pgjdbc/src/main/java/org/postgresql/ssl/DefaultJavaSSLFactory.java rename pgjdbc/src/main/java/org/postgresql/ssl/{jdbc4 => }/LazyKeyManager.java (99%) create mode 100644 pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java create mode 100644 pgjdbc/src/main/java/org/postgresql/ssl/PGjdbcHostnameVerifier.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/ssl/CommonNameVerifierTest.java rename pgjdbc/src/test/java/org/postgresql/test/{jdbc4 => ssl}/LibPQFactoryHostNameTest.java (79%) diff --git a/.travis/travis_configure_ssl.sh b/.travis/travis_configure_ssl.sh index c01affe09c..e07aa70da5 100755 --- a/.travis/travis_configure_ssl.sh +++ b/.travis/travis_configure_ssl.sh @@ -22,16 +22,7 @@ set_conf_property "ssl_cert_file" "server.crt" set_conf_property "ssl_key_file" "server.key" set_conf_property "ssl_ca_file" "root.crt" -enable_ssl_property "testsinglecertfactory" -enable_ssl_property "sslhostnossl9" -enable_ssl_property "sslhostgh9" -enable_ssl_property "sslhostbh9" -enable_ssl_property "sslhostsslgh9" -enable_ssl_property "sslhostsslbh9" -enable_ssl_property "sslhostsslcertgh9" -enable_ssl_property "sslhostsslcertbh9" -enable_ssl_property "sslcertgh9" -enable_ssl_property "sslcertbh9" +enable_ssl_property "enable_ssl_tests" PG_DATA_DIR="/etc/postgresql/${PG_VERSION}/main/" sudo cp certdir/server/pg_hba.conf "/etc/postgresql/${PG_VERSION}/main/pg_hba.conf" diff --git a/README.md b/README.md index e018dcfffb..ce63ac21bc 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ In addition to the standard connection parameters the driver supports a number o | password | String | null | The database user's password. | | ssl | Boolean | false | Control use of SSL (true value causes SSL to be required) | | sslfactory | String | null | Provide a SSLSocketFactory class when using SSL. | -| sslfactoryarg | String | null | Argument forwarded to constructor of SSLSocketFactory class. | +| sslfactoryarg (deprecated) | String | null | Argument forwarded to constructor of SSLSocketFactory class. | | sslmode | String | null | Parameter governing the use of SSL. | | sslcert | String | null | The location of the client's SSL certificate | | sslkey | String | null | The location of the client's PKCS#8 SSL key | @@ -144,7 +144,7 @@ In addition to the standard connection parameters the driver supports a number o | hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after which the host status is checked again in case it has changed | | loadBalanceHosts | Boolean | false | If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates | | socketFactory | String | null | Specify a socket factory for socket creation | -| socketFactoryArg | String | null | Argument forwarded to constructor of SocketFactory class. | +| socketFactoryArg (deprecated) | String | null | Argument forwarded to constructor of SocketFactory class. | | autosave | String | never | Specifies what the driver should do if a query fails, possible values: always, never, conservative | | preferQueryMode | String | extended | Specifies which mode is used to execute queries to database, possible values: extended, extendedForPrepared, extendedCacheEverything, simple | | reWriteBatchedInserts | Boolean | false | Enable optimization to rewrite and collapse compatible INSERT statements that are batched. | diff --git a/build.properties b/build.properties index 91e4cd10a7..548d2aaf94 100644 --- a/build.properties +++ b/build.properties @@ -19,3 +19,4 @@ preparethreshold=5 loggerLevel=OFF loggerFile=target/pgjdbc-tests.log protocolVersion=0 +sslpassword=sslpwd diff --git a/certdir/README b/certdir/README deleted file mode 100644 index 8bbbf5b1c3..0000000000 --- a/certdir/README +++ /dev/null @@ -1,57 +0,0 @@ - -To run the SSL tests, the following properties are used: - -certdir: directory where the certificates and keys are store - -ssl<8|9>: a connection string to the appropriate database -TYPE is the TYPE or METHOD field from pg_hba.conf that is: host, hostnossl, -hostssl and the special types hostsslcert, that corresponds -to a hostssl type with clientcert=1 and cert that corresponds -to a hostssl type with cert authentication. 'gh' means, the server certificate -matches the hostname (good hostname), 'bh' means it is not (bad -hostname). It can be simulated with a single database, if two names -can be used i.e. localhost and 127.0.0.1. ssloff points to a database, -where ssl is off. The last number is the server major version - -For each connection, the following files should be placed into certdir: -goodclient.crt, badclient.crt, goodclient.pk8, badclient.pk8, goodroot.crt, badroot.crt -optionally prefixed by the value of sslprefix property, if -different files are necessary for different connect strings. - -This directory contains example certificates generated by the following -commands: - -openssl req -x509 -newkey rsa:1024 -days 3650 -keyout goodclient.key -out goodclient.crt -#Common name is test, password is sslpwd - -openssl req -x509 -newkey rsa:1024 -days 3650 -keyout badclient.key -out badclient.crt -#Common name is test, password is sslpwd - -openssl req -x509 -newkey rsa:1024 -days 3650 -nodes -keyout badroot.key -out badroot.crt -#Common name is localhost -rm badroot.key - -openssl pkcs8 -topk8 -in goodclient.key -out goodclient.pk8 -outform DER -v1 PBE-MD5-DES -openssl pkcs8 -topk8 -in badclient.key -out badclient.pk8 -outform DER -v1 PBE-MD5-DES -cp goodclient.crt server/root.crt -cd server -openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out server.crt -cp server.crt ../goodroot.crt -#Common name is localhost, no password - -The subdirectory server contains what should be copied to the PGDATA directory. -If you do not overwrite the pg_hba.conf then remember to comment out all lines -starting with "host all". - -For the tests the sslinfo module must be installed into every database. -The ssl=on must be set in postgresql.conf - -The following command creates the databases and installs the sslinfo module. - -for db in hostssldb hostnossldb certdb hostsslcertdb; do - createdb $db - psql $db -c "create extension sslinfo" -done - -The username for connecting to postgres as specified in build.local.properties tests has to be "test". - diff --git a/certdir/README.md b/certdir/README.md new file mode 100644 index 0000000000..ff041e3c49 --- /dev/null +++ b/certdir/README.md @@ -0,0 +1,44 @@ +To run the SSL tests, the following properties are used: + +* certdir: directory where the certificates and keys are store +* enable_ssl_tests: enables SSL tests + +In order to configure PostgreSQL for SSL tests, the following changes should be applied: + +* Copy server/server.crt, server/server.key, and server/root.crt to $PGDATA directory +* In $PGDATA directory: chmod 0600 server.crt server.key root.crt +* Set ssl=on in postgresql.conf +* Set ssl_cert_file=server.crt in postgresql.conf +* Set ssl_key_file=server.key in postgresql.conf +* Set ssl_ca_file=root.crt in postgresql.conf +* Add databases for SSL tests. Note: sslinfo extension is used in tests to tell if connection is using SSL or not + + for db in hostssldb hostnossldb certdb hostsslcertdb; do + createdb $db + psql $db -c "create extension sslinfo" + done +* Add test databases to pg_hba.conf. If you do not overwrite the pg_hba.conf then remember to comment out all lines + starting with "host all". +* Uncomment enable_ssl_tests=true in ssltests.properties +* The username for connecting to postgres as specified in build.local.properties tests has to be "test". + +This directory contains example certificates generated by the following +commands: + +openssl req -x509 -newkey rsa:1024 -days 3650 -keyout goodclient.key -out goodclient.crt +#Common name is test, password is sslpwd + +openssl req -x509 -newkey rsa:1024 -days 3650 -keyout badclient.key -out badclient.crt +#Common name is test, password is sslpwd + +openssl req -x509 -newkey rsa:1024 -days 3650 -nodes -keyout badroot.key -out badroot.crt +#Common name is localhost +rm badroot.key + +openssl pkcs8 -topk8 -in goodclient.key -out goodclient.pk8 -outform DER -v1 PBE-MD5-DES +openssl pkcs8 -topk8 -in badclient.key -out badclient.pk8 -outform DER -v1 PBE-MD5-DES +cp goodclient.crt server/root.crt +cd server +openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out server.crt +cp server.crt ../goodroot.crt +#Common name is localhost, no password diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 9763b76d8d..9881060512 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -88,7 +88,7 @@ Connection conn = DriverManager.getConnection(url); establishing a SSL connection. For more information see the section called [“Custom SSLSocketFactory”](ssl-factory.html). -* **sslfactoryarg** = String +* **sslfactoryarg** (deprecated) = String This value is an optional argument to the constructor of the sslfactory class provided above. For more information see the section called [“Custom SSLSocketFactory”](ssl-factory.html). @@ -408,7 +408,7 @@ Connection conn = DriverManager.getConnection(url); This class must have a zero argument constructor or a single argument constructor taking a String argument. This argument may optionally be supplied by `socketFactoryArg`. -* **socketFactoryArg** = String +* **socketFactoryArg** (deprecated) = String This value is an optional argument to the constructor of the socket factory class provided above. diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index e56e05eb73..4afefe2356 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -173,17 +173,18 @@ public enum PGProperty { "Enable optimization that disables column name sanitiser"), /** - * Control use of SSL (any non-null value causes SSL to be required). + * Control use of SSL: empty or {@code true} values imply {@code sslmode==verify-full} */ SSL("ssl", null, "Control use of SSL (any non-null value causes SSL to be required)"), /** - * Parameter governing the use of SSL. The allowed values are {@code require}, {@code verify-ca}, - * {@code verify-full}, or {@code disable} ({@code allow} and {@code prefer} are not implemented) - * If not set, the {@code ssl} property may be checked to enable SSL mode. + * Parameter governing the use of SSL. The allowed values are {@code disable}, {@code allow}, + * {@code prefer}, {@code require}, {@code verify-ca}, {@code verify-full}. + * If {@code ssl} property is empty or set to {@code true} it implies {@code verify-full}. + * Default mode is "require" */ - SSL_MODE("sslmode", null, "Parameter governing the use of SSL",false, - "disable", "require", "verify-ca", "verify-full"), + SSL_MODE("sslmode", null, "Parameter governing the use of SSL", false, + "disable", "allow", "prefer", "require", "verify-ca", "verify-full"), /** * Classname of the SSL Factory to use (instance of {@code javax.net.ssl.SSLSocketFactory}). @@ -192,7 +193,9 @@ public enum PGProperty { /** * The String argument to give to the constructor of the SSL Factory. + * @deprecated use {@code ..Factory(Properties)} constructor. */ + @Deprecated SSL_FACTORY_ARG("sslfactoryarg", null, "Argument forwarded to constructor of SSLSocketFactory class."), @@ -279,7 +282,9 @@ public enum PGProperty { /** * The String argument to give to the constructor of the Socket Factory. + * @deprecated use {@code ..Factory(Properties)} constructor. */ + @Deprecated SOCKET_FACTORY_ARG("socketFactoryArg", null, "Argument forwarded to constructor of SocketFactory class."), diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 63065730a0..6f0f3a2bea 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -21,6 +21,7 @@ import java.io.Writer; import java.net.InetSocketAddress; import java.net.Socket; +import java.net.SocketTimeoutException; import java.sql.SQLException; import javax.net.SocketFactory; @@ -109,7 +110,19 @@ public SocketFactory getSocketFactory() { * @throws IOException if something wrong happens */ public boolean hasMessagePending() throws IOException { - return pg_input.available() > 0 || connection.getInputStream().available() > 0; + if (pg_input.available() > 0) { + return true; + } + // In certain cases, available returns 0, yet there are bytes + int soTimeout = getNetworkTimeout(); + setNetworkTimeout(1); + try { + return pg_input.peek() != -1; + } catch (SocketTimeoutException e) { + return false; + } finally { + setNetworkTimeout(soTimeout); + } } /** diff --git a/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java b/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java index e7cfd3262d..09efa75f07 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/core/SocketFactoryFactory.java @@ -6,6 +6,7 @@ package org.postgresql.core; import org.postgresql.PGProperty; +import org.postgresql.ssl.LibPQFactory; import org.postgresql.util.GT; import org.postgresql.util.ObjectFactory; import org.postgresql.util.PSQLException; @@ -14,6 +15,7 @@ import java.util.Properties; import javax.net.SocketFactory; +import javax.net.ssl.SSLSocketFactory; /** * Instantiates {@link SocketFactory} based on the {@link PGProperty#SOCKET_FACTORY}. @@ -44,4 +46,28 @@ public static SocketFactory getSocketFactory(Properties info) throws PSQLExcepti } } + /** + * Instantiates {@link SSLSocketFactory} based on the {@link PGProperty#SSL_FACTORY}. + * + * @param info connection properties + * @return SSL socket factory + * @throws PSQLException if something goes wrong + */ + public static SSLSocketFactory getSslSocketFactory(Properties info) throws PSQLException { + String classname = PGProperty.SSL_FACTORY.get(info); + if (classname == null + || "org.postgresql.ssl.jdbc4.LibPQFactory".equals(classname) + || "org.postgresql.ssl.LibPQFactory".equals(classname)) { + return new LibPQFactory(info); + } + try { + return (SSLSocketFactory) ObjectFactory.instantiate(classname, info, true, + PGProperty.SSL_FACTORY_ARG.get(info)); + } catch (Exception e) { + throw new PSQLException( + GT.tr("The SSLSocketFactory class provided {0} could not be instantiated.", classname), + PSQLState.CONNECTION_FAILURE, e); + } + } + } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 749af95889..c83ce34c59 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -21,6 +21,7 @@ import org.postgresql.hostchooser.HostChooserFactory; import org.postgresql.hostchooser.HostRequirement; import org.postgresql.hostchooser.HostStatus; +import org.postgresql.jdbc.SslMode; import org.postgresql.sspi.ISSPIClient; import org.postgresql.util.GT; import org.postgresql.util.HostSpec; @@ -42,7 +43,6 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; - import javax.net.SocketFactory; /** @@ -82,32 +82,71 @@ private ISSPIClient createSSPI(PGStream pgStream, } } - @Override - public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, String database, - Properties info) throws SQLException { - // Extract interesting values from the info properties: - // - the SSL setting - boolean requireSSL; - boolean trySSL; - String sslmode = PGProperty.SSL_MODE.get(info); - if (sslmode == null) { // Fall back to the ssl property - // assume "true" if the property is set but empty - requireSSL = trySSL = PGProperty.SSL.getBoolean(info) || "".equals(PGProperty.SSL.get(info)); - } else { - if ("disable".equals(sslmode)) { - requireSSL = trySSL = false; - } else if ("require".equals(sslmode) || "verify-ca".equals(sslmode) - || "verify-full".equals(sslmode)) { - requireSSL = trySSL = true; + private PGStream tryConnect(String user, String database, + Properties info, SocketFactory socketFactory, HostSpec hostSpec, + SslMode sslMode) + throws SQLException, IOException { + int connectTimeout = PGProperty.CONNECT_TIMEOUT.getInt(info) * 1000; + + PGStream newStream = new PGStream(socketFactory, hostSpec, connectTimeout); + + // Construct and send an ssl startup packet if requested. + newStream = enableSSL(newStream, sslMode, info, connectTimeout); + + // Set the socket timeout if the "socketTimeout" property has been set. + int socketTimeout = PGProperty.SOCKET_TIMEOUT.getInt(info); + if (socketTimeout > 0) { + newStream.getSocket().setSoTimeout(socketTimeout * 1000); + } + + // Enable TCP keep-alive probe if required. + boolean requireTCPKeepAlive = PGProperty.TCP_KEEP_ALIVE.getBoolean(info); + newStream.getSocket().setKeepAlive(requireTCPKeepAlive); + + // Try to set SO_SNDBUF and SO_RECVBUF socket options, if requested. + // If receiveBufferSize and send_buffer_size are set to a value greater + // than 0, adjust. -1 means use the system default, 0 is ignored since not + // supported. + + // Set SO_RECVBUF read buffer size + int receiveBufferSize = PGProperty.RECEIVE_BUFFER_SIZE.getInt(info); + if (receiveBufferSize > -1) { + // value of 0 not a valid buffer size value + if (receiveBufferSize > 0) { + newStream.getSocket().setReceiveBufferSize(receiveBufferSize); } else { - throw new PSQLException(GT.tr("Invalid sslmode value: {0}", sslmode), - PSQLState.CONNECTION_UNABLE_TO_CONNECT); + LOGGER.log(Level.WARNING, "Ignore invalid value for receiveBufferSize: {0}", receiveBufferSize); } } - boolean requireTCPKeepAlive = PGProperty.TCP_KEEP_ALIVE.getBoolean(info); + // Set SO_SNDBUF write buffer size + int sendBufferSize = PGProperty.SEND_BUFFER_SIZE.getInt(info); + if (sendBufferSize > -1) { + if (sendBufferSize > 0) { + newStream.getSocket().setSendBufferSize(sendBufferSize); + } else { + LOGGER.log(Level.WARNING, "Ignore invalid value for sendBufferSize: {0}", sendBufferSize); + } + } - int connectTimeout = PGProperty.CONNECT_TIMEOUT.getInt(info) * 1000; + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.log(Level.FINE, "Receive Buffer Size is {0}", newStream.getSocket().getReceiveBufferSize()); + LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); + } + + List paramList = getParametersForStartup(user, database, info); + sendStartupPacket(newStream, paramList); + + // Do authentication (until AuthenticationOk). + doAuthentication(newStream, hostSpec.getHost(), user, info); + + return newStream; + } + + @Override + public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, String database, + Properties info) throws SQLException { + SslMode sslMode = SslMode.of(info); HostRequirement targetServerType; String targetServerTypeStr = PGProperty.TARGET_SERVER_TYPE.get(info); @@ -149,59 +188,62 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PGStream newStream = null; try { - newStream = new PGStream(socketFactory, hostSpec, connectTimeout); - - // Construct and send an ssl startup packet if requested. - if (trySSL) { - newStream = enableSSL(newStream, requireSSL, info, connectTimeout); - } - - // Set the socket timeout if the "socketTimeout" property has been set. - int socketTimeout = PGProperty.SOCKET_TIMEOUT.getInt(info); - if (socketTimeout > 0) { - newStream.getSocket().setSoTimeout(socketTimeout * 1000); - } - - // Enable TCP keep-alive probe if required. - newStream.getSocket().setKeepAlive(requireTCPKeepAlive); - - // Try to set SO_SNDBUF and SO_RECVBUF socket options, if requested. - // If receiveBufferSize and send_buffer_size are set to a value greater - // than 0, adjust. -1 means use the system default, 0 is ignored since not - // supported. - - // Set SO_RECVBUF read buffer size - int receiveBufferSize = PGProperty.RECEIVE_BUFFER_SIZE.getInt(info); - if (receiveBufferSize > -1) { - // value of 0 not a valid buffer size value - if (receiveBufferSize > 0) { - newStream.getSocket().setReceiveBufferSize(receiveBufferSize); - } else { - LOGGER.log(Level.WARNING, "Ignore invalid value for receiveBufferSize: {0}", receiveBufferSize); - } - } + try { + newStream = tryConnect(user, database, info, socketFactory, hostSpec, sslMode); + } catch (SQLException e) { + if (sslMode == SslMode.PREFER + && PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState().equals(e.getSQLState())) { + // Try non-SSL connection to cover case like "non-ssl only db" + // Note: PREFER allows loss of encryption, so no significant harm is made + Throwable ex = null; + try { + newStream = + tryConnect(user, database, info, socketFactory, hostSpec, SslMode.DISABLE); + LOGGER.log(Level.FINE, "Downgraded to non-encrypted connection for host {0}", + hostSpec); + } catch (SQLException ee) { + ex = ee; + } catch (IOException ee) { + ex = ee; // Can't use multi-catch in Java 6 :( + } + if (ex != null) { + log(Level.FINE, "sslMode==PREFER, however non-SSL connection failed as well", ex); + // non-SSL failed as well, so re-throw original exception + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + // Add non-SSL exception as suppressed + e.addSuppressed(ex); + //#endif + throw e; + } + } else if (sslMode == SslMode.ALLOW + && PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState().equals(e.getSQLState())) { + // Try using SSL + Throwable ex = null; + try { + newStream = + tryConnect(user, database, info, socketFactory, hostSpec, SslMode.REQUIRE); + LOGGER.log(Level.FINE, "Upgraded to encrypted connection for host {0}", + hostSpec); + } catch (SQLException ee) { + ex = ee; + } catch (IOException ee) { + ex = ee; // Can't use multi-catch in Java 6 :( + } + if (ex != null) { + log(Level.FINE, "sslMode==ALLOW, however SSL connection failed as well", ex); + // non-SSL failed as well, so re-throw original exception + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + // Add SSL exception as suppressed + e.addSuppressed(ex); + //#endif + throw e; + } - // Set SO_SNDBUF write buffer size - int sendBufferSize = PGProperty.SEND_BUFFER_SIZE.getInt(info); - if (sendBufferSize > -1) { - if (sendBufferSize > 0) { - newStream.getSocket().setSendBufferSize(sendBufferSize); } else { - LOGGER.log(Level.WARNING, "Ignore invalid value for sendBufferSize: {0}", sendBufferSize); + throw e; } } - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, "Receive Buffer Size is {0}", newStream.getSocket().getReceiveBufferSize()); - LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); - } - - List paramList = getParametersForStartup(user, database, info); - sendStartupPacket(newStream, paramList); - - // Do authentication (until AuthenticationOk). - doAuthentication(newStream, hostSpec.getHost(), user, info); - int cancelSignalTimeout = PGProperty.CANCEL_SIGNAL_TIMEOUT.getInt(info) * 1000; // Do final startup. @@ -230,8 +272,8 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin // we trap this an return a more meaningful message for the end user GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); - log(Level.FINE, "ConnectException occurred while connecting to {0}", cex, hostSpec); if (hostIter.hasNext()) { + log(Level.FINE, "ConnectException occurred while connecting to {0}", cex, hostSpec); // still more addresses to try continue; } @@ -242,8 +284,8 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin closeStream(newStream); GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); - log(Level.FINE, "IOException occurred while connecting to {0}", ioe, hostSpec); if (hostIter.hasNext()) { + log(Level.FINE, "IOException occurred while connecting to {0}", ioe, hostSpec); // still more addresses to try continue; } @@ -251,10 +293,10 @@ public QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, String user, Strin PSQLState.CONNECTION_UNABLE_TO_CONNECT, ioe); } catch (SQLException se) { closeStream(newStream); - log(Level.FINE, "SQLException occurred while connecting to {0}", se, hostSpec); GlobalHostStatusTracker.reportHostStatus(hostSpec, HostStatus.ConnectFail); knownStates.put(hostSpec, HostStatus.ConnectFail); if (hostIter.hasNext()) { + log(Level.FINE, "SQLException occurred while connecting to {0}", se, hostSpec); // still more addresses to try continue; } @@ -340,8 +382,17 @@ private static String createPostgresTimeZone() { return start + tz.substring(4); } - private PGStream enableSSL(PGStream pgStream, boolean requireSSL, Properties info, int connectTimeout) - throws IOException, SQLException { + private PGStream enableSSL(PGStream pgStream, SslMode sslMode, Properties info, + int connectTimeout) + throws IOException, PSQLException { + if (sslMode == SslMode.DISABLE) { + return pgStream; + } + if (sslMode == SslMode.ALLOW) { + // Allow ==> start with plaintext, use encryption if required by server + return pgStream; + } + LOGGER.log(Level.FINEST, " FE=> SSLRequest"); // Send SSL request packet @@ -357,7 +408,7 @@ private PGStream enableSSL(PGStream pgStream, boolean requireSSL, Properties inf LOGGER.log(Level.FINEST, " <=BE SSLError"); // Server doesn't even know about the SSL handshake protocol - if (requireSSL) { + if (sslMode.requireEncryption()) { throw new PSQLException(GT.tr("The server does not support SSL."), PSQLState.CONNECTION_REJECTED); } @@ -370,7 +421,7 @@ private PGStream enableSSL(PGStream pgStream, boolean requireSSL, Properties inf LOGGER.log(Level.FINEST, " <=BE SSLRefused"); // Server does not support ssl - if (requireSSL) { + if (sslMode.requireEncryption()) { throw new PSQLException(GT.tr("The server does not support SSL."), PSQLState.CONNECTION_REJECTED); } @@ -608,14 +659,19 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope scramAuthenticator = new org.postgresql.jre8.sasl.ScramAuthenticator(user, password, pgStream); scramAuthenticator.processServerMechanismsAndInit(); scramAuthenticator.sendScramClientFirstMessage(); - //#else - if (true) { + // This works as follows: + // 1. When tests is run from IDE, it is assumed SCRAM library is on the classpath + // 2. In regular build for Java < 8 this `if` is deactivated and the code always throws + if (false) { + //#else throw new PSQLException(GT.tr( "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" versions)", areq), PSQLState.CONNECTION_REJECTED); + //#endif + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" } - //#endif break; + //#endif //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" case AUTH_REQ_SASL_CONTINUE: diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 387a9ac1cd..4dc7f94000 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -692,7 +692,7 @@ public synchronized void processNotifies(int timeoutMillis) throws SQLException } try { - while (pgStream.hasMessagePending() || timeoutMillis >= 0 ) { + while (timeoutMillis >= 0 || pgStream.hasMessagePending()) { if (useTimeout && timeoutMillis >= 0) { setSocketTimeout(timeoutMillis); } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/SslMode.java b/pgjdbc/src/main/java/org/postgresql/jdbc/SslMode.java new file mode 100644 index 0000000000..bd2a3d0bcb --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/SslMode.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import org.postgresql.PGProperty; +import org.postgresql.util.GT; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +import java.util.Properties; + +public enum SslMode { + /** + * Do not use encrypted connections. + */ + DISABLE("disable"), + /** + * Start with non-encrypted connection, then try encrypted one. + */ + ALLOW("allow"), + /** + * Start with encrypted connection, fallback to non-encrypted (default). + */ + PREFER("prefer"), + /** + * Ensure connection is encrypted. + */ + REQUIRE("require"), + /** + * Ensure connection is encrypted, and client trusts server certificate. + */ + VERIFY_CA("verify-ca"), + /** + * Ensure connection is encrypted, client trusts server certificate, and server hostname matches + * the one listed in the server certificate. + */ + VERIFY_FULL("verify-full"), + ; + + public static final SslMode[] VALUES = values(); + + public final String value; + + SslMode(String value) { + this.value = value; + } + + public boolean requireEncryption() { + return this.compareTo(REQUIRE) >= 0; + } + + public boolean verifyCertificate() { + return this == VERIFY_CA || this == VERIFY_FULL; + } + + public boolean verifyPeerName() { + return this == VERIFY_FULL; + } + + public static SslMode of(Properties info) throws PSQLException { + String sslmode = PGProperty.SSL_MODE.get(info); + // If sslmode is not set, fallback to ssl parameter + if (sslmode == null) { + if (PGProperty.SSL.getBoolean(info) || "".equals(PGProperty.SSL.get(info))) { + return VERIFY_FULL; + } + return PREFER; + } + + for (SslMode sslMode : VALUES) { + if (sslMode.value.equalsIgnoreCase(sslmode)) { + return sslMode; + } + } + throw new PSQLException(GT.tr("Invalid sslmode value: {0}", sslmode), + PSQLState.CONNECTION_UNABLE_TO_CONNECT); + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/DefaultJavaSSLFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/DefaultJavaSSLFactory.java new file mode 100644 index 0000000000..9757827e0f --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/ssl/DefaultJavaSSLFactory.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.ssl; + +import java.util.Properties; +import javax.net.ssl.SSLSocketFactory; + +/** + * Socket factory that uses Java's default truststore to validate server certificate. + * Note: it always validates server certificate, so it might result to downgrade to non-encrypted + * connection when default truststore lacks certificates to validate server. + */ +public class DefaultJavaSSLFactory extends WrappedFactory { + public DefaultJavaSSLFactory(Properties info) { + _factory = (SSLSocketFactory) SSLSocketFactory.getDefault(); + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java similarity index 99% rename from pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java rename to pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java index 4585f1a968..be4db4153b 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LazyKeyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java @@ -3,7 +3,7 @@ * See the LICENSE file in the project root for more information. */ -package org.postgresql.ssl.jdbc4; +package org.postgresql.ssl; import org.postgresql.util.GT; import org.postgresql.util.PSQLException; @@ -222,6 +222,7 @@ public PrivateKey getPrivateKey(String alias) { } try { PBEKeySpec pbeKeySpec = new PBEKeySpec(pwdcb.getPassword()); + pwdcb.clearPassword(); // Now create the Key from the PBEKeySpec SecretKeyFactory skFac = SecretKeyFactory.getInstance(ePKInfo.getAlgName()); Key pbeKey = skFac.generateSecret(pbeKeySpec); diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java new file mode 100644 index 0000000000..c0c34bd274 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java @@ -0,0 +1,220 @@ +/* + * Copyright (c) 2004, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.ssl; + +import org.postgresql.PGProperty; +import org.postgresql.jdbc.SslMode; +import org.postgresql.ssl.NonValidatingFactory.NonValidatingTM; +import org.postgresql.util.GT; +import org.postgresql.util.ObjectFactory; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +import java.io.Console; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.security.KeyManagementException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.util.Properties; +import javax.net.ssl.KeyManager; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.UnsupportedCallbackException; + +/** + * Provide an SSLSocketFactory that is compatible with the libpq behaviour. + */ +public class LibPQFactory extends WrappedFactory { + + LazyKeyManager km; + + /** + * @param info the connection parameters The following parameters are used: + * sslmode,sslcert,sslkey,sslrootcert,sslhostnameverifier,sslpasswordcallback,sslpassword + * @throws PSQLException if security error appears when initializing factory + */ + public LibPQFactory(Properties info) throws PSQLException { + try { + SSLContext ctx = SSLContext.getInstance("TLS"); // or "SSL" ? + + // Determining the default file location + String pathsep = System.getProperty("file.separator"); + String defaultdir; + boolean defaultfile = false; + if (System.getProperty("os.name").toLowerCase().contains("windows")) { // It is Windows + defaultdir = System.getenv("APPDATA") + pathsep + "postgresql" + pathsep; + } else { + defaultdir = System.getProperty("user.home") + pathsep + ".postgresql" + pathsep; + } + + // Load the client's certificate and key + String sslcertfile = PGProperty.SSL_CERT.get(info); + if (sslcertfile == null) { // Fall back to default + defaultfile = true; + sslcertfile = defaultdir + "postgresql.crt"; + } + String sslkeyfile = PGProperty.SSL_KEY.get(info); + if (sslkeyfile == null) { // Fall back to default + defaultfile = true; + sslkeyfile = defaultdir + "postgresql.pk8"; + } + + // Determine the callback handler + CallbackHandler cbh; + String sslpasswordcallback = PGProperty.SSL_PASSWORD_CALLBACK.get(info); + if (sslpasswordcallback != null) { + try { + cbh = (CallbackHandler) ObjectFactory.instantiate(sslpasswordcallback, info, false, null); + } catch (Exception e) { + throw new PSQLException( + GT.tr("The password callback class provided {0} could not be instantiated.", + sslpasswordcallback), + PSQLState.CONNECTION_FAILURE, e); + } + } else { + cbh = new ConsoleCallbackHandler(PGProperty.SSL_PASSWORD.get(info)); + } + + // If the properties are empty, give null to prevent client key selection + km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), + ("".equals(sslkeyfile) ? null : sslkeyfile), cbh, defaultfile); + + TrustManager[] tm; + SslMode sslMode = SslMode.of(info); + if (!sslMode.verifyCertificate()) { + // server validation is not required + tm = new TrustManager[]{new NonValidatingTM()}; + } else { + // Load the server certificate + + TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); + KeyStore ks; + try { + ks = KeyStore.getInstance("jks"); + } catch (KeyStoreException e) { + // this should never happen + throw new NoSuchAlgorithmException("jks KeyStore not available"); + } + String sslrootcertfile = PGProperty.SSL_ROOT_CERT.get(info); + if (sslrootcertfile == null) { // Fall back to default + sslrootcertfile = defaultdir + "root.crt"; + } + FileInputStream fis; + try { + fis = new FileInputStream(sslrootcertfile); // NOSONAR + } catch (FileNotFoundException ex) { + throw new PSQLException( + GT.tr("Could not open SSL root certificate file {0}.", sslrootcertfile), + PSQLState.CONNECTION_FAILURE, ex); + } + try { + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + // Certificate[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{}); //Does + // not work in java 1.4 + Object[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{}); + ks.load(null, null); + for (int i = 0; i < certs.length; i++) { + ks.setCertificateEntry("cert" + i, (Certificate) certs[i]); + } + tmf.init(ks); + } catch (IOException ioex) { + throw new PSQLException( + GT.tr("Could not read SSL root certificate file {0}.", sslrootcertfile), + PSQLState.CONNECTION_FAILURE, ioex); + } catch (GeneralSecurityException gsex) { + throw new PSQLException( + GT.tr("Loading the SSL root certificate {0} into a TrustManager failed.", + sslrootcertfile), + PSQLState.CONNECTION_FAILURE, gsex); + } finally { + try { + fis.close(); + } catch (IOException e) { + /* ignore */ + } + } + tm = tmf.getTrustManagers(); + } + + // finally we can initialize the context + try { + ctx.init(new KeyManager[]{km}, tm, null); + } catch (KeyManagementException ex) { + throw new PSQLException(GT.tr("Could not initialize SSL context."), + PSQLState.CONNECTION_FAILURE, ex); + } + + _factory = ctx.getSocketFactory(); + } catch (NoSuchAlgorithmException ex) { + throw new PSQLException(GT.tr("Could not find a java cryptographic algorithm: {0}.", + ex.getMessage()), PSQLState.CONNECTION_FAILURE, ex); + } + } + + /** + * Propagates any exception from {@link LazyKeyManager}. + * + * @throws PSQLException if there is an exception to propagate + */ + public void throwKeyManagerException() throws PSQLException { + if (km != null) { + km.throwKeyManagerException(); + } + } + + /** + * A CallbackHandler that reads the password from the console or returns the password given to its + * constructor. + */ + static class ConsoleCallbackHandler implements CallbackHandler { + + private char[] password = null; + + ConsoleCallbackHandler(String password) { + if (password != null) { + this.password = password.toCharArray(); + } + } + + /** + * Handles the callbacks. + * + * @param callbacks The callbacks to handle + * @throws UnsupportedCallbackException If the console is not available or other than + * PasswordCallback is supplied + */ + @Override + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { + Console cons = System.console(); + if (cons == null && password == null) { + throw new UnsupportedCallbackException(callbacks[0], "Console is not available"); + } + for (Callback callback : callbacks) { + if (!(callback instanceof PasswordCallback)) { + throw new UnsupportedCallbackException(callback); + } + PasswordCallback pwdCallback = (PasswordCallback) callback; + if (password != null) { + pwdCallback.setPassword(password); + continue; + } + // It is used instead of cons.readPassword(prompt), because the prompt may contain '%' + // characters + pwdCallback.setPassword(cons.readPassword("%s", pwdCallback.getPrompt())); + } + } + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java b/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java index d2e453552c..e09d88edbe 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java @@ -7,7 +7,8 @@ import org.postgresql.PGProperty; import org.postgresql.core.PGStream; -import org.postgresql.ssl.jdbc4.LibPQFactory; +import org.postgresql.core.SocketFactoryFactory; +import org.postgresql.jdbc.SslMode; import org.postgresql.util.GT; import org.postgresql.util.ObjectFactory; import org.postgresql.util.PSQLException; @@ -17,7 +18,6 @@ import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; - import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; @@ -30,47 +30,38 @@ public static void convert(PGStream stream, Properties info) throws PSQLException, IOException { LOGGER.log(Level.FINE, "converting regular socket connection to ssl"); - SSLSocketFactory factory; - - String sslmode = PGProperty.SSL_MODE.get(info); - // Use the default factory if no specific factory is requested - // unless sslmode is set - String classname = PGProperty.SSL_FACTORY.get(info); - if (classname == null) { - // If sslmode is set, use the libpq compatible factory - if (sslmode != null) { - factory = new LibPQFactory(info); - } else { - factory = (SSLSocketFactory) SSLSocketFactory.getDefault(); - } - } else { - try { - factory = (SSLSocketFactory) instantiate(classname, info, true, - PGProperty.SSL_FACTORY_ARG.get(info)); - } catch (Exception e) { - throw new PSQLException( - GT.tr("The SSLSocketFactory class provided {0} could not be instantiated.", classname), - PSQLState.CONNECTION_FAILURE, e); - } - } - + SSLSocketFactory factory = SocketFactoryFactory.getSslSocketFactory(info); SSLSocket newConnection; try { newConnection = (SSLSocket) factory.createSocket(stream.getSocket(), stream.getHostSpec().getHost(), stream.getHostSpec().getPort(), true); // We must invoke manually, otherwise the exceptions are hidden + newConnection.setUseClientMode(true); newConnection.startHandshake(); } catch (IOException ex) { - if (factory instanceof LibPQFactory) { // throw any KeyManager exception - ((LibPQFactory) factory).throwKeyManagerException(); - } throw new PSQLException(GT.tr("SSL error: {0}", ex.getMessage()), PSQLState.CONNECTION_FAILURE, ex); } + if (factory instanceof LibPQFactory) { // throw any KeyManager exception + ((LibPQFactory) factory).throwKeyManagerException(); + } + SslMode sslMode = SslMode.of(info); + if (sslMode.verifyPeerName()) { + verifyPeerName(stream, info, newConnection); + } + + stream.changeSocket(newConnection); + } + + private static void verifyPeerName(PGStream stream, Properties info, SSLSocket newConnection) + throws PSQLException { + HostnameVerifier hvn; String sslhostnameverifier = PGProperty.SSL_HOSTNAME_VERIFIER.get(info); - if (sslhostnameverifier != null) { - HostnameVerifier hvn; + if (sslhostnameverifier == null) { + hvn = PGjdbcHostnameVerifier.INSTANCE; + sslhostnameverifier = "PgjdbcHostnameVerifier"; + } else { try { hvn = (HostnameVerifier) instantiate(sslhostnameverifier, info, false, null); } catch (Exception e) { @@ -79,24 +70,16 @@ public static void convert(PGStream stream, Properties info) sslhostnameverifier), PSQLState.CONNECTION_FAILURE, e); } - if (!hvn.verify(stream.getHostSpec().getHost(), newConnection.getSession())) { - throw new PSQLException( - GT.tr("The hostname {0} could not be verified by hostnameverifier {1}.", - stream.getHostSpec().getHost(), sslhostnameverifier), - PSQLState.CONNECTION_FAILURE); - } - } else { - if ("verify-full".equals(sslmode) && factory instanceof LibPQFactory) { - if (!(((LibPQFactory) factory).verify(stream.getHostSpec().getHost(), - newConnection.getSession()))) { - throw new PSQLException( - GT.tr("The hostname {0} could not be verified.", stream.getHostSpec().getHost()), - PSQLState.CONNECTION_FAILURE); - } - } + } + if (hvn.verify(stream.getHostSpec().getHost(), newConnection.getSession())) { + return; } - stream.changeSocket(newConnection); + + throw new PSQLException( + GT.tr("The hostname {0} could not be verified by hostnameverifier {1}.", + stream.getHostSpec().getHost(), sslhostnameverifier), + PSQLState.CONNECTION_FAILURE); } } diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/PGjdbcHostnameVerifier.java b/pgjdbc/src/main/java/org/postgresql/ssl/PGjdbcHostnameVerifier.java new file mode 100644 index 0000000000..851eb3aeb6 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/ssl/PGjdbcHostnameVerifier.java @@ -0,0 +1,264 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.ssl; + +import org.postgresql.util.GT; + +import java.net.IDN; +import java.security.cert.CertificateParsingException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.naming.InvalidNameException; +import javax.naming.ldap.LdapName; +import javax.naming.ldap.Rdn; +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLSession; +import javax.security.auth.x500.X500Principal; + +public class PGjdbcHostnameVerifier implements HostnameVerifier { + private static final Logger LOGGER = Logger.getLogger(PGjdbcHostnameVerifier.class.getName()); + + public static final PGjdbcHostnameVerifier INSTANCE = new PGjdbcHostnameVerifier(); + + private static final int TYPE_DNS_NAME = 2; + private static final int TYPE_IP_ADDRESS = 7; + + public static Comparator HOSTNAME_PATTERN_COMPARATOR = new Comparator() { + private int countChars(String value, char ch) { + int count = 0; + int pos = -1; + while (true) { + pos = value.indexOf(ch, pos + 1); + if (pos == -1) { + break; + } + count++; + } + return count; + } + + @Override + public int compare(String o1, String o2) { + // The more the dots the better: a.b.c.postgresql.org is more specific than postgresql.org + int d1 = countChars(o1, '.'); + int d2 = countChars(o2, '.'); + if (d1 != d2) { + return d1 > d2 ? 1 : -1; + } + + // The less the stars the better: postgresql.org is more specific than *.*.postgresql.org + int s1 = countChars(o1, '*'); + int s2 = countChars(o2, '*'); + if (s1 != s2) { + return s1 < s2 ? 1 : -1; + } + + // The longer the better: postgresql.org is more specific than sql.org + int l1 = o1.length(); + int l2 = o2.length(); + if (l1 != l2) { + return l1 > l2 ? 1 : -1; + } + + return 0; + } + }; + + @Override + public boolean verify(String hostname, SSLSession session) { + X509Certificate[] peerCerts; + try { + peerCerts = (X509Certificate[]) session.getPeerCertificates(); + } catch (SSLPeerUnverifiedException e) { + LOGGER.log(Level.SEVERE, + GT.tr("Unable to parse X509Certificate for hostname {0}", hostname), e); + return false; + } + if (peerCerts == null || peerCerts.length == 0) { + LOGGER.log(Level.SEVERE, + GT.tr("No certificates found for hostname {0}", hostname)); + return false; + } + + String canonicalHostname; + if (hostname.startsWith("[") && hostname.endsWith("]")) { + // IPv6 address like [2001:db8:0:1:1:1:1:1] + canonicalHostname = hostname.substring(1, hostname.length() - 1); + } else { + // This converts unicode domain name to ASCII + try { + canonicalHostname = IDN.toASCII(hostname); + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.FINEST, "Canonical host name for {0} is {1}", + new Object[]{hostname, canonicalHostname}); + } + } catch (IllegalArgumentException e) { + // e.g. hostname is invalid + LOGGER.log(Level.SEVERE, + GT.tr("Hostname {0} is invalid", hostname), e); + return false; + } + } + + X509Certificate serverCert = peerCerts[0]; + + // Check for Subject Alternative Names (see RFC 6125) + + Collection> subjectAltNames; + try { + subjectAltNames = serverCert.getSubjectAlternativeNames(); + if (subjectAltNames == null) { + subjectAltNames = Collections.emptyList(); + } + } catch (CertificateParsingException e) { + LOGGER.log(Level.SEVERE, + GT.tr("Unable to parse certificates for hostname {0}", hostname), e); + return false; + } + + boolean anyDnsSan = false; + /* + * Each item in the SAN collection is a 2-element list. + * See {@link X509Certificate#getSubjectAlternativeNames} + * The first element in each list is a number indicating the type of entry. + */ + for (List sanItem : subjectAltNames) { + if (sanItem.size() != 2) { + continue; + } + Integer sanType = (Integer) sanItem.get(0); + if (sanType == null) { + // just in case + continue; + } + if (sanType != TYPE_IP_ADDRESS && sanType != TYPE_DNS_NAME) { + continue; + } + String san = (String) sanItem.get(1); + if (sanType == TYPE_IP_ADDRESS && san.startsWith("*")) { + // Wildcards should not be present in the IP Address field + continue; + } + anyDnsSan |= sanType == TYPE_DNS_NAME; + if (verifyHostName(canonicalHostname, san)) { + if (LOGGER.isLoggable(Level.FINEST)) { + LOGGER.log(Level.SEVERE, + GT.tr("Server name validation pass for {0}, subjectAltName {1}", hostname, san)); + } + return true; + } + } + + if (anyDnsSan) { + /* + * RFC2818, section 3.1 (I bet you won't recheck :) + * If a subjectAltName extension of type dNSName is present, that MUST + * be used as the identity. Otherwise, the (most specific) Common Name + * field in the Subject field of the certificate MUST be used. Although + * the use of the Common Name is existing practice, it is deprecated and + * Certification Authorities are encouraged to use the dNSName instead. + */ + LOGGER.log(Level.SEVERE, + GT.tr("Server name validation failed: certificate for host {0} dNSName entries subjectAltName," + + " but none of them match. Assuming server name validation failed", hostname)); + return false; + } + + // Last attempt: no DNS Subject Alternative Name entries detected, try common name + LdapName DN; + try { + DN = new LdapName(serverCert.getSubjectX500Principal().getName(X500Principal.RFC2253)); + } catch (InvalidNameException e) { + LOGGER.log(Level.SEVERE, + GT.tr("Server name validation failed: unable to extract common name" + + " from X509Certificate for hostname {0}", hostname), e); + return false; + } + + List commonNames = new ArrayList(1); + for (Rdn rdn : DN.getRdns()) { + if ("CN".equals(rdn.getType())) { + commonNames.add((String) rdn.getValue()); + } + } + if (commonNames.isEmpty()) { + LOGGER.log(Level.SEVERE, + GT.tr("Server name validation failed: certificate for hostname {0} has no DNS subjectAltNames," + + " and it CommonName is missing as well", + hostname)); + return false; + } + if (commonNames.size() > 1) { + /* + * RFC2818, section 3.1 + * If a subjectAltName extension of type dNSName is present, that MUST + * be used as the identity. Otherwise, the (most specific) Common Name + * field in the Subject field of the certificate MUST be used + * + * The sort is from less specific to most specific. + */ + Collections.sort(commonNames, HOSTNAME_PATTERN_COMPARATOR); + } + String commonName = commonNames.get(commonNames.size() - 1); + boolean result = verifyHostName(canonicalHostname, commonName); + if (!result) { + LOGGER.log(Level.SEVERE, + GT.tr("Server name validation failed: hostname {0} does not match common name {1}", + hostname, commonName)); + } + return result; + } + + public boolean verifyHostName(String hostname, String pattern) { + if (hostname == null || pattern == null) { + return false; + } + int lastStar = pattern.lastIndexOf('*'); + if (lastStar == -1) { + // No wildcard => just compare hostnames + return hostname.equalsIgnoreCase(pattern); + } + if (lastStar > 0) { + // Wildcards like foo*.com are not supported yet + return false; + } + if (pattern.indexOf('.') == -1) { + // Wildcard certificates should contain at least one dot + return false; + } + // pattern starts with *, so hostname should be at least (pattern.length-1) long + if (hostname.length() < pattern.length() - 1) { + return false; + } + // Use case insensitive comparison + final boolean ignoreCase = true; + // Below code is "hostname.endsWithIgnoreCase(pattern.withoutFirstStar())" + + // E.g. hostname==sub.host.com; pattern==*.host.com + // We need to start the offset of ".host.com" in hostname + // For this we take hostname.length() - pattern.length() + // and +1 is required since pattern is known to start with * + int toffset = hostname.length() - pattern.length() + 1; + + // Wildcard covers just one domain level + // a.b.c.com should not be covered by *.c.com + if (hostname.lastIndexOf('.', toffset - 1) >= 0) { + // If there's a dot in between 0..toffset + return false; + } + + return hostname.regionMatches(ignoreCase, toffset, + pattern, 1, pattern.length() - 1); + } + +} diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java index 4aadabd4bb..7dbe9df63c 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java @@ -1,270 +1,63 @@ /* - * Copyright (c) 2004, PostgreSQL Global Development Group + * Copyright (c) 2017, PostgreSQL Global Development Group * See the LICENSE file in the project root for more information. */ package org.postgresql.ssl.jdbc4; -import org.postgresql.PGProperty; -import org.postgresql.ssl.MakeSSL; -import org.postgresql.ssl.NonValidatingFactory.NonValidatingTM; -import org.postgresql.ssl.WrappedFactory; -import org.postgresql.util.GT; +import org.postgresql.jdbc.SslMode; +import org.postgresql.ssl.PGjdbcHostnameVerifier; import org.postgresql.util.PSQLException; -import org.postgresql.util.PSQLState; -import java.io.Console; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.security.KeyManagementException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.NoSuchAlgorithmException; -import java.security.cert.Certificate; -import java.security.cert.CertificateFactory; -import java.security.cert.CertificateParsingException; -import java.security.cert.X509Certificate; -import java.util.Collection; -import java.util.List; +import java.net.IDN; import java.util.Properties; - -import javax.naming.InvalidNameException; -import javax.naming.ldap.LdapName; -import javax.naming.ldap.Rdn; import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.KeyManager; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSession; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.callback.UnsupportedCallbackException; -import javax.security.auth.x500.X500Principal; /** - * Provide an SSLSocketFactory that is compatible with the libpq behaviour. + * @deprecated prefer {@link org.postgresql.ssl.LibPQFactory} */ -public class LibPQFactory extends WrappedFactory implements HostnameVerifier { - - private static final int ALT_DNS_NAME = 2; - - LazyKeyManager km = null; - String sslmode; +@Deprecated +public class LibPQFactory extends org.postgresql.ssl.LibPQFactory implements HostnameVerifier { + private final SslMode sslMode; /** * @param info the connection parameters The following parameters are used: - * sslmode,sslcert,sslkey,sslrootcert,sslhostnameverifier,sslpasswordcallback,sslpassword + * sslmode,sslcert,sslkey,sslrootcert,sslhostnameverifier,sslpasswordcallback,sslpassword * @throws PSQLException if security error appears when initializing factory + * @deprecated prefer {@link org.postgresql.ssl.LibPQFactory} */ + @Deprecated public LibPQFactory(Properties info) throws PSQLException { - try { - sslmode = PGProperty.SSL_MODE.get(info); - SSLContext ctx = SSLContext.getInstance("TLS"); // or "SSL" ? - - // Determining the default file location - String pathsep = System.getProperty("file.separator"); - String defaultdir; - boolean defaultfile = false; - if (System.getProperty("os.name").toLowerCase().contains("windows")) { // It is Windows - defaultdir = System.getenv("APPDATA") + pathsep + "postgresql" + pathsep; - } else { - defaultdir = System.getProperty("user.home") + pathsep + ".postgresql" + pathsep; - } - - // Load the client's certificate and key - String sslcertfile = PGProperty.SSL_CERT.get(info); - if (sslcertfile == null) { // Fall back to default - defaultfile = true; - sslcertfile = defaultdir + "postgresql.crt"; - } - String sslkeyfile = PGProperty.SSL_KEY.get(info); - if (sslkeyfile == null) { // Fall back to default - defaultfile = true; - sslkeyfile = defaultdir + "postgresql.pk8"; - } - - // Determine the callback handler - CallbackHandler cbh; - String sslpasswordcallback = PGProperty.SSL_PASSWORD_CALLBACK.get(info); - if (sslpasswordcallback != null) { - try { - cbh = (CallbackHandler) MakeSSL.instantiate(sslpasswordcallback, info, false, null); - } catch (Exception e) { - throw new PSQLException( - GT.tr("The password callback class provided {0} could not be instantiated.", - sslpasswordcallback), - PSQLState.CONNECTION_FAILURE, e); - } - } else { - cbh = new ConsoleCallbackHandler(PGProperty.SSL_PASSWORD.get(info)); - } - - // If the properties are empty, give null to prevent client key selection - km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), - ("".equals(sslkeyfile) ? null : sslkeyfile), cbh, defaultfile); - - TrustManager[] tm; - if ("verify-ca".equals(sslmode) || "verify-full".equals(sslmode)) { - // Load the server certificate - - TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); - KeyStore ks; - try { - ks = KeyStore.getInstance("jks"); - } catch (KeyStoreException e) { - // this should never happen - throw new NoSuchAlgorithmException("jks KeyStore not available"); - } - String sslrootcertfile = PGProperty.SSL_ROOT_CERT.get(info); - if (sslrootcertfile == null) { // Fall back to default - sslrootcertfile = defaultdir + "root.crt"; - } - FileInputStream fis; - try { - fis = new FileInputStream(sslrootcertfile); // NOSONAR - } catch (FileNotFoundException ex) { - throw new PSQLException( - GT.tr("Could not open SSL root certificate file {0}.", sslrootcertfile), - PSQLState.CONNECTION_FAILURE, ex); - } - try { - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - // Certificate[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{}); //Does - // not work in java 1.4 - Object[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{}); - ks.load(null, null); - for (int i = 0; i < certs.length; i++) { - ks.setCertificateEntry("cert" + i, (Certificate) certs[i]); - } - tmf.init(ks); - } catch (IOException ioex) { - throw new PSQLException( - GT.tr("Could not read SSL root certificate file {0}.", sslrootcertfile), - PSQLState.CONNECTION_FAILURE, ioex); - } catch (GeneralSecurityException gsex) { - throw new PSQLException( - GT.tr("Loading the SSL root certificate {0} into a TrustManager failed.", - sslrootcertfile), - PSQLState.CONNECTION_FAILURE, gsex); - } finally { - try { - fis.close(); - } catch (IOException e) { - /* ignore */ - } - } - tm = tmf.getTrustManagers(); - } else { // server validation is not required - tm = new TrustManager[]{new NonValidatingTM()}; - } + super(info); - // finally we can initialize the context - try { - ctx.init(new KeyManager[]{km}, tm, null); - } catch (KeyManagementException ex) { - throw new PSQLException(GT.tr("Could not initialize SSL context."), - PSQLState.CONNECTION_FAILURE, ex); - } - - _factory = ctx.getSocketFactory(); - } catch (NoSuchAlgorithmException ex) { - throw new PSQLException(GT.tr("Could not find a java cryptographic algorithm: {0}.", - ex.getMessage()), PSQLState.CONNECTION_FAILURE, ex); - } + sslMode = SslMode.of(info); } /** - * Propagates any exception from {@link LazyKeyManager}. + * Verifies if given hostname matches pattern. * - * @throws PSQLException if there is an exception to propagate + * @deprecated use {@link PGjdbcHostnameVerifier} + * @param hostname input hostname + * @param pattern domain name pattern + * @return true when domain matches pattern */ - public void throwKeyManagerException() throws PSQLException { - if (km != null) { - km.throwKeyManagerException(); - } - } - - /** - * A CallbackHandler that reads the password from the console or returns the password given to its - * constructor. - */ - static class ConsoleCallbackHandler implements CallbackHandler { - - private char[] password = null; - - ConsoleCallbackHandler(String password) { - if (password != null) { - this.password = password.toCharArray(); - } - } - - /** - * Handles the callbacks. - * - * @param callbacks The callbacks to handle - * @throws UnsupportedCallbackException If the console is not available or other than - * PasswordCallback is supplied - */ - @Override - public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { - Console cons = System.console(); - if (cons == null && password == null) { - throw new UnsupportedCallbackException(callbacks[0], "Console is not available"); - } - for (Callback callback : callbacks) { - if (callback instanceof PasswordCallback) { - if (password == null) { - // It is used instead of cons.readPassword(prompt), because the prompt may contain '%' - // characters - ((PasswordCallback) callback).setPassword( - cons.readPassword("%s", ((PasswordCallback) callback).getPrompt())); - } else { - ((PasswordCallback) callback).setPassword(password); - } - } else { - throw new UnsupportedCallbackException(callback); - } - } - - } - } - + @Deprecated public static boolean verifyHostName(String hostname, String pattern) { - if (hostname == null || pattern == null) { - return false; - } - if (!pattern.startsWith("*")) { - // No wildcard => just compare hostnames - return hostname.equalsIgnoreCase(pattern); - } - // pattern starts with *, so hostname should be at least (pattern.length-1) long - if (hostname.length() < pattern.length() - 1) { - return false; - } - // Compare ignore case - final boolean ignoreCase = true; - // Below code is "hostname.endsWithIgnoreCase(pattern.withoutFirstStar())" - - // E.g. hostname==sub.host.com; pattern==*.host.com - // We need to start the offset of ".host.com" in hostname - // For this we take hostname.length() - pattern.length() - // and +1 is required since pattern is known to start with * - int toffset = hostname.length() - pattern.length() + 1; - - // Wildcard covers just one domain level - // a.b.c.com should not be covered by *.c.com - if (hostname.lastIndexOf('.', toffset - 1) >= 0) { - // If there's a dot in between 0..toffset - return false; + String canonicalHostname; + if (hostname.startsWith("[") && hostname.endsWith("]")) { + // IPv6 address like [2001:db8:0:1:1:1:1:1] + canonicalHostname = hostname.substring(1, hostname.length() - 1); + } else { + // This converts unicode domain name to ASCII + try { + canonicalHostname = IDN.toASCII(hostname); + } catch (IllegalArgumentException e) { + // e.g. hostname is invalid + return false; + } } - - return hostname.regionMatches(ignoreCase, toffset, - pattern, 1, pattern.length() - 1); + return PGjdbcHostnameVerifier.INSTANCE.verifyHostName(canonicalHostname, pattern); } /** @@ -274,56 +67,18 @@ public static boolean verifyHostName(String hostname, String pattern) { * the certificate will not match subdomains. If the connection is made using an IP address * instead of a hostname, the IP address will be matched (without doing any DNS lookups). * + * @deprecated use PgjdbcHostnameVerifier * @param hostname Hostname or IP address of the server. * @param session The SSL session. * @return true if the certificate belongs to the server, false otherwise. + * @see PGjdbcHostnameVerifier */ + @Deprecated public boolean verify(String hostname, SSLSession session) { - X509Certificate[] peerCerts; - try { - peerCerts = (X509Certificate[]) session.getPeerCertificates(); - } catch (SSLPeerUnverifiedException e) { - return false; + if (!sslMode.verifyPeerName()) { + return true; } - if (peerCerts == null || peerCerts.length == 0) { - return false; - } - // Extract the common name - X509Certificate serverCert = peerCerts[0]; - - try { - // Check for Subject Alternative Names (see RFC 6125) - Collection> subjectAltNames = serverCert.getSubjectAlternativeNames(); - - if (subjectAltNames != null) { - for (List sanit : subjectAltNames) { - Integer type = (Integer) sanit.get(0); - String san = (String) sanit.get(1); - - // this mimics libpq check for ALT_DNS_NAME - if (type != null && type == ALT_DNS_NAME && verifyHostName(hostname, san)) { - return true; - } - } - } - } catch (CertificateParsingException e) { - return false; - } - - LdapName DN; - try { - DN = new LdapName(serverCert.getSubjectX500Principal().getName(X500Principal.RFC2253)); - } catch (InvalidNameException e) { - return false; - } - String CN = null; - for (Rdn rdn : DN.getRdns()) { - if ("CN".equals(rdn.getType())) { - // Multiple AVAs are not treated - CN = (String) rdn.getValue(); - break; - } - } - return verifyHostName(hostname, CN); + return PGjdbcHostnameVerifier.INSTANCE.verify(hostname, session); } + } diff --git a/pgjdbc/src/main/java/org/postgresql/util/ObjectFactory.java b/pgjdbc/src/main/java/org/postgresql/util/ObjectFactory.java index 4145bc54c0..273ac6d611 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ObjectFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ObjectFactory.java @@ -21,7 +21,7 @@ public class ObjectFactory { * single String argument is searched if it fails, or tryString is true a no argument constructor * is tried. * - * @param classname Nam of the class to instantiate + * @param classname name of the class to instantiate * @param info parameter to pass as Properties * @param tryString weather to look for a single String argument constructor * @param stringarg parameter to pass as String diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 8a3fb7283a..789736a6ed 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -32,14 +32,28 @@ * Utility class for JDBC tests. */ public class TestUtil { + /* + * The case is as follows: + * 1. Typically the database and hostname are taken from System.properties or build.properties or build.local.properties + * That enables to override test DB via system property + * 2. There are tests where different DBs should be used (e.g. SSL tests), so we can't just use DB name from system property + * That is why _test_ properties exist: they overpower System.properties and build.properties + */ + public static final String SERVER_HOST_PORT_PROP = "_test_hostport"; + public static final String DATABASE_PROP = "_test_database"; + /* * Returns the Test database JDBC URL */ public static String getURL() { - return getURL(getServer(), getPort()); + return getURL(getServer(), + getPort()); } public static String getURL(String server, int port) { + return getURL(server + ":" + port, getDatabase()); + } + + public static String getURL(String hostport, String database) { String logLevel = ""; if (getLogLevel() != null && !getLogLevel().equals("")) { logLevel = "&loggerLevel=" + getLogLevel(); @@ -76,9 +90,8 @@ public static String getURL(String server, int port) { } return "jdbc:postgresql://" - + server + ":" - + port + "/" - + getDatabase() + + hostport + "/" + + database + "?ApplicationName=Driver Tests" + logLevel + logFile @@ -135,6 +148,13 @@ public static String getPassword() { return System.getProperty("password"); } + /* + * Returns password for default callbackhandler + */ + public static String getSslPassword() { + return System.getProperty(PGProperty.SSL_PASSWORD.getName()); + } + /* * Returns the user for SSPI authentication tests */ @@ -301,6 +321,11 @@ public static Connection openDB(Properties props) throws Exception { password = ""; } props.setProperty("password", password); + String sslPassword = getSslPassword(); + if (sslPassword != null) { + PGProperty.SSL_PASSWORD.set(props, sslPassword); + } + if (!props.containsKey(PGProperty.PREPARE_THRESHOLD.getName())) { PGProperty.PREPARE_THRESHOLD.set(props, getPrepareThreshold()); } @@ -310,8 +335,11 @@ public static Connection openDB(Properties props) throws Exception { props.put(PGProperty.PREFER_QUERY_MODE.getName(), value); } } + // Enable Base4 tests to override host,port,database + String hostport = props.getProperty(SERVER_HOST_PORT_PROP, getServer() + ":" + getPort()); + String database = props.getProperty(DATABASE_PROP, getDatabase()); - return DriverManager.getConnection(getURL(), props); + return DriverManager.getConnection(getURL(hostport, database), props); } /* diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java index b9615b0967..faaa82bd45 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/NotifyTest.java @@ -9,6 +9,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import org.postgresql.PGConnection; import org.postgresql.PGNotification; import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; @@ -41,7 +42,7 @@ public void testNotify() throws SQLException { stmt.executeUpdate("LISTEN mynotification"); stmt.executeUpdate("NOTIFY mynotification"); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -60,7 +61,7 @@ public void testNotifyArgument() throws Exception { stmt.executeUpdate("LISTEN mynotification"); stmt.executeUpdate("NOTIFY mynotification, 'message'"); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -83,13 +84,14 @@ public void testAsyncNotify() throws Exception { try { int retries = 20; while (retries-- > 0 - && (notifications = ((org.postgresql.PGConnection) conn).getNotifications()) == null ) { + && (notifications = conn.unwrap(PGConnection.class).getNotifications()) == null ) { Thread.sleep(100); } } catch (InterruptedException ie) { } - assertNotNull(notifications); + assertNotNull("Notification is expected to be delivered when subscription was created" + + " before sending notification", notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); assertEquals("", notifications[0].getParameter()); @@ -108,7 +110,7 @@ public void testAsyncNotifyWithTimeout() throws Exception { // Here we let the getNotifications() timeout. long startMillis = System.currentTimeMillis(); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(500); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(500); long endMillis = System.currentTimeMillis(); long runtime = endMillis - startMillis; assertNull("There have been notifications, although none have been expected.",notifications); @@ -126,7 +128,7 @@ public void testAsyncNotifyWithTimeoutAndMessagesAvailableWhenStartingListening( // listen for notifications connectAndNotify("mynotification"); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(10000); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(10000); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -143,7 +145,7 @@ public void testAsyncNotifyWithEndlessTimeoutAndMessagesAvailableWhenStartingLis // Now we check the case where notifications are already available while we are waiting forever connectAndNotify("mynotification"); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(0); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(0); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -169,7 +171,7 @@ public void run() { } }).start(); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(10000); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(10000); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -195,7 +197,7 @@ public void run() { } }).start(); - PGNotification[] notifications = ((org.postgresql.PGConnection) conn).getNotifications(0); + PGNotification[] notifications = conn.unwrap(PGConnection.class).getNotifications(0); assertNotNull(notifications); assertEquals(1, notifications.length); assertEquals("mynotification", notifications[0].getName()); @@ -226,7 +228,7 @@ public void run() { }).start(); try { - ((org.postgresql.PGConnection) conn).getNotifications(40000); + conn.unwrap(PGConnection.class).getNotifications(40000); Assert.fail("The getNotifications(...) call didn't return when the socket closed."); } catch (SQLException e) { // We expected that diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java index 46fcc4bb47..405d977fb8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java @@ -24,7 +24,6 @@ BinaryStreamTest.class, CharacterStreamTest.class, UUIDTest.class, - LibPQFactoryHostNameTest.class, XmlTest.class }) public class Jdbc4TestSuite { diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/CommonNameVerifierTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/CommonNameVerifierTest.java new file mode 100644 index 0000000000..a162c90e05 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/CommonNameVerifierTest.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.ssl; + +import org.postgresql.ssl.PGjdbcHostnameVerifier; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +@RunWith(Parameterized.class) +public class CommonNameVerifierTest { + + private final String a; + private final String b; + private final int expected; + + public CommonNameVerifierTest(String a, String b, int expected) { + this.a = a; + this.b = b; + this.expected = expected; + } + + @Parameterized.Parameters(name = "a={0}, b={1}") + public static Iterable data() { + return Arrays.asList(new Object[][]{ + {"com", "host.com", -1}, + {"*.com", "host.com", -1}, + {"*.com", "*.*.com", -1}, + {"**.com", "*.com", -1}, + {"a.com", "*.host.com", -1}, + {"host.com", "subhost.host.com", -1}, + {"host.com", "host.com", 0} + }); + } + + @Test + public void comparePatterns() throws Exception { + Assert.assertEquals(a + " vs " + b, + expected, PGjdbcHostnameVerifier.HOSTNAME_PATTERN_COMPARATOR.compare(a, b)); + + Assert.assertEquals(b + " vs " + a, + -expected, PGjdbcHostnameVerifier.HOSTNAME_PATTERN_COMPARATOR.compare(b, a)); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/LibPQFactoryHostNameTest.java similarity index 79% rename from pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java rename to pgjdbc/src/test/java/org/postgresql/test/ssl/LibPQFactoryHostNameTest.java index 1ee140c4ee..0d998b777d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/LibPQFactoryHostNameTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/LibPQFactoryHostNameTest.java @@ -3,8 +3,9 @@ * See the LICENSE file in the project root for more information. */ -package org.postgresql.test.jdbc4; +package org.postgresql.test.ssl; +import org.postgresql.ssl.PGjdbcHostnameVerifier; import org.postgresql.ssl.jdbc4.LibPQFactory; import org.junit.Assert; @@ -47,11 +48,16 @@ public static Iterable data() { {"sub.host.com", "*.hoSt.com", true}, {"*.host.com", "host.com", false}, {"sub.sub.host.com", "*.host.com", false}, // Wildcard should cover just one level + {"com", "*", false}, // Wildcard should have al least one dot }); } @Test public void checkPattern() throws Exception { - Assert.assertEquals(expected, LibPQFactory.verifyHostName(hostname, pattern)); + Assert.assertEquals(hostname + ", pattern: " + pattern, + expected, LibPQFactory.verifyHostName(hostname, pattern)); + + Assert.assertEquals(hostname + ", pattern: " + pattern, + expected, PGjdbcHostnameVerifier.INSTANCE.verifyHostName(hostname, pattern)); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java index fa209a33fc..adfc1dda90 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java @@ -1,336 +1,481 @@ /* - * Copyright (c) 2004, PostgreSQL Global Development Group + * Copyright (c) 2018, PostgreSQL Global Development Group * See the LICENSE file in the project root for more information. */ package org.postgresql.test.ssl; +import org.postgresql.PGProperty; +import org.postgresql.jdbc.SslMode; import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; +import org.postgresql.util.PSQLState; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import java.io.File; -import java.sql.Connection; -import java.sql.DriverManager; +import java.io.FileNotFoundException; +import java.net.SocketException; +import java.security.cert.CertPathValidatorException; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Map; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import java.util.Properties; -import java.util.TreeMap; +import javax.net.ssl.SSLHandshakeException; -public class SslTest extends TestCase { +@RunWith(Parameterized.class) +public class SslTest extends BaseTest4 { + enum Hostname { + GOOD("localhost"), + BAD("127.0.0.1"), + ; - /** - * Tries to connect to the database. - * - * @param connstr Connection string for the database - * @param expected Expected values. the first element is a String holding the expected message of - * PSQLException or null, if no exception is expected, the second indicates weather ssl is - * to be used (Boolean) - */ - protected void driver(String connstr, Object[] expected) throws SQLException { - Connection conn = null; - String exmsg = (String) expected[0]; - try { - conn = DriverManager.getConnection(connstr, TestUtil.getUser(), TestUtil.getPassword()); - if (exmsg != null) { - fail("Exception did not occur: " + exmsg); + final String value; + + Hostname(String value) { + this.value = value; + } + } + + enum TestDatabase { + hostdb, + hostnossldb, + hostssldb, + hostsslcertdb, + certdb, + ; + + public static final TestDatabase[] VALUES = values(); + + public boolean requiresClientCert() { + return this == certdb || this == hostsslcertdb; + } + + public boolean requiresSsl() { + return this == certdb || this == hostssldb || this == hostsslcertdb; + } + + public boolean rejectsSsl() { + return this == hostnossldb; + } + } + + enum ClientCertificate { + EMPTY(""), + GOOD("goodclient"), + BAD("badclient"), + ; + + public static final ClientCertificate[] VALUES = values(); + public final String fileName; + + ClientCertificate(String fileName) { + this.fileName = fileName; + } + } + + enum ClientRootCertificate { + EMPTY(""), + GOOD("goodroot"), + BAD("badroot"), + ; + + public static final ClientRootCertificate[] VALUES = values(); + public final String fileName; + + ClientRootCertificate(String fileName) { + this.fileName = fileName; + } + } + + @Parameterized.Parameter(0) + public Hostname host; + + @Parameterized.Parameter(1) + public TestDatabase db; + + @Parameterized.Parameter(2) + public SslMode sslmode; + + @Parameterized.Parameter(3) + public ClientCertificate clientCertificate; + + @Parameterized.Parameter(4) + public ClientRootCertificate clientRootCertificate; + + @Parameterized.Parameter(5) + public String certdir; + + @Parameterized.Parameters(name = "host={0}, db={1} sslMode={2}, cCert={3}, cRootCert={4}") + public static Iterable data() { + Properties prop = TestUtil.loadPropertyFiles("ssltest.properties"); + String enableSslTests = prop.getProperty("enable_ssl_tests"); + if (!Boolean.valueOf(enableSslTests)) { + System.out.println("enableSslTests is " + enableSslTests + ", skipping SSL tests"); + return Collections.emptyList(); + } + + Collection tests = new ArrayList(); + + + File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); + String certdir = certDirFile.getAbsolutePath(); + + for (SslMode sslMode : SslMode.VALUES) { + for (Hostname hostname : Hostname.values()) { + for (TestDatabase database : TestDatabase.VALUES) { + for (ClientCertificate clientCertificate : ClientCertificate.VALUES) { + for (ClientRootCertificate rootCertificate : ClientRootCertificate.VALUES) { + if ((sslMode == SslMode.DISABLE + || database.rejectsSsl()) + && (clientCertificate != ClientCertificate.GOOD + || rootCertificate != ClientRootCertificate.GOOD)) { + // When SSL is disabled, it does not make sense to verify "bad certificates" + // since certificates are NOT used in plaintext connections + continue; + } + if (database.rejectsSsl() + && (sslMode.verifyCertificate() + || hostname == Hostname.BAD) + ) { + // DB would reject SSL connection, so it makes no sense to test cases like verify-full + continue; + } + tests.add( + new Object[]{hostname, database, sslMode, clientCertificate, rootCertificate, + certdir}); + } + } + } } - // - ResultSet rs = conn.createStatement().executeQuery("select ssl_is_used()"); - assertTrue(rs.next()); - assertEquals("ssl_is_used: ", ((Boolean) expected[1]).booleanValue(), rs.getBoolean(1)); - conn.close(); + } + + return tests; + } + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + props.put(TestUtil.SERVER_HOST_PORT_PROP, host.value + ":" + TestUtil.getPort()); + props.put(TestUtil.DATABASE_PROP, db.toString()); + PGProperty.SSL_MODE.set(props, sslmode.value); + if (clientCertificate == ClientCertificate.EMPTY) { + PGProperty.SSL_CERT.set(props, ""); + PGProperty.SSL_KEY.set(props, ""); + } else { + PGProperty.SSL_CERT.set(props, + certdir + "/" + clientCertificate.fileName + ".crt"); + PGProperty.SSL_KEY.set(props, + certdir + "/" + clientCertificate.fileName + ".pk8"); + } + if (clientRootCertificate == ClientRootCertificate.EMPTY) { + PGProperty.SSL_ROOT_CERT.set(props, ""); + } else { + PGProperty.SSL_ROOT_CERT.set(props, + certdir + "/" + clientRootCertificate.fileName + ".crt"); + } + } + + @Override + public void setUp() throws Exception { + SQLException e = null; + try { + super.setUp(); } catch (SQLException ex) { - if (conn != null) { - conn.close(); + e = ex; + } + + try { + // Note that checkErrorCodes throws AssertionError for unexpected cases + checkErrorCodes(e); + } catch (AssertionError ae) { + // Make sure original SQLException is printed as well even in case of AssertionError + if (e != null) { + ae.initCause(e); + } + throw ae; + } + } + + private void assertClientCertRequired(SQLException e, String caseName) { + if (e == null) { + Assert.fail(caseName + " should result in failure of client validation"); + } + Assert.assertEquals(caseName + " ==> CONNECTION_FAILURE is expected", + PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState(), e.getSQLState()); + } + + private void checkErrorCodes(SQLException e) { + if (e == null && sslmode == SslMode.ALLOW && !db.requiresSsl()) { + // allowed to connect with plain connection + return; + } + + if (clientRootCertificate == ClientRootCertificate.EMPTY + && (sslmode == SslMode.VERIFY_CA || sslmode == SslMode.VERIFY_FULL)) { + String caseName = "rootCertificate is missing and sslmode=" + sslmode; + if (e == null) { + Assert.fail(caseName + " should result in FileNotFound exception for root certificate"); + } + Assert.assertEquals(caseName + " ==> CONNECTION_FAILURE is expected", + PSQLState.CONNECTION_FAILURE.getState(), e.getSQLState()); + FileNotFoundException fnf = findCause(e, FileNotFoundException.class); + if (fnf == null) { + Assert.fail(caseName + " ==> FileNotFoundException should be present in getCause chain"); + } + return; + } + + if (db.requiresSsl() && sslmode == SslMode.DISABLE) { + String caseName = "sslmode=DISABLE and database " + db + " requires SSL"; + if (e == null) { + Assert.fail(caseName + " should result in connection failure"); + } + Assert.assertEquals(caseName + " ==> INVALID_AUTHORIZATION_SPECIFICATION is expected", + PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState(), e.getSQLState()); + return; + } + + if (db.rejectsSsl() && sslmode.requireEncryption()) { + String caseName = + "database " + db + " rejects SSL, and sslmode " + sslmode + " requires encryption"; + if (e == null) { + Assert.fail(caseName + " should result in connection failure"); } - if (exmsg == null) { // no exception is excepted - fail("Exception thrown: " + ex.getMessage()); + Assert.assertEquals(caseName + " ==> INVALID_AUTHORIZATION_SPECIFICATION is expected", + PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState(), e.getSQLState()); + return; + } + + // Server certificate, server hostname, and client certificate can be validated in any order + // So we have three validators and expect at least one of them to match + List errors = null; + try { + if (assertServerCertificate(e)) { + return; + } + } catch (AssertionError ae) { + errors = addError(errors, ae); + } + + try { + if (assertServerHostname(e)) { + return; + } + } catch (AssertionError ae) { + errors = addError(errors, ae); + } + + + try { + if (assertClientCertificate(e)) { + return; + } + } catch (AssertionError ae) { + errors = addError(errors, ae); + } + + if (sslmode == SslMode.ALLOW && db.requiresSsl()) { + // Allow tries to connect with non-ssl first, and it always throws the first error even after try SSL. + // "If SSL was expected to fail" (e.g. invalid certificate), and db requiresSsl, then ALLOW + // should fail as well + String caseName = + "sslmode=ALLOW and db " + db + " requires SSL, and there are expected SSL failures"; + if (errors == null) { + if (e != null) { + Assert.fail(caseName + " ==> connection should be upgraded to SSL with no failures"); + } } else { - assertTrue("expected: " + exmsg + " actual: " + ex.getMessage(), - ex.getMessage().matches(exmsg)); + if (e == null) { + Assert.fail(caseName + " ==> connection should fail"); + } + Assert.assertEquals(caseName + " ==> INVALID_AUTHORIZATION_SPECIFICATION is expected", + PSQLState.INVALID_AUTHORIZATION_SPECIFICATION.getState(), e.getSQLState()); + } + // ALLOW is ok + return; + } + + if (errors == null) { + if (e == null) { + // Assume "no exception" was expected. + // The cases like "successfully connected in sslmode=DISABLE to SSLONLY db" + // should be handled with assertions above return; } + Assert.fail("SQLException present when it was not expected"); + } + + AssertionError firstError = errors.get(0); + if (errors.size() == 1) { + throw firstError; + } + + for (int i = 1; i < errors.size(); i++) { + AssertionError error = errors.get(i); + // addSuppressed is Java 1.7+ + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + firstError.addSuppressed(error); + //#endif + error.printStackTrace(); } - } - protected String certdir; - protected String connstr; - protected String sslmode; - protected boolean goodclient; - protected boolean goodserver; - protected String prefix; - protected Object[] expected; - - private String makeConnStr(String sslmode, boolean goodclient, boolean goodserver) { - return connstr - + "&sslmode=" + sslmode - + "&sslcert=" + certdir + "/" + prefix + (goodclient ? "goodclient.crt" : "badclient.crt") - + "&sslkey=" + certdir + "/" + prefix + (goodclient ? "goodclient.pk8" : "badclient.pk8") - + "&sslrootcert=" + certdir + "/" + prefix + (goodserver ? "goodroot.crt" : "badroot.crt") - // + "&sslfactory=org.postgresql.ssl.NonValidatingFactory" - + "&loglevel=" + TestUtil.getLogLevel(); + throw firstError; } - public SslTest(String name, String certdir, String connstr, String sslmode, - boolean goodclient, boolean goodserver, String prefix, Object[] expected) { - super(name); - this.certdir = certdir; - this.connstr = connstr; - this.sslmode = sslmode; - this.goodclient = goodclient; - this.goodserver = goodserver; - this.prefix = prefix; - this.expected = expected; + private List addError(List errors, AssertionError ae) { + if (errors == null) { + errors = new ArrayList(); + } + errors.add(ae); + return errors; } - static TestSuite getSuite(Properties prop, String param) { - File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); - String certdir = certDirFile.getAbsolutePath(); - String sconnstr = prop.getProperty(param); - String sprefix = prop.getProperty(param + "prefix"); - String[] sslModes = {"disable", "allow", "prefer", "require", "verify-ca", "verify-full"}; - - TestSuite suite = new TestSuite(); - Map expected = expectedmap.get(param); - if (expected == null) { - expected = defaultexpected; - } - for (String sslMode : sslModes) { - suite.addTest(new SslTest(param + "-" + sslMode + "GG3", certdir, sconnstr, sslMode, - true, true, sprefix, expected.get(sslMode + "GG"))); - suite.addTest(new SslTest(param + "-" + sslMode + "GB3", certdir, sconnstr, sslMode, - true, false, sprefix, expected.get(sslMode + "GB"))); - suite.addTest(new SslTest(param + "-" + sslMode + "BG3", certdir, sconnstr, sslMode, - false, true, sprefix, expected.get(sslMode + "BG"))); - } - return suite; + /** + * Checks server certificate validation error. + * + * @param e connection exception or null if no exception + * @return true when validation pass, false when the case is not applicable + * @throws AssertionError when exception does not match expectations + */ + private boolean assertServerCertificate(SQLException e) { + if (clientRootCertificate == ClientRootCertificate.GOOD + || (sslmode != SslMode.VERIFY_CA && sslmode != SslMode.VERIFY_FULL)) { + return false; + } + + String caseName = "Server certificate is " + clientRootCertificate + " + sslmode=" + sslmode; + if (e == null) { + Assert.fail(caseName + " should result in failure of server validation"); + } + + Assert.assertEquals(caseName + " ==> CONNECTION_FAILURE is expected", + PSQLState.CONNECTION_FAILURE.getState(), e.getSQLState()); + CertPathValidatorException validatorEx = findCause(e, CertPathValidatorException.class); + if (validatorEx == null) { + Assert.fail(caseName + " ==> exception should be caused by CertPathValidatorException," + + " but no CertPathValidatorException is present in the getCause chain"); + } + // getReason is Java 1.7+ + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + Assert.assertEquals(caseName + " ==> CertPathValidatorException.getReason", + "NO_TRUST_ANCHOR", validatorEx.getReason().toString()); + //#endif + return true; } - protected void runTest() throws Throwable { - driver(makeConnStr(sslmode, goodclient, goodserver), expected); + /** + * Checks hostname validation error. + * + * @param e connection exception or null if no exception + * @return true when validation pass, false when the case is not applicable + * @throws AssertionError when exception does not match expectations + */ + private boolean assertServerHostname(SQLException e) { + if (sslmode != SslMode.VERIFY_FULL || host != Hostname.BAD) { + return false; + } + + String caseName = "VERIFY_FULL + hostname that does not match server certificate"; + if (e == null) { + Assert.fail(caseName + " ==> CONNECTION_FAILURE expected"); + } + Assert.assertEquals(caseName + " ==> CONNECTION_FAILURE is expected", + PSQLState.CONNECTION_FAILURE.getState(), e.getSQLState()); + if (!e.getMessage().contains("PgjdbcHostnameVerifier")) { + Assert.fail(caseName + " ==> message should contain" + + " 'PgjdbcHostnameVerifier'. Actual message is " + e.getMessage()); + } + return true; } - static Map> expectedmap; - static TreeMap defaultexpected; - - // For some strange reason, the v2 driver begins these error messages by "Connection rejected: " - // but the v3 does not. - // Also, for v2 there are two spaces after FATAL:, and the message ends with "\n.". - static String PG_HBA_ON = - "(Connection rejected: )?FATAL: ?no pg_hba.conf entry for host .*, user .*, database .*, SSL on(?s-d:.*)"; - static String PG_HBA_OFF = - "(Connection rejected: )?FATAL: ?no pg_hba.conf entry for host .*, user .*, database .*, SSL off(?s-d:.*)"; - static String FAILED = "The connection attempt failed."; - static String BROKEN = - "SSL error: (Broken pipe( \\(Write failed\\))?|Received fatal alert: unknown_ca|Connection reset|Protocol wrong type for socket)"; - static String SSLMODEALLOW = "Invalid sslmode value: allow"; - static String SSLMODEPREFER = "Invalid sslmode value: prefer"; - // static String UNKNOWN = "SSL error: Broken pipe"; - //static String UNKNOWN = "SSL error: Received fatal alert: unknown_ca"; - static String ANY = ".*"; - static String VALIDATOR = - "SSL error: sun.security.validator.ValidatorException: PKIX path (building|validation) failed:.*"; - static String HOSTNAME = "The hostname .* could not be verified."; - - static { - defaultexpected = new TreeMap(); - defaultexpected.put("disableGG", new Object[]{null, Boolean.FALSE}); - defaultexpected.put("disableGB", new Object[]{null, Boolean.FALSE}); - defaultexpected.put("disableBG", new Object[]{null, Boolean.FALSE}); - defaultexpected.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - defaultexpected.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - defaultexpected.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - defaultexpected.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - defaultexpected.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - defaultexpected.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - defaultexpected.put("requireGG", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("requireGB", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("requireBG", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("verify-caGB", new Object[]{ANY, Boolean.TRUE}); - defaultexpected.put("verify-caBG", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); - defaultexpected.put("verify-fullGB", new Object[]{ANY, Boolean.TRUE}); - defaultexpected.put("verify-fullBG", new Object[]{null, Boolean.TRUE}); - - expectedmap = new TreeMap>(); - TreeMap work; - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{null, Boolean.FALSE}); - work.put("disableGB", new Object[]{null, Boolean.FALSE}); - work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("requireGG", new Object[]{ANY, Boolean.TRUE}); - work.put("requireGB", new Object[]{ANY, Boolean.TRUE}); - work.put("requireBG", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{ANY, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{ANY, Boolean.TRUE}); - expectedmap.put("ssloff9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{null, Boolean.FALSE}); - work.put("disableGB", new Object[]{null, Boolean.FALSE}); - work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("requireGG", new Object[]{PG_HBA_ON, Boolean.TRUE}); - work.put("requireGB", new Object[]{PG_HBA_ON, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{PG_HBA_ON, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{PG_HBA_ON, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostnossl9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{null, Boolean.FALSE}); - work.put("disableGB", new Object[]{null, Boolean.FALSE}); - work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("requireGG", new Object[]{null, Boolean.TRUE}); - work.put("requireGB", new Object[]{null, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostgh9", work); - - work = (TreeMap) work.clone(); - work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - expectedmap.put("sslhostsslgh9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{null, Boolean.FALSE}); - work.put("disableGB", new Object[]{null, Boolean.FALSE}); - work.put("disableBG", new Object[]{null, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.FALSE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - work.put("requireGG", new Object[]{null, Boolean.TRUE}); - work.put("requireGB", new Object[]{null, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostbh9", work); - - work = (TreeMap) work.clone(); - work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.FALSE}); - expectedmap.put("sslhostsslbh9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("requireGG", new Object[]{null, Boolean.TRUE}); - work.put("requireGB", new Object[]{null, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostsslcertgh9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("requireGG", new Object[]{null, Boolean.TRUE}); - work.put("requireGB", new Object[]{null, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslhostsslcertbh9", work); - - work = (TreeMap) defaultexpected.clone(); - work.put("disableGG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableGB", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("disableBG", new Object[]{PG_HBA_OFF, Boolean.FALSE}); - work.put("allowGG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowGB", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("allowBG", new Object[]{SSLMODEALLOW, Boolean.TRUE}); - work.put("preferGG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferGB", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("preferBG", new Object[]{SSLMODEPREFER, Boolean.TRUE}); - work.put("requireGG", new Object[]{null, Boolean.TRUE}); - work.put("requireGB", new Object[]{null, Boolean.TRUE}); - work.put("requireBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-caGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-caGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-caBG", new Object[]{BROKEN, Boolean.TRUE}); - work.put("verify-fullGG", new Object[]{null, Boolean.TRUE}); - work.put("verify-fullGB", new Object[]{VALIDATOR, Boolean.TRUE}); - work.put("verify-fullBG", new Object[]{BROKEN, Boolean.TRUE}); - expectedmap.put("sslcertgh9", work); - - work = (TreeMap) work.clone(); - work.put("verify-fullGG", new Object[]{HOSTNAME, Boolean.TRUE}); - expectedmap.put("sslcertbh9", work); + /** + * Checks client certificate validation error. + * + * @param e connection exception or null if no exception + * @return true when validation pass, false when the case is not applicable + * @throws AssertionError when exception does not match expectations + */ + private boolean assertClientCertificate(SQLException e) { + if (db.requiresClientCert() && clientCertificate == ClientCertificate.EMPTY) { + String caseName = + "client certificate was not sent and database " + db + " requires client certificate"; + assertClientCertRequired(e, caseName); + return true; + } + if (clientCertificate != ClientCertificate.BAD) { + return false; + } + // Server verifies certificate no matter how it is configured, so sending BAD one + // is doomed to fail + String caseName = "BAD client certificate, and database " + db + " requires one"; + if (e == null) { + Assert.fail(caseName + " should result in failure of client validation"); + } + Assert.assertEquals(caseName + " ==> CONNECTION_FAILURE is expected", + PSQLState.CONNECTION_FAILURE.getState(), e.getSQLState()); + + // Two exceptions are possible + // SSLHandshakeException: Received fatal alert: unknown_ca + // SocketException: broken pipe (write failed) + + SocketException brokenPipe = findCause(e, SocketException.class); + SSLHandshakeException handshakeException = findCause(e, SSLHandshakeException.class); + + if (brokenPipe == null && handshakeException == null) { + Assert.fail(caseName + " ==> exception should be caused by SocketException(broken pipe)" + + " or SSLHandshakeException. No exceptions of such kind are present in the getCause chain"); + } + if (brokenPipe != null && !brokenPipe.getMessage().contains("Broken pipe")) { + Assert.fail( + caseName + " ==> server should have terminated the connection (broken pipe expected)" + + ", actual exception was " + brokenPipe.getMessage()); + } + if (handshakeException != null && !handshakeException.getMessage().contains("unknown_ca")) { + Assert.fail( + caseName + " ==> server should have terminated the connection (expected 'unknown_ca')" + + ", actual exception was " + handshakeException.getMessage()); + } + return true; } + private static T findCause(Throwable t, Class cause) { + while (t != null) { + if (cause.isInstance(t)) { + return (T) t; + } + t = t.getCause(); + } + return null; + } + + + @Test + public void run() throws SQLException { + if (con == null) { + // e.g. expected failure to connect + return; + } + ResultSet rs = con.createStatement().executeQuery("select ssl_is_used()"); + Assert.assertTrue("select ssl_is_used() should return a row", rs.next()); + boolean sslUsed = rs.getBoolean(1); + if (sslmode == SslMode.ALLOW) { + Assert.assertEquals("ssl_is_used: ", + db.requiresSsl(), + sslUsed); + } else { + Assert.assertEquals("ssl_is_used: ", + sslmode != SslMode.DISABLE && !db.rejectsSsl(), + sslUsed); + } + TestUtil.closeQuietly(rs); + } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java index 19c3a7c532..cf48916f42 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java @@ -5,43 +5,14 @@ package org.postgresql.test.ssl; -import org.postgresql.test.TestUtil; - -import junit.framework.TestSuite; - -import java.util.Properties; - -public class SslTestSuite extends TestSuite { - private static Properties prop; - - private static void add(TestSuite suite, String param) { - if (prop.getProperty(param, "").equals("")) { - System.out.println("Skipping " + param + "."); - } else { - suite.addTest(SslTest.getSuite(prop, param)); - } - } - - /* - * The main entry point for JUnit - */ - public static TestSuite suite() throws Exception { - TestSuite suite = new TestSuite(); - prop = TestUtil.loadPropertyFiles("ssltest.properties"); - add(suite, "ssloff9"); - add(suite, "sslhostnossl9"); - - String[] hostModes = {"sslhost", "sslhostssl", "sslhostsslcert", "sslcert"}; - String[] certModes = {"gh", "bh"}; - - for (String hostMode : hostModes) { - for (String certMode : certModes) { - add(suite, hostMode + certMode + "9"); - } - } - - TestUtil.initDriver(); - - return suite; - } +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + LibPQFactoryHostNameTest.class, + CommonNameVerifierTest.class, + SslTest.class +}) +public class SslTestSuite { } diff --git a/ssltest.properties b/ssltest.properties index 21d1d45a40..492399a428 100644 --- a/ssltest.properties +++ b/ssltest.properties @@ -1,32 +1,2 @@ - - certdir=certdir - -# Uncomment to enable testing of SingleCertValidatingFactory -#testsinglecertfactory=true - -ssloff9= -ssloff9prefix= - -#sslhostnossl9=jdbc:postgresql://localhost:5432/hostnossldb?sslpassword=sslpwd -sslhostnossl9prefix= - -#sslhostgh9=jdbc:postgresql://localhost:5432/hostdb?sslpassword=sslpwd -sslhostgh9prefix= -#sslhostbh9=jdbc:postgresql://127.0.0.1:5432/hostdb?sslpassword=sslpwd -sslhostbh9prefix= - -#sslhostsslgh9=jdbc:postgresql://localhost:5432/hostssldb?sslpassword=sslpwd -sslhostsslgh9prefix= -#sslhostsslbh9=jdbc:postgresql://127.0.0.1:5432/hostssldb?sslpassword=sslpwd -sslhostsslbh9prefix= - -#sslhostsslcertgh9=jdbc:postgresql://localhost:5432/hostsslcertdb?sslpassword=sslpwd -sslhostsslcertgh9prefix= -#sslhostsslcertbh9=jdbc:postgresql://127.0.0.1:5432/hostsslcertdb?sslpassword=sslpwd -sslhostsslcertbh9prefix= - -#sslcertgh9=jdbc:postgresql://localhost:5432/certdb?sslpassword=sslpwd -sslcertgh9prefix= -#sslcertbh9=jdbc:postgresql://127.0.0.1:5432/certdb?sslpassword=sslpwd -sslcertbh9prefix= \ No newline at end of file +#enable_ssl_tests=true From fa032732acfe51c6e663ee646dd5c1beaa1af857 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 27 Aug 2018 18:07:24 +0300 Subject: [PATCH 215/427] docs: improve documentation on SSL --- docs/documentation/head/connect.md | 15 +-- docs/documentation/head/media/css/table.css | 8 +- docs/documentation/head/ssl-client.md | 100 +++++++++++++++----- docs/documentation/head/ssl-factory.md | 17 ++-- 4 files changed, 99 insertions(+), 41 deletions(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 9881060512..106f3ca038 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -95,11 +95,14 @@ Connection conn = DriverManager.getConnection(url); * **sslmode** = String - possible values include "disable", "require", "verify-ca" and "verify-full", "allow" and "prefer" - will throw an exception. "require" will default to a non validating SSL factory and not check the - validity of the certificates. "verify-ca" and "verify-full" use a validating SSL factory and will - check that the ca is correct and the host is correct. Setting these will necessitate storing the - server certificate on the client machine ["Configuring the client"](ssl-client.html). + possible values include `disable`, `allow`, `prefer`, `require`, `verify-ca` and `verify-full` + . `require`, `allow` and `prefer` all default to a non validating SSL factory and do not check the + validity of the certificate or the host name. `verify-ca` validates the certificate, but does not + verify the hostname. `verify-full` will validate that the certificate is correct and verify the + host connected to has the same hostname as the certificate. + + Setting these will necessitate storing the server certificate on the client machine see + ["Configuring the client"](ssl-client.html) for details. * **sslcert** = String @@ -117,7 +120,7 @@ Connection conn = DriverManager.getConnection(url); * **sslhostnameverifier** = String - Class name of hostname verifier. Defaults to using `org.postgresql.ssl.jdbc4.LibPQFactory.verify()` + Class name of hostname verifier. Defaults to using `org.postgresql.ssl.PGjdbcHostnameVerifier` * **sslpasswordcallback** = String diff --git a/docs/documentation/head/media/css/table.css b/docs/documentation/head/media/css/table.css index cf2fd7daca..5f2633ff35 100644 --- a/docs/documentation/head/media/css/table.css +++ b/docs/documentation/head/media/css/table.css @@ -14,7 +14,7 @@ div.tblBasic table { div.tblBasic table th { padding-top: 20px; - border-bottom: 1px solid #EFEFEF; + border-bottom: 1px solid #F0F8FF; vertical-align: bottom; } @@ -99,3 +99,9 @@ div.tblBasic table td.colLastRT { text-align: right; vertical-align: top; } +div.tblBasic table.tblBasicWhite th { + background-color: aliceblue; +} +div.tblBasic table.tblBasicWhite td { + background-color: white; +} \ No newline at end of file diff --git a/docs/documentation/head/ssl-client.md b/docs/documentation/head/ssl-client.md index a03001d525..e49b727170 100644 --- a/docs/documentation/head/ssl-client.md +++ b/docs/documentation/head/ssl-client.md @@ -9,24 +9,79 @@ nexttitle: Custom SSLSocketFactory next: ssl-factory.html --- -Unlike psql and other libpq based programs the JDBC driver does server certificate -validation by default. This means that when establishing a SSL connection the -JDBC driver will validate the server's identity preventing "man in the middle" -attacks. It does this by checking that the server certificate is signed by a -trusted authority. If you have a certificate signed by a global certificate -authority (CA), there is nothing further to do because Java comes with copies of -the most common CA's certificates. If you are dealing with a self-signed certificate -though, you need to make this available to the Java client to enable it to validate -the server's certificate. - -> ### Note - -> Only the JDBC driver version 3 and greater supports SSL. The 1.4 JDK was the -first version to come bundled with SSL support. Previous JDK versions that wanted -to use SSL could make use of the additional JSSE library, but it does not support -the full range of features utilized by the PostgreSQL™ JDBC driver. - -To make the server certificate available to Java, the first step is to convert +There are a number of connection parameters for configuring the client for SSL. See [SSL Connection parameters](connect.html#ssl) + +The simplest being `ssl=true`, passing this into the driver will cause the driver to validate both +the SSL certificate and verify the hostname (same as `verify-full`). **Note** this is different than +libpq which defaults to a non-validating SSL connection. + +In this mode, when establishing a SSL connection the JDBC driver will validate the server's +identity preventing "man in the middle" attacks. It does this by checking that the server +certificate is signed by a trusted authority, and that the host you are connecting to is the +same as the hostname in the certificate. + +If you **require** encryption and want the connection to fail if it can't be encrypted then set +`sslmode=require` this ensures that the server is configured to accept SSL connections for this +Host/IP address and that the server recognizes the client certificate. In other words if the server +does not accept SSL connections or the client certificate is not recognized the connection will fail. +**Note** in this mode we will accept all server certificates. + +If `sslmode=verify-ca`, the server is verified by checking the certificate chain up to the root +certificate stored on the client. + +If `sslmode=verify-full`, the server host name will be verified to make sure it matches the name +stored in the server certificate. + +The SSL connection will fail if the server certificate cannot be verified. `verify-full` is recommended +in most security-sensitive environments. + + +In the case where the certificate validation is failing you can try `sslcert=` and LibPQFactory will +not send the client certificate. If the server is not configured to authenticate using the certificate +it should connect. + +The location of the client certificate, client key and root certificate can be overridden with the +`sslcert`, `sslkey`, and `sslrootcert` settings respectively. These default to /defaultdir/postgresql.crt, +/defaultdir/postgresql.pk8, and /defaultdir/root.crt respectively where defaultdir is +${user.home}/.postgresql/ in *nix systems and %appdata%/postgresql/ on windows + +Finer control of the SSL connection can be achieved using the `sslmode` connection parameter. +This parameter is the same as the libpq `sslmode` parameter and the currently SSL implements the +following + +
+ + + + + + + + + + + + + + + + + + + + + + + +
sslmodeEavesdropping Protection MITM Protection +
disableNoNoI don't care about security and don't want to pay the overhead for encryption
allowMaybeNoI don't care about security but will pay the overhead for encryption if the server insists on it
preferMaybeNoI don't care about encryption but will pay the overhead of encryption if the server supports it
requireYesNoI want my data to be encrypted, and I accept the overhead. I trust that the network will make sure I always connect to the server I want.
verify-caYesDepends on CA policyI want my data encrypted, and I accept the overhead. I want to be sure that I connect to a server that I trust.
verify-fullYesYesI want my data encrypted, and I accept the overhead. I want to be sure that I connect to a server I trust, and that it's the one I specify.
+
+ + +### Note + +If you are using Java's default mechanism (not LibPQFactory) to create the SSL connection you will +need to make the server certificate available to Java, the first step is to convert it to a form Java understands. `openssl x509 -in server.crt -out server.crt.der -outform der` @@ -52,9 +107,6 @@ to use. In the event of problems extra debugging information is available by adding `-Djavax.net.debug=ssl` to your command line. -To instruct the JDBC driver to try and establish a SSL connection you must add -the connection URL parameter `ssl=true`. See [SSL Connection parameters](connect.html#ssl) - ## Using SSL without Certificate Validation @@ -65,6 +117,6 @@ certificate authority, but that is not always an option. The JDBC driver provid an option to establish a SSL connection without doing any validation, but please understand the risk involved before enabling this option. -A non-validating connection is established via a custom `SSLSocketFactory` class -that is provided with the driver. Setting the connection URL parameter `sslfactory=org.postgresql.ssl.NonValidatingFactory` -will turn off all SSL validation. \ No newline at end of file +A non-validating connection is established via a custom `SSLSocketFactory` class that is provided +with the driver. Setting the connection URL parameter `sslfactory=org.postgresql.ssl.NonValidatingFactory` +will turn off all SSL validation. diff --git a/docs/documentation/head/ssl-factory.md b/docs/documentation/head/ssl-factory.md index a7e31ee178..e2e773d6e2 100644 --- a/docs/documentation/head/ssl-factory.md +++ b/docs/documentation/head/ssl-factory.md @@ -12,18 +12,15 @@ next: query.html PostgreSQL™ provides a way for developers to customize how a SSL connection is established. This may be used to provide a custom certificate source or other extensions by allowing the developer to create their own `SSLContext` instance. -The connection URL parameters `sslfactory` and `sslfactoryarg` allow the user -to specify which custom class to use for creating the `SSLSocketFactory`. The -class name specified by `sslfactory` must extend `javax.net.ssl.SSLSocketFactory` -and be available to the driver's classloader. This class must have a zero argument -constructor or a single argument constructor taking a String argument. This -argument may optionally be supplied by `sslfactoryarg`. +The connection URL parameters `sslfactory` allow the user to specify which custom +class to use for creating the `SSLSocketFactory`. The class name specified by `sslfactory` +must extend ` javax.net.ssl.SSLSocketFactory` and be available to the driver's classloader. + +This class must have a zero argument constructor or a single argument constructor preferentially taking +a `Properties` argument. There is a simple `org.postgresql.ssl.DefaultJavaSSLFactory` provided which uses the +default java SSLFactory. Information on how to actually implement such a class is beyond the scope of this documentation. Places to look for help are the [JSSE Reference Guide](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html) and the source to the `NonValidatingFactory` provided by the JDBC driver. -The Java SSL API is not very well known to the JDBC driver developers and we -would be interested in any interesting and generally useful extensions that you -have implemented using this mechanism. Specifically it would be nice to be able -to provide client certificates to be validated by the server. From 237a89bf3058a16a3de37b8c92d2a4d850c6c056 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 27 Aug 2018 17:20:10 +0300 Subject: [PATCH 216/427] Update changelog for 42.2.5 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5fe1c9c40..d9b52a3859 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed +- `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) ### Added +- Support for `sslmode=allow/prefer/require` [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) ### Fixed +- Security: added server hostname verification for non-default SSL factories in `sslmode=verify-full` (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) +- Updated documentation on SSL configuration [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857) +- Updated Japanese translations [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275) +- IndexOutOfBounds on prepared multistatement with insert values [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a) ## [42.2.4] (2018-07-14) ### Changed From c8a639edbd0cf39453048f1fd7d9412ec8e09293 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 27 Aug 2018 18:23:07 +0300 Subject: [PATCH 217/427] docs: update site for 42.2.5 --- CHANGELOG.md | 10 +++- contributors.json | 3 + docs/_posts/2018-08-27-42.2.5-release.md | 75 ++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 docs/_posts/2018-08-27-42.2.5-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index d9b52a3859..be40476bb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed + +### Added + +### Fixed + +## [42.2.5] (2018-08-27) +### Changed - `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) ### Added @@ -178,4 +185,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...REL42.2.2 [42.2.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...REL42.2.3 [42.2.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...REL42.2.4 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...HEAD +[42.2.5]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...REL42.2.5 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.5...HEAD diff --git a/contributors.json b/contributors.json index bc75010f0d..5a43aa2070 100644 --- a/contributors.json +++ b/contributors.json @@ -8,6 +8,7 @@ "Chen Huajun" : "https://github.com/ChenHuajun", "Christian Kotzbauer" : "https://github.com/code-chris", "Christian Ullrich" : "https://github.com/chrullrich", + "Christoph Berg" : "https://github.com/ChristophBerg", "Christopher Deckers" : "https://github.com/Chrriis", "Daniel Gustafsson" : "https://github.com/danielgustafsson", "Daniel Migowski" : "https://github.com/dmigowski", @@ -28,7 +29,9 @@ "Joe Kutner" : "https://github.com/jkutner", "Jordan Lewis" : "https://github.com/jordanlewis", "Jorge Solorzano" : "https://github.com/jorsol", + "Kazuhiro Sera" : "https://github.com/seratch", "KimBisgaardDmi" : "https://github.com/KimBisgaardDmi", + "Kyotaro Horiguchi" : "https://github.com/horiguti", "Laurenz Albe" : "https://github.com/laurenz", "Magnus" : "https://github.com/magJ", "Magnus Hagander" : "https://github.com/mhagander", diff --git a/docs/_posts/2018-08-27-42.2.5-release.md b/docs/_posts/2018-08-27-42.2.5-release.md new file mode 100644 index 0000000000..5467ee107c --- /dev/null +++ b/docs/_posts/2018-08-27-42.2.5-release.md @@ -0,0 +1,75 @@ +--- +title: PostgreSQL JDBC Driver 42.2.5 Released +date: 2018-08-27 18:21:38 +0300 +categories: + - new_release +version: 42.2.5 +--- +**Notable changes** + +### Changed +- `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) + +### Added +- Support for `sslmode=allow/prefer/require` [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) + +### Fixed +- Security: added server hostname verification for non-default SSL factories in `sslmode=verify-full` (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) +- Updated documentation on SSL configuration [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857) +- Updated Japanese translations [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275) +- IndexOutOfBounds on prepared multistatement with insert values [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a) + + + + +**Commits by author** + +Christoph Berg (1): + +* chore: remove editor backup files [PR 1255](https://github.com/pgjdbc/pgjdbc/pull/1255) [b1b1afb8](https://github.com/pgjdbc/pgjdbc/commit/b1b1afb829fae06bcefce443e66d823f4f92fed5) + +Dave Cramer (4): + +* Update Contributing.md [1f8ac406](https://github.com/pgjdbc/pgjdbc/commit/1f8ac4063b1fd04ccc05616e3533d68be9912333) +* Add issue templates [PR 1263](https://github.com/pgjdbc/pgjdbc/pull/1263) [c66bf710](https://github.com/pgjdbc/pgjdbc/commit/c66bf7108dd36f50aacebfd4f09e383aed02424b) +* move issue template and pull request template into github specific di… [PR 1283](https://github.com/pgjdbc/pgjdbc/pull/1283) [b5c19af6](https://github.com/pgjdbc/pgjdbc/commit/b5c19af627c8650410495ad8e3f2ee85e687e3c1) +* docs: improve documentation on SSL [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857) + +Kazuhiro Sera (1): + +* docs: fix typos detected by github.com/client9/misspell [PR 1287](https://github.com/pgjdbc/pgjdbc/pull/1287) [9534e9ca](https://github.com/pgjdbc/pgjdbc/commit/9534e9ca0e1840445ad5f4eee75bc1e2ac102dde) + +Kyotaro Horiguchi (1): + +* fix: Japanese translation [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275) [993a3beb](https://github.com/pgjdbc/pgjdbc/commit/993a3beba10aed73418340b14f2d3420c8984de5) + +Sehrope Sarkuni (1): + +* fix: Correct typo in CopyManager comment [PR 1285](https://github.com/pgjdbc/pgjdbc/pull/1285) [203a106d](https://github.com/pgjdbc/pgjdbc/commit/203a106ddc9eb0d94cc94838f4fb0924e37f441a) + +Vladimir Sitnikov (12): + +* reflect 42.2.4 release in readme.md [b99cea0d](https://github.com/pgjdbc/pgjdbc/commit/b99cea0de0e67f0c641c77bcbff8d2889a441290) +* doc: add SQL_TSI to the known issues for 42.2.3 [ci-skip] [2da319a0](https://github.com/pgjdbc/pgjdbc/commit/2da319a07d47015467bd3ace029827f67f4778bc) +* docs: escape underscores in changelog otherwise it produces italic [b1507f84](https://github.com/pgjdbc/pgjdbc/commit/b1507f849b732012d5312c79a62dad24fd6a7261) +* docs: typo in 42.2.3 changelog "minute->second" [5898cdf1](https://github.com/pgjdbc/pgjdbc/commit/5898cdf1e314f2db7889456fb1ad6822021bd543) +* refactor: remove unused PgPreparedStatement.adjustIndex [PR 1253](https://github.com/pgjdbc/pgjdbc/pull/1253) [178eecc9](https://github.com/pgjdbc/pgjdbc/commit/178eecc90643b36c8c5cd423ff311b26733384f2) +* test: run testShortQueryTimeout in PG_VERSION=HEAD Travis job only [PR 1270](https://github.com/pgjdbc/pgjdbc/pull/1270) [ecd412e4](https://github.com/pgjdbc/pgjdbc/commit/ecd412e4164bbfcccd96f778c874dd4f40330354) +* fix: remove POT-Creation-Date from generated .po and .pot files [PR 1269](https://github.com/pgjdbc/pgjdbc/pull/1269) [450a496b](https://github.com/pgjdbc/pgjdbc/commit/450a496be8b14e14fa0821413ed532c49275dc9e) +* fix: use UTF-8 encoding in generated translation/messages_*.java files [2cbe7b35](https://github.com/pgjdbc/pgjdbc/commit/2cbe7b354543e2ae526c3d9a422949acd0a375b6) +* fix: typo in "One ore more ClientInfo failed" error message [ci skip] [21e126f4](https://github.com/pgjdbc/pgjdbc/commit/21e126f451df667627c1cc3a0acfb3c38be45ffa) +* fix: IndexOutOfBounds on prepared multistatement with insert values [PR 1289](https://github.com/pgjdbc/pgjdbc/pull/1289) [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a) +* security: implement SSL hostname verification for non-default (LibPQFactory) SSL factories (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) +* Update changelog for 42.2.5 [237a89bf](https://github.com/pgjdbc/pgjdbc/commit/237a89bf3058a16a3de37b8c92d2a4d850c6c056) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Christoph Berg](https://github.com/ChristophBerg) +[Dave Cramer](davec@postgresintl.com) +[Kazuhiro Sera](https://github.com/seratch) +[Kyotaro Horiguchi](https://github.com/horiguti) +[Sehrope Sarkuni](https://github.com/sehrope) +[Vladimir Sitnikov](https://github.com/vlsi) From a1a5ae4f2283d4557f36756d1a0228310a3acccb Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Mon, 27 Aug 2018 15:38:30 +0000 Subject: [PATCH 218/427] [maven-release-plugin] prepare release REL42.2.5 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 2d835734aa..03a6091255 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.5-SNAPSHOT + 42.2.5 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,4 +325,8 @@ + + + REL42.2.5 + diff --git a/pom.xml b/pom.xml index 95e94c15de..2fb348440d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.5-SNAPSHOT + 42.2.5 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.5 From 156db4d804931f0b82c289b8b3491f197b27aec9 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Mon, 27 Aug 2018 15:38:35 +0000 Subject: [PATCH 219/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 03a6091255..43c90e7dba 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.5 + 42.2.6-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,8 +325,4 @@ - - - REL42.2.5 - diff --git a/pom.xml b/pom.xml index 2fb348440d..740c528083 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.5 + 42.2.6-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.5 + HEAD From d43398a5d4c173da40e8f283f9e5fe20a971de5c Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 27 Aug 2018 19:26:48 +0300 Subject: [PATCH 220/427] docs: reflect 42.2.5 release in readme.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ce63ac21bc..b6b303aa79 100644 --- a/README.md +++ b/README.md @@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.4-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.5-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.4 + 42.2.5 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.4.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.5.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.4.jre7 + 42.2.5.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.4.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.5.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.4.jre6 + 42.2.5.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.5-SNAPSHOT - 42.2.5.jre7-SNAPSHOT - 42.2.5.jre6-SNAPSHOT + 42.2.6-SNAPSHOT + 42.2.6.jre7-SNAPSHOT + 42.2.6.jre6-SNAPSHOT ``` From 1fff60434ba703b91a9ff47ccfc812a06262aff2 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 29 Aug 2018 12:35:00 -0400 Subject: [PATCH 221/427] docs: update README.md for SSL tests add hostdb for ssl tests --- certdir/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/certdir/README.md b/certdir/README.md index ff041e3c49..52e5222b75 100644 --- a/certdir/README.md +++ b/certdir/README.md @@ -13,7 +13,7 @@ In order to configure PostgreSQL for SSL tests, the following changes should be * Set ssl_ca_file=root.crt in postgresql.conf * Add databases for SSL tests. Note: sslinfo extension is used in tests to tell if connection is using SSL or not - for db in hostssldb hostnossldb certdb hostsslcertdb; do + for db in hostdb hostssldb hostnossldb certdb hostsslcertdb; do createdb $db psql $db -c "create extension sslinfo" done From 556c93d35cc7f27abf2a98f087a85a76e7363c55 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 1 Sep 2018 19:31:49 -0400 Subject: [PATCH 222/427] Update mailinglist.html the postgresql project is using @lists.postgresql.org now Also removed references to pg-foundry should probably fix where commits go. --- docs/community/mailinglist.html | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/docs/community/mailinglist.html b/docs/community/mailinglist.html index 3997a37ef8..74e0bad055 100644 --- a/docs/community/mailinglist.html +++ b/docs/community/mailinglist.html @@ -14,8 +14,7 @@

Mailing Lists

@@ -69,16 +68,8 @@

General List - pgsql-jdbc@postgresql.org


-

Commit Messages - jdbc-commits@pgfoundry.org

+

Commit Messages

-

- This mailing list is for people interested in carefully monitoring - the development process. The mailing list was active until the code - base was transferred to GitHub in late 2012. Every commit to this earlier - CVS repository sent out an email with the log message and links to diffs. - So the archive of this list, pgfoundry site, - holds the history of activity with the driver prior to 2013. -

Currently activity on commits is best observed directly from the git repository hosted with GitHub. From b53eedf672c00be6d340b2eb776e6c6e3c586384 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 14 Sep 2018 06:37:24 -0400 Subject: [PATCH 223/427] chore: add jdk11 and jdk12-ea tests to travis * use oracle jdk11 and openjdk-ea * use 10.0 for postgres version --- .travis.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.travis.yml b/.travis.yml index 6392396e8e..359a64b3db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -94,6 +94,22 @@ matrix: services: - docker if: type != pull_request + - jdk: openjdk-ea + sudo: required + addons: + postgresql: "10" + env: + - PG_VERSION=10 + - JDK=12 + - TZ=America/New_York # flips between −05:00 and −04:00 + - jdk: oraclejdk11 + sudo: required + addons: + postgresql: "10" + env: + - PG_VERSION=10 + - JDK=11 + - TZ=America/New_York # flips between −05:00 and −04:00 - jdk: oraclejdk9 addons: postgresql: "9.6" From 265f22b28fd7b5511e30a28ad959d5645e9722cd Mon Sep 17 00:00:00 2001 From: Dmitriy Tseyler Date: Fri, 21 Sep 2018 22:35:08 +0300 Subject: [PATCH 224/427] fix: return Double.NaN for 'NaN'::numeric (#1304) 'NaN'::real => Float.NaN 'NaN'::double precision => Double.NaN 'NaN'::numeric => Double.NaN --- .../core/v3/SimpleParameterList.java | 6 ++ .../java/org/postgresql/jdbc/PgResultSet.java | 16 ++++-- .../test/jdbc2/PreparedStatementTest.java | 56 +++++++++++++++++++ 3 files changed, 74 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java index 1a1ddeea9b..20283973df 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java @@ -188,10 +188,16 @@ public String toString(int index, boolean standardConformingStrings) { case Oid.FLOAT4: float f = ByteConverter.float4((byte[]) paramValues[index], 0); + if (Float.isNaN(f)) { + return "'NaN'::real"; + } return Float.toString(f); case Oid.FLOAT8: double d = ByteConverter.float8((byte[]) paramValues[index], 0); + if (Double.isNaN(d)) { + return "'NaN'::double precision"; + } return Double.toString(d); case Oid.UUID: diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index d4a6c90758..fd9964f998 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -185,8 +185,8 @@ protected Object internalGetObject(int columnIndex, Field field) throws SQLExcep return getLong(columnIndex); case Types.NUMERIC: case Types.DECIMAL: - return getBigDecimal(columnIndex, - (field.getMod() == -1) ? -1 : ((field.getMod() - 4) & 0xffff)); + return getNumeric(columnIndex, + (field.getMod() == -1) ? -1 : ((field.getMod() - 4) & 0xffff), true); case Types.REAL: return getFloat(columnIndex); case Types.FLOAT: @@ -2325,6 +2325,10 @@ public double getDouble(int columnIndex) throws SQLException { public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { connection.getLogger().log(Level.FINEST, " getBigDecimal columnIndex: {0}", columnIndex); + return (BigDecimal) getNumeric(columnIndex, scale, false); + } + + private Number getNumeric(int columnIndex, int scale, boolean allowNaN) throws SQLException { checkResultSet(columnIndex); if (wasNullFlag) { return null; @@ -2352,11 +2356,15 @@ public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException BigDecimal res = getFastBigDecimal(columnIndex); res = scaleBigDecimal(res, scale); return res; - } catch (NumberFormatException ex) { + } catch (NumberFormatException ignore) { } } - return toBigDecimal(getFixedString(columnIndex), scale); + String stringValue = getFixedString(columnIndex); + if (allowNaN && "NaN".equalsIgnoreCase(stringValue)) { + return Double.NaN; + } + return toBigDecimal(stringValue, scale); } /** diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index 8c4d990173..ef851df885 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -568,6 +568,62 @@ public void testFloat() throws SQLException { } + @Test + public void testNaNLiteralsSimpleStatement() throws SQLException { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery("select 'NaN'::numeric, 'NaN'::real, 'NaN'::double precision"); + checkNaNLiterals(stmt, rs); + } + + @Test + public void testNaNLiteralsPreparedStatement() throws SQLException { + PreparedStatement stmt = con.prepareStatement("select 'NaN'::numeric, 'NaN'::real, 'NaN'::double precision"); + checkNaNLiterals(stmt, stmt.executeQuery()); + } + + private void checkNaNLiterals(Statement stmt, ResultSet rs) throws SQLException { + rs.next(); + assertTrue("Double.isNaN((Double) rs.getObject", Double.isNaN((Double) rs.getObject(3))); + assertTrue("Double.isNaN(rs.getDouble", Double.isNaN(rs.getDouble(3))); + assertTrue("Float.isNaN((Float) rs.getObject", Float.isNaN((Float) rs.getObject(2))); + assertTrue("Float.isNaN(rs.getFloat", Float.isNaN(rs.getFloat(2))); + assertTrue("Double.isNaN((Double) rs.getObject", Double.isNaN((Double) rs.getObject(1))); + assertTrue("Double.isNaN(rs.getDouble", Double.isNaN(rs.getDouble(1))); + rs.close(); + stmt.close(); + } + + @Test + public void testNaNSetDoubleFloat() throws SQLException { + PreparedStatement ps = con.prepareStatement("select ?, ?"); + ps.setFloat(1, Float.NaN); + ps.setDouble(2, Double.NaN); + + checkNaNParams(ps); + } + + @Test + public void testNaNSetObject() throws SQLException { + PreparedStatement ps = con.prepareStatement("select ?, ?"); + ps.setObject(1, Float.NaN); + ps.setObject(2, Double.NaN); + + checkNaNParams(ps); + } + + private void checkNaNParams(PreparedStatement ps) throws SQLException { + ResultSet rs = ps.executeQuery(); + rs.next(); + + assertTrue("Float.isNaN((Float) rs.getObject", Float.isNaN((Float) rs.getObject(1))); + assertTrue("Float.isNaN(rs.getFloat", Float.isNaN(rs.getFloat(1))); + assertTrue("Double.isNaN(rs.getDouble", Double.isNaN(rs.getDouble(2))); + assertTrue("Double.isNaN(rs.getDouble", Double.isNaN(rs.getDouble(2))); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(ps); + } + @Test public void testBoolean() throws SQLException { testBoolean(0); From d514ceb502e7024cb302862880a8403bcd315ba3 Mon Sep 17 00:00:00 2001 From: Philip Sanetra Date: Sat, 6 Oct 2018 02:18:01 +0200 Subject: [PATCH 225/427] feat: Extend ReplicationCreateSlotBuilder DSL to support temporary replications slots (#1306) * feat: Extend ReplicationCreateSlotBuilder DSL to support temporary replications slots With Postgres 10 it is possible to create temporary replication slots. The Postgres JDBC Driver provides a DSL to create replication slots, but there was no option to declare the slot as temporary. This commit extends the DSL by a withTemporaryOption method. BREAKING CHANGE: AbstractCreateSlotBuilder has no parameterless constructor anymore Closes https://github.com/pgjdbc/pgjdbc/issues/1305 * refactor: Write tests in a more idiomatic way --- .../fluent/AbstractCreateSlotBuilder.java | 25 +++ .../ChainedCommonCreateSlotBuilder.java | 12 ++ .../logical/LogicalCreateSlotBuilder.java | 10 +- .../physical/PhysicalCreateSlotBuilder.java | 9 +- .../replication/ReplicationSlotTest.java | 148 +++++++++++++++++- 5 files changed, 196 insertions(+), 8 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/AbstractCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/AbstractCreateSlotBuilder.java index 54f946b471..c55f65b8dd 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/AbstractCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/AbstractCreateSlotBuilder.java @@ -5,10 +5,22 @@ package org.postgresql.replication.fluent; +import org.postgresql.core.BaseConnection; +import org.postgresql.core.ServerVersion; +import org.postgresql.util.GT; + +import java.sql.SQLFeatureNotSupportedException; + public abstract class AbstractCreateSlotBuilder> implements ChainedCommonCreateSlotBuilder { protected String slotName; + protected boolean temporaryOption = false; + protected BaseConnection connection; + + protected AbstractCreateSlotBuilder(BaseConnection connection) { + this.connection = connection; + } protected abstract T self(); @@ -17,4 +29,17 @@ public T withSlotName(String slotName) { this.slotName = slotName; return self(); } + + @Override + public T withTemporaryOption() throws SQLFeatureNotSupportedException { + + if (!connection.haveMinimumServerVersion(ServerVersion.v10)) { + throw new SQLFeatureNotSupportedException( + GT.tr("Server does not support temporary replication slots") + ); + } + + this.temporaryOption = true; + return self(); + } } diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java index 78a4565f1a..4076a4b73d 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java @@ -6,6 +6,7 @@ package org.postgresql.replication.fluent; import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; /** * Fluent interface for specify common parameters for create Logical and Physical replication slot. @@ -22,6 +23,17 @@ public interface ChainedCommonCreateSlotBuilderTemporary slots are not saved to disk and are automatically dropped on error or when + * the session has finished.

+ * + *

This feature is only supported by PostgreSQL versions >= 10.

+ * + * @return T a slot builder + * @throws SQLFeatureNotSupportedException thrown if PostgreSQL version is less than 10. + */ + T withTemporaryOption() throws SQLFeatureNotSupportedException; + /** * Create slot with specified parameters in database. * @throws SQLException on error diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalCreateSlotBuilder.java index 0369976cd9..72443c18e8 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/logical/LogicalCreateSlotBuilder.java @@ -15,10 +15,9 @@ public class LogicalCreateSlotBuilder extends AbstractCreateSlotBuilder implements ChainedLogicalCreateSlotBuilder { private String outputPlugin; - private BaseConnection connection; public LogicalCreateSlotBuilder(BaseConnection connection) { - this.connection = connection; + super(connection); } @Override @@ -45,7 +44,12 @@ public void make() throws SQLException { Statement statement = connection.createStatement(); try { - statement.execute(String.format("CREATE_REPLICATION_SLOT %s LOGICAL %s", slotName, outputPlugin)); + statement.execute(String.format( + "CREATE_REPLICATION_SLOT %s %s LOGICAL %s", + slotName, + temporaryOption ? "TEMPORARY" : "", + outputPlugin + )); } finally { statement.close(); } diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java index 9d99fa4ecc..1ae0ff0f5e 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java @@ -14,10 +14,9 @@ public class PhysicalCreateSlotBuilder extends AbstractCreateSlotBuilder implements ChainedPhysicalCreateSlotBuilder { - private BaseConnection connection; public PhysicalCreateSlotBuilder(BaseConnection connection) { - this.connection = connection; + super(connection); } @Override @@ -33,7 +32,11 @@ public void make() throws SQLException { Statement statement = connection.createStatement(); try { - statement.execute(String.format("CREATE_REPLICATION_SLOT %s PHYSICAL", slotName)); + statement.execute(String.format( + "CREATE_REPLICATION_SLOT %s %s PHYSICAL", + slotName, + temporaryOption ? "TEMPORARY" : "" + )); } finally { statement.close(); } diff --git a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java index 2e9b1d731d..961075d2ab 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java @@ -7,9 +7,13 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; import org.postgresql.PGConnection; import org.postgresql.PGProperty; +import org.postgresql.core.BaseConnection; +import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; import org.postgresql.test.util.rules.ServerVersionRule; import org.postgresql.test.util.rules.annotation.HaveMinimalServerVersion; @@ -23,6 +27,7 @@ import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; import java.sql.Statement; import java.util.Properties; @@ -80,7 +85,67 @@ public void testCreatePhysicalSlot() throws Exception { boolean result = isPhysicalSlotExists(slotName); - assertThat(result, CoreMatchers.equalTo(true)); + assertThat("Slot should exist", result, CoreMatchers.equalTo(true)); + + result = isSlotTemporary(slotName); + + assertThat("Slot should not be temporary by default", result, CoreMatchers.equalTo(false)); + } + + @Test + public void testCreateTemporaryPhysicalSlotPg10AndHigher() + throws SQLException { + assumeTrue(TestUtil.haveMinimumServerVersion(replConnection, ServerVersion.v10)); + + BaseConnection baseConnection = (BaseConnection) replConnection; + + String slotName = "pgjdbc_test_create_temporary_physical_replication_slot_pg_10_or_higher"; + + try { + + baseConnection + .getReplicationAPI() + .createReplicationSlot() + .physical() + .withSlotName(slotName) + .withTemporaryOption() + .make(); + + } catch (SQLFeatureNotSupportedException e) { + + fail("PostgreSQL >= 10 should support temporary replication slots"); + + } + + boolean result = isSlotTemporary(slotName); + + assertThat("Slot is not temporary", result, CoreMatchers.equalTo(true)); + } + + @Test + public void testCreateTemporaryPhysicalSlotPgLowerThan10() + throws SQLException { + assumeFalse(TestUtil.haveMinimumServerVersion(replConnection, ServerVersion.v10)); + + BaseConnection baseConnection = (BaseConnection) replConnection; + + String slotName = "pgjdbc_test_create_temporary_physical_replication_slot_pg_lower_than_10"; + + try { + + baseConnection + .getReplicationAPI() + .createReplicationSlot() + .physical() + .withSlotName(slotName) + .withTemporaryOption() + .make(); + + fail("PostgreSQL < 10 does not support temporary replication slots"); + + } catch (SQLFeatureNotSupportedException e) { + // success + } } @Test @@ -151,7 +216,69 @@ public void testCreateLogicalSlot() throws Exception { boolean result = isLogicalSlotExists(slotName); - assertThat(result, CoreMatchers.equalTo(true)); + assertThat("Slot should exist", result, CoreMatchers.equalTo(true)); + + result = isSlotTemporary(slotName); + + assertThat("Slot should not be temporary by default", result, CoreMatchers.equalTo(false)); + } + + @Test + public void testCreateTemporaryLogicalSlotPg10AndHigher() + throws SQLException { + assumeTrue(TestUtil.haveMinimumServerVersion(replConnection, ServerVersion.v10)); + + BaseConnection baseConnection = (BaseConnection) replConnection; + + String slotName = "pgjdbc_test_create_temporary_logical_replication_slot_pg_10_or_higher"; + + try { + + baseConnection + .getReplicationAPI() + .createReplicationSlot() + .logical() + .withSlotName(slotName) + .withOutputPlugin("test_decoding") + .withTemporaryOption() + .make(); + + } catch (SQLFeatureNotSupportedException e) { + + fail("PostgreSQL >= 10 should support temporary replication slots"); + + } + + boolean result = isSlotTemporary(slotName); + + assertThat("Slot is not temporary", result, CoreMatchers.equalTo(true)); + } + + @Test + public void testCreateTemporaryLogicalSlotPgLowerThan10() + throws SQLException { + assumeFalse(TestUtil.haveMinimumServerVersion(replConnection, ServerVersion.v10)); + + BaseConnection baseConnection = (BaseConnection) replConnection; + + String slotName = "pgjdbc_test_create_temporary_logical_replication_slot_pg_lower_than_10"; + + try { + + baseConnection + .getReplicationAPI() + .createReplicationSlot() + .logical() + .withSlotName(slotName) + .withOutputPlugin("test_decoding") + .withTemporaryOption() + .make(); + + fail("PostgreSQL < 10 does not support temporary replication slots"); + + } catch (SQLFeatureNotSupportedException e) { + // success + } } @Test @@ -205,6 +332,23 @@ private boolean isLogicalSlotExists(String slotName) throws SQLException { return result; } + private boolean isSlotTemporary(String slotName) throws SQLException { + if (!TestUtil.haveMinimumServerVersion(sqlConnection, ServerVersion.v10)) { + return false; + } + + boolean result; + + Statement st = sqlConnection.createStatement(); + ResultSet resultSet = st.executeQuery( + "select 1 from pg_replication_slots where slot_name = '" + slotName + + "' and temporary = true"); + result = resultSet.next(); + resultSet.close(); + st.close(); + return result; + } + private void dropReplicationSlot() throws Exception { if (slotName != null) { TestUtil.dropReplicationSlot(sqlConnection, slotName); From 10201f61727868bd6f64ce3ab6c197a11bee78f4 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 10 Oct 2018 09:40:53 -0400 Subject: [PATCH 226/427] fix: autosave being overwritten in BaseDataSource by setUrl (#1309) --- .../org/postgresql/ds/common/BaseDataSource.java | 4 +++- .../org/postgresql/test/jdbc2/PGPropertyTest.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 268d936f2e..80c1349afa 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -1110,7 +1110,9 @@ public void setUrl(String url) { Properties p = org.postgresql.Driver.parseURL(url, null); for (PGProperty property : PGProperty.values()) { - setProperty(property, property.get(p)); + if (!this.properties.containsKey(property.getName())) { + setProperty(property, property.get(p)); + } } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java index f720e68760..3558c57e41 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PGPropertyTest.java @@ -9,12 +9,14 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import org.postgresql.Driver; import org.postgresql.PGProperty; import org.postgresql.ds.PGSimpleDataSource; import org.postgresql.ds.common.BaseDataSource; +import org.postgresql.jdbc.AutoSave; import org.postgresql.test.TestUtil; import org.postgresql.util.URLCoder; @@ -150,6 +152,18 @@ public void testDataSourceProperties() throws Exception { } } + /** + * Test to make sure that setURL doesn't overwrite autosave + * more should be put in but this scratches the current itch + */ + @Test + public void testOverWriteDSProperties() throws Exception { + PGSimpleDataSource dataSource = new PGSimpleDataSource(); + dataSource.setAutosave(AutoSave.CONSERVATIVE); + dataSource.setURL("jdbc:postgresql://localhost:5432/postgres"); + assertSame(dataSource.getAutosave(),AutoSave.CONSERVATIVE); + } + /** * Test that {@link PGProperty#isPresent(Properties)} returns a correct result in all cases. */ From e44e4e8972ec41bf05dddd4ac6dcfbc42a9842cf Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 16 Oct 2018 08:46:58 -0400 Subject: [PATCH 227/427] perf: ignore tables for PgDatabaseMetaData.getTypeInfo (#1302) PostgreSQL considers tables to be composite types which in very large schemas with lots of tables slows down getTypeInfo. This fix filters out tables from types --- .../src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 4abab216c2..f317b23421 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2224,7 +2224,9 @@ public ResultSet getTypeInfo() throws SQLException { String sql; sql = "SELECT t.typname,t.oid FROM pg_catalog.pg_type t" + " JOIN pg_catalog.pg_namespace n ON (t.typnamespace = n.oid) " - + " WHERE n.nspname != 'pg_toast'"; + + " WHERE n.nspname != 'pg_toast'" + + " AND " + + " (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid))"; Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sql); From e2623d63d4b6fad0b12fb9ace842475e4a9134dc Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Thu, 25 Oct 2018 10:11:28 +0300 Subject: [PATCH 228/427] perf: fix 1ms per async CopyAPI (regression since 42.2.5) (#1314) The problem is SSL sockets use buffers for input, and `stream#available()` might easily return 0 even though the data is available in the downstream socket. The only viable WA is to perform `read` calls, however it might impact performance (e.g. for async copy operations). The resolution is to throttle read calls for copy api, and keep 1ms reads for replication api. fixes #1312 --- CHANGELOG.md | 4 ++++ docs/_posts/2018-08-27-42.2.5-release.md | 3 +++ .../main/java/org/postgresql/core/PGStream.java | 15 +++++++++++++++ .../java/org/postgresql/core/v3/CopyDualImpl.java | 6 +----- .../v3/replication/V3ReplicationProtocol.java | 2 ++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be40476bb4..a3f3865a94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Added ### Fixed +- Fixed async copy performance regression [PR 1314](https://github.com/pgjdbc/pgjdbc/pull/1314) ## [42.2.5] (2018-08-27) +### Known issues +- 1ms per async copy call [issue 1312](https://github.com/pgjdbc/pgjdbc/issues/1312) + ### Changed - `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) diff --git a/docs/_posts/2018-08-27-42.2.5-release.md b/docs/_posts/2018-08-27-42.2.5-release.md index 5467ee107c..7277388170 100644 --- a/docs/_posts/2018-08-27-42.2.5-release.md +++ b/docs/_posts/2018-08-27-42.2.5-release.md @@ -7,6 +7,9 @@ version: 42.2.5 --- **Notable changes** +### Known issues +- 1ms per async copy call [issue 1312](https://github.com/pgjdbc/pgjdbc/issues/1312) + ### Changed - `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 6f0f3a2bea..907b3cf656 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -44,6 +44,11 @@ public class PGStream implements Closeable, Flushable { private OutputStream pg_output; private byte[] streamBuffer; + private long nextStreamAvailableCheckTime; + // This is a workaround for SSL sockets: sslInputStream.available() might return 0 + // so we perform "1ms reads" once in a while + private int minStreamAvailableCheckDelay = 1000; + private Encoding encoding; private Writer encodingWriter; @@ -114,6 +119,12 @@ public boolean hasMessagePending() throws IOException { return true; } // In certain cases, available returns 0, yet there are bytes + long now = System.currentTimeMillis(); + if (now < nextStreamAvailableCheckTime && minStreamAvailableCheckDelay != 0) { + // Do not use ".peek" too often + return false; + } + nextStreamAvailableCheckTime = now + minStreamAvailableCheckDelay; int soTimeout = getNetworkTimeout(); setNetworkTimeout(1); try { @@ -125,6 +136,10 @@ public boolean hasMessagePending() throws IOException { } } + public void setMinStreamAvailableCheckDelay(int delay) { + this.minStreamAvailableCheckDelay = delay; + } + /** * Switch this stream to using a new socket. Any existing socket is not closed; it's * assumed that we are changing to a new socket that delegates to the original socket (e.g. SSL). diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyDualImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyDualImpl.java index 8ff5cf88ea..076321f752 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/CopyDualImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/CopyDualImpl.java @@ -28,11 +28,7 @@ public long endCopy() throws SQLException { } public byte[] readFromCopy() throws SQLException { - if (received.isEmpty()) { - queryExecutor.readFromCopy(this, true); - } - - return received.poll(); + return readFromCopy(true); } @Override diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java index 682374734c..c06fdf28a3 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java @@ -129,6 +129,8 @@ private void configureSocketTimeout(CommonOptions options) throws PSQLException } pgStream.getSocket().setSoTimeout(minimalTimeOut); + // Use blocking 1ms reads for `available()` checks + pgStream.setMinStreamAvailableCheckDelay(0); } catch (IOException ioe) { throw new PSQLException(GT.tr("The connection attempt failed."), PSQLState.CONNECTION_UNABLE_TO_CONNECT, ioe); From f3ade07d7758f134fd137db3ebab544f2211e290 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 6 Nov 2018 09:30:51 -0500 Subject: [PATCH 229/427] Update issue_template.md --- .github/issue_template.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/issue_template.md b/.github/issue_template.md index a892ae3dee..52f04c02b3 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -8,11 +8,13 @@ **Describe the issue** A clear and concise description of what the issue is. -**Java Version** +**Driver Version?** -**OS Version** +**Java Version?** -**PostgreSQL Version** +**OS Version?** + +**PostgreSQL Version?** **To Reproduce** Steps to reproduce the behaviour: From da4d6577f4c0acaadb703b40d267395bb45418f8 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 22 Nov 2018 07:26:49 -0500 Subject: [PATCH 230/427] Remove tests that use oids fixes #1347 (#1348) * remove oid usage from tests as it is no longer possible to create user tables WITH OIDS * see https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=578b229718e8f15fa779e20f086c4b6bb3776106 * remove TestUtil function to create tables with oids --- .../test/java/org/postgresql/test/TestUtil.java | 14 +------------- .../test/jdbc2/ResultSetMetaDataTest.java | 11 +++++------ .../test/jdbc2/UpdateableResultTest.java | 5 ++--- 3 files changed, 8 insertions(+), 22 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 789736a6ed..b300749c77 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -389,19 +389,11 @@ public static void dropSchema(Connection con, String schema) throws SQLException } } - /* - * Helper - creates a test table for use by a test - */ - public static void createTable(Connection con, String table, String columns) throws SQLException { - // by default we don't request oids. - createTable(con, table, columns, false); - } /* * Helper - creates a test table for use by a test */ - public static void createTable(Connection con, String table, String columns, boolean withOids) - throws SQLException { + public static void createTable(Connection con, String table, String columns) throws SQLException { Statement st = con.createStatement(); try { // Drop the table @@ -410,10 +402,6 @@ public static void createTable(Connection con, String table, String columns, boo // Now create the table String sql = "CREATE TABLE " + table + " (" + columns + ")"; - if (withOids) { - sql += " WITH OIDS"; - } - st.executeUpdate(sql); } finally { closeQuietly(st); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java index 85a0b04d55..dd417c66b9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ResultSetMetaDataTest.java @@ -70,7 +70,7 @@ protected void updateProperties(Properties props) { public void setUp() throws Exception { super.setUp(); conn = con; - TestUtil.createTable(conn, "rsmd1", "a int primary key, b text, c decimal(10,2)", true); + TestUtil.createTable(conn, "rsmd1", "a int primary key, b text, c decimal(10,2)"); TestUtil.createTable(conn, "rsmd_cache", "a int primary key"); TestUtil.createTable(conn, "timetest", "tm time(3), tmtz timetz, ts timestamp without time zone, tstz timestamp(6) with time zone"); @@ -110,7 +110,7 @@ public void tearDown() throws SQLException { @Test public void testStandardResultSet() throws SQLException { Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT a,b,c,a+c as total,oid,b as d FROM rsmd1"); + ResultSet rs = stmt.executeQuery("SELECT a,b,c,a+c as total, b as d FROM rsmd1"); runStandardTests(rs.getMetaData()); rs.close(); stmt.close(); @@ -121,7 +121,7 @@ public void testPreparedResultSet() throws SQLException { assumePreparedStatementMetadataSupported(); PreparedStatement pstmt = - conn.prepareStatement("SELECT a,b,c,a+c as total,oid,b as d FROM rsmd1 WHERE b = ?"); + conn.prepareStatement("SELECT a,b,c,a+c as total, b as d FROM rsmd1 WHERE b = ?"); runStandardTests(pstmt.getMetaData()); pstmt.close(); } @@ -129,15 +129,14 @@ public void testPreparedResultSet() throws SQLException { private void runStandardTests(ResultSetMetaData rsmd) throws SQLException { PGResultSetMetaData pgrsmd = (PGResultSetMetaData) rsmd; - assertEquals(6, rsmd.getColumnCount()); + assertEquals(5, rsmd.getColumnCount()); assertEquals("a", rsmd.getColumnLabel(1)); assertEquals("total", rsmd.getColumnLabel(4)); assertEquals("a", rsmd.getColumnName(1)); - assertEquals("oid", rsmd.getColumnName(5)); assertEquals("", pgrsmd.getBaseColumnName(4)); - assertEquals("b", pgrsmd.getBaseColumnName(6)); + assertEquals("b", pgrsmd.getBaseColumnName(5)); assertEquals(Types.INTEGER, rsmd.getColumnType(1)); assertEquals(Types.VARCHAR, rsmd.getColumnType(2)); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java index 34631605ad..2a026f7d99 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java @@ -37,8 +37,7 @@ public class UpdateableResultTest extends BaseTest4 { public void setUp() throws Exception { super.setUp(); TestUtil.createTable(con, "updateable", - "id int primary key, name text, notselected text, ts timestamp with time zone, intarr int[]", - true); + "id int primary key, name text, notselected text, ts timestamp with time zone, intarr int[]"); TestUtil.createTable(con, "second", "id1 int primary key, name1 text"); TestUtil.createTable(con, "stream", "id int primary key, asi text, chr text, bin bytea"); TestUtil.createTable(con, "multicol", "id1 int not null, id2 int not null, val text"); @@ -330,7 +329,7 @@ public void testUpdateable() throws SQLException { } catch (SQLException ex) { } - rs = st.executeQuery("select oid,* from updateable"); + rs = st.executeQuery("select * from updateable"); assertTrue(rs.first()); rs.updateInt("id", 3); rs.updateString("name", "dave3"); From 9f248e1220338c12798f4a3bec585f4e22f534b4 Mon Sep 17 00:00:00 2001 From: itchyny Date: Thu, 22 Nov 2018 22:23:30 +0900 Subject: [PATCH 231/427] docs: fix link to pull request 1052 in 42.2.3 changelog (#1345) --- CHANGELOG.md | 2 +- docs/_posts/2018-07-12-42.2.3-release.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3f3865a94..7d65a822e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,7 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc ### Fixed - getString for PGObject-based types returned "null" string instead of null [PR 1154](https://github.com/pgjdbc/pgjdbc/pull/1154) -- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1152) +- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1052) - Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) - Adjust date, hour, minute, second when rounding nanosecond part of a timestamp [PR 1212](https://github.com/pgjdbc/pgjdbc/pull/1212) - perf: reduce memory allocations in query cache [PR 1227](https://github.com/pgjdbc/pgjdbc/pull/1227) diff --git a/docs/_posts/2018-07-12-42.2.3-release.md b/docs/_posts/2018-07-12-42.2.3-release.md index 91431d1a6f..3701f67fc7 100644 --- a/docs/_posts/2018-07-12-42.2.3-release.md +++ b/docs/_posts/2018-07-12-42.2.3-release.md @@ -18,7 +18,7 @@ version: 42.2.3 ### Fixed - getString for PGObject-based types returned "null" string instead of null [PR 1154](https://github.com/pgjdbc/pgjdbc/pull/1154) -- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1152) +- Field metadata cache can be disabled via databaseMetadataCacheFields=0 [PR 1052](https://github.com/pgjdbc/pgjdbc/pull/1052) - Properly encode special symbols in passwords in BaseDataSource [PR 1201](https://github.com/pgjdbc/pgjdbc/pull/1201) - Adjust date, hour, minute, second when rounding nanosecond part of a timestamp [PR 1212](https://github.com/pgjdbc/pgjdbc/pull/1212) - perf: reduce memory allocations in query cache [PR 1227](https://github.com/pgjdbc/pgjdbc/pull/1227) From 2ad1ac3fc0e07edce957aaed51167240a970b1f1 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 22 Nov 2018 08:23:57 -0500 Subject: [PATCH 232/427] Fix setURL in BaseDataSource (#1341) * make sure an invalid URL throws an exception in setUrl --- .../java/org/postgresql/ds/common/BaseDataSource.java | 3 +++ .../test/jdbc2/optional/SimpleDataSourceTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 80c1349afa..7f78f40432 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -1109,6 +1109,9 @@ public void setUrl(String url) { Properties p = org.postgresql.Driver.parseURL(url, null); + if (p == null ) { + throw new IllegalArgumentException("URL invalid " + url); + } for (PGProperty property : PGProperty.values()) { if (!this.properties.containsKey(property.getName())) { setProperty(property, property.get(p)); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java index 90a7e62f08..644d273640 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java @@ -5,8 +5,11 @@ package org.postgresql.test.jdbc2.optional; +import org.postgresql.ds.PGSimpleDataSource; import org.postgresql.jdbc2.optional.SimpleDataSource; +import org.junit.Test; + /** * Performs the basic tests defined in the superclass. Just adds the configuration logic. * @@ -24,4 +27,11 @@ protected void initializeDataSource() { setupDataSource(bds); } } + + @Test(expected = IllegalArgumentException.class) + public void testTypoPostgresUrl() { + PGSimpleDataSource ds = new PGSimpleDataSource(); + // this should fail because the protocol is wrong. + ds.setUrl("jdbc:postgres://localhost:5432/test"); + } } From 7f0e200affbf4b6504bfafccaf6cfcdbe3b0219e Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 22 Nov 2018 08:25:30 -0500 Subject: [PATCH 233/427] Add support for version 11 and version 12 (#1332) * Add support for version 11 and version 12 * add tests for ServerVersion * remove core.ServerVersionTest, move tests into util.ServerVersionTest --- .../main/java/org/postgresql/core/ServerVersion.java | 4 +++- .../postgresql/test/util/ServerVersionParseTest.java | 1 + .../org/postgresql/test/util/ServerVersionTest.java | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java index 5eae078dd9..9348ba1321 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java @@ -24,7 +24,9 @@ public enum ServerVersion implements Version { v9_4("9.4.0"), v9_5("9.5.0"), v9_6("9.6.0"), - v10("10") + v10("10"), + v11("11"), + v12("12") ; private final int version; diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionParseTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionParseTest.java index 88bbc95c20..ffe1a90c57 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionParseTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionParseTest.java @@ -47,6 +47,7 @@ public static Iterable data() { {"9.6", 90600, null}, {"10", 100000, null}, {"11", 110000, null}, + {"12", 120000, null}, /* Multidigit */ {"9.4.10", 90410, null}, {"9.20.10", 92010, null}, diff --git a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java index 3e32089070..a0a80611a3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/util/ServerVersionTest.java @@ -22,4 +22,14 @@ public void versionIncreases() { prev = serverVersion; } } + + @Test + public void testVersions() { + Assert.assertEquals(ServerVersion.v12.getVersionNum(), ServerVersion.from("12.0").getVersionNum()); + Assert.assertEquals(120004, ServerVersion.from("12.4").getVersionNum()); + Assert.assertEquals(ServerVersion.v11.getVersionNum(), ServerVersion.from("11.0").getVersionNum()); + Assert.assertEquals(110006, ServerVersion.from("11.6").getVersionNum()); + Assert.assertEquals(ServerVersion.v10.getVersionNum(), ServerVersion.from("10.0").getVersionNum()); + Assert.assertTrue(ServerVersion.v9_6.getVersionNum() < ServerVersion.from("9.6.4").getVersionNum()); + } } From 84e8d90b4bbeecbdccbe7ec4d165cfaf3ef30bf4 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 22 Nov 2018 14:29:15 +0100 Subject: [PATCH 234/427] feat: return info on create slot of replication (#1335) The CREATE_REPLICATION_SLOT replication command returns the following info: slot_name, consistent_point, snapshot_name, output_plugin. This info can be valuable, in particular snapshot_name is exported to allow a consistent snapshot in some uses cases that require it. A new class ReplicationSlotInfo is being returned now to provide easy access to the values. --- .../replication/ReplicationSlotInfo.java | 85 +++++++++++++++++++ .../ChainedCommonCreateSlotBuilder.java | 8 +- .../logical/LogicalCreateSlotBuilder.java | 30 +++++-- .../physical/PhysicalCreateSlotBuilder.java | 27 +++++- .../replication/ReplicationSlotTest.java | 44 ++++++++++ 5 files changed, 183 insertions(+), 11 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/replication/ReplicationSlotInfo.java diff --git a/pgjdbc/src/main/java/org/postgresql/replication/ReplicationSlotInfo.java b/pgjdbc/src/main/java/org/postgresql/replication/ReplicationSlotInfo.java new file mode 100644 index 0000000000..5a8bde420f --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/replication/ReplicationSlotInfo.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.replication; + +/** + * Information returned on replication slot creation. + * + *

Returned keys of CREATE_REPLICATION_SLOT: + *

    + *
  1. slot_name String {@code =>} the slot name + *
  2. consistent_point String {@code =>} LSN at which we became consistent + *
  3. snapshot_name String {@code =>} exported snapshot's name (may be null) + *
  4. output_plugin String {@code =>} output plugin (may be null) + *
+ */ +public final class ReplicationSlotInfo { + + private final String slotName; + private final ReplicationType replicationType; + private final LogSequenceNumber consistentPoint; + private final String snapshotName; + private final String outputPlugin; + + public ReplicationSlotInfo(String slotName, ReplicationType replicationType, + LogSequenceNumber consistentPoint, String snapshotName, String outputPlugin) { + this.slotName = slotName; + this.replicationType = replicationType; + this.consistentPoint = consistentPoint; + this.snapshotName = snapshotName; + this.outputPlugin = outputPlugin; + } + + /** + * Replication slot name. + * + * @return the slot name + */ + public String getSlotName() { + return slotName; + } + + /** + * Replication type of the slot created, might be PHYSICAL or LOGICAL. + * + * @return ReplicationType, PHYSICAL or LOGICAL + */ + public ReplicationType getReplicationType() { + return replicationType; + } + + /** + * LSN at which we became consistent. + * + * @return LogSequenceNumber with the consistent_point + */ + public LogSequenceNumber getConsistentPoint() { + return consistentPoint; + } + + /** + * Exported snapshot name at the point of replication slot creation. + * + *

As long as the exporting transaction remains open, other transactions can import its snapshot, + * and thereby be guaranteed that they see exactly the same view of the database that the first + * transaction sees. + * + * @return exported snapshot_name (may be null) + */ + public String getSnapshotName() { + return snapshotName; + } + + /** + * Output Plugin used on slot creation. + * + * @return output_plugin (may be null) + */ + public String getOutputPlugin() { + return outputPlugin; + } + +} diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java index 4076a4b73d..4114befa3f 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/ChainedCommonCreateSlotBuilder.java @@ -5,13 +5,15 @@ package org.postgresql.replication.fluent; +import org.postgresql.replication.ReplicationSlotInfo; + import java.sql.SQLException; import java.sql.SQLFeatureNotSupportedException; /** * Fluent interface for specify common parameters for create Logical and Physical replication slot. */ -public interface ChainedCommonCreateSlotBuilder> { +public interface ChainedCommonCreateSlotBuilder> { /** * Replication slots provide an automated way to ensure that the master does not remove WAL @@ -36,7 +38,9 @@ public interface ChainedCommonCreateSlotBuilder implements ChainedLogicalCreateSlotBuilder { + private String outputPlugin; public LogicalCreateSlotBuilder(BaseConnection connection) { @@ -32,7 +37,7 @@ public ChainedLogicalCreateSlotBuilder withOutputPlugin(String outputPlugin) { } @Override - public void make() throws SQLException { + public ReplicationSlotInfo make() throws SQLException { if (outputPlugin == null || outputPlugin.isEmpty()) { throw new IllegalArgumentException( "OutputPlugin required parameter for logical replication slot"); @@ -43,15 +48,30 @@ public void make() throws SQLException { } Statement statement = connection.createStatement(); + ResultSet result = null; + ReplicationSlotInfo slotInfo = null; try { statement.execute(String.format( - "CREATE_REPLICATION_SLOT %s %s LOGICAL %s", - slotName, - temporaryOption ? "TEMPORARY" : "", - outputPlugin + "CREATE_REPLICATION_SLOT %s %s LOGICAL %s", + slotName, + temporaryOption ? "TEMPORARY" : "", + outputPlugin )); + result = statement.getResultSet(); + if (result != null && result.next()) { + slotInfo = new ReplicationSlotInfo( + result.getString("slot_name"), + ReplicationType.LOGICAL, + LogSequenceNumber.valueOf(result.getString("consistent_point")), + result.getString("snapshot_name"), + result.getString("output_plugin")); + } } finally { + if (result != null) { + result.close(); + } statement.close(); } + return slotInfo; } } diff --git a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java index 1ae0ff0f5e..45df2a1627 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/fluent/physical/PhysicalCreateSlotBuilder.java @@ -6,8 +6,12 @@ package org.postgresql.replication.fluent.physical; import org.postgresql.core.BaseConnection; +import org.postgresql.replication.LogSequenceNumber; +import org.postgresql.replication.ReplicationSlotInfo; +import org.postgresql.replication.ReplicationType; import org.postgresql.replication.fluent.AbstractCreateSlotBuilder; +import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -25,20 +29,35 @@ protected ChainedPhysicalCreateSlotBuilder self() { } @Override - public void make() throws SQLException { + public ReplicationSlotInfo make() throws SQLException { if (slotName == null || slotName.isEmpty()) { throw new IllegalArgumentException("Replication slotName can't be null"); } Statement statement = connection.createStatement(); + ResultSet result = null; + ReplicationSlotInfo slotInfo = null; try { statement.execute(String.format( - "CREATE_REPLICATION_SLOT %s %s PHYSICAL", - slotName, - temporaryOption ? "TEMPORARY" : "" + "CREATE_REPLICATION_SLOT %s %s PHYSICAL", + slotName, + temporaryOption ? "TEMPORARY" : "" )); + result = statement.getResultSet(); + if (result != null && result.next()) { + slotInfo = new ReplicationSlotInfo( + result.getString("slot_name"), + ReplicationType.PHYSICAL, + LogSequenceNumber.valueOf(result.getString("consistent_point")), + result.getString("snapshot_name"), + result.getString("output_plugin")); + } } finally { + if (result != null) { + result.close(); + } statement.close(); } + return slotInfo; } } diff --git a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java index 961075d2ab..5a5aab24b7 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationSlotTest.java @@ -6,6 +6,9 @@ package org.postgresql.replication; import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import static org.junit.Assume.assumeFalse; import static org.junit.Assume.assumeTrue; @@ -223,6 +226,47 @@ public void testCreateLogicalSlot() throws Exception { assertThat("Slot should not be temporary by default", result, CoreMatchers.equalTo(false)); } + @Test + public void testCreateLogicalSlotReturnedInfo() throws Exception { + PGConnection pgConnection = (PGConnection) replConnection; + + slotName = "pgjdbc_test_create_logical_replication_slot_info"; + + ReplicationSlotInfo info = pgConnection + .getReplicationAPI() + .createReplicationSlot() + .logical() + .withSlotName(slotName) + .withOutputPlugin("test_decoding") + .make(); + + assertEquals(slotName, info.getSlotName()); + assertEquals(ReplicationType.LOGICAL, info.getReplicationType()); + assertNotNull(info.getConsistentPoint()); + assertNotNull(info.getSnapshotName()); + assertEquals("test_decoding", info.getOutputPlugin()); + } + + @Test + public void testCreatePhysicalSlotReturnedInfo() throws Exception { + PGConnection pgConnection = (PGConnection) replConnection; + + slotName = "pgjdbc_test_create_physical_replication_slot_info"; + + ReplicationSlotInfo info = pgConnection + .getReplicationAPI() + .createReplicationSlot() + .physical() + .withSlotName(slotName) + .make(); + + assertEquals(slotName, info.getSlotName()); + assertEquals(ReplicationType.PHYSICAL, info.getReplicationType()); + assertNotNull(info.getConsistentPoint()); + assertNull(info.getSnapshotName()); + assertNull(info.getOutputPlugin()); + } + @Test public void testCreateTemporaryLogicalSlotPg10AndHigher() throws SQLException { From 0ed0e8f2dcd0ae4bbb5caee27b7057cef182c146 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 22 Nov 2018 08:29:53 -0500 Subject: [PATCH 235/427] fix missing metadata columns, and misspelled columns (#1323) * fix missing metadata columns, and misspelled columns --- .../postgresql/jdbc/PgDatabaseMetaData.java | 13 ++++++++---- .../test/jdbc2/DatabaseMetaDataTest.java | 20 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index f317b23421..3d49a67acb 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1066,7 +1066,7 @@ public ResultSet getProcedureColumns(String catalog, String schemaPattern, f[13] = new Field("COLUMN_DEF", Oid.VARCHAR); f[14] = new Field("SQL_DATA_TYPE", Oid.INT4); f[15] = new Field("SQL_DATETIME_SUB", Oid.INT4); - f[16] = new Field("CHAR_OCTECT_LENGTH", Oid.INT4); + f[16] = new Field("CHAR_OCTET_LENGTH", Oid.INT4); f[17] = new Field("ORDINAL_POSITION", Oid.INT4); f[18] = new Field("IS_NULLABLE", Oid.VARCHAR); f[19] = new Field("SPECIFIC_NAME", Oid.VARCHAR); @@ -1284,7 +1284,9 @@ public ResultSet getTables(String catalog, String schemaPattern, String tableNam + " END " + " ELSE NULL " + " END " - + " AS TABLE_TYPE, d.description AS REMARKS " + + " AS TABLE_TYPE, d.description AS REMARKS, " + + " '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, " + + "'' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION " + " FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c " + " LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) " + " LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class') " @@ -1451,7 +1453,7 @@ public ResultSet getTableTypes() throws SQLException { public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException { - int numberOfFields = 23; // JDBC4 + int numberOfFields = 24; // JDBC4 List v = new ArrayList(); // The new ResultSet tuple stuff Field[] f = new Field[numberOfFields]; // The field descriptors for the new ResultSet @@ -1473,11 +1475,12 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa f[15] = new Field("CHAR_OCTET_LENGTH", Oid.VARCHAR); f[16] = new Field("ORDINAL_POSITION", Oid.INT4); f[17] = new Field("IS_NULLABLE", Oid.VARCHAR); - f[18] = new Field("SCOPE_CATLOG", Oid.VARCHAR); + f[18] = new Field("SCOPE_CATALOG", Oid.VARCHAR); f[19] = new Field("SCOPE_SCHEMA", Oid.VARCHAR); f[20] = new Field("SCOPE_TABLE", Oid.VARCHAR); f[21] = new Field("SOURCE_DATA_TYPE", Oid.INT2); f[22] = new Field("IS_AUTOINCREMENT", Oid.VARCHAR); + f[23] = new Field( "IS_GENERATED", Oid.VARCHAR); String sql; // a.attnum isn't decremented when preceding columns are dropped, @@ -1619,6 +1622,8 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa autoinc = "YES"; } tuple[22] = connection.encodeString(autoinc); + // there is no way to tell if the value was actually autogenerated. + tuple[23] = connection.encodeString(""); v.add(tuple); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 77d8d72a43..9e936be619 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -177,8 +177,16 @@ public void testTables() throws Exception { assertEquals("metadatatest", tableName); String tableType = rs.getString("TABLE_TYPE"); assertEquals("TABLE", tableType); + assertEquals(rs.findColumn("REMARKS"), 5); + assertEquals(rs.findColumn("TYPE_CAT"), 6); + assertEquals(rs.findColumn("TYPE_SCHEM"),7); + assertEquals(rs.findColumn("TYPE_NAME"), 8); + assertEquals(rs.findColumn("SELF_REFERENCING_COL_NAME"), 9); + assertEquals(rs.findColumn("REF_GENERATION"), 10); + // There should only be one row returned assertTrue("getTables() returned too many rows", rs.next() == false); + rs.close(); rs = dbmd.getColumns("", "", "meta%", "%"); @@ -455,9 +463,21 @@ public void testForeignKeys() throws Exception { @Test public void testColumns() throws SQLException { // At the moment just test that no exceptions are thrown KJ + String [] metadataColumns = {"TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "COLUMN_NAME", + "DATA_TYPE", "TYPE_NAME", "COLUMN_SIZE", "BUFFER_LENGTH", + "DECIMAL_DIGITS", "NUM_PREC_RADIX", "NULLABLE", "REMARKS", + "COLUMN_DEF","SQL_DATA_TYPE","SQL_DATETIME_SUB","CHAR_OCTET_LENGTH", + "ORDINAL_POSITION", "IS_NULLABLE", "SCOPE_CATALOG", "SCOPE_SCHEMA", + "SCOPE_TABLE", "SOURCE_DATA_TYPE", "IS_AUTOINCREMENT", "IS_GENERATED"}; + DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getColumns(null, null, "pg_class", null); + if ( rs.next() ) { + for (int i = 0; i < metadataColumns.length; i++) { + assertEquals(i + 1, rs.findColumn(metadataColumns[i])); + } + } rs.close(); } From 325e63b4c8b7f0c923e8cb9b73795672f21c1fe5 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 23 Nov 2018 05:55:51 -0500 Subject: [PATCH 236/427] fix: Incorrect return value for bytes [128-255] in stream.read (#1349) values between [128-255] previously returned integers in range [4294967168, 4294967295]. --- pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java | 2 +- pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java index 4b4060ccc2..5bfc100b1b 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyInputStream.java @@ -76,7 +76,7 @@ public int available() throws IOException { public int read() throws IOException { checkClosed(); - return gotBuf() ? buf[at++] : -1; + return gotBuf() ? (buf[at++] & 0xFF) : -1; } public int read(byte[] buf) throws IOException { diff --git a/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java b/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java index a313c30075..1d6372b274 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ReaderInputStream.java @@ -113,7 +113,7 @@ public int read() throws IOException { while (res != -1) { res = read(oneByte); if (res > 0) { - return oneByte[0]; + return (oneByte[0] & 0xFF); } } return -1; From b8a86807f93b76ff92e6ff2ffacd6fdc44457b21 Mon Sep 17 00:00:00 2001 From: Sualeh Fatehi Date: Mon, 26 Nov 2018 06:00:21 -0500 Subject: [PATCH 237/427] Fix: getFunctionColumns used to return ProcedureColumns, now returns function columns * Fixes #1106 * Fix #1106 - rename returned ResultSet columns, use the correct DatabaseMetaData constants --- .../postgresql/jdbc/PgDatabaseMetaData.java | 195 +++++++++++++++++- .../test/jdbc2/DatabaseMetaDataTest.java | 65 ++++++ 2 files changed, 259 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 3d49a67acb..f8f53d1bc4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2655,7 +2655,200 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException { - return getProcedureColumns(catalog, schemaPattern, functionNamePattern, columnNamePattern); + int columns = 17; + + Field[] f = new Field[columns]; + List v = new ArrayList(); + + f[0] = new Field("FUNCTION_CAT", Oid.VARCHAR); + f[1] = new Field("FUNCTION_SCHEM", Oid.VARCHAR); + f[2] = new Field("FUNCTION_NAME", Oid.VARCHAR); + f[3] = new Field("COLUMN_NAME", Oid.VARCHAR); + f[4] = new Field("COLUMN_TYPE", Oid.INT2); + f[5] = new Field("DATA_TYPE", Oid.INT2); + f[6] = new Field("TYPE_NAME", Oid.VARCHAR); + f[7] = new Field("PRECISION", Oid.INT2); + f[8] = new Field("LENGTH", Oid.INT4); + f[9] = new Field("SCALE", Oid.INT2); + f[10] = new Field("RADIX", Oid.INT2); + f[11] = new Field("NULLABLE", Oid.INT2); + f[12] = new Field("REMARKS", Oid.VARCHAR); + f[13] = new Field("CHAR_OCTET_LENGTH", Oid.INT4); + f[14] = new Field("ORDINAL_POSITION", Oid.INT4); + f[15] = new Field("IS_NULLABLE", Oid.VARCHAR); + f[16] = new Field("SPECIFIC_NAME", Oid.VARCHAR); + + String sql; + sql = "SELECT n.nspname,p.proname,p.prorettype,p.proargtypes, t.typtype,t.typrelid, " + + " p.proargnames, p.proargmodes, p.proallargtypes, p.oid " + + " FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n, pg_catalog.pg_type t " + + " WHERE p.pronamespace=n.oid AND p.prorettype=t.oid "; + if (schemaPattern != null && !schemaPattern.isEmpty()) { + sql += " AND n.nspname LIKE " + escapeQuotes(schemaPattern); + } + if (functionNamePattern != null && !functionNamePattern.isEmpty()) { + sql += " AND p.proname LIKE " + escapeQuotes(functionNamePattern); + } + sql += " ORDER BY n.nspname, p.proname, p.oid::text "; + + byte[] isnullableUnknown = new byte[0]; + + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery(sql); + while (rs.next()) { + byte[] schema = rs.getBytes("nspname"); + byte[] functionName = rs.getBytes("proname"); + byte[] specificName = + connection.encodeString(rs.getString("proname") + "_" + rs.getString("oid")); + int returnType = (int) rs.getLong("prorettype"); + String returnTypeType = rs.getString("typtype"); + int returnTypeRelid = (int) rs.getLong("typrelid"); + + String strArgTypes = rs.getString("proargtypes"); + StringTokenizer st = new StringTokenizer(strArgTypes); + List argTypes = new ArrayList(); + while (st.hasMoreTokens()) { + argTypes.add(Long.valueOf(st.nextToken())); + } + + String[] argNames = null; + Array argNamesArray = rs.getArray("proargnames"); + if (argNamesArray != null) { + argNames = (String[]) argNamesArray.getArray(); + } + + String[] argModes = null; + Array argModesArray = rs.getArray("proargmodes"); + if (argModesArray != null) { + argModes = (String[]) argModesArray.getArray(); + } + + int numArgs = argTypes.size(); + + Long[] allArgTypes = null; + Array allArgTypesArray = rs.getArray("proallargtypes"); + if (allArgTypesArray != null) { + allArgTypes = (Long[]) allArgTypesArray.getArray(); + numArgs = allArgTypes.length; + } + + // decide if we are returning a single column result. + if (returnTypeType.equals("b") || returnTypeType.equals("d") || returnTypeType.equals("e") + || (returnTypeType.equals("p") && argModesArray == null)) { + byte[][] tuple = new byte[columns][]; + tuple[0] = null; + tuple[1] = schema; + tuple[2] = functionName; + tuple[3] = connection.encodeString("returnValue"); + tuple[4] = connection + .encodeString(Integer.toString(java.sql.DatabaseMetaData.functionReturn)); + tuple[5] = connection + .encodeString(Integer.toString(connection.getTypeInfo().getSQLType(returnType))); + tuple[6] = connection.encodeString(connection.getTypeInfo().getPGType(returnType)); + tuple[7] = null; + tuple[8] = null; + tuple[9] = null; + tuple[10] = null; + tuple[11] = connection + .encodeString(Integer.toString(java.sql.DatabaseMetaData.functionNullableUnknown)); + tuple[12] = null; + tuple[14] = connection.encodeString(Integer.toString(0)); + tuple[15] = isnullableUnknown; + tuple[16] = specificName; + + v.add(tuple); + } + + // Add a row for each argument. + for (int i = 0; i < numArgs; i++) { + byte[][] tuple = new byte[columns][]; + tuple[0] = null; + tuple[1] = schema; + tuple[2] = functionName; + + if (argNames != null) { + tuple[3] = connection.encodeString(argNames[i]); + } else { + tuple[3] = connection.encodeString("$" + (i + 1)); + } + + int columnMode = DatabaseMetaData.functionColumnIn; + if (argModes != null && argModes[i] != null) { + if (argModes[i].equals("o")) { + columnMode = DatabaseMetaData.functionColumnOut; + } else if (argModes[i].equals("b")) { + columnMode = DatabaseMetaData.functionColumnInOut; + } else if (argModes[i].equals("t")) { + columnMode = DatabaseMetaData.functionReturn; + } + } + + tuple[4] = connection.encodeString(Integer.toString(columnMode)); + + int argOid; + if (allArgTypes != null) { + argOid = allArgTypes[i].intValue(); + } else { + argOid = argTypes.get(i).intValue(); + } + + tuple[5] = + connection.encodeString(Integer.toString(connection.getTypeInfo().getSQLType(argOid))); + tuple[6] = connection.encodeString(connection.getTypeInfo().getPGType(argOid)); + tuple[7] = null; + tuple[8] = null; + tuple[9] = null; + tuple[10] = null; + tuple[11] = + connection.encodeString(Integer.toString(DatabaseMetaData.functionNullableUnknown)); + tuple[12] = null; + tuple[14] = connection.encodeString(Integer.toString(i + 1)); + tuple[15] = isnullableUnknown; + tuple[16] = specificName; + + v.add(tuple); + } + + // if we are returning a multi-column result. + if (returnTypeType.equals("c") || (returnTypeType.equals("p") && argModesArray != null)) { + String columnsql = "SELECT a.attname,a.atttypid FROM pg_catalog.pg_attribute a " + + " WHERE a.attrelid = " + returnTypeRelid + + " AND NOT a.attisdropped AND a.attnum > 0 ORDER BY a.attnum "; + Statement columnstmt = connection.createStatement(); + ResultSet columnrs = columnstmt.executeQuery(columnsql); + while (columnrs.next()) { + int columnTypeOid = (int) columnrs.getLong("atttypid"); + byte[][] tuple = new byte[columns][]; + tuple[0] = null; + tuple[1] = schema; + tuple[2] = functionName; + tuple[3] = columnrs.getBytes("attname"); + tuple[4] = connection + .encodeString(Integer.toString(java.sql.DatabaseMetaData.functionColumnResult)); + tuple[5] = connection + .encodeString(Integer.toString(connection.getTypeInfo().getSQLType(columnTypeOid))); + tuple[6] = connection.encodeString(connection.getTypeInfo().getPGType(columnTypeOid)); + tuple[7] = null; + tuple[8] = null; + tuple[9] = null; + tuple[10] = null; + tuple[11] = connection + .encodeString(Integer.toString(java.sql.DatabaseMetaData.functionNullableUnknown)); + tuple[12] = null; + tuple[14] = connection.encodeString(Integer.toString(0)); + tuple[15] = isnullableUnknown; + tuple[16] = specificName; + + v.add(tuple); + } + columnrs.close(); + columnstmt.close(); + } + } + rs.close(); + stmt.close(); + + return ((BaseStatement) createMetaDataStatement()).createDriverResultSet(f, v); } public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 9e936be619..2538aabb8b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -23,6 +23,7 @@ import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; @@ -1337,4 +1338,68 @@ public void testGetSQLKeywords() throws SQLException { } } + @Test + public void testFunctionColumns() throws SQLException { + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_4)) { + return; + } + + DatabaseMetaData dbmd = con.getMetaData(); + ResultSet rs = dbmd.getFunctionColumns(null, null, "f1", null); + + ResultSetMetaData rsmd = rs.getMetaData(); + assertEquals(17, rsmd.getColumnCount()); + assertEquals("FUNCTION_CAT", rsmd.getColumnName(1)); + assertEquals("FUNCTION_SCHEM", rsmd.getColumnName(2)); + assertEquals("FUNCTION_NAME", rsmd.getColumnName(3)); + assertEquals("COLUMN_NAME", rsmd.getColumnName(4)); + assertEquals("COLUMN_TYPE", rsmd.getColumnName(5)); + assertEquals("DATA_TYPE", rsmd.getColumnName(6)); + assertEquals("TYPE_NAME", rsmd.getColumnName(7)); + assertEquals("PRECISION", rsmd.getColumnName(8)); + assertEquals("LENGTH", rsmd.getColumnName(9)); + assertEquals("SCALE", rsmd.getColumnName(10)); + assertEquals("RADIX", rsmd.getColumnName(11)); + assertEquals("NULLABLE", rsmd.getColumnName(12)); + assertEquals("REMARKS", rsmd.getColumnName(13)); + assertEquals("CHAR_OCTET_LENGTH", rsmd.getColumnName(14)); + assertEquals("ORDINAL_POSITION", rsmd.getColumnName(15)); + assertEquals("IS_NULLABLE", rsmd.getColumnName(16)); + assertEquals("SPECIFIC_NAME", rsmd.getColumnName(17)); + + assertTrue(rs.next()); + assertEquals(null, rs.getString(1)); + assertEquals("public", rs.getString(2)); + assertEquals("f1", rs.getString(3)); + assertEquals("returnValue", rs.getString(4)); + assertEquals(DatabaseMetaData.functionReturn, rs.getInt(5)); + assertEquals(Types.INTEGER, rs.getInt(6)); + assertEquals("int4", rs.getString(7)); + assertEquals(0, rs.getInt(15)); + + assertTrue(rs.next()); + assertEquals(null, rs.getString(1)); + assertEquals("public", rs.getString(2)); + assertEquals("f1", rs.getString(3)); + assertEquals("$1", rs.getString(4)); + assertEquals(DatabaseMetaData.functionColumnIn, rs.getInt(5)); + assertEquals(Types.INTEGER, rs.getInt(6)); + assertEquals("int4", rs.getString(7)); + assertEquals(1, rs.getInt(15)); + + assertTrue(rs.next()); + assertEquals(null, rs.getString(1)); + assertEquals("public", rs.getString(2)); + assertEquals("f1", rs.getString(3)); + assertEquals("$2", rs.getString(4)); + assertEquals(DatabaseMetaData.functionColumnIn, rs.getInt(5)); + assertEquals(Types.VARCHAR, rs.getInt(6)); + assertEquals("varchar", rs.getString(7)); + assertEquals(2, rs.getInt(15)); + + assertTrue(!rs.next()); + + rs.close(); + } + } From c4656b323f0dc3090926c0f14cd219461e534576 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 26 Nov 2018 10:33:58 -0500 Subject: [PATCH 238/427] =?UTF-8?q?fix:=20as=20of=20v12=20recovery.conf=20?= =?UTF-8?q?is=20no=20longer=20used=20for=20standby=20recovery.=20=E2=80=A6?= =?UTF-8?q?=20(#1355)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: as of v12 recovery.conf is no longer used for standby recovery. settings are placed in postgresql.conf and recover.signal is used to signal recovery * use standby.signal to tell server what mode to startup in, standby_mode is no longer used * let pg_basebackup create the standby files --- .travis/travis_create_slaves.sh | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/.travis/travis_create_slaves.sh b/.travis/travis_create_slaves.sh index 2eba2450c9..f772a0adb4 100755 --- a/.travis/travis_create_slaves.sh +++ b/.travis/travis_create_slaves.sh @@ -3,7 +3,7 @@ set -x -e if [ -z "$PG_VERSION" ] then - echo "env PG_VERSION not define"; + echo "env PG_VERSION not defined"; elif [ "x${PG_VERSION}" = "xHEAD" ] then PG_CTL="/usr/local/pgsql/bin/pg_ctl" @@ -19,11 +19,8 @@ sudo mkdir -p ${PG_SLAVE1_DATADIR} sudo chmod 700 ${PG_SLAVE1_DATADIR} sudo chown -R postgres:postgres ${PG_SLAVE1_DATADIR} -sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE1_DATADIR} -X stream" +sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE1_DATADIR} -X stream -R" -sudo su postgres -c "echo standby_mode = \'on\' >${PG_SLAVE1_DATADIR}/recovery.conf" -sudo su postgres -c "echo primary_conninfo = \'host=localhost port=5432 user=test password=test\' >>${PG_SLAVE1_DATADIR}/recovery.conf" -sudo su postgres -c "echo recovery_target_timeline = \'latest\' >>${PG_SLAVE1_DATADIR}/recovery.conf" if [[ "x${PG_VERSION}" != "xHEAD" ]] then @@ -38,6 +35,7 @@ then sudo sed -i -e "/^[ \t]*hba_file.*/d" ${PG_SLAVE1_DATADIR}/postgresql.conf sudo sed -i -e "/^[ \t]*ident_file.*/d" ${PG_SLAVE1_DATADIR}/postgresql.conf sudo sed -i -e "s/^#\?hot_standby.*/hot_standby = on/g" ${PG_SLAVE1_DATADIR}/postgresql.conf + fi #Start Slave 1 @@ -50,25 +48,24 @@ sudo mkdir -p ${PG_SLAVE2_DATADIR} sudo chmod 700 ${PG_SLAVE2_DATADIR} sudo chown -R postgres:postgres ${PG_SLAVE2_DATADIR} -sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE2_DATADIR} -X stream" +sudo su postgres -c "$PG_BASEBACKUP -Upostgres -D ${PG_SLAVE2_DATADIR} -X stream -R" -sudo su postgres -c "echo standby_mode = \'on\' >${PG_SLAVE2_DATADIR}/recovery.conf" -sudo su postgres -c "echo primary_conninfo = \'host=localhost port=5432 user=test password=test\' >>${PG_SLAVE2_DATADIR}/recovery.conf" -sudo su postgres -c "echo recovery_target_timeline = \'latest\' >>${PG_SLAVE2_DATADIR}/recovery.conf" if [[ "x${PG_VERSION}" != "xHEAD" ]] then + sudo su postgres -c "echo 'local all all trust' > ${PG_SLAVE2_DATADIR}/pg_hba.conf" sudo su postgres -c "echo 'host all all 127.0.0.1/32 trust' >> ${PG_SLAVE2_DATADIR}/pg_hba.conf" sudo su postgres -c "echo 'host all all ::1/128 trust' >> ${PG_SLAVE2_DATADIR}/pg_hba.conf" sudo su postgres -c "touch ${PG_SLAVE2_DATADIR}/pg_ident.conf" - - sudo su postgres -c "cp -f ${PG_DATADIR}/postgresql.conf ${PG_SLAVE2_DATADIR}/postgresql.conf" + sudo su postgres -c "cp -f ${PG_DATADIR}/postgresql.conf ${PG_SLAVE2_DATADIR}/postgresql.conf" sudo sed -i -e "/^[ \t]*data_directory.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf sudo sed -i -e "/^[ \t]*hba_file.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf sudo sed -i -e "/^[ \t]*ident_file.*/d" ${PG_SLAVE2_DATADIR}/postgresql.conf sudo sed -i -e "s/^#\?hot_standby.*/hot_standby = on/g" ${PG_SLAVE2_DATADIR}/postgresql.conf + + fi #Start Slave 2 From 381cf45cd1029d53ef748731d93361a814f711b6 Mon Sep 17 00:00:00 2001 From: pbillen <33231406+pbillen@users.noreply.github.com> Date: Mon, 26 Nov 2018 16:34:52 +0100 Subject: [PATCH 239/427] Allow setFlushedLSN(lsn) and setAppliedLSN(lsn) from outside main loop (#1329) * Marking the fields holding the sequence numbers as will allow the API user to call setFlushedLSN() and setAppliedLSN() (and also the getters) from a thread different than the thread doing the main loop. This is useful when doing a blocking read(), as it allows another thread to actually acknowledge an event as flushed/applied. Without this, one cannot combine read() and parallel processing of WAL events. * Update javadocs to reflect updated concurrency. * Fix javadocs --- .../v3/replication/V3PGReplicationStream.java | 6 +-- .../replication/PGReplicationStream.java | 41 +++++++++++++------ 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java index 38d1afd89c..11b4defb96 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java @@ -35,9 +35,9 @@ public class V3PGReplicationStream implements PGReplicationStream { /** * Last receive LSN + payload size. */ - private LogSequenceNumber lastReceiveLSN = LogSequenceNumber.INVALID_LSN; - private LogSequenceNumber lastAppliedLSN = LogSequenceNumber.INVALID_LSN; - private LogSequenceNumber lastFlushedLSN = LogSequenceNumber.INVALID_LSN; + private volatile LogSequenceNumber lastReceiveLSN = LogSequenceNumber.INVALID_LSN; + private volatile LogSequenceNumber lastAppliedLSN = LogSequenceNumber.INVALID_LSN; + private volatile LogSequenceNumber lastFlushedLSN = LogSequenceNumber.INVALID_LSN; /** * @param copyDual bidirectional copy protocol diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java index 8714c1af1c..cdb186aeb9 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java @@ -12,10 +12,11 @@ import java.sql.SQLException; /** - * Not tread safe replication stream. After complete streaming should be close, for free resource on - * backend. Periodical status update work only when use {@link PGReplicationStream#read()} method. - * It means that process wal record should be fast as possible, because during process wal record - * lead to disconnect by timeout from server. + * Not tread safe replication stream (though certain methods can be safely called by different + * threads). After complete streaming should be close, for free resource on backend. Periodical + * status update work only when use {@link PGReplicationStream#read()} method. It means that + * process wal record should be fast as possible, because during process wal record lead to + * disconnect by timeout from server. */ public interface PGReplicationStream //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" @@ -57,7 +58,11 @@ public interface PGReplicationStream ByteBuffer readPending() throws SQLException; /** - * Parameter updates by execute {@link PGReplicationStream#read()} method. + *

Parameter updates by execute {@link PGReplicationStream#read()} method.

+ * + *

It is safe to call this method in a thread different than the main thread. However, usually this + * method is called in the main thread after a successful {@link PGReplicationStream#read()} or + * {@link PGReplicationStream#readPending()}, to get the LSN corresponding to the received record.

* * @return not null LSN position that was receive last time via {@link PGReplicationStream#read()} * method @@ -65,24 +70,31 @@ public interface PGReplicationStream LogSequenceNumber getLastReceiveLSN(); /** - * Last flushed lsn send in update message to backend. Parameter updates only via {@link - * PGReplicationStream#setFlushedLSN(LogSequenceNumber)} + *

Last flushed lsn send in update message to backend. Parameter updates only via {@link + * PGReplicationStream#setFlushedLSN(LogSequenceNumber)}

+ * + *

It is safe to call this method in a thread different than the main thread.

* * @return not null location of the last WAL flushed to disk in the standby. */ LogSequenceNumber getLastFlushedLSN(); /** - * Last applied lsn send in update message to backed. Parameter updates only via {@link - * PGReplicationStream#setAppliedLSN(LogSequenceNumber)} + *

Last applied lsn send in update message to backed. Parameter updates only via {@link + * PGReplicationStream#setAppliedLSN(LogSequenceNumber)}

+ * + *

It is safe to call this method in a thread different than the main thread.

* * @return not null location of the last WAL applied in the standby. */ LogSequenceNumber getLastAppliedLSN(); /** - * Set flushed LSN. It parameter will be send to backend on next update status iteration. Flushed - * LSN position help backend define which wal can be recycle. + *

Set flushed LSN. It parameter will be send to backend on next update status iteration. Flushed + * LSN position help backend define which wal can be recycle.

+ * + *

It is safe to call this method in a thread different than the main thread. The updated value + * will be sent to the backend in the next status update run.

* * @param flushed not null location of the last WAL flushed to disk in the standby. * @see PGReplicationStream#forceUpdateStatus() @@ -90,8 +102,11 @@ public interface PGReplicationStream void setFlushedLSN(LogSequenceNumber flushed); /** - * Parameter used only physical replication and define which lsn already was apply on standby. - * Feedback will send to backend on next update status iteration. + *

Parameter used only physical replication and define which lsn already was apply on standby. + * Feedback will send to backend on next update status iteration.

+ * + *

It is safe to call this method in a thread different than the main thread. The updated value + * will be sent to the backend in the next status update run.

* * @param applied not null location of the last WAL applied in the standby. * @see PGReplicationStream#forceUpdateStatus() From 2c0f692bf6240465410ea2f6fde729554309f46c Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Wed, 28 Nov 2018 20:08:20 +0100 Subject: [PATCH 240/427] test: fix misspelled secondaryPort2 build property (#1284) --- build.properties | 6 +++--- .../test/hostchooser/MultiHostsConnectionTest.java | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.properties b/build.properties index 548d2aaf94..a62afc7f9c 100644 --- a/build.properties +++ b/build.properties @@ -5,10 +5,10 @@ server=localhost port=5432 -secondaryServer=localhost -secondaryPort=5433 +secondaryServer1=localhost +secondaryPort1=5433 secondaryServer2=localhost -secondaryServerPort2=5434 +secondaryPort2=5434 database=test username=test password=test diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java index 0b945ca6f4..8c20294644 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostsConnectionTest.java @@ -46,7 +46,7 @@ public class MultiHostsConnectionTest { private static final String user = TestUtil.getUser(); private static final String password = TestUtil.getPassword(); private static final String master1 = TestUtil.getServer() + ":" + TestUtil.getPort(); - private static final String secondary1 = getSecondaryServer() + ":" + getSecondaryPort(); + private static final String secondary1 = getSecondaryServer1() + ":" + getSecondaryPort1(); private static final String secondary2 = getSecondaryServer2() + ":" + getSecondaryPort2(); private static final String fake1 = "127.127.217.217:1"; @@ -95,7 +95,7 @@ private static Connection openSecondaryDB() throws Exception { Properties props = userAndPassword(); - return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer(), getSecondaryPort()), props); + return DriverManager.getConnection(TestUtil.getURL(getSecondaryServer1(), getSecondaryPort1()), props); } private static Properties userAndPassword() { @@ -106,12 +106,12 @@ private static Properties userAndPassword() { return props; } - private static String getSecondaryServer() { - return System.getProperty("secondaryServer", TestUtil.getServer()); + private static String getSecondaryServer1() { + return System.getProperty("secondaryServer1", TestUtil.getServer()); } - private static int getSecondaryPort() { - return Integer.parseInt(System.getProperty("secondaryPort", String.valueOf(TestUtil.getPort() + 1))); + private static int getSecondaryPort1() { + return Integer.parseInt(System.getProperty("secondaryPort1", String.valueOf(TestUtil.getPort() + 1))); } private static Connection openSecondaryDB2() throws Exception { From 5b0c05fb608619ec91afb5e2d2223c3fe1df207d Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 2 Dec 2018 16:45:09 -0500 Subject: [PATCH 241/427] docs: Fix typos in docs detected by codespell (#1361) And fix two more typos that I noticed --- docs/_posts/2017-02-20-42.0.0-release.md | 2 +- docs/_posts/2018-01-17-42.2.0-release.md | 2 +- docs/documentation/92/escaped-functions.md | 2 +- docs/documentation/92/geometric.md | 2 +- docs/documentation/92/ssl.md | 2 +- docs/documentation/92/use.md | 2 +- docs/documentation/93/escaped-functions.md | 2 +- docs/documentation/93/geometric.md | 2 +- docs/documentation/93/ssl.md | 2 +- docs/documentation/93/use.md | 2 +- docs/documentation/94/escaped-functions.md | 2 +- docs/documentation/94/geometric.md | 2 +- docs/documentation/94/ssl.md | 2 +- docs/documentation/94/use.md | 2 +- docs/documentation/changelog.md | 2 +- docs/documentation/head/server-prepare.md | 4 ++-- docs/documentation/head/ssl.md | 2 +- docs/documentation/head/use.md | 2 +- 18 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/_posts/2017-02-20-42.0.0-release.md b/docs/_posts/2017-02-20-42.0.0-release.md index bf2ef38aef..c75d7642f9 100644 --- a/docs/_posts/2017-02-20-42.0.0-release.md +++ b/docs/_posts/2017-02-20-42.0.0-release.md @@ -13,7 +13,7 @@ version: 42.0.0 - Add support for PreparedStatement.setCharacterStream(int, Reader). [ee4c4265](https://github.com/pgjdbc/pgjdbc/commit/ee4c4265aebc1c73a1d1fabac5ba259d1fbfd1e4) ### Changed -- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better sematic versioning. [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) +- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better semantic versioning. [46634923](https://github.com/pgjdbc/pgjdbc/commit/466349236622c6b03bb9cd8d7f517c3ce0586751) - Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. [Issue 742](https://github.com/pgjdbc/pgjdbc/issues/742) - Error position is displayed when SQL has unterminated literals, comments, etc. [Issue 688](https://github.com/pgjdbc/pgjdbc/issues/688) - Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). [PR 732](https://github.com/pgjdbc/pgjdbc/pull/732) diff --git a/docs/_posts/2018-01-17-42.2.0-release.md b/docs/_posts/2018-01-17-42.2.0-release.md index 5a376b3ae9..d4b60ff639 100644 --- a/docs/_posts/2018-01-17-42.2.0-release.md +++ b/docs/_posts/2018-01-17-42.2.0-release.md @@ -22,7 +22,7 @@ version: 42.2.0 ### Changed - Improve behaviour of ResultSet.getObject(int, Class). [PR 932](https://github.com/pgjdbc/pgjdbc/pull/932) -- Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) +- Parse CommandComplete message using a regular expression, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. [PR 962](https://github.com/pgjdbc/pgjdbc/pull/962) - Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one [PR 1053](https://github.com/pgjdbc/pgjdbc/pull/1053) - Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master [PR 844](https://github.com/pgjdbc/pgjdbc/pull/844). - Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) fixes [Issue 986](https://github.com/pgjdbc/pgjdbc/issues/986) diff --git a/docs/documentation/92/escaped-functions.md b/docs/documentation/92/escaped-functions.md index 38b9adf871..e028f5f9c3 100644 --- a/docs/documentation/92/escaped-functions.md +++ b/docs/documentation/92/escaped-functions.md @@ -10,7 +10,7 @@ next: ext.html --- The JDBC specification defines functions with an escape call syntax : `{fn function_name(arguments)}`. -The following tables show which functions are supported by the PostgresSQL™ driver. +The following tables show which functions are supported by the PostgreSQL™ driver. The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. diff --git a/docs/documentation/92/geometric.md b/docs/documentation/92/geometric.md index 284985c2fc..a13a9ef137 100644 --- a/docs/documentation/92/geometric.md +++ b/docs/documentation/92/geometric.md @@ -12,7 +12,7 @@ next: largeobjects.html PostgreSQL™ has a set of data types that can store geometric features into a table. These include single points, lines, and polygons. We support these types in Java with the org.postgresql.geometric package. Please consult the Javadoc -for the details of available classes and features metioned in [Chapter 12, *Further Reading*](reading.html). +for the details of available classes and features mentioned in [Chapter 12, *Further Reading*](reading.html). **Example 9.1. Using the CIRCLE datatype JDBC** diff --git a/docs/documentation/92/ssl.md b/docs/documentation/92/ssl.md index af9323862e..57fbb7c99d 100644 --- a/docs/documentation/92/ssl.md +++ b/docs/documentation/92/ssl.md @@ -23,7 +23,7 @@ Configuring the PostgreSQL™ server for SSL is covered in the [main documentation](http://www.postgresql.org/docs/current/static/ssl-tcp.html), so it will not be repeated here. Before trying to access your SSL enabled server from Java, make sure you can get to it via **psql**. You should -see output like the following if you have established a SSL connnection. +see output like the following if you have established a SSL connection. `$ ./bin/psql -h localhost` `Welcome to psql 8.0.0rc5, the PostgreSQL interactive terminal.` diff --git a/docs/documentation/92/use.md b/docs/documentation/92/use.md index 97f27f9130..4e5cb4cf4c 100644 --- a/docs/documentation/92/use.md +++ b/docs/documentation/92/use.md @@ -14,7 +14,7 @@ next: load.html * [Importing JDBC](use.html#import) * [Loading the Driver](load.html) -* [Connecting to the Databas](connect.html) +* [Connecting to the Database](connect.html) * [Connection Parameters](connect.html#connection-parameters) This section describes how to load and initialize the JDBC driver in your programs. diff --git a/docs/documentation/93/escaped-functions.md b/docs/documentation/93/escaped-functions.md index 38b9adf871..e028f5f9c3 100644 --- a/docs/documentation/93/escaped-functions.md +++ b/docs/documentation/93/escaped-functions.md @@ -10,7 +10,7 @@ next: ext.html --- The JDBC specification defines functions with an escape call syntax : `{fn function_name(arguments)}`. -The following tables show which functions are supported by the PostgresSQL™ driver. +The following tables show which functions are supported by the PostgreSQL™ driver. The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. diff --git a/docs/documentation/93/geometric.md b/docs/documentation/93/geometric.md index 284985c2fc..a13a9ef137 100644 --- a/docs/documentation/93/geometric.md +++ b/docs/documentation/93/geometric.md @@ -12,7 +12,7 @@ next: largeobjects.html PostgreSQL™ has a set of data types that can store geometric features into a table. These include single points, lines, and polygons. We support these types in Java with the org.postgresql.geometric package. Please consult the Javadoc -for the details of available classes and features metioned in [Chapter 12, *Further Reading*](reading.html). +for the details of available classes and features mentioned in [Chapter 12, *Further Reading*](reading.html). **Example 9.1. Using the CIRCLE datatype JDBC** diff --git a/docs/documentation/93/ssl.md b/docs/documentation/93/ssl.md index af9323862e..57fbb7c99d 100644 --- a/docs/documentation/93/ssl.md +++ b/docs/documentation/93/ssl.md @@ -23,7 +23,7 @@ Configuring the PostgreSQL™ server for SSL is covered in the [main documentation](http://www.postgresql.org/docs/current/static/ssl-tcp.html), so it will not be repeated here. Before trying to access your SSL enabled server from Java, make sure you can get to it via **psql**. You should -see output like the following if you have established a SSL connnection. +see output like the following if you have established a SSL connection. `$ ./bin/psql -h localhost` `Welcome to psql 8.0.0rc5, the PostgreSQL interactive terminal.` diff --git a/docs/documentation/93/use.md b/docs/documentation/93/use.md index 97f27f9130..4e5cb4cf4c 100644 --- a/docs/documentation/93/use.md +++ b/docs/documentation/93/use.md @@ -14,7 +14,7 @@ next: load.html * [Importing JDBC](use.html#import) * [Loading the Driver](load.html) -* [Connecting to the Databas](connect.html) +* [Connecting to the Database](connect.html) * [Connection Parameters](connect.html#connection-parameters) This section describes how to load and initialize the JDBC driver in your programs. diff --git a/docs/documentation/94/escaped-functions.md b/docs/documentation/94/escaped-functions.md index 38b9adf871..e028f5f9c3 100644 --- a/docs/documentation/94/escaped-functions.md +++ b/docs/documentation/94/escaped-functions.md @@ -10,7 +10,7 @@ next: ext.html --- The JDBC specification defines functions with an escape call syntax : `{fn function_name(arguments)}`. -The following tables show which functions are supported by the PostgresSQL™ driver. +The following tables show which functions are supported by the PostgreSQL™ driver. The driver supports the nesting and the mixing of escaped functions and escaped values. The appendix C of the JDBC specification describes the functions. diff --git a/docs/documentation/94/geometric.md b/docs/documentation/94/geometric.md index 284985c2fc..a13a9ef137 100644 --- a/docs/documentation/94/geometric.md +++ b/docs/documentation/94/geometric.md @@ -12,7 +12,7 @@ next: largeobjects.html PostgreSQL™ has a set of data types that can store geometric features into a table. These include single points, lines, and polygons. We support these types in Java with the org.postgresql.geometric package. Please consult the Javadoc -for the details of available classes and features metioned in [Chapter 12, *Further Reading*](reading.html). +for the details of available classes and features mentioned in [Chapter 12, *Further Reading*](reading.html). **Example 9.1. Using the CIRCLE datatype JDBC** diff --git a/docs/documentation/94/ssl.md b/docs/documentation/94/ssl.md index af9323862e..57fbb7c99d 100644 --- a/docs/documentation/94/ssl.md +++ b/docs/documentation/94/ssl.md @@ -23,7 +23,7 @@ Configuring the PostgreSQL™ server for SSL is covered in the [main documentation](http://www.postgresql.org/docs/current/static/ssl-tcp.html), so it will not be repeated here. Before trying to access your SSL enabled server from Java, make sure you can get to it via **psql**. You should -see output like the following if you have established a SSL connnection. +see output like the following if you have established a SSL connection. `$ ./bin/psql -h localhost` `Welcome to psql 8.0.0rc5, the PostgreSQL interactive terminal.` diff --git a/docs/documentation/94/use.md b/docs/documentation/94/use.md index 97f27f9130..4e5cb4cf4c 100644 --- a/docs/documentation/94/use.md +++ b/docs/documentation/94/use.md @@ -14,7 +14,7 @@ next: load.html * [Importing JDBC](use.html#import) * [Loading the Driver](load.html) -* [Connecting to the Databas](connect.html) +* [Connecting to the Database](connect.html) * [Connection Parameters](connect.html#connection-parameters) This section describes how to load and initialize the JDBC driver in your programs. diff --git a/docs/documentation/changelog.md b/docs/documentation/changelog.md index 5a97d1a089..2941f1158b 100644 --- a/docs/documentation/changelog.md +++ b/docs/documentation/changelog.md @@ -1504,7 +1504,7 @@ Date: Fri Feb 10 00:34:59 2012 -0800 The concrete JDBC implementation classes should do as little work as possible. They exist solely to connect the right set of concrete - implemention classes, leaving all the real work to the Abstract + implementation classes, leaving all the real work to the Abstract versions. Some logic had started to creep out into these concrete classes which is bad because it duplicates code in paths that aren't likely to be tested by a developer who is working primarily with a diff --git a/docs/documentation/head/server-prepare.md b/docs/documentation/head/server-prepare.md index 5c94942cbc..76f1504eca 100644 --- a/docs/documentation/head/server-prepare.md +++ b/docs/documentation/head/server-prepare.md @@ -129,7 +129,7 @@ Server side prepared statements are linked to database object IDs, so it could f The recommendation is: 1. Avoid changing `search_path` often, as it invalidates server side prepared statements -1. Use simple `set search_path...` commands, avoid nesting the comands into pl/pgsql or alike, otherwise +1. Use simple `set search_path...` commands, avoid nesting the commands into pl/pgsql or alike, otherwise pgjdbc won't be able to identify `search_path` change #### Re-execution of failed statements @@ -154,7 +154,7 @@ uses simple queries in the case where `replication` connection property is activ #### Use of server-prepared statements for con.createStatement() -By default, pgjdbc uses server-prepard statements for `PreparedStatement` only, however you might want +By default, pgjdbc uses server-prepared statements for `PreparedStatement` only, however you might want to activate server side prepared statements for regular `Statement` as well. For instance, if you execute the same statement through `con.createStatement().executeQuery(...)`, then you might improve performance by caching the statement. Of course it is better to use `PreparedStatements` explicitly, diff --git a/docs/documentation/head/ssl.md b/docs/documentation/head/ssl.md index 041306d4d8..a32027b64e 100644 --- a/docs/documentation/head/ssl.md +++ b/docs/documentation/head/ssl.md @@ -23,7 +23,7 @@ Configuring the PostgreSQL™ server for SSL is covered in the [main documentation](http://www.postgresql.org/docs/current/static/ssl-tcp.html), so it will not be repeated here. Before trying to access your SSL enabled server from Java, make sure you can get to it via **psql**. You should -see output like the following if you have established a SSL connnection. +see output like the following if you have established a SSL connection. ``` $ ./bin/psql -h localhost -U postgres diff --git a/docs/documentation/head/use.md b/docs/documentation/head/use.md index 3d33376524..25537cd8c4 100644 --- a/docs/documentation/head/use.md +++ b/docs/documentation/head/use.md @@ -14,7 +14,7 @@ next: load.html * [Importing JDBC](use.html#import) * [Loading the Driver](load.html) -* [Connecting to the Databas](connect.html) +* [Connecting to the Database](connect.html) * [Connection Parameters](connect.html#connection-parameters) This section describes how to load and initialize the JDBC driver in your programs. From 0999bb78ecb0a305f830d8b76ae24f6e64444ec8 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Wed, 5 Dec 2018 06:02:05 -0500 Subject: [PATCH 242/427] Fix TestUtil.dropXyz(...) object not exists errors (#1359) * test: Change drop object utilities in TestUtils to use IF EXISTS Changes most drop object helper methods in TestUtils to check if a transaction is in progress and, if not, then use IF EXISTS to suppress errors for missing objects during the DROP command. If a transaction is in progress then the command then the drop is executed without the IF EXISTS clause so that missing objects results in an exception and test failure. In either case an unrelated error such as the server being offline will be now throw an exception. This is a change from the prior behavior where all errors that are not part of a transaction were being suppressed. errors if the object being dropped does not exist. * test: Change TestUtil.dropSequence(...) to add CASCADE Adds CASCADE option to TestUtils.dropSequence(...) helper to handle dependency errors in drop statements that previously being ignored. * test: Add shouldDrop param to TestUtils.createCompositeType(...) Also adds a method matching the previous signature without the new parameter and defaulting to the older behaviour of true (i.e. drop then create). * test: Use explicit drop type statements for metadata tests Adds explicit drop statements for types in metadata tests to ensure the drop statements are executed in the correct order. Also adds a drop statement for the reference table. The revised drop order is required as TestUtils no longer skips over non-missing object errors when dropping objects. * test: Clean up throws clauses in TestUtil Restricts throws clauses in TestUtil to SQLException rather than a more broad Exception and removes throws clause from initDriver(). --- .../java/org/postgresql/test/TestUtil.java | 105 ++++++++++-------- .../test/jdbc2/DatabaseMetaDataTest.java | 8 +- 2 files changed, 65 insertions(+), 48 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index b300749c77..65b0754d37 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -242,7 +242,7 @@ public static Properties loadPropertyFiles(String... names) { return p; } - public static void initDriver() throws Exception { + public static void initDriver() { synchronized (TestUtil.class) { if (initialized) { return; @@ -281,7 +281,7 @@ public static File getFile(String name) { * @return connection using a privileged user mostly for tests that the ability to load C * functions now as of 4/14 */ - public static Connection openPrivilegedDB() throws Exception { + public static Connection openPrivilegedDB() throws SQLException { initDriver(); Properties properties = new Properties(); properties.setProperty("user", getPrivilegedUser()); @@ -295,7 +295,7 @@ public static Connection openPrivilegedDB() throws Exception { * * @return connection */ - public static Connection openDB() throws Exception { + public static Connection openDB() throws SQLException { return openDB(new Properties()); } @@ -303,7 +303,7 @@ public static Connection openDB() throws Exception { * Helper - opens a connection with the allowance for passing additional parameters, like * "compatible". */ - public static Connection openDB(Properties props) throws Exception { + public static Connection openDB(Properties props) throws SQLException { initDriver(); // Allow properties to override the user name. @@ -375,17 +375,15 @@ public static void createSchema(Connection con, String schema) throws SQLExcepti public static void dropSchema(Connection con, String schema) throws SQLException { Statement stmt = con.createStatement(); try { - String sql = "DROP SCHEMA " + schema + " CASCADE "; - - stmt.executeUpdate(sql); - } catch (SQLException ex) { - // Since every create schema issues a drop schema - // it's easy to get a schema doesn't exist error. - // we want to ignore these, but if we're in a - // transaction then we've got trouble - if (!con.getAutoCommit()) { - throw ex; + if (con.getAutoCommit()) { + // Not in a transaction so ignore error for missing object + stmt.executeUpdate("DROP SCHEMA IF EXISTS " + schema + " CASCADE"); + } else { + // In a transaction so do not ignore errors for missing object + stmt.executeUpdate("DROP SCHEMA " + schema + " CASCADE"); } + } finally { + closeQuietly(stmt); } } @@ -459,16 +457,26 @@ public static void createEnumType(Connection con, String name, String values) * @param name String * @param values String */ + public static void createCompositeType(Connection con, String name, String values) throws SQLException { + createCompositeType(con, name, values, true); + } - public static void createCompositeType(Connection con, String name, String values) + /** + * Helper creates an composite type. + * + * @param con Connection + * @param name String + * @param values String + */ + public static void createCompositeType(Connection con, String name, String values, boolean shouldDrop) throws SQLException { Statement st = con.createStatement(); try { - dropType(con, name); - - - // Now create the table - st.executeUpdate("create type " + name + " as (" + values + ")"); + if (shouldDrop) { + dropType(con, name); + } + // Now create the type + st.executeUpdate("CREATE TYPE " + name + " AS (" + values + ")"); } finally { closeQuietly(st); } @@ -482,15 +490,17 @@ public static void createCompositeType(Connection con, String name, String value */ public static void dropDomain(Connection con, String name) throws SQLException { - Statement st = con.createStatement(); + Statement stmt = con.createStatement(); try { - st.executeUpdate("drop domain " + name + " cascade"); - } catch (SQLException ex) { - if (!con.getAutoCommit()) { - throw ex; + if (con.getAutoCommit()) { + // Not in a transaction so ignore error for missing object + stmt.executeUpdate("DROP DOMAIN IF EXISTS " + name + " CASCADE"); + } else { + // In a transaction so do not ignore errors for missing object + stmt.executeUpdate("DROP DOMAIN " + name + " CASCADE"); } } finally { - closeQuietly(st); + closeQuietly(stmt); } } @@ -519,12 +529,15 @@ public static void createDomain(Connection con, String name, String values) public static void dropSequence(Connection con, String sequence) throws SQLException { Statement stmt = con.createStatement(); try { - String sql = "DROP SEQUENCE " + sequence; - stmt.executeUpdate(sql); - } catch (SQLException sqle) { - if (!con.getAutoCommit()) { - throw sqle; + if (con.getAutoCommit()) { + // Not in a transaction so ignore error for missing object + stmt.executeUpdate("DROP SEQUENCE IF EXISTS " + sequence + " CASCADE"); + } else { + // In a transaction so do not ignore errors for missing object + stmt.executeUpdate("DROP SEQUENCE " + sequence + " CASCADE"); } + } finally { + closeQuietly(stmt); } } @@ -534,16 +547,15 @@ public static void dropSequence(Connection con, String sequence) throws SQLExcep public static void dropTable(Connection con, String table) throws SQLException { Statement stmt = con.createStatement(); try { - String sql = "DROP TABLE " + table + " CASCADE "; - stmt.executeUpdate(sql); - } catch (SQLException ex) { - // Since every create table issues a drop table - // it's easy to get a table doesn't exist error. - // we want to ignore these, but if we're in a - // transaction then we've got trouble - if (!con.getAutoCommit()) { - throw ex; + if (con.getAutoCommit()) { + // Not in a transaction so ignore error for missing object + stmt.executeUpdate("DROP TABLE IF EXISTS " + table + " CASCADE "); + } else { + // In a transaction so do not ignore errors for missing object + stmt.executeUpdate("DROP TABLE " + table + " CASCADE "); } + } finally { + closeQuietly(stmt); } } @@ -553,12 +565,15 @@ public static void dropTable(Connection con, String table) throws SQLException { public static void dropType(Connection con, String type) throws SQLException { Statement stmt = con.createStatement(); try { - String sql = "DROP TYPE " + type + " CASCADE"; - stmt.executeUpdate(sql); - } catch (SQLException ex) { - if (!con.getAutoCommit()) { - throw ex; + if (con.getAutoCommit()) { + // Not in a transaction so ignore error for missing object + stmt.executeUpdate("DROP TYPE IF EXISTS " + type + " CASCADE"); + } else { + // In a transaction so do not ignore errors for missing object + stmt.executeUpdate("DROP TYPE " + type + " CASCADE"); } + } finally { + closeQuietly(stmt); } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 2538aabb8b..73d39e24d2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -52,8 +52,10 @@ public void setUp() throws Exception { TestUtil.createTable(con, "\"a'\"", "a int4"); TestUtil.createTable(con, "arraytable", "a numeric(5,2)[], b varchar(100)[]"); TestUtil.createTable(con, "intarraytable", "a int4[], b int4[][]"); - TestUtil.createCompositeType(con, "custom", "i int"); - TestUtil.createCompositeType(con, "_custom", "f float"); + TestUtil.dropType(con, "custom"); + TestUtil.dropType(con, "_custom"); + TestUtil.createCompositeType(con, "custom", "i int", false); + TestUtil.createCompositeType(con, "_custom", "f float", false); // 8.2 does not support arrays of composite types @@ -107,7 +109,7 @@ public void tearDown() throws Exception { stmt.execute("DROP FUNCTION f1(int, varchar)"); stmt.execute("DROP FUNCTION f2(int, varchar)"); stmt.execute("DROP FUNCTION f3(int, varchar)"); - TestUtil.dropType(con, "domaintable"); + TestUtil.dropTable(con, "domaintable"); TestUtil.dropDomain(con, "nndom"); TestUtil.closeDB(con); From 7be21fc307fa28781d26a6f3752564236e3f9203 Mon Sep 17 00:00:00 2001 From: Ivan Leskin Date: Thu, 6 Dec 2018 17:01:35 +0300 Subject: [PATCH 243/427] Support custom 'options' connection property (#1356) * feat: support custom 'options' connection property * add support for custom 'options' connection property * add parsing of 'options' to TestUtil this closes https://github.com/pgjdbc/pgjdbc/issues/222 * doc: update documentation to mention custom 'options' connection property support * update README.md and docs/documentation/head/connect.md so that they mention 'options' connection parameter * test: add unit test for 'options' connection initialization parameter * add a unit test to check 'options' connection initialization parameter is passed to the database To do that, a schema is created. search_path is then set by 'options' to its name, and is checked after establishing a connection --- README.md | 5 +- docs/documentation/head/connect.md | 18 +++++- .../main/java/org/postgresql/PGProperty.java | 6 ++ .../core/v3/ConnectionFactoryImpl.java | 6 ++ .../postgresql/ds/common/BaseDataSource.java | 15 +++++ .../java/org/postgresql/test/TestUtil.java | 10 +++ .../test/core/OptionsPropertyTest.java | 62 +++++++++++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + 8 files changed, 119 insertions(+), 5 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/core/OptionsPropertyTest.java diff --git a/README.md b/README.md index b6b303aa79..a854963ea3 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ where: * **host** (Optional) is the server address to connect. This could be a DNS or IP address, or it could be *localhost* or *127.0.0.1* for the local computer. To specify an IPv6 address your must enclose the host parameter with square brackets (jdbc:postgresql://[::1]:5740/accounting). Defaults to `localhost`. * **port** (Optional) is the port number listening on the host. Defaults to `5432`. * **database** (Optional) is the database name. Defaults to the same name as the *user name* used in the connection. - * **propertyX** (Optional) is one or more option connection properties. For more information see *Connection properties*. + * **propertyX** (Optional) is one or more option connection properties. For more information see *Connection properties*. #### Connection Properties In addition to the standard connection parameters the driver supports a number of additional properties which can be used to specify additional driver behaviour specific to PostgreSQL™. These properties may be specified in either the connection URL or an additional Properties object parameter to DriverManager.getConnection. @@ -109,6 +109,7 @@ In addition to the standard connection parameters the driver supports a number o | ----------------------------- | ------- | :-----: | ------------- | | user | String | null | The database user on whose behalf the connection is being made. | | password | String | null | The database user's password. | +| options | String | null | Specify 'options' connection initialization parameter. | | ssl | Boolean | false | Control use of SSL (true value causes SSL to be required) | | sslfactory | String | null | Provide a SSLSocketFactory class when using SSL. | | sslfactoryarg (deprecated) | String | null | Argument forwarded to constructor of SSLSocketFactory class. | @@ -149,7 +150,7 @@ In addition to the standard connection parameters the driver supports a number o | preferQueryMode | String | extended | Specifies which mode is used to execute queries to database, possible values: extended, extendedForPrepared, extendedCacheEverything, simple | | reWriteBatchedInserts | Boolean | false | Enable optimization to rewrite and collapse compatible INSERT statements that are batched. | -## Contributing +## Contributing For information on how to contribute to the project see the [Contributing Guidelines](CONTRIBUTING.md) ---------------------------------------------------- diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 106f3ca038..8cbf2b05be 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -54,6 +54,9 @@ URL or an additional `Properties` object parameter to `DriverManager.getConnecti The following examples illustrate the use of both methods to establish a SSL connection. +If a property is specified both in URL and in `Properties` object, the value from +`Properties` object is ignored. + ```java String url = "jdbc:postgresql://localhost/test"; Properties props = new Properties(); @@ -68,11 +71,20 @@ Connection conn = DriverManager.getConnection(url); * **user** = String - The database user on whose behalf the connection is being made. + The database user on whose behalf the connection is being made. * **password** = String - The database user's password. + The database user's password. + +* **options** = String + + Specify 'options' connection initialization parameter. + + The value of this property may contain spaces or other special characters, + and it should be properly encoded if provided in the connection URL. Spaces + are considered to separate command-line arguments, unless escaped with + a backslash (`\`); `\\` represents a literal backslash. * **ssl** = boolean @@ -459,4 +471,4 @@ And read pool balances connections between slaves nodes, but allows connections If a slave fails, all slaves in the list will be tried first. If the case that there are no available slaves the master will be tried. If all of the servers are marked as "can't connect" in the cache then an attempt -will be made to connect to all of the hosts in the URL in order. \ No newline at end of file +will be made to connect to all of the hosts in the URL in order. diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 4afefe2356..7aace06ee1 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -55,6 +55,12 @@ public enum PGProperty { "Force use of a particular protocol version when connecting, currently only version 3 is supported.", false, "3"), + /** + * Specify 'options' connection initialization parameter. + * The value of this parameter may contain spaces and other special characters or their URL representation. + */ + OPTIONS("options", null, "Specify 'options' connection initialization parameter."), + /** *

Logger level of the driver. Allowed values: {@code OFF}, {@code DEBUG} or {@code TRACE}.

* diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index c83ce34c59..91b4ae5943 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -339,6 +339,12 @@ private List getParametersForStartup(String user, String database, Pro if (currentSchema != null) { paramList.add(new String[]{"search_path", currentSchema}); } + + String options = PGProperty.OPTIONS.get(info); + if (options != null) { + paramList.add(new String[]{"options", options}); + } + return paramList; } diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 7f78f40432..8d9c484f0e 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -232,6 +232,21 @@ public void setPortNumber(int portNumber) { this.portNumber = portNumber; } + /** + * @return command line options for this connection + */ + public String getOptions() { + return PGProperty.OPTIONS.get(properties); + } + + /** + * Set command line options for this connection + * @param options string to set options to + */ + public void setOptions(String options) { + PGProperty.OPTIONS.set(properties, options); + } + /** * @return login timeout * @see PGProperty#LOGIN_TIMEOUT diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 65b0754d37..a1f12733bd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -69,6 +69,11 @@ public static String getURL(String hostport, String database) { protocolVersion = "&protocolVersion=" + getProtocolVersion(); } + String options = ""; + if (getOptions() != null) { + options = "&options=" + getOptions(); + } + String binaryTransfer = ""; if (getBinaryTransfer() != null && !getBinaryTransfer().equals("")) { binaryTransfer = "&binaryTransfer=" + getBinaryTransfer(); @@ -96,6 +101,7 @@ public static String getURL(String hostport, String database) { + logLevel + logFile + protocolVersion + + options + binaryTransfer + receiveBufferSize + sendBufferSize @@ -127,6 +133,10 @@ public static int getProtocolVersion() { return Integer.parseInt(System.getProperty("protocolVersion", "0")); } + public static String getOptions() { + return System.getProperty("options"); + } + /* * Returns the Test database */ diff --git a/pgjdbc/src/test/java/org/postgresql/test/core/OptionsPropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/core/OptionsPropertyTest.java new file mode 100644 index 0000000000..20a78302ab --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/core/OptionsPropertyTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2004, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.core; + +import org.postgresql.PGProperty; +import org.postgresql.test.TestUtil; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Properties; + +public class OptionsPropertyTest { + private static final String schemaName = "options_property_test"; + private static final String optionsValue = "-c search_path=" + schemaName; + + @Before + public void setUp() throws Exception { + Connection con = TestUtil.openDB(); + Statement stmt = con.createStatement(); + stmt.execute("DROP SCHEMA IF EXISTS " + schemaName + ";"); + stmt.execute("CREATE SCHEMA " + schemaName + ";"); + stmt.close(); + TestUtil.closeDB(con); + } + + @Test + public void testOptionsInProperties() throws Exception { + Properties props = new Properties(); + props.setProperty(PGProperty.OPTIONS.getName(), optionsValue); + + Connection con = TestUtil.openDB(props); + Statement stmt = con.createStatement(); + stmt.execute("SHOW search_path"); + + ResultSet rs = stmt.getResultSet(); + if (!rs.next()) { + Assert.fail("'options' connection initialization parameter should be passed to the database."); + } + Assert.assertEquals("'options' connection initialization parameter should be passed to the database.", schemaName, rs.getString(1)); + + stmt.close(); + TestUtil.closeDB(con); + } + + @After + public void tearDown() throws Exception { + Connection con = TestUtil.openDB(); + Statement stmt = con.createStatement(); + stmt.execute("DROP SCHEMA " + schemaName + ";"); + stmt.close(); + TestUtil.closeDB(con); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 18a406b57e..b22762e585 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -16,6 +16,7 @@ import org.postgresql.jdbc.PrimitiveArraySupportTest; import org.postgresql.test.core.JavaVersionTest; import org.postgresql.test.core.NativeQueryBindLengthTest; +import org.postgresql.test.core.OptionsPropertyTest; import org.postgresql.test.util.ExpressionPropertiesTest; import org.postgresql.test.util.LruCacheTest; import org.postgresql.test.util.ServerVersionParseTest; @@ -61,6 +62,7 @@ ReaderInputStreamTest.class, ServerVersionParseTest.class, ServerVersionTest.class, + OptionsPropertyTest.class, TypeCacheDLLStressTest.class, From cdfd49cf8040c75d315fb41f7c94ab4f9878a060 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sat, 8 Dec 2018 13:43:42 +0300 Subject: [PATCH 244/427] chore: use openjdk7 to boostrap Travis CI images for JDK 6 (#1366) In fact, Zulu JDK 6 is used for Java 6, so `jdk: openjdk7` does not matter much --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 359a64b3db..b2a842e80b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -172,7 +172,7 @@ matrix: - MCENTRAL=Y - COVERAGE=Y - TZ=UTC - - jdk: openjdk6 + - jdk: openjdk7 sudo: required addons: postgresql: "9.1" @@ -240,7 +240,7 @@ matrix: - PG_VERSION=9.2 - ZULU_JDK=7 - stage: release_prev - jdk: openjdk6 + jdk: openjdk7 sudo: required addons: postgresql: "9.1" From cea5231ba794c362cbd5285b299ba3f82ad29e73 Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Sat, 8 Dec 2018 21:44:26 +1100 Subject: [PATCH 245/427] fix: NPE in PGXAConnection$ConnectionHandler.invoke() of .equals(null) (#1365) The PGXAConnection inner class call-filtering proxy ConnectionHandler special cases calls to equals() by testing if the argument is itself a proxy that should be unwrapped. However it fails to test if the argument is null before calling getClass() on it, resulting in an NPE like java.lang.NullPointerException: null at org.postgresql.xa.PGXAConnection$ConnectionHandler.invoke(PGXAConnection.java:139) Fix by testing for null. While we're at it, also defensively check to ensure there's exactly one argument to .equals. It's not sensible to pass more and will error later anyway. --- pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java | 4 ++-- .../test/java/org/postgresql/test/xa/XADataSourceTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index bbf442e77f..7d998b08dc 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -134,9 +134,9 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl * If the argument to equals-method is also a wrapper, present the original unwrapped * connection to the underlying equals method. */ - if (method.getName().equals("equals")) { + if (method.getName().equals("equals") && args.length == 1) { Object arg = args[0]; - if (Proxy.isProxyClass(arg.getClass())) { + if (arg != null && Proxy.isProxyClass(arg.getClass())) { InvocationHandler h = Proxy.getInvocationHandler(arg); if (h instanceof ConnectionHandler) { // unwrap argument diff --git a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java index 31bd1933e8..18d39d33e0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/xa/XADataSourceTest.java @@ -191,6 +191,8 @@ public int hashCode() { @Test public void testWrapperEquals() throws Exception { assertTrue("Wrappers should be equal", conn.equals(conn)); + assertFalse("Wrapper should be unequal to null", conn.equals(null)); + assertFalse("Wrapper should be unequal to unrelated object", conn.equals("dummy string object")); } @Test From be23262b14378dd2282161733fdc2d345a8b8629 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 8 Dec 2018 07:54:51 -0500 Subject: [PATCH 246/427] Update pull_request_template.md (#1367) --- .github/pull_request_template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d677c4cd53..3a9228c35a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,6 @@ ### All Submissions: -* [ ] Have you followed the guidelines in our [Contributing](CONTRIBUTING.md) document? +* [ ] Have you followed the guidelines in our [Contributing](https://github.com/pgjdbc/pgjdbc/blob/master/CONTRIBUTING.md) document? * [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change? @@ -15,4 +15,4 @@ * [ ] Does this break existing behaviour? If so please explain. * [ ] Have you added an explanation of what your changes do and why you'd like us to include them? * [ ] Have you written new tests for your core changes, as applicable? -* [ ] Have you successfully run tests with your changes locally? \ No newline at end of file +* [ ] Have you successfully run tests with your changes locally? From 2a715a988bead78aeb0a341a37faf86b62df4975 Mon Sep 17 00:00:00 2001 From: Sualeh Fatehi Date: Sat, 8 Dec 2018 08:00:38 -0500 Subject: [PATCH 247/427] Update testing documents, and point to jackdb/pgjdbc-test-vm (#1363) * Update testing documents, and point to https://github.com/jackdb/pgjdbc-test-vm * Remove references to ant, and other edits * Move document out of source tree * Update documentation --- CONTRIBUTING.md | 8 +- .../postgresql/test/README.md => TESTING.md | 228 +++++------------- 2 files changed, 66 insertions(+), 170 deletions(-) rename pgjdbc/src/test/java/org/postgresql/test/README.md => TESTING.md (53%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ecb906d994..e71342c3f3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,7 +119,7 @@ PgJDBC doesn't natively support building from IDEs like Eclipse, NetBeans or IntelliJ. However you can use the tools Maven support from within the IDE if you wish. You can use regular IDE tools to develop, execute tests, etc, however if you want to build final artifacts you should use `mvn`. - + After running the build , and build a .jar file (Java ARchive) depending on the version of java and which release you have the jar will be named postgresql-...[jre].jar. We use Semantic versioning; as such @@ -178,7 +178,7 @@ It is recommended you run mvn checkstyle:check before creating your pull request - +​ ## Updating translations @@ -362,7 +362,9 @@ You can get old JDK versions from the [Oracle Java Archive](http://www.oracle.co Then, to test against old JDK, run `mvn test` in `pgjdbc-jre6` or `pgjdbc-jre7` modules. -For information about the unit tests and how to run them, see +An easy way to set up the test PostgreSQL database is to use [jackdb/pgjdbc-test-vm](https://github.com/jackdb/pgjdbc-test-vm). Follow the instructions on that project's [README](https://github.com/jackdb/pgjdbc-test-vm) page. + +For more information about the unit tests and how to run them, see [org/postgresql/test/README](pgjdbc/src/test/java/org/postgresql/test/README.md) ## Support for IDEs diff --git a/pgjdbc/src/test/java/org/postgresql/test/README.md b/TESTING.md similarity index 53% rename from pgjdbc/src/test/java/org/postgresql/test/README.md rename to TESTING.md index adb821000f..7e415b9b11 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/README.md +++ b/TESTING.md @@ -1,75 +1,48 @@ -PostgreSQL/JDBC Test Suite Howto -================================ -1 Introduction -2 Installation -3 Configuration -4 Running the test suite -5 Extending the test suite with new tests -6 Guidelines for developing new tests -7 Example -8 Running the JDBC 2 test suite from Sun against PostgreSQL -9 Credits, feedback - - -1 Introduction --------------- +# PostgreSQL/JDBC Test Suite Howto + + +## 1 - Introduction + The PostgreSQL source tree contains an automated test suite for the JDBC driver. This document explains how to install, configure and run this test suite. Furthermore, it offers guidelines and an example for developers to add new test cases. -Sun provides two standard JDBC test suites that you may also -find useful. -http://java.sun.com/products/jdbc/download2.html (JDBC 1) -http://java.sun.com/products/jdbc/jdbctestsuite-1_2_1.html (JDBC -2, including J2EE requirements) -The JDBC 2 test suite is covered in section 8 below. The JDBC 1 -test suite is not currently covered in this document. - -2 Installation --------------- -Of course, you need to have a Java 2 JDK or JRE installed. The -standard JDK from Sun is OK. You can download it from -http://java.sun.com/. - -You need to install the Ant build utility. You can download it -from http://jakarta.apache.org/ant/. - -You also need to install the JUnit4 testing framework. You can -download it from http://www.junit.org/. Add junit4.jar to your -CLASSPATH before you perform the following steps. Ant will -dynamically detect that JUnit is present and then build the JDBC -test suite. +## 2 - Installation + +Of course, you need to have a [Java 8 JDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html). Also install [Apache Maven](https://maven.apache.org/). You need to install and build the PostgreSQL JDBC driver source -tree. You can download it from http://jdbc.postgresql.org/. See -README in the top of the tree for more information. +tree. You can download it from https://github.com/pgjdbc/pgjdbc. See +[README](https://github.com/pgjdbc/pgjdbc) in that project for more information. + +In this Howto we'll use `$JDBC_SRC` to refer to the top-level directory +of the JDBC driver source tree. The test suite is the directory where you cloned the https://github.com/pgjdbc/pgjdbc project from GitHub. -In this Howto we'll use $JDBC_SRC to refer to the top-level directory -of the JDBC driver source tree. The test suite is located in the -subdirectory $JDBC_SRC/org/postgresql/test. +## 3 Test PostgreSQL Database -3 Configuration ---------------- The test suite requires a PostgreSQL database to run the tests against and a user to login as. The tests will create and drop many objects in this database, so it should not contain production tables to avoid loss of data. We recommend you assign the following names: - database: test - username: test - password: test +- database: test +- username: test +- password: test -These names correspond with the default names set for the test suite -in $JDBC_SRC/build.xml. If you have chosen other names you need to -create a file named $JDBC_SRC/build.local.properties and add your -customized values of the properties "database", "username" and -"password". +If you have chosen other names you need to +create a file named `$JDBC_SRC/build.local.properties` and add your +customized values of the properties `database`, `username` and +`password`. -4 Running the test suite ------------------------- -%cd $JDBC_SRC -%ant test +An easy way to set up the test PostgreSQL database is to use [jackdb/pgjdbc-test-vm](https://github.com/jackdb/pgjdbc-test-vm). Follow the instructions on that project's [README](https://github.com/jackdb/pgjdbc-test-vm) page. + +## 4 - Running the test suite + +```sh +% cd $JDBC_SRC +% mvn test +``` This will run the command line version of JUnit. If you'd like to see an animated coloured progress bar as the tests are @@ -80,12 +53,11 @@ If the test suite reports errors or failures that you cannot explain, please post the relevant parts of the output to the mailing list pgsql-jdbc@postgresql.org. -5 Extending the test suite with new tests ------------------------------------------ +## 5 - Extending the test suite with new tests + If you're not familiar with JUnit, we recommend that you -first read the introductory article "JUnit Test Infected: -Programmers Love Writing Tests" on -http://junit.sourceforge.net/doc/testinfected/testing.htm. +first read the introductory article [JUnit Test Infected: +Programmers Love Writing Tests](http://junit.sourceforge.net/doc/testinfected/testing.htm). Before continuing, you should ensure you understand the following concepts: test suite, test case, test, fixture, assertion, failure. @@ -104,15 +76,15 @@ In your test method you can use the fixture that is setup for it by the test case. If you decide to add a new test case, you should do two things: -1) Add a test class. It should -contain setUp() and tearDown() methods that create and destroy -the fixture respectively. -2) Edit $JDBC_SRC/org/postgresql/test/jdbc2/Jdbc2TestSuite.java or -$JDBC_SRC/org/postgresql/test/jdbc3/Jdbc3TestSuite.java and add your class. This will make the test case -part of the test suite. - -6 Guidelines for developing new tests -------------------------------------- + +1. Add a test class. It should + contain `setUp()` and `tearDown()` methods that create and destroy + the fixture respectively. +2. Add your test class in `$JDBC_SRC/src/test/java/org/postgresql/test`. This will make the test case + part of the test suite. + +## 6 - Guidelines for developing new tests + Every test should create and drop its own tables. We suggest to consider database objects (e.g. tables) part of the fixture for the tests in the test case. The test should also succeed when a @@ -122,13 +94,13 @@ The recommended pattern for creating and dropping tables can be found in the example in section 7 below. Please note that JUnit provides several convenience methods to -check for conditions. See the Assert class in the Javadoc +check for conditions. See the `Assert` class in the Javadoc documentation of JUnit, which is installed on your system. For example, you can compare two integers using -Assert.assertEquals(int expected, int actual). This method +`Assert.assertEquals(int expected, int actual)`. This method will print both values in case of a failure. -To simply report a failure use Assert.fail(). +To simply report a failure use `Assert.fail()`. The JUnit FAQ explains how to test for a thrown exception. @@ -146,94 +118,21 @@ For example, in the comments you can explain where a certain test condition originates from. Is it a JDBC requirement, PostgreSQL behaviour or the intended implementation of a feature? -7 Example (incomplete) ----------------------- -package org.postgresql.test.jdbc2; - -import static org.junit.Assert.assertNotNull; - -import org.postgresql.test.TestUtil; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import java.sql.*; - -/* - * Test case for ... - */ -public class FooTest { - - private Connection con; - private Statement stmt; - - @Before - public void setUp() throws Exception { - con = TestUtil.openDB(); - stmt = con.createStatement(); - - // Drop the test table if it already exists for some - // reason. It is not an error if it doesn't exist. - try { - stmt.executeUpdate("DROP TABLE testfoo"); - } catch (SQLException e) { - // Intentionally ignore. We cannot distinguish - // "table does not exist" from other errors, since - // PostgreSQL doesn't support error codes yet. - } - - stmt.executeUpdate( - "CREATE TABLE testfoo(pk INTEGER, col1 INTEGER)"); - stmt.executeUpdate("INSERT INTO testfoo VALUES(1, 0)"); - - // You may want to call con.setAutoCommit(false) at - // this point, if most tests in this test case require - // the use of transactions. - } - - @After - public void tearDown() throws Exception { - con.setAutoCommit(true); - if (stmt != null) { - stmt.executeUpdate("DROP TABLE testfoo"); - stmt.close(); - } - if (con != null) { - TestUtil.closeDB(con); - } - } - - @Test - public void testFoo() { - // Use the assert methods in import org.junit.Assert - // for the actual tests - - // Just some silly examples - assertNotNull(con); - if (stmt == null) { - fail("Where is my statement?"); - } - } - - @Test - public void testBar() { - // Another test. - } -} - -8 ssltests ----------------- -- requires ssl to be turned on in the database 'postgresql.conf ssl=true' -- pg_hba.conf requires entries for hostssl, and hostnossl +## 7 - Example + +See [BlobTest.java](https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTest.java) for an example of a unit test that creates test table, runs a test, and then drops the table. There are other tests in [pgjdbc/src/test/java/org/postgresql](https://github.com/pgjdbc/pgjdbc/tree/master/pgjdbc/src/test/java/org/postgresql) which you can use an examples. Please add your own tests in this location. + +## 8 - SSL tests + +- requires SSL to be turned on in the database `postgresql.conf ssl=true` +- `pg_hba.conf` requires entries for `hostssl`, and `hostnossl` - contrib module sslinfo needs to be installed in the databases -- databases certdb, hostdb, hostnossldb, hostssldb, and hostsslcertdb need to be created +- databases `certdb`, `hostdb`, `hostnossldb`, `hostssldb`, and `hostsslcertdb` need to be created + +## 9 - Running the JDBC 2 test suite against PostgreSQL -9 Running the JDBC 2 test suite from Sun against PostgreSQL ------------------------------------------------------------- -Download the test suite from -http://java.sun.com/products/jdbc/jdbctestsuite-1_2_1.html +Download the [JDBC test suite](http://java.sun.com/products/jdbc/jdbctestsuite-1_2_1.html). This is the JDBC 2 test suite that includes J2EE requirements. 1. Configure PostgreSQL so that it accepts TCP/IP connections and @@ -270,11 +169,11 @@ This is the JDBC 2 test suite that includes J2EE requirements. the PostgreSQL JDBC jar to J2EE_CLASSPATH. Set the JAVA_HOME variable to where you installed the J2SE. You should end up with something like this: - + CTS_HOME=/home/liams/linux/java/jdbccts J2EE_CLASSPATH=/home/liams/work/inst/postgresql-7.1.2/share/java/postgresql.jar:$CTS_HOME/lib/harness.jar:$CTS_HOME/lib/moo.jar:$CTS_HOME/lib/util.jar export J2EE_CLASSPATH - + JAVA_HOME=/home/liams/linux/java/jdk1.3.1 export JAVA_HOME @@ -303,8 +202,8 @@ This is the JDBC 2 test suite that includes J2EE requirements. At the time of writing of this document, a great number of tests in this test suite fail. -10 Credits, feedback -------------------- +## 10 - Credits and Feedback + The parts of this document describing the PostgreSQL test suite were originally written by Rene Pijlman. Liam Stewart contributed the section on the Sun JDBC 2 test suite. @@ -312,8 +211,3 @@ the section on the Sun JDBC 2 test suite. Please send your questions about the JDBC test suites or suggestions for improvement to the pgsql-jdbc@postgresql.org mailing list. -The source of this document is maintained in -org/postgresql/test/README in CVS. Patches for -improvement can be send to the mailing list -pgsql-jdbc@postgresql.org. - From 33ac76d1108d295381b7685c1a17133bb7dd777d Mon Sep 17 00:00:00 2001 From: Mykola Nikishov Date: Mon, 10 Dec 2018 18:54:08 +0200 Subject: [PATCH 248/427] Fix link to Test Suite Howto (#1369) [1] 2a715a988bead78aeb0a341a37faf86b62df4975 Signed-off-by: Mykola Nikishov --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e71342c3f3..82287a7cd8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -365,7 +365,7 @@ Then, to test against old JDK, run `mvn test` in `pgjdbc-jre6` or `pgjdbc-jre7` An easy way to set up the test PostgreSQL database is to use [jackdb/pgjdbc-test-vm](https://github.com/jackdb/pgjdbc-test-vm). Follow the instructions on that project's [README](https://github.com/jackdb/pgjdbc-test-vm) page. For more information about the unit tests and how to run them, see - [org/postgresql/test/README](pgjdbc/src/test/java/org/postgresql/test/README.md) + [TESTING.md](TESTING.md) ## Support for IDEs From bac4bc1a2c876de82b6a583d144ae5d82bfd6bb0 Mon Sep 17 00:00:00 2001 From: Mykola Nikishov Date: Tue, 11 Dec 2018 12:21:57 +0200 Subject: [PATCH 249/427] refactor: remove unused method encode3to4 from Base64 (#1370) The method encode3to4(byte[], byte[], int) from Base64 has never been used since [1]. [1] 034c2c3fecd39cd1513914d577921913c9810aa6 Signed-off-by: Mykola Nikishov --- .../main/java/org/postgresql/util/Base64.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/Base64.java b/pgjdbc/src/main/java/org/postgresql/util/Base64.java index 9ad6a89d72..1df95c4908 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/Base64.java +++ b/pgjdbc/src/main/java/org/postgresql/util/Base64.java @@ -194,25 +194,6 @@ private Base64() { /* ******** E N C O D I N G M E T H O D S ******** */ - /** - * Encodes up to the first three bytes of array threeBytes and returns a four-byte - * array in Base64 notation. The actual number of significant bytes in your array is given by - * numSigBytes. The array threeBytes needs only be as big as - * numSigBytes. Code can reuse a byte array by passing a four-byte array as - * b4. - * - * @param b4 A reusable byte array to reduce array instantiation - * @param threeBytes the array to convert - * @param numSigBytes the number of significant bytes in your array - * @return four byte array in Base64 notation. - * @since 1.5.1 - */ - private static byte[] encode3to4(byte[] b4, byte[] threeBytes, int numSigBytes) { - encode3to4(threeBytes, 0, numSigBytes, b4, 0); - return b4; - } // end encode3to4 - - /** * Encodes up to three bytes of the array source and writes the resulting four Base64 * bytes to destination. The source and destination arrays can be manipulated anywhere From 9b45e709c20623ac1d4233bf1cc0369e8ddbe076 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Tue, 11 Dec 2018 11:04:18 -0500 Subject: [PATCH 250/427] refactor: Clean up loading of reading of keydata file in LazyKeyManager (#1372) --- .../org/postgresql/ssl/LazyKeyManager.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java index be4db4153b..e6a9124c20 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java @@ -9,7 +9,6 @@ import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; -import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; @@ -160,9 +159,19 @@ public String[] getClientAliases(String keyType, Principal[] issuers) { return (alias == null ? new String[]{} : new String[]{alias}); } + private static byte[] readFileFully(String path) throws IOException { + RandomAccessFile raf = new RandomAccessFile(path, "r"); + try { + byte[] ret = new byte[(int) raf.length()]; + raf.readFully(ret); + return ret; + } finally { + raf.close(); + } + } + @Override public PrivateKey getPrivateKey(String alias) { - RandomAccessFile raf = null; try { if (key == null && keyfile != null) { // If keyfile is null, we do not load the key @@ -173,8 +182,9 @@ public PrivateKey getPrivateKey(String alias) { } } + byte[] keydata; try { - raf = new RandomAccessFile(new File(keyfile), "r"); // NOSONAR + keydata = readFileFully(keyfile); } catch (FileNotFoundException ex) { if (!defaultfile) { // It is not an error if there is no file at the default location @@ -182,10 +192,6 @@ public PrivateKey getPrivateKey(String alias) { } return null; } - byte[] keydata = new byte[(int) raf.length()]; - raf.readFully(keydata); - raf.close(); - raf = null; KeyFactory kf = KeyFactory.getInstance(cert[0].getPublicKey().getAlgorithm()); try { @@ -241,13 +247,6 @@ public PrivateKey getPrivateKey(String alias) { } } } catch (IOException ioex) { - if (raf != null) { - try { - raf.close(); - } catch (IOException ex) { - } - } - error = new PSQLException(GT.tr("Could not read SSL key file {0}.", keyfile), PSQLState.CONNECTION_FAILURE, ioex); } catch (NoSuchAlgorithmException ex) { From 2a639fd6ef4b47559cd4c0c71fb9116640e88c94 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 14 Dec 2018 15:22:12 -0500 Subject: [PATCH 251/427] Update README.md --- certdir/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/certdir/README.md b/certdir/README.md index 52e5222b75..3445836530 100644 --- a/certdir/README.md +++ b/certdir/README.md @@ -36,9 +36,13 @@ openssl req -x509 -newkey rsa:1024 -days 3650 -nodes -keyout badroot.key -out ba rm badroot.key openssl pkcs8 -topk8 -in goodclient.key -out goodclient.pk8 -outform DER -v1 PBE-MD5-DES + openssl pkcs8 -topk8 -in badclient.key -out badclient.pk8 -outform DER -v1 PBE-MD5-DES + cp goodclient.crt server/root.crt cd server + openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out server.crt cp server.crt ../goodroot.crt + #Common name is localhost, no password From c0f6b9bdddaff5a3e489769528b09ef22e224706 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 14 Dec 2018 15:22:58 -0500 Subject: [PATCH 252/427] Fix formatting --- certdir/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/certdir/README.md b/certdir/README.md index 3445836530..59fd06e329 100644 --- a/certdir/README.md +++ b/certdir/README.md @@ -40,9 +40,11 @@ openssl pkcs8 -topk8 -in goodclient.key -out goodclient.pk8 -outform DER -v1 PBE openssl pkcs8 -topk8 -in badclient.key -out badclient.pk8 -outform DER -v1 PBE-MD5-DES cp goodclient.crt server/root.crt + cd server openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out server.crt + cp server.crt ../goodroot.crt #Common name is localhost, no password From 10945e34a4df2e51566c72fd64e0407c3f358477 Mon Sep 17 00:00:00 2001 From: Mark Nguyen Date: Sun, 16 Dec 2018 05:34:33 -0800 Subject: [PATCH 253/427] docs: Add DEM format details for `sslkey` (#1376) Add DEM format details and instructions on how to convert from PEM to DER format as discussed in issue #1364 --- docs/documentation/head/connect.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 8cbf2b05be..8e3e273cb4 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -124,7 +124,11 @@ Connection conn = DriverManager.getConnection(url); * **sslkey** = String - Provide the full path for the key file. Defaults to /defaultdir/postgresql.pk8 + Provide the full path for the key file. Defaults to /defaultdir/postgresql.pk8. + + *Note:* The key file **must** be in [DER format](https://wiki.openssl.org/index.php/DER). A PEM key can be converted to DER format using the openssl command: + + `openssl pkcs8 -topk8 -inform PEM -in my.key -outform DER -out my.key.der` * **sslrootcert** = String From 72dc692e1104a726385a9df10a4778f4e7e73020 Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Mon, 7 Jan 2019 21:45:19 +0800 Subject: [PATCH 254/427] Update waffle-jna to new artifact coordinates (#1383) * Update waffle-jna to new artifact coordinates * Make docs more explicit about how to use SSPI --- docs/documentation/head/connect.md | 5 +++++ pgjdbc/pom.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 8e3e273cb4..37e655d561 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -358,6 +358,11 @@ Connection conn = DriverManager.getConnection(url); On non-Windows platforms or where SSPI is unavailable, forcing sspi mode will fail with a PSQLException. + To use SSPI with PgJDBC you must ensure that + [the `waffle-jna` library](https://mvnrepository.com/artifact/com.github.waffle/waffle-jna/) + and its dependencies are present on the `CLASSPATH`. PgJDBC does *not* + bundle `waffle-jna` in the PgJDBC jar. + Since: 9.4 * **sspiServiceClass** = String diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 43c90e7dba..d5bcba287d 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -254,7 +254,7 @@ - com.github.dblock.waffle:waffle-jna + com.github.waffle:waffle-jna ** From a7f63bff0bbd552666d269251436dbb8e6b25d6a Mon Sep 17 00:00:00 2001 From: Marc Dean Date: Mon, 7 Jan 2019 09:19:29 -0500 Subject: [PATCH 255/427] Add DEADLOCK_DETECTED Enumeration (#1380) This commit includes an additional value to represent the PostgreSQL error code for the condition "deadlock_detected". - Include enum value for DEADLOCK_DETECTED PSQLState - Set value to "40P01" per documentation located at: https://www.postgresql.org/docs/current/errcodes-appendix.html --- pgjdbc/src/main/java/org/postgresql/util/PSQLState.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index e72dd63f8a..fb67a4fff4 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -73,6 +73,7 @@ public enum PSQLState { INVALID_SAVEPOINT_SPECIFICATION("3B000"), + DEADLOCK_DETECTED("40P01"), SYNTAX_ERROR("42601"), UNDEFINED_COLUMN("42703"), UNDEFINED_OBJECT("42704"), From ebada4afb25864bc2d8ba900b433a849c69decf8 Mon Sep 17 00:00:00 2001 From: Kevin Wooten Date: Wed, 16 Jan 2019 06:58:58 -0700 Subject: [PATCH 256/427] Fixes `LocalDateTime` handling of BC dates (#1388) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The assertion in `SetObject310Test.testSetLocalDateTimeBc` is > // -1997-06-30T23:59:59.999999 -> 1997-06-30 23:59:59.999999 BC This is incorrect. It is actually `-1996 == 1997 BC` because there is no year zero in AD/BC. I used a `DateTimeFormatter` in the test to prove my case. This “fix” for this method is to fix `TimeStampUtils.appendDate` and stop using the proleptic year (aka `YEAR`) and start using the year of the era (aka `YEAR_OF_ERA`). --- .../org/postgresql/jdbc/TimestampUtils.java | 2 +- .../test/jdbc42/SetObject310Test.java | 27 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 21bd627972..13530404d4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -836,7 +836,7 @@ public synchronized String toString(LocalDateTime localDateTime) { } private static void appendDate(StringBuilder sb, LocalDate localDate) { - int year = Math.abs(localDate.getYear()); // year is negative for BC dates + int year = localDate.get(ChronoField.YEAR_OF_ERA); int month = localDate.getMonthValue(); int day = localDate.getDayOfMonth(); appendDate(sb, year, month, day); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java index 0f3ff14a7d..18c8aa4bfd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java @@ -29,8 +29,12 @@ import java.time.OffsetDateTime; import java.time.ZoneId; import java.time.ZoneOffset; +import java.time.chrono.IsoChronology; import java.time.chrono.IsoEra; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; +import java.time.format.ResolverStyle; +import java.time.format.SignStyle; import java.time.temporal.ChronoField; import java.util.ArrayList; import java.util.Arrays; @@ -40,6 +44,26 @@ public class SetObject310Test { private static final TimeZone saveTZ = TimeZone.getDefault(); + public static final DateTimeFormatter LOCAL_TIME_FORMATTER = + new DateTimeFormatterBuilder() + .parseCaseInsensitive() + .appendValue(ChronoField.YEAR_OF_ERA, 4, 10, SignStyle.EXCEEDS_PAD) + .appendLiteral('-') + .appendValue(ChronoField.MONTH_OF_YEAR, 2) + .appendLiteral('-') + .appendValue(ChronoField.DAY_OF_MONTH, 2) + .appendLiteral(' ') + .append(DateTimeFormatter.ISO_LOCAL_TIME) + .optionalStart() + .appendOffset("+HH:mm", "+00") + .optionalEnd() + .optionalStart() + .appendLiteral(' ') + .appendPattern("GG") + .toFormatter() + .withResolverStyle(ResolverStyle.LENIENT) + .withChronology(IsoChronology.INSTANCE); + private Connection con; @Before @@ -313,8 +337,7 @@ public void testSetLocalDateTimeBc() throws SQLException { bcDates.add(LocalDateTime.parse("0997-06-30T23:59:59.999999").with(ChronoField.ERA, IsoEra.BCE.getValue())); for (LocalDateTime bcDate : bcDates) { - // -1997-06-30T23:59:59.999999 -> 1997-06-30 23:59:59.999999 BC - String expected = bcDate.toString().substring(1).replace('T', ' ') + " BC"; + String expected = LOCAL_TIME_FORMATTER.format(bcDate); localTimestamps(ZoneOffset.UTC, bcDate, expected); } } From ef14ceae7598ad854b7af79ec2c1244662ed3fce Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 20 Jan 2019 23:06:10 +0300 Subject: [PATCH 257/427] test: avoid locale-dependent output in SetObject310Test This is a fixup to #1388 --- .../test/java/org/postgresql/test/jdbc42/SetObject310Test.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java index 18c8aa4bfd..677e82efad 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java @@ -39,6 +39,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Locale; import java.util.TimeZone; public class SetObject310Test { @@ -60,7 +61,7 @@ public class SetObject310Test { .optionalStart() .appendLiteral(' ') .appendPattern("GG") - .toFormatter() + .toFormatter(Locale.ROOT) .withResolverStyle(ResolverStyle.LENIENT) .withChronology(IsoChronology.INSTANCE); From 2341623b43bf2c9b1b24f41e7ec2eb37acaa6a62 Mon Sep 17 00:00:00 2001 From: Harry Chan <38070640+hc-codersatlas@users.noreply.github.com> Date: Tue, 29 Jan 2019 22:40:26 +1100 Subject: [PATCH 258/427] Optimize toArray (#1395) (#1396) * Optimize toArray (#1395) replace toArray(new T[size]) with toArray(new T[0]) for better performance * Optimize toArray (#1395) replace toArray(new T[size]) with toArray(new T[0]) for better performance https://shipilev.net/blog/2016/arrays-wisdom-ancients/#_conclusion (also contains benchmarks). --- .../src/main/java/org/postgresql/core/QueryExecutorBase.java | 2 +- .../src/main/java/org/postgresql/ds/PGPooledConnection.java | 4 ++-- pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java | 2 +- pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 6825eae038..8fe0bbb803 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -201,7 +201,7 @@ public synchronized void addNotification(PGNotification notification) { @Override public synchronized PGNotification[] getNotifications() throws SQLException { - PGNotification[] array = notifications.toArray(new PGNotification[notifications.size()]); + PGNotification[] array = notifications.toArray(new PGNotification[0]); notifications.clear(); return array; } diff --git a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java index 97ad127791..cef89f335e 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/PGPooledConnection.java @@ -163,7 +163,7 @@ void fireConnectionClosed() { ConnectionEvent evt = null; // Copy the listener list so the listener can remove itself during this method call ConnectionEventListener[] local = - listeners.toArray(new ConnectionEventListener[listeners.size()]); + listeners.toArray(new ConnectionEventListener[0]); for (ConnectionEventListener listener : local) { if (evt == null) { evt = createConnectionEvent(null); @@ -179,7 +179,7 @@ void fireConnectionFatalError(SQLException e) { ConnectionEvent evt = null; // Copy the listener list so the listener can remove itself during this method call ConnectionEventListener[] local = - listeners.toArray(new ConnectionEventListener[listeners.size()]); + listeners.toArray(new ConnectionEventListener[0]); for (ConnectionEventListener listener : local) { if (evt == null) { evt = createConnectionEvent(e); diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java index e6a9124c20..4bb874c45a 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LazyKeyManager.java @@ -148,7 +148,7 @@ public X509Certificate[] getCertificateChain(String alias) { certfile), PSQLState.CONNECTION_FAILURE, gsex); return null; } - cert = certs.toArray(new X509Certificate[certs.size()]); + cert = certs.toArray(new X509Certificate[0]); } return cert; } diff --git a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java index 7d998b08dc..b23fbf2365 100644 --- a/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java @@ -408,7 +408,7 @@ public Xid[] recover(int flag) throws XAException { } rs.close(); - return l.toArray(new Xid[l.size()]); + return l.toArray(new Xid[0]); } finally { stmt.close(); } From 6b13f7b7af95bd86b0763f8e73395e4d7eebc410 Mon Sep 17 00:00:00 2001 From: jajalvipul Date: Mon, 4 Feb 2019 23:15:58 +1100 Subject: [PATCH 259/427] Added break statement to avoid the additional iterations in for loop (#1406) This has resulted in avoiding the hang issue identified in issue # 1403 --- .../src/test/java/org/postgresql/test/jdbc2/StatementTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index bdbf2d5dce..fa4f0579cb 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -882,6 +882,7 @@ public Void call() throws Exception { e.getSQLState() ); cancels++; + break; } finally { TestUtil.closeQuietly(st); } From 65f7ea6f93f30f3e9d9d3faeca8e0e3b0a055195 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 4 Feb 2019 08:40:31 -0500 Subject: [PATCH 260/427] Update README.md (#1404) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a854963ea3..01b14f1e63 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ PostgreSQL JDBC Driver (PgJDBC for short) allows Java programs to connect to a PostgreSQL database using standard, database independent Java code. Is an open source JDBC driver written in Pure Java (Type 4), and communicates in the PostgreSQL native network protocol. ### Status +[![Build status](https://ci.appveyor.com/api/projects/status/d8ucmegnmourohwu/branch/master?svg=true)](https://ci.appveyor.com/project/davecramer/pgjdbc/branch/master) [![Build Status](https://travis-ci.org/pgjdbc/pgjdbc.svg?branch=master)](https://travis-ci.org/pgjdbc/pgjdbc) [![codecov.io](http://codecov.io/github/pgjdbc/pgjdbc/coverage.svg?branch=master)](http://codecov.io/github/pgjdbc/pgjdbc?branch=master) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.postgresql/postgresql/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.postgresql/postgresql) From 5965f3996b285992df2e13e0260858537b31c3d6 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 5 Feb 2019 10:23:47 -0500 Subject: [PATCH 261/427] add matrix including master to test (#1408) * add matrix of postgresql versions to test --- appveyor.yml | 62 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index fc6bb51f33..1c8cae69c2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,28 +1,62 @@ # appveyor.yml +image: Visual Studio 2015 +configuration: Release + +clone_depth: 1 +environment: + PGUSER: postgres + PGPASSWORD: Password12! + matrix: + - pg: 9.4.19-1 + PlatformToolset: v120 + - pg: 9.5.15-1 + PlatformToolset: v120 + - pg: 9.6.11-1 + PlatformToolset: v120 + - pg: 10.6-1 + PlatformToolset: v120 +matrix: + allow_failures: + - pg: master + exclude: + - platform: x86 + pg: 11.1-1 + PlatformToolset: v140 + - platform: x86 + pg: master + init: +- set pf=%ProgramFiles%&& set x64=-x64 +- set exe=postgresql-%pg%-windows%x64%.exe - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) -- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_level=logical" -- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "max_wal_senders=3" -- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_keep_segments=10" -- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "wal_sender_timeout=5s" -- ps: Add-Content "c:\program files\postgresql\9.6\data\postgresql.conf" "max_replication_slots=10" -- ps: Add-Content "c:\program files\postgresql\9.6\data\pg_hba.conf" "host replication all 127.0.0.1/32 trust" branches: except: - /^tmp\/.*/ - /^REL.*/ -services: - - postgresql96 +install: +- for /f "tokens=1 delims=-" %%A in ("%pg%") do set pgversion=%%~nA +- echo pgversion=%pgversion% +- echo pf=%pf% +- set pgroot=%pf%\PostgreSQL\%pgversion% +- echo %pgroot% +- echo service=postgresql%x64%-%pgversion% before_build: - - SET PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH% - - SET PGUSER=postgres - - SET PGPASSWORD=Password12! - - createuser -U postgres test - - psql -U postgres -c "alter user test with password 'test'" postgres - - createdb -U postgres -O test test +- ps: Add-Content -PATH "$env:pgroot\data\postgresql.conf" "wal_level=logical" +- ps: Add-Content -PATH "$env:pgroot\data\postgresql.conf" "max_wal_senders=3" +- ps: Add-Content -PATH "$env:pgroot\data\postgresql.conf" "wal_keep_segments=10" +- ps: Add-Content -PATH "$env:pgroot\data\postgresql.conf" "wal_sender_timeout=5s" +- ps: Add-Content -PATH "$env:pgroot\data\postgresql.conf" "max_replication_slots=10" +- ps: Add-Content -PATH "$env:pgroot\data\pg_hba.conf" "host replication all 127.0.0.1/32 trust" +- net start postgresql%x64%-%pgversion% +- path %pgroot%\bin;%PATH% +- SET PGUSER=postgres +- SET PGPASSWORD=Password12! +- createuser -U postgres test +- psql -U postgres -c "alter user test with password 'test'" postgres +- createdb -U postgres -O test test build_script: - mvn clean package -DskipTests From 61cc2756bac7eb809c62ebbd9ed5537589bed08d Mon Sep 17 00:00:00 2001 From: AlexElin Date: Sun, 17 Feb 2019 19:22:58 +0300 Subject: [PATCH 262/427] chore: add .editorconfig (#1410) add .editorconfig with configuration for java files --- pgjdbc/.editorconfig | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 pgjdbc/.editorconfig diff --git a/pgjdbc/.editorconfig b/pgjdbc/.editorconfig new file mode 100644 index 0000000000..52bb67541d --- /dev/null +++ b/pgjdbc/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +insert_final_newline = true + +[*.java] +indent_style = space +indent_size = 2 +charset = utf-8 +end_of_line = lf +trim_trailing_whitespace = true From 6b124a054074e3aa85787314390b633adfe073ca Mon Sep 17 00:00:00 2001 From: AlexElin Date: Sun, 17 Feb 2019 19:23:19 +0300 Subject: [PATCH 263/427] style: enable checkstyle modules for name checking (#1411) enable MemberName, ParameterName, TypeName and LocalVariableName checkstyle modules --- pgjdbc/src/main/checkstyle/checks.xml | 27 +-- .../src/main/java/org/postgresql/Driver.java | 36 +-- .../main/java/org/postgresql/PGProperty.java | 46 ++-- .../org/postgresql/core/BaseStatement.java | 4 +- .../org/postgresql/core/Notification.java | 27 ++- .../org/postgresql/core/PGBindException.java | 6 +- .../java/org/postgresql/core/PGStream.java | 114 ++++----- .../main/java/org/postgresql/core/Parser.java | 100 ++++---- .../core/v3/ConnectionFactoryImpl.java | 12 +- .../postgresql/core/v3/QueryExecutorImpl.java | 24 +- .../java/org/postgresql/gss/GssAction.java | 13 +- .../org/postgresql/jdbc/PSQLSavepoint.java | 44 ++-- .../org/postgresql/jdbc/PgConnection.java | 30 +-- .../postgresql/jdbc/PgDatabaseMetaData.java | 16 +- .../postgresql/jdbc/PgParameterMetaData.java | 27 ++- .../postgresql/jdbc/PgPreparedStatement.java | 60 +++-- .../java/org/postgresql/jdbc/PgResultSet.java | 229 ++++++++++-------- .../postgresql/jdbc/PgResultSetMetaData.java | 9 +- .../java/org/postgresql/jdbc/PgSQLXML.java | 133 +++++----- .../java/org/postgresql/jdbc/PgStatement.java | 46 ++-- .../org/postgresql/jdbc/TimestampUtils.java | 8 +- .../org/postgresql/jdbc/TypeInfoCache.java | 212 ++++++++-------- .../postgresql/osgi/PGBundleActivator.java | 10 +- .../ssl/DbKeyStoreSocketFactory.java | 4 +- .../postgresql/ssl/DefaultJavaSSLFactory.java | 2 +- .../java/org/postgresql/ssl/LibPQFactory.java | 2 +- .../postgresql/ssl/NonValidatingFactory.java | 2 +- .../ssl/PGjdbcHostnameVerifier.java | 6 +- .../ssl/SingleCertValidatingFactory.java | 2 +- .../org/postgresql/ssl/WrappedFactory.java | 16 +- .../main/java/org/postgresql/util/Base64.java | 8 +- .../src/main/java/org/postgresql/util/GT.java | 12 +- .../java/org/postgresql/util/MD5Digest.java | 24 +- .../java/org/postgresql/util/PGbytea.java | 36 +-- .../org/postgresql/util/PSQLException.java | 6 +- .../postgresql/util/ServerErrorMessage.java | 132 +++++----- .../org/postgresql/util/StreamWrapper.java | 16 +- ...rtRewriteWithAlternatingTypesIssue584.java | 4 +- .../test/jdbc2/DatabaseMetaDataTest.java | 6 +- .../test/jdbc2/SearchPathLookupTest.java | 12 +- .../org/postgresql/test/jdbc2/TestACL.java | 4 +- .../postgresql/test/jdbc2/TimestampTest.java | 108 ++++----- .../postgresql/test/jdbc2/TimezoneTest.java | 18 +- .../postgresql/test/jdbc3/CompositeTest.java | 60 ++--- .../test/jdbc3/DatabaseMetaDataTest.java | 12 +- .../postgresql/test/jdbc3/Jdbc3BlobTest.java | 38 +-- .../test/jdbc3/Jdbc3SavepointTest.java | 78 +++--- .../postgresql/test/jdbc3/ResultSetTest.java | 16 +- .../test/jdbc3/SendRecvBufferSizeTest.java | 12 +- .../org/postgresql/test/jdbc3/TypesTest.java | 16 +- .../org/postgresql/test/jdbc4/ArrayTest.java | 126 +++++----- .../test/jdbc4/BinaryStreamTest.java | 12 +- .../org/postgresql/test/jdbc4/BlobTest.java | 30 +-- .../test/jdbc4/DatabaseMetaDataTest.java | 32 +-- .../test/jdbc4/PGCopyInputStreamTest.java | 20 +- .../postgresql/test/jdbc4/WrapperTest.java | 36 +-- .../org/postgresql/test/jdbc4/XmlTest.java | 14 +- .../jdbc4/jdbc41/CloseOnCompletionTest.java | 18 +- .../test/jdbc4/jdbc41/GetObjectTest.java | 114 ++++----- .../test/jdbc4/jdbc41/NetworkTimeoutTest.java | 30 +-- .../test/jdbc4/jdbc41/SchemaTest.java | 70 +++--- .../test/osgi/PGDataSourceFactoryTest.java | 20 +- .../socketfactory/SocketFactoryTestSuite.java | 6 +- .../test/util/BrokenInputStream.java | 19 +- .../postgresql/test/xa/XADataSourceTest.java | 36 +-- 65 files changed, 1261 insertions(+), 1207 deletions(-) diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index ae846b03c3..624bf23a7c 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -115,33 +115,18 @@ value="Package name ''{0}'' must match pattern ''{1}''."/> - - - - - - + + +**Commits by author** + +Adam Brusselback (1): + +* Add method alias's for each property which didn't use the conventiona… [PR 1436](https://github.com/pgjdbc/pgjdbc/pull/1436) [0efcf81c](https://github.com/pgjdbc/pgjdbc/commit/0efcf81c62ff8397c363c3d07d4d72e725e63772) + +AlexElin (6): + +* chore: add .editorconfig [PR 1410](https://github.com/pgjdbc/pgjdbc/pull/1410) [61cc2756](https://github.com/pgjdbc/pgjdbc/commit/61cc2756bac7eb809c62ebbd9ed5537589bed08d) +* style: enable checkstyle modules for name checking [PR 1411](https://github.com/pgjdbc/pgjdbc/pull/1411) [6b124a05](https://github.com/pgjdbc/pgjdbc/commit/6b124a054074e3aa85787314390b633adfe073ca) +* test: add tests for Driver and PgConnection [PR 1402](https://github.com/pgjdbc/pgjdbc/pull/1402) [7b52b0c9](https://github.com/pgjdbc/pgjdbc/commit/7b52b0c9e5b9aa9a9c655bb68f23bf4ec57fd51c) +* chore: add EmptyStatement checkstyle rule [PR 1400](https://github.com/pgjdbc/pgjdbc/pull/1400) [4cd3f05a](https://github.com/pgjdbc/pgjdbc/commit/4cd3f05a4697ff61ff01d80828888bfbe086e8c5) +* chore: add StaticVariableName checkstyle rule [PR 1414](https://github.com/pgjdbc/pgjdbc/pull/1414) [ddb38e57](https://github.com/pgjdbc/pgjdbc/commit/ddb38e572690f9366ba392a63f1a73711821ae1d) +* chore: enable AtclauseOrder checkstyle rule [PR 1417](https://github.com/pgjdbc/pgjdbc/pull/1417) [7ae1e833](https://github.com/pgjdbc/pgjdbc/commit/7ae1e833cda9966c79fc84ebe633f8492b3e5f3d) + +Andrew Guibert (1): + +* Fix inconsistent javadoc for setDefaultAutoCommit [PR 1472](https://github.com/pgjdbc/pgjdbc/pull/1472) [fac5e09c](https://github.com/pgjdbc/pgjdbc/commit/fac5e09c3851537c25254d0c635c6e2f02943ca3) + +Craig Ringer (2): + +* fix: NPE in PGXAConnection$ConnectionHandler.invoke() of .equals(null) [PR 1365](https://github.com/pgjdbc/pgjdbc/pull/1365) [cea5231b](https://github.com/pgjdbc/pgjdbc/commit/cea5231ba794c362cbd5285b299ba3f82ad29e73) +* Update waffle-jna to new artifact coordinates [PR 1383](https://github.com/pgjdbc/pgjdbc/pull/1383) [72dc692e](https://github.com/pgjdbc/pgjdbc/commit/72dc692e1104a726385a9df10a4778f4e7e73020) + +Dave Cramer (31): + +* docs: update README.md for SSL tests [1fff6043](https://github.com/pgjdbc/pgjdbc/commit/1fff60434ba703b91a9ff47ccfc812a06262aff2) +* Update mailinglist.html [556c93d3](https://github.com/pgjdbc/pgjdbc/commit/556c93d35cc7f27abf2a98f087a85a76e7363c55) +* chore: add jdk11 and jdk12-ea tests to travis [b53eedf6](https://github.com/pgjdbc/pgjdbc/commit/b53eedf672c00be6d340b2eb776e6c6e3c586384) +* fix: autosave being overwritten in BaseDataSource by setUrl [PR 1309](https://github.com/pgjdbc/pgjdbc/pull/1309) [10201f61](https://github.com/pgjdbc/pgjdbc/commit/10201f61727868bd6f64ce3ab6c197a11bee78f4) +* perf: ignore tables for PgDatabaseMetaData.getTypeInfo [PR 1302](https://github.com/pgjdbc/pgjdbc/pull/1302) [e44e4e89](https://github.com/pgjdbc/pgjdbc/commit/e44e4e8972ec41bf05dddd4ac6dcfbc42a9842cf) +* Update issue_template.md [f3ade07d](https://github.com/pgjdbc/pgjdbc/commit/f3ade07d7758f134fd137db3ebab544f2211e290) +* Remove tests that use oids fixes [PR 1347](https://github.com/pgjdbc/pgjdbc/pull/1347) (#1348) [da4d6577](https://github.com/pgjdbc/pgjdbc/commit/da4d6577f4c0acaadb703b40d267395bb45418f8) +* Fix setURL in BaseDataSource [PR 1341](https://github.com/pgjdbc/pgjdbc/pull/1341) [2ad1ac3f](https://github.com/pgjdbc/pgjdbc/commit/2ad1ac3fc0e07edce957aaed51167240a970b1f1) +* Add support for version 11 and version 12 [PR 1332](https://github.com/pgjdbc/pgjdbc/pull/1332) [7f0e200a](https://github.com/pgjdbc/pgjdbc/commit/7f0e200affbf4b6504bfafccaf6cfcdbe3b0219e) +* fix missing metadata columns, and misspelled columns [PR 1323](https://github.com/pgjdbc/pgjdbc/pull/1323) [0ed0e8f2](https://github.com/pgjdbc/pgjdbc/commit/0ed0e8f2dcd0ae4bbb5caee27b7057cef182c146) +* fix: Incorrect return value for bytes [128-255] in stream.read [PR 1349](https://github.com/pgjdbc/pgjdbc/pull/1349) [325e63b4](https://github.com/pgjdbc/pgjdbc/commit/325e63b4c8b7f0c923e8cb9b73795672f21c1fe5) +* fix: as of v12 recovery.conf is no longer used for standby recovery. … [PR 1355](https://github.com/pgjdbc/pgjdbc/pull/1355) [c4656b32](https://github.com/pgjdbc/pgjdbc/commit/c4656b323f0dc3090926c0f14cd219461e534576) +* Update pull_request_template.md [PR 1367](https://github.com/pgjdbc/pgjdbc/pull/1367) [be23262b](https://github.com/pgjdbc/pgjdbc/commit/be23262b14378dd2282161733fdc2d345a8b8629) +* Update README.md [2a639fd6](https://github.com/pgjdbc/pgjdbc/commit/2a639fd6ef4b47559cd4c0c71fb9116640e88c94) +* Fix formatting [c0f6b9bd](https://github.com/pgjdbc/pgjdbc/commit/c0f6b9bdddaff5a3e489769528b09ef22e224706) +* Update README.md [PR 1404](https://github.com/pgjdbc/pgjdbc/pull/1404) [65f7ea6f](https://github.com/pgjdbc/pgjdbc/commit/65f7ea6f93f30f3e9d9d3faeca8e0e3b0a055195) +* add matrix including master to test [PR 1408](https://github.com/pgjdbc/pgjdbc/pull/1408) [5965f399](https://github.com/pgjdbc/pgjdbc/commit/5965f3996b285992df2e13e0260858537b31c3d6) +* Fix:save points causing server to run out of resources [PR 1409](https://github.com/pgjdbc/pgjdbc/pull/1409) [af8f8836](https://github.com/pgjdbc/pgjdbc/commit/af8f8836d004d7227017774dff895c1ee706c03d) +* use postgres column type name in error message [PR 1422](https://github.com/pgjdbc/pgjdbc/pull/1422) [fe7eda3d](https://github.com/pgjdbc/pgjdbc/commit/fe7eda3d2e56d70b83294b7534d6386501599c37) +* fix:Test Case HostSpecTest , tests testShouldResolveWithEmptySocksProxyHost and testShouldResolveWithWhiteSpaceSocksProxyHost [PR 1424](https://github.com/pgjdbc/pgjdbc/pull/1424) [0c5cf475](https://github.com/pgjdbc/pgjdbc/commit/0c5cf475d35fb73d921eac922089cf4406e48c9d) +* Update checkstyle to 8.18 [PR 1447](https://github.com/pgjdbc/pgjdbc/pull/1447) [ed5f750b](https://github.com/pgjdbc/pgjdbc/commit/ed5f750beb387a8846e5aa79a775e2d49b48b3c4) +* fix javadoc for defaultAutoCommit to default to true [PR 1465](https://github.com/pgjdbc/pgjdbc/pull/1465) [0a4f078e](https://github.com/pgjdbc/pgjdbc/commit/0a4f078e2f10e5b3dfec115eaeb6220c57bbee3b) +* autocommit true turns *on* autocommit by default [31bc6e59](https://github.com/pgjdbc/pgjdbc/commit/31bc6e59b090c1d1c1904ca0cda09db2c1afb302) +* remove reference to unknown google group [PR 1429](https://github.com/pgjdbc/pgjdbc/pull/1429) [129960ea](https://github.com/pgjdbc/pgjdbc/commit/129960eaa2916a0177cfb8eec503aacc68d8460f) +* Update backend_protocol_v4_wanted_features.md [95ba7b26](https://github.com/pgjdbc/pgjdbc/commit/95ba7b261e39754674c5817695ae5ebf9a341fae) +* some fixbugs cleanup [PR 1486](https://github.com/pgjdbc/pgjdbc/pull/1486) [8bd9062f](https://github.com/pgjdbc/pgjdbc/commit/8bd9062f1c3dd1c80d096ff8db738dce010f8b46) +* change IS_GENERATED to IS_GENERATEDCOLUMN as per spec [PR 1485](https://github.com/pgjdbc/pgjdbc/pull/1485) [17c4bcfb](https://github.com/pgjdbc/pgjdbc/commit/17c4bcfb59e846c593093752f2e30dd97bb4b338) +* undo part of fixbugs pull request that set returned NULL mistakenly [PR 1489](https://github.com/pgjdbc/pgjdbc/pull/1489) [27b8fcae](https://github.com/pgjdbc/pgjdbc/commit/27b8fcae7aab6bf777ef5c019df31d34db00d69b) +* fix: Error messages cannot be formatted [PR 1492](https://github.com/pgjdbc/pgjdbc/pull/1492) [12ef697a](https://github.com/pgjdbc/pgjdbc/commit/12ef697a3d34b616716ea9c2c8cb4c9447e2c4c3) +* fix [PR 1499](https://github.com/pgjdbc/pgjdbc/pull/1499) rounding for timestamps truncated to dates before 1970 (#1502) [c9a70782](https://github.com/pgjdbc/pgjdbc/commit/c9a70782b3818609ca29e19d1a4aa0af89d96382) +* Fix maven coordinates [PR 1479](https://github.com/pgjdbc/pgjdbc/pull/1479) [45ce14fd](https://github.com/pgjdbc/pgjdbc/commit/45ce14fd170d3b50aed5bbe5e3d25bbd0a3e80a5) + +Dmitriy Tseyler (1): + +* fix: return Double.NaN for 'NaN'::numeric [PR 1304](https://github.com/pgjdbc/pgjdbc/pull/1304) [265f22b2](https://github.com/pgjdbc/pgjdbc/commit/265f22b28fd7b5511e30a28ad959d5645e9722cd) + +Doug Mayer (1): + +* Add core type delimiters into cache for array type OIDs. [PR 1416](https://github.com/pgjdbc/pgjdbc/pull/1416) [6a0960a6](https://github.com/pgjdbc/pgjdbc/commit/6a0960a66981a03577221e2d742865526cb2325d) + +Harry Chan (1): + +* Optimize toArray [PR 1395](https://github.com/pgjdbc/pgjdbc/pull/1395) (#1396) [2341623b](https://github.com/pgjdbc/pgjdbc/commit/2341623b43bf2c9b1b24f41e7ec2eb37acaa6a62) + +Ivan Leskin (1): + +* Support custom 'options' connection property [PR 1356](https://github.com/pgjdbc/pgjdbc/pull/1356) [7be21fc3](https://github.com/pgjdbc/pgjdbc/commit/7be21fc307fa28781d26a6f3752564236e3f9203) + +Jorge Solorzano (2): + +* feat: return info on create slot of replication [PR 1335](https://github.com/pgjdbc/pgjdbc/pull/1335) [84e8d90b](https://github.com/pgjdbc/pgjdbc/commit/84e8d90b4bbeecbdccbe7ec4d165cfaf3ef30bf4) +* test: fix misspelled secondaryPort2 build property [PR 1284](https://github.com/pgjdbc/pgjdbc/pull/1284) [2c0f692b](https://github.com/pgjdbc/pgjdbc/commit/2c0f692bf6240465410ea2f6fde729554309f46c) + +Kamal Kumlien (1): + +* docs: cosmetic fixes on sample settings [PR 1379](https://github.com/pgjdbc/pgjdbc/pull/1379) [d0453b75](https://github.com/pgjdbc/pgjdbc/commit/d0453b7582975438eb889082cffcfd8ebe6e3e4d) + +Kevin Wooten (1): + +* Fixes `LocalDateTime` handling of BC dates [PR 1388](https://github.com/pgjdbc/pgjdbc/pull/1388) [ebada4af](https://github.com/pgjdbc/pgjdbc/commit/ebada4afb25864bc2d8ba900b433a849c69decf8) + +Krzysztof Szafrański (1): + +* Fix logging level [PR 1446](https://github.com/pgjdbc/pgjdbc/pull/1446) [f8c112cb](https://github.com/pgjdbc/pgjdbc/commit/f8c112cbeea4f1ceb893678407aa0149a08a8f28) + +Marc Dean (1): + +* Add DEADLOCK_DETECTED Enumeration [PR 1380](https://github.com/pgjdbc/pgjdbc/pull/1380) [a7f63bff](https://github.com/pgjdbc/pgjdbc/commit/a7f63bff0bbd552666d269251436dbb8e6b25d6a) + +Mark Nguyen (1): + +* docs: Add DEM format details for `sslkey` [PR 1376](https://github.com/pgjdbc/pgjdbc/pull/1376) [10945e34](https://github.com/pgjdbc/pgjdbc/commit/10945e34a4df2e51566c72fd64e0407c3f358477) + +Mykola Nikishov (2): + +* Fix link to Test Suite Howto [PR 1369](https://github.com/pgjdbc/pgjdbc/pull/1369) [33ac76d1](https://github.com/pgjdbc/pgjdbc/commit/33ac76d1108d295381b7685c1a17133bb7dd777d) +* refactor: remove unused method encode3to4 from Base64 [PR 1370](https://github.com/pgjdbc/pgjdbc/pull/1370) [bac4bc1a](https://github.com/pgjdbc/pgjdbc/commit/bac4bc1a2c876de82b6a583d144ae5d82bfd6bb0) + +Nikolai Ivanov (1): + +* fix: improper relative cursor movement [PR 1462](https://github.com/pgjdbc/pgjdbc/pull/1462) [b6ab27c1](https://github.com/pgjdbc/pgjdbc/commit/b6ab27c170ebeb88728f33207924d664ce7f7d77) + +Philip Sanetra (1): + +* feat: Extend ReplicationCreateSlotBuilder DSL to support temporary replications slots [PR 1306](https://github.com/pgjdbc/pgjdbc/pull/1306) [d514ceb5](https://github.com/pgjdbc/pgjdbc/commit/d514ceb502e7024cb302862880a8403bcd315ba3) + +Sehrope Sarkuni (4): + +* Fix TestUtil.dropXyz(...) object not exists errors [PR 1359](https://github.com/pgjdbc/pgjdbc/pull/1359) [0999bb78](https://github.com/pgjdbc/pgjdbc/commit/0999bb78ecb0a305f830d8b76ae24f6e64444ec8) +* refactor: Clean up loading of reading of keydata file in LazyKeyManager [PR 1372](https://github.com/pgjdbc/pgjdbc/pull/1372) [9b45e709](https://github.com/pgjdbc/pgjdbc/commit/9b45e709c20623ac1d4233bf1cc0369e8ddbe076) +* Fix metadata test to use explicit PK/FK names [PR 1442](https://github.com/pgjdbc/pgjdbc/pull/1442) [42d6bfa5](https://github.com/pgjdbc/pgjdbc/commit/42d6bfa51929a333c3d2d8c098997a9f01514eac) +* Cleanup encoding [PR 1441](https://github.com/pgjdbc/pgjdbc/pull/1441) [73ec8173](https://github.com/pgjdbc/pgjdbc/commit/73ec817311857756164b1933ce2dfa8127f8dffd) + +Sualeh Fatehi (2): + +* Fix: getFunctionColumns used to return ProcedureColumns, now returns function columns [b8a86807](https://github.com/pgjdbc/pgjdbc/commit/b8a86807f93b76ff92e6ff2ffacd6fdc44457b21) +* Update testing documents, and point to jackdb/pgjdbc-test-vm [PR 1363](https://github.com/pgjdbc/pgjdbc/pull/1363) [2a715a98](https://github.com/pgjdbc/pgjdbc/commit/2a715a988bead78aeb0a341a37faf86b62df4975) + +Tyson Andre (1): + +* docs: Fix typos in docs detected by codespell [PR 1361](https://github.com/pgjdbc/pgjdbc/pull/1361) [5b0c05fb](https://github.com/pgjdbc/pgjdbc/commit/5b0c05fb608619ec91afb5e2d2223c3fe1df207d) + +Vladimir Sitnikov (9): + +* docs: reflect 42.2.5 release in readme.md [d43398a5](https://github.com/pgjdbc/pgjdbc/commit/d43398a5d4c173da40e8f283f9e5fe20a971de5c) +* perf: fix 1ms per async CopyAPI (regression since 42.2.5) [PR 1314](https://github.com/pgjdbc/pgjdbc/pull/1314) [e2623d63](https://github.com/pgjdbc/pgjdbc/commit/e2623d63d4b6fad0b12fb9ace842475e4a9134dc) +* chore: use openjdk7 to boostrap Travis CI images for JDK 6 [PR 1366](https://github.com/pgjdbc/pgjdbc/pull/1366) [cdfd49cf](https://github.com/pgjdbc/pgjdbc/commit/cdfd49cf8040c75d315fb41f7c94ab4f9878a060) +* test: avoid locale-dependent output in SetObject310Test [ef14ceae](https://github.com/pgjdbc/pgjdbc/commit/ef14ceae7598ad854b7af79ec2c1244662ed3fce) +* fix: date rounding errors for dates before 1970 [b5653899](https://github.com/pgjdbc/pgjdbc/commit/b565389920f78702625ee263473bd9b3ec97f764) +* docs: update translation files [9fcaa98e](https://github.com/pgjdbc/pgjdbc/commit/9fcaa98ec1f0018f3877fd2e15ea2c13e60bbd35) +* fix: temporary make LibPQFactory.ConsoleCallbackHandler public [95d8da60](https://github.com/pgjdbc/pgjdbc/commit/95d8da6035b9bcfa622346261e591864111c041b) +* Update pgjdbc-parent-poms to 1.1.6 to use updated waffle-jna [f0a297db](https://github.com/pgjdbc/pgjdbc/commit/f0a297dba4f67b3f80dad7490b3882d0a7385c4b) +* Update changelog for 42.2.6 [8944fa67](https://github.com/pgjdbc/pgjdbc/commit/8944fa67c29c89082bf278c53d342ebe5ef1bcaf) + +itchyny (1): + +* docs: fix link to pull request 1052 in 42.2.3 changelog [PR 1345](https://github.com/pgjdbc/pgjdbc/pull/1345) [9f248e12](https://github.com/pgjdbc/pgjdbc/commit/9f248e1220338c12798f4a3bec585f4e22f534b4) + +jajalvipul (1): + +* Added break statement to avoid the additional iterations in for loop [PR 1406](https://github.com/pgjdbc/pgjdbc/pull/1406) [6b13f7b7](https://github.com/pgjdbc/pgjdbc/commit/6b13f7b7af95bd86b0763f8e73395e4d7eebc410) + +kaiwangchen (1): + +* Fix execution with big decimal in simple query mode. [PR 1463](https://github.com/pgjdbc/pgjdbc/pull/1463) [8e47a303](https://github.com/pgjdbc/pgjdbc/commit/8e47a303a6e89de43bd6983f92f04f3591a385d9) + +kazachka (2): + +* style: remove extra empty lines [PR 1452](https://github.com/pgjdbc/pgjdbc/pull/1452) [5e48c4d0](https://github.com/pgjdbc/pgjdbc/commit/5e48c4d0714fd656fb1997f29c1fa2d4fee60708) +* style: remove extra empty lines [PR 1454](https://github.com/pgjdbc/pgjdbc/pull/1454) [cb466d1b](https://github.com/pgjdbc/pgjdbc/commit/cb466d1bf74cb18c6444f099862b7e43329e93bf) + +maltalex (1): + +* Make LogSequenceNumber implement Comparable [PR 1494](https://github.com/pgjdbc/pgjdbc/pull/1494) [1970c4a3](https://github.com/pgjdbc/pgjdbc/commit/1970c4a3fb8ebf4cc52f5d8b0d4977388ee713e7) + +pbillen (1): + +* Allow setFlushedLSN(lsn) and setAppliedLSN(lsn) from outside main loop [PR 1329](https://github.com/pgjdbc/pgjdbc/pull/1329) [381cf45c](https://github.com/pgjdbc/pgjdbc/commit/381cf45cd1029d53ef748731d93361a814f711b6) + +rnveach (1): + +* fix: improper indentation for javadoc [PR 1434](https://github.com/pgjdbc/pgjdbc/pull/1434) [35df0dde](https://github.com/pgjdbc/pgjdbc/commit/35df0dde43e50ddd1c75e5edb49ceae6daa1491f) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Adam Brusselback](https://github.com/Tostino) +[AlexElin](https://github.com/AlexElin) +[Andrew Guibert](https://github.com/aguibert) +[Craig Ringer](https://github.com/ringerc) +[Dave Cramer](davec@postgresintl.com) +[Dmitriy Tseyler](https://github.com/tseylerd) +[Doug Mayer](https://github.com/doxavore) +[Harry Chan](https://github.com/hc-codersatlas) +[itchyny](https://github.com/itchyny) +[Ivan Leskin](https://github.com/leskin-in) +[jajalvipul](https://github.com/jajalvipul) +[Jorge Solorzano](https://github.com/jorsol) +[kaiwangchen](https://github.com/kaiwangchen) +[Kamal Kumlien](https://github.com/kkumlien) +[kazachka](https://github.com/kazachka) +[Kevin Wooten](https://github.com/kdubb) +[Krzysztof Szafrański](https://github.com/kszafran) +[maltalex](https://github.com/maltalex) +[Marc Dean](https://github.com/deanmarc25) +[Mark Nguyen](https://github.com/Mrk-Nguyen) +[Mykola Nikishov](https://github.com/manandbytes) +[Nikolai Ivanov](https://github.com/nicktorwald) +[pbillen](https://github.com/pbillen) +[Philip Sanetra](https://github.com/PSanetra) +[rnveach](https://github.com/rnveach) +[Sehrope Sarkuni](https://github.com/sehrope) +[Sualeh Fatehi](https://github.com/sualeh) +[Tyson Andre](https://github.com/TysonAndre) +[Vladimir Sitnikov](https://github.com/vlsi) From 407b264b569434e2fd7643e4372393d95bddc600 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 19 Jun 2019 14:19:33 -0400 Subject: [PATCH 300/427] update to parent pom 1.1.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 740c528083..8f4c668005 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-versions - 1.1.5 + 1.1.6 pgjdbc-aggregate From cf42ba2a804d81a49e91e26c772fbed3d5eb43be Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Wed, 19 Jun 2019 19:49:52 +0000 Subject: [PATCH 301/427] [maven-release-plugin] prepare release REL42.2.6 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 521c7e55f4..fb5ffd8a85 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.6-SNAPSHOT + 42.2.6 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,4 +325,8 @@ + + + REL42.2.6 + diff --git a/pom.xml b/pom.xml index 8f4c668005..f8350bef99 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.6-SNAPSHOT + 42.2.6 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.6 From bb018f7e23e72227f87219e641a1f1c5a10aae09 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Wed, 19 Jun 2019 19:49:57 +0000 Subject: [PATCH 302/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index fb5ffd8a85..8a859c3824 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.6 + 42.2.7-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -325,8 +325,4 @@ - - - REL42.2.6 - diff --git a/pom.xml b/pom.xml index f8350bef99..dd9550f69c 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.6 + 42.2.7-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.6 + HEAD From 58804e9af41368fc9e956a7dd6cf799cb1d72420 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 20 Jun 2019 08:52:12 -0400 Subject: [PATCH 303/427] note that waffle 1.9.x is only supported in jre8 version Update README to point to new maven coordinates --- CHANGELOG.md | 1 + README.md | 12 ++++++------ docs/_posts/2019-06-19-42.2.6-release.md | 13 +++++++------ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77acdb8936..25df7a7214 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [42.2.6] (2019-06-19) ### Known issues +- Waffle has [dropped support](https://github.com/Waffle/waffle/releases/tag/waffle-1.9.0) for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8 - Microseconds in timestamps might be truncated when transferred in binary mode - 24:00 time handling is not consistent [issue 1385](https://github.com/pgjdbc/pgjdbc/issues/1385) - Unexpected packet type during stream replication [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) diff --git a/README.md b/README.md index 4676cd0af9..781c9c584c 100644 --- a/README.md +++ b/README.md @@ -24,30 +24,30 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.5-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.6-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.5 + 42.2.6 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.5.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.6.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.5.jre7 + 42.2.6.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.5.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.6.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.5.jre6 + 42.2.6.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" diff --git a/docs/_posts/2019-06-19-42.2.6-release.md b/docs/_posts/2019-06-19-42.2.6-release.md index e3d1b38d25..8ec9fb544b 100644 --- a/docs/_posts/2019-06-19-42.2.6-release.md +++ b/docs/_posts/2019-06-19-42.2.6-release.md @@ -7,6 +7,13 @@ version: 42.2.6 --- **Notable changes** +### Known issues +- Waffle has [dropped support](https://github.com/Waffle/waffle/releases/tag/waffle-1.9.0) for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8 +- Microseconds in timestamps might be truncated when transferred in binary mode +- 24:00 time handling is not consistent [issue 1385](https://github.com/pgjdbc/pgjdbc/issues/1385) +- Unexpected packet type during stream replication [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) +- Driver goes missing after OSGi bundle restart [issue 1476](https://github.com/pgjdbc/pgjdbc/issues/1476) + ### Changed - Change IS_GENERATED to IS_GENERATEDCOLUMN as per spec [PR 1485](https://github.com/pgjdbc/pgjdbc/pull/1485) - Fix missing metadata columns, and misspelled columns in PgDatabaseMetaData#getTables [PR 1323](https://github.com/pgjdbc/pgjdbc/pull/1323) @@ -29,12 +36,6 @@ version: 42.2.6 - Fix execution with big decimal in simple query mode. [PR 1463](https://github.com/pgjdbc/pgjdbc/pull/1463) - Fix rounding for timestamps truncated to dates before 1970 [PR 1502](https://github.com/pgjdbc/pgjdbc/pull/1502) -### Known issues -- Microseconds in timestamps might be truncated when transferred in binary mode -- 24:00 time handling is not consistent [issue 1385](https://github.com/pgjdbc/pgjdbc/issues/1385) -- Unexpected packet type during stream replication [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) -- Driver goes missing after OSGi bundle restart [issue 1476](https://github.com/pgjdbc/pgjdbc/issues/1476) - From d96ed59eba6a2279da337684e696b198ec60685c Mon Sep 17 00:00:00 2001 From: Vsevolod Kaimashnikov Date: Fri, 28 Jun 2019 16:33:00 +0300 Subject: [PATCH 304/427] Add more info about currentSchema property. (#1481) Add in documentation that currentSchema property can be multiple and fix test behavior. --- README.md | 2 +- docs/documentation/head/connect.md | 2 +- .../main/java/org/postgresql/PGProperty.java | 4 +- .../java/org/postgresql/util/PSQLState.java | 1 + .../java/org/postgresql/test/TestUtil.java | 12 +++ .../test/jdbc4/jdbc41/SchemaTest.java | 90 +++++++++++++++++++ 6 files changed, 107 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 781c9c584c..0ed5dfbc9c 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ In addition to the standard connection parameters the driver supports a number o | readOnly | Boolean | true | Puts this connection in read-only mode | | disableColumnSanitiser | Boolean | false | Enable optimization that disables column name sanitiser | | assumeMinServerVersion | String | null | Assume the server is at least that version | -| currentSchema | String | null | Specify the schema to be set in the search-path | +| currentSchema | String | null | Specify the schema (or several schema separated by commas) to be set in the search-path | | targetServerType | String | any | Specifies what kind of server to connect, possible values: any, master, slave (deprecated), secondary, preferSlave (deprecated), preferSecondary | | hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after which the host status is checked again in case it has changed | | loadBalanceHosts | Boolean | false | If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates | diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index c455aca4a3..20d817c697 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -411,7 +411,7 @@ Connection conn = DriverManager.getConnection(url); * **currentSchema** = String - Specify the schema to be set in the search-path. + Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve unqualified object names used in statements over this connection. * **targetServerType** = String diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 37d2f950a5..b342b44c9c 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -367,10 +367,10 @@ public enum PGProperty { ALLOW_ENCODING_CHANGES("allowEncodingChanges", "false", "Allow for changes in client_encoding"), /** - * Specify the schema to be set in the search-path. This schema will be used to resolve + * Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve * unqualified object names used in statements over this connection. */ - CURRENT_SCHEMA("currentSchema", null, "Specify the schema to be set in the search-path"), + CURRENT_SCHEMA("currentSchema", null, "Specify the schema (or several schema separated by commas) to be set in the search-path"), TARGET_SERVER_TYPE("targetServerType", "any", "Specifies what kind of server to connect", false, "any", "master", "slave", "secondary", "preferSlave", "preferSecondary"), diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index 12892ad985..ca4de8ba32 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -83,6 +83,7 @@ public enum PSQLState { INVALID_NAME("42602"), DATATYPE_MISMATCH("42804"), CANNOT_COERCE("42846"), + UNDEFINED_TABLE("42P01"), OUT_OF_MEMORY("53200"), OBJECT_NOT_IN_STATE("55000"), diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index d396b3146a..211d01eb3f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -915,4 +915,16 @@ private static void waitStopReplicationSlot(Connection connection, String slotNa throw new TimeoutException("Wait stop replication slot " + timeInWait + " timeout occurs"); } } + + public static void execute(String sql, Connection connection) throws SQLException { + Statement stmt = connection.createStatement(); + try { + stmt.execute(sql); + } finally { + try { + stmt.close(); + } catch (SQLException e) { + } + } + } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java index 34ca983e62..f843ab56af 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/SchemaTest.java @@ -5,10 +5,16 @@ package org.postgresql.test.jdbc4.jdbc41; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import org.postgresql.PGProperty; import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; import org.junit.After; import org.junit.Before; @@ -217,6 +223,90 @@ public void testSearchPathPreparedStatement() throws SQLException { ps.close(); } + @Test + public void testCurrentSchemaPropertyVisibilityTableDuringFunctionCreation() throws SQLException { + Properties properties = new Properties(); + properties.setProperty(PGProperty.CURRENT_SCHEMA.getName(), "public,schema1,schema2"); + Connection connection = TestUtil.openDB(properties); + + TestUtil.execute("create table schema1.check_table (test_col text)", connection); + TestUtil.execute("insert into schema1.check_table (test_col) values ('test_value')", connection); + TestUtil.execute("create or replace function schema2.check_fun () returns text as $$" + + " select test_col from check_table" + + "$$ language sql immutable", connection); + connection.close(); + } + + @Test + public void testCurrentSchemaPropertyNotVisibilityTableDuringFunctionCreation() throws SQLException { + Properties properties = new Properties(); + properties.setProperty(PGProperty.CURRENT_SCHEMA.getName(), "public,schema2"); + + try (Connection connection = TestUtil.openDB(properties)) { + TestUtil.execute("create table schema1.check_table (test_col text)", connection); + TestUtil.execute("insert into schema1.check_table (test_col) values ('test_value')", connection); + TestUtil.execute("create or replace function schema2.check_fun (txt text) returns text as $$" + + " select test_col from check_table" + + "$$ language sql immutable", connection); + } catch (PSQLException e) { + String sqlState = e.getSQLState(); + String message = e.getMessage(); + assertThat("Test creates function in schema 'schema2' and this function try use table \"check_table\" " + + "from schema 'schema1'. We expect here sql error code - " + + PSQLState.UNDEFINED_TABLE + ", because search_path does not contains schema 'schema1' and " + + "postgres does not see table \"check_table\"", + sqlState, + equalTo(PSQLState.UNDEFINED_TABLE.getState()) + ); + assertThat( + "Test creates function in schema 'schema2' and this function try use table \"check_table\" " + + "from schema 'schema1'. We expect here that sql error message will be contains \"check_table\", " + + "because search_path does not contains schema 'schema1' and postgres does not see " + + "table \"check_table\"", + message, + containsString("\"check_table\"") + ); + } + } + + @Test + public void testCurrentSchemaPropertyVisibilityFunction() throws SQLException { + testCurrentSchemaPropertyVisibilityTableDuringFunctionCreation(); + Properties properties = new Properties(); + properties.setProperty(PGProperty.CURRENT_SCHEMA.getName(), "public,schema1,schema2"); + Connection connection = TestUtil.openDB(properties); + + TestUtil.execute("select check_fun()", connection); + connection.close(); + } + + @Test + public void testCurrentSchemaPropertyNotVisibilityTableInsideFunction() throws SQLException { + testCurrentSchemaPropertyVisibilityTableDuringFunctionCreation(); + Properties properties = new Properties(); + properties.setProperty(PGProperty.CURRENT_SCHEMA.getName(), "public,schema2"); + + try (Connection connection = TestUtil.openDB(properties)) { + TestUtil.execute("select check_fun()", connection); + } catch (PSQLException e) { + String sqlState = e.getSQLState(); + String message = e.getMessage(); + assertThat("Test call function in schema 'schema2' and this function uses table \"check_table\" " + + "from schema 'schema1'. We expect here sql error code - " + PSQLState.UNDEFINED_TABLE + ", " + + "because search_path does not contains schema 'schema1' and postgres does not see table \"check_table\".", + sqlState, + equalTo(PSQLState.UNDEFINED_TABLE.getState()) + ); + assertThat( + "Test call function in schema 'schema2' and this function uses table \"check_table\" " + + "from schema 'schema1'. We expect here that sql error message will be contains \"check_table\", because " + + " search_path does not contains schema 'schema1' and postgres does not see table \"check_table\"", + message, + containsString("\"check_table\"") + ); + } + } + private void assertColType(PreparedStatement ps, String message, int expected) throws SQLException { ResultSet rs = ps.executeQuery(); ResultSetMetaData md = rs.getMetaData(); From 3db55daf2dccdd49555fd73b70be5c15609cccfa Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 2 Jul 2019 12:42:31 +0200 Subject: [PATCH 305/427] fix parent version in pgjdbc/pom.xml as well This should fix Travis build for FEDORA_CI. --- .travis/travis_build.sh | 4 ++++ pgjdbc/pom.xml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis/travis_build.sh b/.travis/travis_build.sh index 0ccc6878b4..00ef433ead 100755 --- a/.travis/travis_build.sh +++ b/.travis/travis_build.sh @@ -8,6 +8,10 @@ then python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);' export PROJECT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[') export PARENT_VERSION=$(mvn -B -N org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.parent.version | grep -v '\[') + export CHECK_PARENT_VERSION=$(mvn help:evaluate -Dexpression=project.parent.version -q -DforceStdout -f pgjdbc/pom.xml) + # just make sure that pom.xml has the same value as pgjdbc/pom.xml + test "$PARENT_VERSION" = "$CHECK_PARENT_VERSION" + exec ./packaging/rpm_ci fi diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 8a859c3824..fc2ff11901 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -3,7 +3,7 @@ org.postgresql pgjdbc-core-parent - 1.1.5 + 1.1.6 From ce8333a56ba74022adeb545b68e7d2bee32d966f Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Fri, 5 Jul 2019 20:45:24 +0800 Subject: [PATCH 306/427] Expose parameter status messages (GUC_REPORT) to the user (#1435) * Expose parameter status messages (GUC_REPORT) to the user Add a new `Map PGConnection.getParameterStatuses()` method that tracks the latest values of all `GUC_REPORT` parameters reported by the server in `ParameterStatus` protocol messages from the server. The map is read-only. A convenience `PGConnection.getParameterStatus(String)` wrapper is also provided. This provides a PgJDBC equivalent to the `PQparameterStatus(...)` `libpq` API function. Extensions may define custom GUCs that are set as `GUC_REPORT` when they `DefineCustomStringVariable(...)` etc. This feature will properly handle such GUCs, allowing applications to generate parameter status change messages in their extensions and have them available to the JDBC driver without needing round trips. No assumptions are made about which server GUCs are `GUC_REPORT` or their names, so it'll work (with possible test case tweaks) on current and future server versions. Github issue pgjdbc/pgjdbc#1428 * Attempt to make StatementTest.testShortQueryTimeout() more reliable I'm observing intermittent failures like: testShortQueryTimeout(org.postgresql.test.jdbc2.StatementTest) Time elapsed: 0.219 sec <<< ERROR! org.postgresql.util.PSQLException: ERROR: canceling statement due to user request The cause of that isn't yet clear. But I noticed that the test doesn't check for the SQLSTATE of the expected exception, so fix that. --- docs/documentation/head/ext.md | 1 + docs/documentation/head/parameterstatus.md | 63 +++++ docs/documentation/head/replication.md | 4 +- docs/documentation/head/server-prepare.md | 4 +- .../java/org/postgresql/PGConnection.java | 74 ++++++ .../org/postgresql/core/QueryExecutor.java | 6 + .../postgresql/core/QueryExecutorBase.java | 45 ++++ .../postgresql/core/v3/QueryExecutorImpl.java | 5 + .../org/postgresql/jdbc/PgConnection.java | 11 + .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 3 +- .../test/jdbc2/ParameterStatusTest.java | 219 ++++++++++++++++++ .../postgresql/test/jdbc2/StatementTest.java | 16 +- 12 files changed, 443 insertions(+), 8 deletions(-) create mode 100644 docs/documentation/head/parameterstatus.md create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java diff --git a/docs/documentation/head/ext.md b/docs/documentation/head/ext.md index ea7cee9b12..2a46d469f2 100644 --- a/docs/documentation/head/ext.md +++ b/docs/documentation/head/ext.md @@ -16,6 +16,7 @@ next: geometric.html * [Large Objects](largeobjects.html) * [Listen / Notify](listennotify.html) * [Server Prepared Statements](server-prepare.html) +* [Parameter Status Messages](parameterstatus.html) * [Physical and Logical replication API](replication.html) * [Arrays](arrays.html) diff --git a/docs/documentation/head/parameterstatus.md b/docs/documentation/head/parameterstatus.md new file mode 100644 index 0000000000..f83fda2184 --- /dev/null +++ b/docs/documentation/head/parameterstatus.md @@ -0,0 +1,63 @@ +--- +layout: default_docs +title: Physical and Logical replication API +header: Chapter 9. PostgreSQL™ Extensions to the JDBC API +resource: media +previoustitle: Parameter Status Messages +previous: server-prepare.html +nexttitle: Physical and Logical replication API +next: replication.html +--- + +# Parameter Status Messages + +PostgreSQL supports server parameters, also called server variables or, +internally, Grand Unified Configuration (GUC) variables. These variables are +manipulated by the `SET` command, `postgresql.conf`, `ALTER SYSTEM SET`, `ALTER +USER SET`, `ALTER DATABASE SET`, the `set_config(...)` SQL-callable function, +etc. See [the PostgreSQL manual](https://www.postgresql.org/docs/current/config-setting.html). + +For a subset of these variables the server will *automatically report changes +to the value to the client driver and application*. These variables are known +internally as `GUC_REPORT` variables after the name of the flag that enables +the functionality. + +The server keeps track of all the variable scopes and reports when a variable +reverts to a prior value, so the client doesn't have to guess what the current +value is and whether some server-side function could've changed it. Whenever +the value changes, no matter why or how it changes, the server reports the new +effective value in a *Parameter Status* protocol message to the client. PgJDBC +uses many of these reports internally. + +As of PgJDBC 42.2.6, it also exposes the parameter status information to user +applications via the PGConnection extensions interface. + +## Methods + +Two methods on `org.postgresql.PGConnection` provide the client interface to +reported parameters. Parameter names are case-insensitive and case-preserving. + +* `Map PGConnection.getParameterStatuses()` - return a map of all reported + parameters and their values. + +* `String PGConnection.getParameterStatus()` - shorthand to retrieve one + value by name, or null if no value has been reported. + +See the `PGConnection` JavaDoc for details. + +## Example + +If you're working directly with a `java.sql.Connection` you can + + import org.postgresql.PGConnection; + + void my_function(Connection conn) { + + System.out.println("My application name is " + + ((PGConnection)conn).getParameterStatus("application_name")); + + } + +## Other client drivers + +The `libpq` equivalent is the `PQparameterStatus(...)` API function. diff --git a/docs/documentation/head/replication.md b/docs/documentation/head/replication.md index 5d821fb273..223851dfde 100644 --- a/docs/documentation/head/replication.md +++ b/docs/documentation/head/replication.md @@ -3,8 +3,8 @@ layout: default_docs title: Physical and Logical replication API header: Chapter 9. PostgreSQL™ Extensions to the JDBC API resource: media -previoustitle: Server Prepared Statements -previous: server-prepare.html +previoustitle: Parameter Status Messages +previous: parameterstatus.html nexttitle: Arrays next: arrays.html --- diff --git a/docs/documentation/head/server-prepare.md b/docs/documentation/head/server-prepare.md index 76f1504eca..c9a5595333 100644 --- a/docs/documentation/head/server-prepare.md +++ b/docs/documentation/head/server-prepare.md @@ -5,8 +5,8 @@ header: Chapter 9. PostgreSQL™ Extensions to the JDBC API resource: media previoustitle: Listen / Notify previous: listennotify.html -nexttitle: Physical and Logical replication API -next: replication.html +nexttitle: Parameter Status Messages +next: parameterstatus.html --- ### Motivation diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index ba2a04e907..fd764563fb 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -17,6 +17,8 @@ import java.sql.SQLException; import java.sql.Statement; +import java.util.Map; + /** * This interface defines the public PostgreSQL extensions to java.sql.Connection. All Connections * returned by the PostgreSQL driver implement PGConnection. @@ -236,4 +238,76 @@ public interface PGConnection { * @return replication API for the current connection */ PGReplicationConnection getReplicationAPI(); + + /** + *

Returns the current values of all parameters reported by the server.

+ * + *

PostgreSQL reports values for a subset of parameters (GUCs) to the client + * at connect-time, then sends update messages whenever the values change + * during a session. PgJDBC records the latest values and exposes it to client + * applications via getParameterStatuses().

+ * + *

PgJDBC exposes individual accessors for some of these parameters as + * listed below. They are more backwarrds-compatible and should be preferred + * where possible.

+ * + *

Not all parameters are reported, only those marked + * GUC_REPORT in the source code. The pg_settings + * view does not expose information about which parameters are reportable. + * PgJDBC's map will only contain the parameters the server reports values + * for, so you cannot use this method as a substitute for running a + * SHOW paramname; or SELECT + * current_setting('paramname'); query for arbitrary parameters.

+ * + *

Parameter names are case-insensitive and case-preserving + * in this map, like in PostgreSQL itself. So DateStyle and + * datestyle are the same key.

+ * + *

+ * As of PostgreSQL 11 the reportable parameter list, and related PgJDBC + * interfaces or accesors, are: + *

+ * + *
    + *
  • + * application_name - + * {@link java.sql.Connection#getClientInfo()}, + * {@link java.sql.Connection#setClientInfo(java.util.Properties)} + * and ApplicationName connection property. + *
  • + *
  • + * client_encoding - PgJDBC always sets this to UTF8. + * See allowEncodingChanges connection property. + *
  • + *
  • DateStyle - PgJDBC requires this to always be set to ISO
  • + *
  • standard_conforming_strings - indirectly via {@link #escapeLiteral(String)}
  • + *
  • + * TimeZone - set from JDK timezone see {@link java.util.TimeZone#getDefault()} + * and {@link java.util.TimeZone#setDefault(TimeZone)} + *
  • + *
  • integer_datetimes
  • + *
  • IntervalStyle
  • + *
  • server_encoding
  • + *
  • server_version
  • + *
  • is_superuser
  • + *
  • session_authorization
  • + *
+ * + *

Note that some PgJDBC operations will change server parameters + * automatically.

+ * + * @return unmodifiable map of case-insensitive parameter names to parameter values + * @since 42.2.6 + */ + Map getParameterStatuses(); + + /** + * Shorthand for getParameterStatuses().get(...) . + * + * @param parameterName case-insensitive parameter name + * @return parameter value if defined, or null if no parameter known + * @see #getParameterStatuses + * @since 42.2.6 + */ + String getParameterStatus(String parameterName); } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index d6db729275..8d95e8d2e0 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -18,6 +18,7 @@ import java.sql.SQLException; import java.sql.SQLWarning; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.TimeZone; @@ -452,4 +453,9 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri void setNetworkTimeout(int milliseconds) throws IOException; int getNetworkTimeout() throws IOException; + + // Expose parameter status to PGConnection + Map getParameterStatuses(); + + String getParameterStatus(String parameterName); } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 8fe0bbb803..1f77f15b23 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -19,7 +19,10 @@ import java.sql.SQLException; import java.sql.SQLWarning; import java.util.ArrayList; +import java.util.Collections; +import java.util.Map; import java.util.Properties; +import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -52,6 +55,10 @@ public abstract class QueryExecutorBase implements QueryExecutor { private final LruCache statementCache; private final CachedQueryCreateAction cachedQueryCreateAction; + // For getParameterStatuses(), GUC_REPORT tracking + private final TreeMap parameterStatuses + = new TreeMap(String.CASE_INSENSITIVE_ORDER); + protected QueryExecutorBase(PGStream pgStream, String user, String database, int cancelSignalTimeout, Properties info) throws SQLException { this.pgStream = pgStream; @@ -389,4 +396,42 @@ public void setFlushCacheOnDeallocate(boolean flushCacheOnDeallocate) { protected boolean hasNotifications() { return notifications.size() > 0; } + + @Override + public final Map getParameterStatuses() { + return Collections.unmodifiableMap(parameterStatuses); + } + + @Override + public final String getParameterStatus(String parameterName) { + return parameterStatuses.get(parameterName); + } + + /** + * Update the parameter status map in response to a new ParameterStatus + * wire protocol message. + * + *

The server sends ParameterStatus messages when GUC_REPORT settings are + * initially assigned and whenever they change.

+ * + *

A future version may invoke a client-defined listener class at this point, + * so this should be the only access path.

+ * + *

Keys are case-insensitive and case-preserving.

+ * + *

The server doesn't provide a way to report deletion of a reportable + * parameter so we don't expose one here.

+ * + * @param parameterName case-insensitive case-preserving name of parameter to create or update + * @param parameterStatus new value of parameter + * @see org.postgresql.PGConnection#getParameterStatuses + * @see org.postgresql.PGConnection#getParameterStatus + */ + protected void onParameterStatus(String parameterName, String parameterStatus) { + if (parameterName == null || parameterName.equals("")) { + throw new IllegalStateException("attempt to set GUC_REPORT parameter with null or empty-string name"); + } + + parameterStatuses.put(parameterName, parameterStatus); + } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index f43bb78b56..a787283ab8 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2619,6 +2619,11 @@ public void receiveParameterStatus() throws IOException, SQLException { LOGGER.log(Level.FINEST, " <=BE ParameterStatus({0} = {1})", new Object[]{name, value}); } + /* Update client-visible parameter status map for getParameterStatuses() */ + if (name != null && !name.equals("")) { + onParameterStatus(name, value); + } + if (name.equals("client_encoding")) { if (allowEncodingChanges) { if (!value.equalsIgnoreCase("UTF8") && !value.equalsIgnoreCase("UTF-8")) { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index d127174304..42bfe0a275 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -1724,4 +1724,15 @@ public PreparedStatement prepareStatement(String sql, String[] columnNames) thro } return ps; } + + @Override + public final Map getParameterStatuses() { + return queryExecutor.getParameterStatuses(); + } + + @Override + public final String getParameterStatus(String parameterName) { + return queryExecutor.getParameterStatus(parameterName); + } + } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 3f372393da..803f51621d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -122,7 +122,8 @@ CopyLargeFileTest.class, ServerErrorTest.class, UpsertTest.class, - OuterJoinSyntaxTest.class + OuterJoinSyntaxTest.class, + ParameterStatusTest.class }) public class Jdbc2TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java new file mode 100644 index 0000000000..5451587615 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java @@ -0,0 +1,219 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import org.postgresql.PGConnection; +import org.postgresql.core.ServerVersion; +import org.postgresql.test.TestUtil; + +import org.hamcrest.core.StringStartsWith; + +import org.junit.Assert; +import org.junit.Test; + +import java.sql.Statement; +import java.util.Map; +import java.util.TimeZone; +import java.util.logging.Logger; + +/** + * Test JDBC extension API for server reported parameter status messages. + * + *

This test covers client interface for server ParameterStatus messages + * (GUC_REPORT) parameters via PGConnection.getParameterStatuses() and + * PGConnection.getParameterStatus().

+ */ +public class ParameterStatusTest extends BaseTest4 { + + private final TimeZone tzPlus0800 = TimeZone.getTimeZone("GMT+8:00"); + private final Logger logger = Logger.getLogger(ParameterStatusTest.class.getName()); + + @Test + public void expectedInitialParameters() throws Exception { + TimeZone.setDefault(tzPlus0800); + con = TestUtil.openDB(); + + Map params = ((PGConnection)con).getParameterStatuses(); + + // PgJDBC forces the following parameters + Assert.assertEquals("UTF8", params.get("client_encoding")); + Assert.assertNotNull(params.get("DateStyle")); + Assert.assertThat(params.get("DateStyle"), StringStartsWith.startsWith("ISO")); + + // PgJDBC sets TimeZone via Java's TimeZone.getDefault() + // Pg reports POSIX timezones which are negated, so: + Assert.assertEquals("GMT-08:00", params.get("TimeZone")); + + // Must be reported. All these exist in 8.2 or above, and we don't bother + // with test coverage older than that. + Assert.assertNotNull(params.get("integer_datetimes")); + Assert.assertNotNull(params.get("is_superuser")); + Assert.assertNotNull(params.get("server_encoding")); + Assert.assertNotNull(params.get("server_version")); + Assert.assertNotNull(params.get("session_authorization")); + Assert.assertNotNull(params.get("standard_conforming_strings")); + + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_4)) { + Assert.assertNotNull(params.get("IntervalStyle")); + } else { + Assert.assertNull(params.get("IntervalStyle")); + } + + // TestUtil forces "ApplicationName=Driver Tests" + // if application_name is supported (9.0 or newer) + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + Assert.assertEquals("Driver Tests", params.get("application_name")); + } else { + Assert.assertNull(params.get("application_name")); + } + + // Not reported + Assert.assertNull(params.get("nonexistent")); + Assert.assertNull(params.get("enable_hashjoin")); + + TestUtil.closeDB(con); + } + + @Test + public void reportUpdatedParameters() throws Exception { + con = TestUtil.openDB(); + + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + /* This test uses application_name which was added in 9.0 */ + return; + } + + con.setAutoCommit(false); + Statement stmt = con.createStatement(); + + stmt.executeUpdate("SET application_name = 'pgjdbc_ParameterStatusTest2';"); + stmt.close(); + + // Parameter status should be reported before the ReadyForQuery so we will + // have already processed it + Assert.assertEquals("pgjdbc_ParameterStatusTest2", ((PGConnection)con).getParameterStatus("application_name")); + + TestUtil.closeDB(con); + } + + // Run a txn-level SET then a txn-level SET LOCAL so we can make sure we keep + // track of the right GUC value at each point. + private void transactionalParametersCommon() throws Exception { + Statement stmt = con.createStatement(); + + // Initial value assigned by TestUtil + Assert.assertEquals("Driver Tests", ((PGConnection)con).getParameterStatus("application_name")); + + // PgJDBC begins an explicit txn here due to autocommit=off so the effect + // should be lost on rollback but retained on commit per the docs. + stmt.executeUpdate("SET application_name = 'pgjdbc_ParameterStatusTestTxn';"); + Assert.assertEquals("pgjdbc_ParameterStatusTestTxn", ((PGConnection)con).getParameterStatus("application_name")); + + // SET LOCAL is always txn scoped so the effect here will always be + // unwound on txn end. + stmt.executeUpdate("SET LOCAL application_name = 'pgjdbc_ParameterStatusTestLocal';"); + Assert.assertEquals("pgjdbc_ParameterStatusTestLocal", ((PGConnection)con).getParameterStatus("application_name")); + + stmt.close(); + } + + @Test + public void transactionalParametersRollback() throws Exception { + con = TestUtil.openDB(); + + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + /* This test uses application_name which was added in 9.0 */ + return; + } + + con.setAutoCommit(false); + + transactionalParametersCommon(); + + // SET unwinds on ROLLBACK + con.rollback(); + + Assert.assertEquals("Driver Tests", ((PGConnection)con).getParameterStatus("application_name")); + + TestUtil.closeDB(con); + } + + @Test + public void transactionalParametersCommit() throws Exception { + con = TestUtil.openDB(); + + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + /* This test uses application_name which was added in 9.0 */ + return; + } + + con.setAutoCommit(false); + + transactionalParametersCommon(); + + // SET is retained on commit but SET LOCAL is unwound + con.commit(); + + Assert.assertEquals("pgjdbc_ParameterStatusTestTxn", ((PGConnection)con).getParameterStatus("application_name")); + + TestUtil.closeDB(con); + } + + @Test + public void transactionalParametersAutocommit() throws Exception { + con = TestUtil.openDB(); + + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + /* This test uses application_name which was added in 9.0 */ + return; + } + + con.setAutoCommit(true); + Statement stmt = con.createStatement(); + + // A SET LOCAL in autocommit should have no visible effect as we report the reset value too + Assert.assertEquals("Driver Tests", ((PGConnection)con).getParameterStatus("application_name")); + stmt.executeUpdate("SET LOCAL application_name = 'pgjdbc_ParameterStatusTestLocal';"); + Assert.assertEquals("Driver Tests", ((PGConnection)con).getParameterStatus("application_name")); + + stmt.close(); + TestUtil.closeDB(con); + } + + @Test(expected = UnsupportedOperationException.class) + public void parameterMapReadOnly() throws Exception { + try { + con = TestUtil.openDB(); + Map params = ((PGConnection)con).getParameterStatuses(); + params.put("DateStyle", "invalid"); + Assert.fail("Attempt to write to exposed parameters map must throw"); + } finally { + TestUtil.closeDB(con); + } + } + + @Test + public void parameterMapIsView() throws Exception { + con = TestUtil.openDB(); + + if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_0)) { + /* This test uses application_name which was added in 9.0 */ + return; + } + + Map params = ((PGConnection)con).getParameterStatuses(); + + Statement stmt = con.createStatement(); + + Assert.assertEquals("Driver Tests", params.get("application_name")); + stmt.executeUpdate("SET application_name = 'pgjdbc_paramstatus_view';"); + Assert.assertEquals("pgjdbc_paramstatus_view", params.get("application_name")); + + stmt.close(); + TestUtil.closeDB(con); + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index ef6844027b..7c3cf6e572 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -729,11 +729,21 @@ public void testShortQueryTimeout() throws SQLException { Statement stmt2 = con.createStatement(); while (System.currentTimeMillis() < deadLine) { try { - stmt.execute("select 1"); + // This usually won't time out but scheduler jitter, server load + // etc can cause a timeout. + stmt.executeQuery("select 1;"); } catch (SQLException e) { - // ignore "statement cancelled" + // Expect "57014 query_canceled" (en-msg is "canceling statement due to statement timeout") + // but anything else is fatal. We can't differentiate other causes of statement cancel like + // "canceling statement due to user request" without error message matching though, and we + // don't want to do that. + Assert.assertEquals( + "Query is expected to be cancelled via st.close(), got " + e.getMessage(), + PSQLState.QUERY_CANCELED.getState(), + e.getSQLState()); } - stmt2.executeQuery("select 1"); + // Must never time out. + stmt2.executeQuery("select 1;"); } } From 08d81291c69d02d8973d6b39dac82bdaad91f2ee Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Fri, 12 Jul 2019 03:36:32 +0800 Subject: [PATCH 307/427] Make ConnectTimeout test accept NoRouteToHostException (#1526) * Fix a NullPointerException in uncommon failure cases * Skip ConnectTimeout timeout on hosts that throw NoRouteToHostException If a host throws NoRouteToHostException before the ConnectTimeout, the test has neither failed nor succeeded. Github issue #1526 --- .../postgresql/core/QueryExecutorBase.java | 4 ++++ .../test/jdbc2/ConnectTimeoutTest.java | 22 +++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 1f77f15b23..fbe5c4980b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -351,6 +351,10 @@ public void setAutoSave(AutoSave autoSave) { } protected boolean willHealViaReparse(SQLException e) { + if (e == null || e.getSQLState() == null) { + return false; + } + // "prepared statement \"S_2\" does not exist" if (PSQLState.INVALID_SQL_STATEMENT_NAME.getState().equals(e.getSQLState())) { return true; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectTimeoutTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectTimeoutTest.java index eafaf333c5..5b9673918b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectTimeoutTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectTimeoutTest.java @@ -10,9 +10,11 @@ import org.postgresql.test.TestUtil; +import org.junit.Assume; import org.junit.Before; import org.junit.Test; +import java.net.NoRouteToHostException; import java.net.SocketTimeoutException; import java.sql.DriverManager; import java.sql.SQLException; @@ -41,11 +43,27 @@ public void testTimeout() { try { DriverManager.getConnection(UNREACHABLE_URL, props); } catch (SQLException e) { - assertTrue("Unexpected " + e.toString(), - e.getCause() instanceof SocketTimeoutException); final long interval = System.currentTimeMillis() - startTime; final long connectTimeoutMillis = CONNECT_TIMEOUT * 1000; final long maxDeviation = connectTimeoutMillis / 10; + + /* + * If the platform fast-fails the unroutable address connection then this + * test may not time out, instead throwing + * java.net.NoRouteToHostException. The test has failed in that the connection + * attempt did not time out. + * + * We treat this as a skipped test, as the test didn't really "succeed" + * in testing the original behaviour, but it didn't fail either. + */ + Assume.assumeTrue("Host fast-failed connection to unreachable address " + + UNREACHABLE_HOST + " after " + interval + " ms, " + + " before timeout should have triggered.", + e.getCause() instanceof NoRouteToHostException + && interval < connectTimeoutMillis ); + + assertTrue("Unexpected " + e.toString() + " with cause " + e.getCause(), + e.getCause() instanceof SocketTimeoutException); // check that it was not a default system timeout, an approximate value is used assertTrue(Math.abs(interval - connectTimeoutMillis) < maxDeviation); return; From 51f3d0b75078e5c8687c7eae20ff37b28e65abec Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Wed, 17 Jul 2019 12:59:55 -0400 Subject: [PATCH 308/427] docs: Add note to GitHub PR templates about test suites (#1531) Adds a note to the GitHub PR template to verify that any new test files have been added to an existing test suite to ensure they are actually included in automated CI testing. --- .github/pull_request_template.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3a9228c35a..4efe774b2e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,6 +9,7 @@ 1. [ ] Does your submission pass tests? 2. [ ] Does mvn checkstyle:check pass ? +3. [ ] Have you added your new test classes to an existing test suite? ### Changes to Existing Features: From aa8778d91bd166e2f351343855d6e0b0b71b1e62 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Wed, 17 Jul 2019 18:33:21 -0400 Subject: [PATCH 309/427] Sort test suites and enable missed tests (#1530) * refactor: Add trailing comma to Jdbc2TestSuite class list * refactor: Add trailing comma to Jdbc4TestSuite class list * refactor: Sort Jdbc4TestSuite class list * refactor: Add trailing comma to Jdbc3TestSuite class list * refactor: Sort Jdbc3TestSuite class list * refactor: Sort Jdbc2TestSuite class list * test: Add missing tests to existing test suites * refactor: Add trailing comma to ReplicationTestSuite class list * refactor: Sort ReplicationTestSuite class list * refactor: Add trailing comma to SslTestSuite class list * refactor: Add trailing comma to Jdbc42TestSuite class list * refactor: Add trailing comma to Jdbc41TestSuite class list * refactor: Sort Jdbc41TestSuite class list * refactor: Sort Jdbc42TestSuite class list * refactor: Sort SslTestSuite class list * test: Add server min version check to CompositeTest Adds a check that the server version is at least 8.3 to CompositeTest as it uses the uuid data type. * fix: Reset default timezone after ParameterStatusTest * fix: Skip composite type test when running in simple query mode --- .../replication/ReplicationTestSuite.java | 5 +- .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 166 ++++++++---------- .../test/jdbc2/ParameterStatusTest.java | 5 + .../postgresql/test/jdbc3/CompositeTest.java | 17 ++ .../postgresql/test/jdbc3/Jdbc3TestSuite.java | 18 +- .../postgresql/test/jdbc4/Jdbc4TestSuite.java | 26 +-- .../test/jdbc4/jdbc41/Jdbc41TestSuite.java | 14 +- .../test/jdbc42/Jdbc42TestSuite.java | 9 +- .../org/postgresql/test/ssl/SslTestSuite.java | 4 +- 9 files changed, 137 insertions(+), 127 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationTestSuite.java b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationTestSuite.java index 27bbb0a13b..ab213ce2d2 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/ReplicationTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/ReplicationTestSuite.java @@ -22,12 +22,13 @@ @RunWith(Suite.class) @Suite.SuiteClasses({ CopyBothResponseTest.class, + LogicalReplicationStatusTest.class, LogicalReplicationTest.class, LogSequenceNumberTest.class, PhysicalReplicationTest.class, - LogicalReplicationStatusTest.class, ReplicationConnectionTest.class, - ReplicationSlotTest.class}) + ReplicationSlotTest.class, +}) public class ReplicationTestSuite { @BeforeClass diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 803f51621d..01d9fbf93f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -32,98 +32,80 @@ */ @RunWith(Suite.class) @Suite.SuiteClasses({ - ANTTest.class, - JavaVersionTest.class, - - DriverTest.class, - ConnectionTest.class, - DateStyleTest.class, - DatabaseMetaDataTest.class, - DatabaseMetaDataPropertiesTest.class, - SearchPathLookupTest.class, - EncodingTest.class, - ExpressionPropertiesTest.class, - ColumnSanitiserDisabledTest.class, - ColumnSanitiserEnabledTest.class, - LruCacheTest.class, - HostSpecTest.class, - ReaderInputStreamTest.class, - ServerVersionParseTest.class, - ServerVersionTest.class, - - OptionsPropertyTest.class, - - TypeCacheDLLStressTest.class, - - ResultSetTest.class, - ResultSetMetaDataTest.class, - StringTypeUnspecifiedArrayTest.class, - ArrayTest.class, - PrimitiveArraySupportTest.class, - RefCursorTest.class, - - DateTest.class, - TimeTest.class, - TimestampTest.class, - TimezoneTest.class, - PGTimeTest.class, - PGTimestampTest.class, - TimezoneCachingTest.class, - ParserTest.class, - ReturningParserTest.class, - CommandCompleteParserTest.class, - CommandCompleteParserNegativeTest.class, - ReplaceProcessingTest.class, - - OidToStringTest.class, - OidValueOfTest.class, - - PreparedStatementTest.class, - StatementTest.class, - QuotationTest.class, - - ServerPreparedStmtTest.class, - - BatchExecuteTest.class, - BatchFailureTest.class, - - BatchedInsertReWriteEnabledTest.class, - NativeQueryBindLengthTest.class, - DeepBatchedInsertStatementTest.class, - JBuilderTest.class, - MiscTest.class, - NotifyTest.class, - DatabaseEncodingTest.class, - ClientEncodingTest.class, - - BlobTest.class, - BlobTransactionTest.class, - - UpdateableResultTest.class, - - CallableStmtTest.class, - CursorFetchTest.class, - ConcurrentStatementFetch.class, - ServerCursorTest.class, - - IntervalTest.class, - GeometricTest.class, - - LoginTimeoutTest.class, - TestACL.class, - - ConnectTimeoutTest.class, - - PGPropertyTest.class, - - V3ParameterListTests.class, - - CopyTest.class, - CopyLargeFileTest.class, - ServerErrorTest.class, - UpsertTest.class, - OuterJoinSyntaxTest.class, - ParameterStatusTest.class + ANTTest.class, + ArrayTest.class, + BatchedInsertReWriteEnabledTest.class, + BatchExecuteTest.class, + BatchFailureTest.class, + BlobTest.class, + BlobTransactionTest.class, + CallableStmtTest.class, + ClientEncodingTest.class, + ColumnSanitiserDisabledTest.class, + ColumnSanitiserEnabledTest.class, + CommandCompleteParserNegativeTest.class, + CommandCompleteParserTest.class, + ConcurrentStatementFetch.class, + ConnectionTest.class, + ConnectTimeoutTest.class, + CopyLargeFileTest.class, + CopyTest.class, + CursorFetchTest.class, + DatabaseEncodingTest.class, + DatabaseMetaDataPropertiesTest.class, + DatabaseMetaDataTest.class, + DateStyleTest.class, + DateTest.class, + DeepBatchedInsertStatementTest.class, + DriverTest.class, + EncodingTest.class, + ExpressionPropertiesTest.class, + GeometricTest.class, + GetXXXTest.class, + HostSpecTest.class, + IntervalTest.class, + JavaVersionTest.class, + JBuilderTest.class, + LoginTimeoutTest.class, + LruCacheTest.class, + MiscTest.class, + NativeQueryBindLengthTest.class, + NotifyTest.class, + OidToStringTest.class, + OidValueOfTest.class, + OptionsPropertyTest.class, + OuterJoinSyntaxTest.class, + ParameterStatusTest.class, + ParserTest.class, + PGPropertyTest.class, + PGTimestampTest.class, + PGTimeTest.class, + PreparedStatementTest.class, + PrimitiveArraySupportTest.class, + QuotationTest.class, + ReaderInputStreamTest.class, + RefCursorTest.class, + ReplaceProcessingTest.class, + ResultSetMetaDataTest.class, + ResultSetTest.class, + ReturningParserTest.class, + SearchPathLookupTest.class, + ServerCursorTest.class, + ServerErrorTest.class, + ServerPreparedStmtTest.class, + ServerVersionParseTest.class, + ServerVersionTest.class, + StatementTest.class, + StringTypeUnspecifiedArrayTest.class, + TestACL.class, + TimestampTest.class, + TimeTest.class, + TimezoneCachingTest.class, + TimezoneTest.class, + TypeCacheDLLStressTest.class, + UpdateableResultTest.class, + UpsertTest.class, + V3ParameterListTests.class, }) public class Jdbc2TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java index 5451587615..9951a30604 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ParameterStatusTest.java @@ -31,6 +31,11 @@ public class ParameterStatusTest extends BaseTest4 { private final TimeZone tzPlus0800 = TimeZone.getTimeZone("GMT+8:00"); private final Logger logger = Logger.getLogger(ParameterStatusTest.class.getName()); + @Override + public void tearDown() { + TimeZone.setDefault(null); + } + @Test public void expectedInitialParameters() throws Exception { TimeZone.setDefault(tzPlus0800); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeTest.java index 32468489ac..3e5a120a31 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/CompositeTest.java @@ -9,11 +9,16 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.postgresql.PGConnection; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.test.TestUtil; import org.postgresql.util.PGobject; import org.junit.After; +import org.junit.Assume; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import java.sql.Array; @@ -26,6 +31,16 @@ public class CompositeTest { private Connection conn; + @BeforeClass + public static void beforeClass() throws Exception { + Connection conn = TestUtil.openDB(); + try { + Assume.assumeTrue("uuid requires PostgreSQL 8.3+", TestUtil.haveMinimumServerVersion(conn, ServerVersion.v8_3)); + } finally { + conn.close(); + } + } + @Before public void setUp() throws Exception { conn = TestUtil.openDB(); @@ -74,6 +89,7 @@ public void testComplexSelect() throws SQLException { @Test public void testSimpleArgumentSelect() throws SQLException { + Assume.assumeTrue("Skip if running in simple query mode", conn.unwrap(PGConnection.class).getPreferQueryMode() != PreferQueryMode.SIMPLE); PreparedStatement pstmt = conn.prepareStatement("SELECT ?"); PGobject pgo = new PGobject(); pgo.setType("simplecompositetest"); @@ -87,6 +103,7 @@ public void testSimpleArgumentSelect() throws SQLException { @Test public void testComplexArgumentSelect() throws SQLException { + Assume.assumeTrue("Skip if running in simple query mode", conn.unwrap(PGConnection.class).getPreferQueryMode() != PreferQueryMode.SIMPLE); PreparedStatement pstmt = conn.prepareStatement("SELECT ?"); PGobject pgo = new PGobject(); pgo.setType("\"Composites\".\"ComplexCompositeTest\""); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java index a90abf632e..5e41f7bddd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java @@ -13,18 +13,20 @@ */ @RunWith(Suite.class) @Suite.SuiteClasses({ - Jdbc3CallableStatementTest.class, - GeneratedKeysTest.class, CompositeQueryParseTest.class, - SqlCommandParseTest.class, + CompositeTest.class, + DatabaseMetaDataTest.class, + GeneratedKeysTest.class, + Jdbc3BlobTest.class, + Jdbc3CallableStatementTest.class, Jdbc3SavepointTest.class, - TypesTest.class, - ResultSetTest.class, ParameterMetaDataTest.class, - Jdbc3BlobTest.class, - DatabaseMetaDataTest.class, + ResultSetTest.class, SendRecvBufferSizeTest.class, - StringTypeParameterTest.class}) + SqlCommandParseTest.class, + StringTypeParameterTest.class, + TypesTest.class, +}) public class Jdbc3TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java index 405d977fb8..2929244524 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java @@ -13,18 +13,20 @@ */ @RunWith(Suite.class) @Suite.SuiteClasses({ - DatabaseMetaDataTest.class, - ArrayTest.class, - WrapperTest.class, - BinaryTest.class, - IsValidTest.class, - ClientInfoTest.class, - PGCopyInputStreamTest.class, - BlobTest.class, - BinaryStreamTest.class, - CharacterStreamTest.class, - UUIDTest.class, - XmlTest.class + ArrayTest.class, + BinaryStreamTest.class, + BinaryTest.class, + BlobTest.class, + CharacterStreamTest.class, + ClientInfoTest.class, + DatabaseMetaDataTest.class, + IsValidTest.class, + JsonbTest.class, + LogTest.class, + PGCopyInputStreamTest.class, + UUIDTest.class, + WrapperTest.class, + XmlTest.class, }) public class Jdbc4TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java index 046696a054..f9ceeed90c 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/Jdbc41TestSuite.java @@ -13,13 +13,13 @@ */ @RunWith(Suite.class) @Suite.SuiteClasses({ - SchemaTest.class, - AbortTest.class, - CloseOnCompletionTest.class, - SharedTimerClassLoaderLeakTest.class, - NetworkTimeoutTest.class, - GetObjectTest.class} - ) + AbortTest.class, + CloseOnCompletionTest.class, + GetObjectTest.class, + NetworkTimeoutTest.class, + SchemaTest.class, + SharedTimerClassLoaderLeakTest.class, +}) public class Jdbc41TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java index d4e32c59df..6b92e46f83 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java @@ -11,13 +11,14 @@ @RunWith(Suite.class) @SuiteClasses({ - SimpleJdbc42Test.class, CustomizeDefaultFetchSizeTest.class, + GetObject310InfinityTests.class, GetObject310Test.class, - PreparedStatementTest.class, Jdbc42CallableStatementTest.class, - GetObject310InfinityTests.class, - SetObject310Test.class}) + PreparedStatementTest.class, + SetObject310Test.class, + SimpleJdbc42Test.class, +}) public class Jdbc42TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java index cf48916f42..2dece06e05 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java @@ -10,9 +10,9 @@ @RunWith(Suite.class) @Suite.SuiteClasses({ - LibPQFactoryHostNameTest.class, CommonNameVerifierTest.class, - SslTest.class + LibPQFactoryHostNameTest.class, + SslTest.class, }) public class SslTestSuite { } From c30556c6c059f25d4ed43608d1b2a2f02a168389 Mon Sep 17 00:00:00 2001 From: Hajar Razip <38566952+mshajarrazip@users.noreply.github.com> Date: Fri, 19 Jul 2019 19:45:51 +0900 Subject: [PATCH 310/427] docs: add note on behavior of ResultSet.getString() (#1286) (#1528) * docs: add note on behavior of ResultSet.getString() (#1286) * docs: revise note on behavior of ResultSet.getString() (#1286) revision based on comment by @bokken --- docs/documentation/94/resultset.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/documentation/94/resultset.md b/docs/documentation/94/resultset.md index 58c5f5a449..02204858b1 100644 --- a/docs/documentation/94/resultset.md +++ b/docs/documentation/94/resultset.md @@ -16,4 +16,14 @@ The following must be considered when using the `ResultSet` interface: * You must close a `ResultSet` by calling `close()` once you have finished using it. * Once you make another query with the `Statement` used to create a `ResultSet`, - the currently open `ResultSet` instance is closed automatically. \ No newline at end of file + the currently open `ResultSet` instance is closed automatically. +* When PreparedStatement API is used, `ResultSet` switches to binary mode after + five query executions (this default is set by the `prepareThreshold` + connection property, see [Server Prepared Statements](server-prepare.md)). + This may cause unexpected behavior when some methods are called. For example, + results on method calls such as `getString()` on non-string data types, + while logically equivalent, may be formatted differently after execution exceeds + the set `prepareThreshold` when conversion to object method switches to one + matching the return mode. + + \ No newline at end of file From 1d0c477abbe23f23681a924ee0d216a5f7188079 Mon Sep 17 00:00:00 2001 From: Myo Wai Thant <40167572+myowaithant9@users.noreply.github.com> Date: Tue, 23 Jul 2019 20:23:54 +0900 Subject: [PATCH 311/427] Issue 1134 Map inet type to InetAddress (#1527) * added getInetAddress function and throw Exception --- .../org/postgresql/jdbc/PgConnection.java | 11 ++++++++++ .../java/org/postgresql/jdbc/PgResultSet.java | 21 +++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 42bfe0a275..52c5a51901 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -39,6 +39,8 @@ import org.postgresql.util.PSQLState; import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.sql.Array; import java.sql.Blob; import java.sql.CallableStatement; @@ -549,6 +551,15 @@ public Object getObject(String type, String value, byte[] byteValue) throws SQLE } } + if (type.equals("inet")) { + try { + return InetAddress.getByName(value); + } catch (UnknownHostException e) { + throw new PSQLException(GT.tr("IP address {0} of a host could not be determined", value), + PSQLState.CONNECTION_FAILURE, e); + } + } + PGobject obj = null; if (LOGGER.isLoggable(Level.FINEST)) { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 403acc9715..e070c270ce 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -36,7 +36,6 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.net.InetAddress; -import java.net.UnknownHostException; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; @@ -219,6 +218,10 @@ protected Object internalGetObject(int columnIndex, Field field) throws SQLExcep return getString(columnIndex); } + if (type.equals("inet")) { + return getInetAddress(getPGType(columnIndex), getString(columnIndex)); + } + if (type.equals("uuid")) { if (isBinary(columnIndex)) { return getUUID(thisRow[columnIndex - 1]); @@ -3056,6 +3059,16 @@ protected Object getUUID(byte[] data) throws SQLException { return new UUID(ByteConverter.int8(data, 0), ByteConverter.int8(data, 8)); } + protected Object getInetAddress(String type, String data) throws SQLException { + InetAddress inet; + try { + inet = (InetAddress) connection.getObject(type, data, null); + } catch (IllegalArgumentException iae) { + throw new PSQLException(GT.tr("Invalid Inet data."), PSQLState.INVALID_PARAMETER_VALUE, iae); + } + return inet; + } + private class PrimaryKey { int index; // where in the result set is this primaryKey String name; // what is the columnName of this primary Key @@ -3310,11 +3323,7 @@ public T getObject(int columnIndex, Class type) throws SQLException { if (addressString == null) { return null; } - try { - return type.cast(InetAddress.getByName(((PGobject) addressString).getValue())); - } catch (UnknownHostException e) { - throw new SQLException("could not create inet address from string '" + addressString + "'"); - } + return type.cast(getObject(columnIndex)); // JSR-310 support //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" } else if (type == LocalDate.class) { From fcbbc3e6408cc1bcf459b740c683f3db40a5050c Mon Sep 17 00:00:00 2001 From: Matteo Melli Date: Wed, 24 Jul 2019 16:15:53 +0200 Subject: [PATCH 312/427] Updated scram to version 2.0 (#1532) --- pgjdbc/pom.xml | 2 +- .../core/v3/ConnectionFactoryImpl.java | 12 +++---- .../sasl/ScramAuthenticator.java | 31 ++++++++++++------- 3 files changed, 26 insertions(+), 19 deletions(-) rename pgjdbc/src/main/java/org/postgresql/{jre8 => jre7}/sasl/ScramAuthenticator.java (85%) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index fc2ff11901..386d6d991e 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -40,7 +40,7 @@ com.ongres.scram client - 1.0.0-beta.2 + 2.0 diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 78cdcc4d45..e342cb2521 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -495,9 +495,9 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope /* SSPI negotiation state, if used */ ISSPIClient sspiClient = null; - //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" /* SCRAM authentication state, if used */ - org.postgresql.jre8.sasl.ScramAuthenticator scramAuthenticator = null; + org.postgresql.jre7.sasl.ScramAuthenticator scramAuthenticator = null; //#endif try { @@ -661,8 +661,8 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope case AUTH_REQ_SASL: LOGGER.log(Level.FINEST, " <=BE AuthenticationSASL"); - //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" - scramAuthenticator = new org.postgresql.jre8.sasl.ScramAuthenticator(user, password, pgStream); + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" + scramAuthenticator = new org.postgresql.jre7.sasl.ScramAuthenticator(user, password, pgStream); scramAuthenticator.processServerMechanismsAndInit(); scramAuthenticator.sendScramClientFirstMessage(); // This works as follows: @@ -674,12 +674,12 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope "SCRAM authentication is not supported by this driver. You need JDK >= 8 and pgjdbc >= 42.2.0 (not \".jre\" versions)", areq), PSQLState.CONNECTION_REJECTED); //#endif - //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" } break; //#endif - //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" case AUTH_REQ_SASL_CONTINUE: scramAuthenticator.processServerFirstMessage(msgLen - 4 - 4); break; diff --git a/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java b/pgjdbc/src/main/java/org/postgresql/jre7/sasl/ScramAuthenticator.java similarity index 85% rename from pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java rename to pgjdbc/src/main/java/org/postgresql/jre7/sasl/ScramAuthenticator.java index 3abe193d25..2d973872c2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jre8/sasl/ScramAuthenticator.java +++ b/pgjdbc/src/main/java/org/postgresql/jre7/sasl/ScramAuthenticator.java @@ -3,7 +3,7 @@ * See the LICENSE file in the project root for more information. */ -package org.postgresql.jre8.sasl; +package org.postgresql.jre7.sasl; import org.postgresql.core.PGStream; import org.postgresql.util.GT; @@ -36,7 +36,6 @@ public class ScramAuthenticator { private ScramSession.ServerFirstProcessor serverFirstProcessor; private ScramSession.ClientFinalProcessor clientFinalProcessor; - @FunctionalInterface private interface BodySender { void sendBody(PGStream pgStream) throws IOException; } @@ -44,7 +43,7 @@ private interface BodySender { private void sendAuthenticationMessage(int bodyLength, BodySender bodySender) throws IOException { pgStream.sendChar('p'); - pgStream.sendInteger4(Integer.BYTES + bodyLength); + pgStream.sendInteger4(Integer.SIZE / Byte.SIZE + bodyLength); bodySender.sendBody(pgStream); pgStream.flush(); } @@ -94,15 +93,18 @@ public void sendScramClientFirstMessage() throws IOException { LOGGER.log(Level.FINEST, " FE=> SASLInitialResponse( {0} )", clientFirstMessage); String scramMechanismName = scramClient.getScramMechanism().getName(); - byte[] scramMechanismNameBytes = scramMechanismName.getBytes(StandardCharsets.UTF_8); - byte[] clientFirstMessageBytes = clientFirstMessage.getBytes(StandardCharsets.UTF_8); + final byte[] scramMechanismNameBytes = scramMechanismName.getBytes(StandardCharsets.UTF_8); + final byte[] clientFirstMessageBytes = clientFirstMessage.getBytes(StandardCharsets.UTF_8); sendAuthenticationMessage( (scramMechanismNameBytes.length + 1) + 4 + clientFirstMessageBytes.length, - s -> { - s.send(scramMechanismNameBytes); - s.sendChar(0); // List terminated in '\0' - s.sendInteger4(clientFirstMessageBytes.length); - s.send(clientFirstMessageBytes); + new BodySender() { + @Override + public void sendBody(PGStream pgStream) throws IOException { + pgStream.send(scramMechanismNameBytes); + pgStream.sendChar(0); // List terminated in '\0' + pgStream.sendInteger4(clientFirstMessageBytes.length); + pgStream.send(clientFirstMessageBytes); + } } ); } @@ -132,10 +134,15 @@ public void processServerFirstMessage(int length) throws IOException, PSQLExcept String clientFinalMessage = clientFinalProcessor.clientFinalMessage(); LOGGER.log(Level.FINEST, " FE=> SASLResponse( {0} )", clientFinalMessage); - byte[] clientFinalMessageBytes = clientFinalMessage.getBytes(StandardCharsets.UTF_8); + final byte[] clientFinalMessageBytes = clientFinalMessage.getBytes(StandardCharsets.UTF_8); sendAuthenticationMessage( clientFinalMessageBytes.length, - s -> s.send(clientFinalMessageBytes) + new BodySender() { + @Override + public void sendBody(PGStream pgStream) throws IOException { + pgStream.send(clientFinalMessageBytes); + } + } ); } From fc8efc9a98e86059701e8674017947c0b702cab1 Mon Sep 17 00:00:00 2001 From: Hajar Razip <38566952+mshajarrazip@users.noreply.github.com> Date: Wed, 31 Jul 2019 21:36:19 +0900 Subject: [PATCH 313/427] docs: update resultset.md in head to reflect 94 (#1528) (#1536) --- docs/documentation/head/resultset.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/documentation/head/resultset.md b/docs/documentation/head/resultset.md index 58c5f5a449..2be54d19f5 100644 --- a/docs/documentation/head/resultset.md +++ b/docs/documentation/head/resultset.md @@ -16,4 +16,12 @@ The following must be considered when using the `ResultSet` interface: * You must close a `ResultSet` by calling `close()` once you have finished using it. * Once you make another query with the `Statement` used to create a `ResultSet`, - the currently open `ResultSet` instance is closed automatically. \ No newline at end of file + the currently open `ResultSet` instance is closed automatically. +* When PreparedStatement API is used, `ResultSet` switches to binary mode after + five query executions (this default is set by the `prepareThreshold` + connection property, see [Server Prepared Statements](server-prepare.md)). + This may cause unexpected behavior when some methods are called. For example, + results on method calls such as `getString()` on non-string data types, + while logically equivalent, may be formatted differently after execution exceeds + the set `prepareThreshold` when conversion to object method switches to one + matching the return mode. \ No newline at end of file From 0600990007669119b73ee2adb064184a4c62343f Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 31 Jul 2019 15:59:12 -0400 Subject: [PATCH 314/427] add automatic module name to manifest for jdk9+ (#1538) * add automatic module name to manifest for jdk9+ --- pgjdbc/pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 386d6d991e..ca586c3771 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -240,6 +240,17 @@ UTF-8 + + org.apache.maven.plugins + maven-jar-plugin + + + + org.postgresql.jdbc + + + + org.apache.maven.plugins maven-shade-plugin From 36a75cbaab4bda1b55f48aa9064258051cd89b10 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 26 Aug 2019 10:16:29 -0400 Subject: [PATCH 315/427] fix issue 1547, as long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed (#1548) --- .../java/org/postgresql/core/PGStream.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 7ed6fc3e55..d8bcb3a69e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -115,25 +115,39 @@ public SocketFactory getSocketFactory() { * @throws IOException if something wrong happens */ public boolean hasMessagePending() throws IOException { + + boolean available = false; + + // In certain cases, available returns 0, yet there are bytes if (pgInput.available() > 0) { return true; } - // In certain cases, available returns 0, yet there are bytes - long now = System.currentTimeMillis(); + long now = System.nanoTime() / 1000000; + if (now < nextStreamAvailableCheckTime && minStreamAvailableCheckDelay != 0) { // Do not use ".peek" too often return false; } - nextStreamAvailableCheckTime = now + minStreamAvailableCheckDelay; + int soTimeout = getNetworkTimeout(); setNetworkTimeout(1); try { - return pgInput.peek() != -1; + available = (pgInput.peek() != -1); } catch (SocketTimeoutException e) { return false; } finally { setNetworkTimeout(soTimeout); } + + /* + If none available then set the next check time + In the event that there more async bytes available we will continue to get them all + see issue 1547 https://github.com/pgjdbc/pgjdbc/issues/1547 + */ + if (!available) { + nextStreamAvailableCheckTime = now + minStreamAvailableCheckDelay; + } + return available; } public void setMinStreamAvailableCheckDelay(int delay) { From 60fa6d374a392d00475be0c128804c43b2852a35 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Tue, 27 Aug 2019 17:22:18 +0200 Subject: [PATCH 316/427] fix: proleptic java.time support (#1539) Make the java.time support proleptic by not going through TimestampUtils.toJavaSecs when in binary mode. Fixes #1534 --- .../java/org/postgresql/jdbc/PgResultSet.java | 56 +++++-- .../org/postgresql/jdbc/TimestampUtils.java | 140 ++++++++++++++++-- .../jdbc42/GetObject310InfinityTests.java | 6 +- .../test/jdbc42/GetObject310Test.java | 110 ++++++++++++++ .../jdbc42/SetObject310InfinityTests.java | 132 +++++++++++++++++ .../test/jdbc42/SetObject310Test.java | 5 +- 6 files changed, 418 insertions(+), 31 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310InfinityTests.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index e070c270ce..ec0a8294b1 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -58,7 +58,6 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; -import java.time.ZoneOffset; //#endif import java.util.ArrayList; import java.util.Calendar; @@ -604,6 +603,44 @@ public Timestamp getTimestamp(int i, java.util.Calendar cal) throws SQLException } //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + private OffsetDateTime getOffsetDateTime(int i) throws SQLException { + checkResultSet(i); + if (wasNullFlag) { + return null; + } + + int col = i - 1; + int oid = fields[col].getOID(); + + if (isBinary(i)) { + if (oid == Oid.TIMESTAMPTZ || oid == Oid.TIMESTAMP) { + return connection.getTimestampUtils().toOffsetDateTimeBin(thisRow[col]); + } else if (oid == Oid.TIMETZ) { + // JDBC spec says timetz must be supported + Time time = getTime(i); + return connection.getTimestampUtils().toOffsetDateTime(time); + } else { + throw new PSQLException( + GT.tr("Cannot convert the column of type {0} to requested type {1}.", + Oid.toString(oid), "timestamptz"), + PSQLState.DATA_TYPE_MISMATCH); + } + } + + // If this is actually a timestamptz, the server-provided timezone will override + // the one we pass in, which is the desired behaviour. Otherwise, we'll + // interpret the timezone-less value in the provided timezone. + String string = getString(i); + if (oid == Oid.TIMETZ) { + // JDBC spec says timetz must be supported + // If server sends us a TIMETZ, we ensure java counterpart has date of 1970-01-01 + Calendar cal = getDefaultCalendar(); + Time time = connection.getTimestampUtils().toTime(cal, string); + return connection.getTimestampUtils().toOffsetDateTime(time); + } + return connection.getTimestampUtils().toOffsetDateTime(string); + } + private LocalDateTime getLocalDateTime(int i) throws SQLException { checkResultSet(i); if (wasNullFlag) { @@ -619,8 +656,7 @@ private LocalDateTime getLocalDateTime(int i) throws SQLException { PSQLState.DATA_TYPE_MISMATCH); } if (isBinary(i)) { - TimeZone timeZone = getDefaultCalendar().getTimeZone(); - return connection.getTimestampUtils().toLocalDateTimeBin(timeZone, thisRow[col]); + return connection.getTimestampUtils().toLocalDateTimeBin(thisRow[col]); } String string = getString(i); @@ -3366,19 +3402,7 @@ public T getObject(int columnIndex, Class type) throws SQLException { } } else if (type == OffsetDateTime.class) { if (sqlType == Types.TIMESTAMP_WITH_TIMEZONE || sqlType == Types.TIMESTAMP) { - Timestamp timestampValue = getTimestamp(columnIndex); - if (wasNull()) { - return null; - } - long time = timestampValue.getTime(); - if (time == PGStatement.DATE_POSITIVE_INFINITY) { - return type.cast(OffsetDateTime.MAX); - } - if (time == PGStatement.DATE_NEGATIVE_INFINITY) { - return type.cast(OffsetDateTime.MIN); - } - // Postgres stores everything in UTC and does not keep original time zone - OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(timestampValue.toInstant(), ZoneOffset.UTC); + OffsetDateTime offsetDateTime = getOffsetDateTime(columnIndex); return type.cast(offsetDateTime); } else { throw new PSQLException(GT.tr("conversion to {0} from {1} not supported", type, getPGType(columnIndex)), diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 4dd76e00f2..59341329c2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -21,6 +21,7 @@ import java.sql.Timestamp; //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" import java.time.Duration; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -56,6 +57,10 @@ public class TimestampUtils { private static final LocalTime MAX_TIME = LocalTime.MAX.minus(Duration.ofMillis(500)); private static final OffsetDateTime MAX_OFFSET_DATETIME = OffsetDateTime.MAX.minus(Duration.ofMillis(500)); private static final LocalDateTime MAX_LOCAL_DATETIME = LocalDateTime.MAX.minus(Duration.ofMillis(500)); + // low value for dates is 4713 BC + private static final LocalDate MIN_LOCAL_DATE = LocalDate.of(4713, 1, 1).with(ChronoField.ERA, IsoEra.BCE.getValue()); + private static final LocalDateTime MIN_LOCAL_DATETIME = MIN_LOCAL_DATE.atStartOfDay(); + private static final OffsetDateTime MIN_OFFSET_DATETIME = MIN_LOCAL_DATETIME.atOffset(ZoneOffset.UTC); //#endif private static final Field DEFAULT_TIME_ZONE_FIELD; @@ -469,6 +474,83 @@ public LocalDateTime toLocalDateTime(String s) throws SQLException { return result; } } + + /** + * Parse a string and return a LocalDateTime representing its value. + * + * @param s The ISO formated date string to parse. + * @return null if s is null or a LocalDateTime of the parsed string s. + * @throws SQLException if there is a problem parsing s. + */ + public OffsetDateTime toOffsetDateTime(String s) throws SQLException { + if (s == null) { + return null; + } + + int slen = s.length(); + + // convert postgres's infinity values to internal infinity magic value + if (slen == 8 && s.equals("infinity")) { + return OffsetDateTime.MAX; + } + + if (slen == 9 && s.equals("-infinity")) { + return OffsetDateTime.MIN; + } + + ParsedTimestamp ts = parseBackendTimestamp(s); + + Calendar tz = ts.tz; + int offsetSeconds; + if (tz == null) { + offsetSeconds = 0; + } else { + offsetSeconds = tz.get(Calendar.ZONE_OFFSET) / 1000; + } + ZoneOffset zoneOffset = ZoneOffset.ofTotalSeconds(offsetSeconds); + // Postgres is always UTC + OffsetDateTime result = OffsetDateTime.of(ts.year, ts.month, ts.day, ts.hour, ts.minute, ts.second, ts.nanos, zoneOffset) + .withOffsetSameInstant(ZoneOffset.UTC); + if (ts.era == GregorianCalendar.BC) { + return result.with(ChronoField.ERA, IsoEra.BCE.getValue()); + } else { + return result; + } + } + + /** + * Returns the offset date time object matching the given bytes with Oid#TIMETZ. + * + * @param t the time value + * @return the matching offset date time + */ + public OffsetDateTime toOffsetDateTime(Time t) { + // hardcode utc because the backend does not provide us the timezone + // hardoce UNIX epoch, JDBC requires OffsetDateTime but doesn't describe what date should be used + return t.toLocalTime().atDate(LocalDate.of(1970, 1, 1)).atOffset(ZoneOffset.UTC); + } + + /** + * Returns the offset date time object matching the given bytes with Oid#TIMESTAMPTZ. + * + * @param bytes The binary encoded local date time value. + * @return The parsed local date time object. + * @throws PSQLException If binary format could not be parsed. + */ + public OffsetDateTime toOffsetDateTimeBin(byte[] bytes) throws PSQLException { + ParsedBinaryTimestamp parsedTimestamp = this.toProlepticParsedTimestampBin(bytes); + if (parsedTimestamp.infinity == Infinity.POSITIVE) { + return OffsetDateTime.MAX; + } else if (parsedTimestamp.infinity == Infinity.NEGATIVE) { + return OffsetDateTime.MIN; + } + + // hardcode utc because the backend does not provide us the timezone + // Postgres is always UTC + Instant instant = Instant.ofEpochSecond(parsedTimestamp.millis / 1000L, parsedTimestamp.nanos); + return OffsetDateTime.ofInstant(instant, ZoneOffset.UTC); + } + //#endif public synchronized Time toTime(Calendar cal, String s) throws SQLException { @@ -758,7 +840,7 @@ private static void appendEra(StringBuilder sb, Calendar cal) { public synchronized String toString(LocalDate localDate) { if (LocalDate.MAX.equals(localDate)) { return "infinity"; - } else if (LocalDate.MIN.equals(localDate)) { + } else if (localDate.isBefore(MIN_LOCAL_DATE)) { return "-infinity"; } @@ -792,7 +874,7 @@ public synchronized String toString(LocalTime localTime) { public synchronized String toString(OffsetDateTime offsetDateTime) { if (offsetDateTime.isAfter(MAX_OFFSET_DATETIME)) { return "infinity"; - } else if (OffsetDateTime.MIN.equals(offsetDateTime)) { + } else if (offsetDateTime.isBefore(MIN_OFFSET_DATETIME)) { return "-infinity"; } @@ -824,7 +906,7 @@ public synchronized String toString(OffsetDateTime offsetDateTime) { public synchronized String toString(LocalDateTime localDateTime) { if (localDateTime.isAfter(MAX_LOCAL_DATETIME)) { return "infinity"; - } else if (LocalDateTime.MIN.equals(localDateTime)) { + } else if (localDateTime.isBefore(MIN_LOCAL_DATETIME)) { return "-infinity"; } @@ -1056,8 +1138,8 @@ public Timestamp toTimestampBin(TimeZone tz, byte[] bytes, boolean timestamptz) return ts; } - private ParsedBinaryTimestamp toParsedTimestampBin(TimeZone tz, byte[] bytes, boolean timestamptz) - throws PSQLException { + private ParsedBinaryTimestamp toParsedTimestampBinPlain(byte[] bytes) + throws PSQLException { if (bytes.length != 8) { throw new PSQLException(GT.tr("Unsupported binary encoding of {0}.", "timestamp"), @@ -1106,6 +1188,24 @@ private ParsedBinaryTimestamp toParsedTimestampBin(TimeZone tz, byte[] bytes, bo } nanos *= 1000; + long millis = secs * 1000L; + + ParsedBinaryTimestamp ts = new ParsedBinaryTimestamp(); + ts.millis = millis; + ts.nanos = nanos; + return ts; + } + + private ParsedBinaryTimestamp toParsedTimestampBin(TimeZone tz, byte[] bytes, boolean timestamptz) + throws PSQLException { + + ParsedBinaryTimestamp ts = toParsedTimestampBinPlain(bytes); + if (ts.infinity != null) { + return ts; + } + + long secs = ts.millis / 1000L; + secs = toJavaSecs(secs); long millis = secs * 1000L; if (!timestamptz) { @@ -1114,9 +1214,25 @@ private ParsedBinaryTimestamp toParsedTimestampBin(TimeZone tz, byte[] bytes, bo millis = guessTimestamp(millis, tz); } - ParsedBinaryTimestamp ts = new ParsedBinaryTimestamp(); ts.millis = millis; - ts.nanos = nanos; + return ts; + } + + private ParsedBinaryTimestamp toProlepticParsedTimestampBin(byte[] bytes) + throws PSQLException { + + ParsedBinaryTimestamp ts = toParsedTimestampBinPlain(bytes); + if (ts.infinity != null) { + return ts; + } + + long secs = ts.millis / 1000L; + + // postgres epoc to java epoc + secs += 946684800L; + long millis = secs * 1000L; + + ts.millis = millis; return ts; } @@ -1124,21 +1240,22 @@ private ParsedBinaryTimestamp toParsedTimestampBin(TimeZone tz, byte[] bytes, bo /** * Returns the local date time object matching the given bytes with {@link Oid#TIMESTAMP} or * {@link Oid#TIMESTAMPTZ}. - * - * @param tz time zone to use * @param bytes The binary encoded local date time value. + * * @return The parsed local date time object. * @throws PSQLException If binary format could not be parsed. */ - public LocalDateTime toLocalDateTimeBin(TimeZone tz, byte[] bytes) throws PSQLException { + public LocalDateTime toLocalDateTimeBin(byte[] bytes) throws PSQLException { - ParsedBinaryTimestamp parsedTimestamp = this.toParsedTimestampBin(tz, bytes, true); + ParsedBinaryTimestamp parsedTimestamp = this.toProlepticParsedTimestampBin(bytes); if (parsedTimestamp.infinity == Infinity.POSITIVE) { return LocalDateTime.MAX; } else if (parsedTimestamp.infinity == Infinity.NEGATIVE) { return LocalDateTime.MIN; } + // hardcode utc because the backend does not provide us the timezone + // Postgres is always UTC return LocalDateTime.ofEpochSecond(parsedTimestamp.millis / 1000L, parsedTimestamp.nanos, ZoneOffset.UTC); } //#endif @@ -1426,4 +1543,5 @@ private static long floorDiv(long x, long y) { private static long floorMod(long x, long y) { return x - floorDiv(x, y) * y; } + } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310InfinityTests.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310InfinityTests.java index f4cc36563e..04b81c8456 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310InfinityTests.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310InfinityTests.java @@ -30,11 +30,11 @@ public class GetObject310InfinityTests extends BaseTest4 { private final String expression; private final String pgType; - private final Class klass; + private final Class klass; private final Object expectedValue; public GetObject310InfinityTests(BinaryMode binaryMode, String expression, - String pgType, Class klass, Object expectedValue) { + String pgType, Class klass, Object expectedValue) { setBinaryMode(binaryMode); this.expression = expression; this.pgType = pgType; @@ -56,7 +56,7 @@ public static Iterable data() throws IllegalAccessException { for (String expression : Arrays.asList("-infinity", "infinity")) { for (String pgType : Arrays.asList("date", "timestamp", "timestamp with time zone")) { - for (Class klass : Arrays.asList(LocalDate.class, LocalDateTime.class, + for (Class klass : Arrays.asList(LocalDate.class, LocalDateTime.class, OffsetDateTime.class)) { if (klass.equals(LocalDate.class) && !pgType.equals("date")) { continue; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java index e3b048bf71..b5dc6be683 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/GetObject310Test.java @@ -6,10 +6,12 @@ package org.postgresql.test.jdbc42; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeTrue; +import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; import org.postgresql.util.PSQLException; @@ -19,20 +21,28 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZoneId; import java.time.ZoneOffset; +import java.time.chrono.IsoEra; +import java.time.temporal.ChronoField; +import java.time.temporal.Temporal; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.TimeZone; +import java.util.function.UnaryOperator; +import java.util.stream.Collectors; +import java.util.stream.Stream; @RunWith(Parameterized.class) public class GetObject310Test extends BaseTest4 { @@ -191,6 +201,9 @@ public void testGetLocalDateTime() throws SQLException { // This is a pre-1970 date, so check if it is rounded properly "1950-07-20T02:00:00", + // Ensure the calendar is proleptic + "1582-09-30T00:00:00", "1582-10-16T00:00:00", + // On 2000-10-29 03:00:00 Moscow went to regular time, thus local time became 02:00:00 "2000-10-29T01:59:59", "2000-10-29T02:00:00", "2000-10-29T02:00:01", "2000-10-29T02:59:59", "2000-10-29T03:00:00", "2000-10-29T03:00:01", "2000-10-29T03:59:59", "2000-10-29T04:00:00", @@ -262,4 +275,101 @@ private void runGetOffsetDateTime(ZoneOffset offset) throws SQLException { } } + @Test + public void testBcTimestamp() throws SQLException { + + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT '1582-09-30 12:34:56 BC'::timestamp"); + try { + assertTrue(rs.next()); + LocalDateTime expected = LocalDateTime.of(1582, 9, 30, 12, 34, 56) + .with(ChronoField.ERA, IsoEra.BCE.getValue()); + LocalDateTime actual = rs.getObject(1, LocalDateTime.class); + assertEquals(expected, actual); + assertFalse(rs.next()); + } finally { + rs.close(); + stmt.close(); + } + } + + @Test + public void testBcTimestamptz() throws SQLException { + + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT '1582-09-30 12:34:56Z BC'::timestamp"); + try { + assertTrue(rs.next()); + OffsetDateTime expected = OffsetDateTime.of(1582, 9, 30, 12, 34, 56, 0, UTC) + .with(ChronoField.ERA, IsoEra.BCE.getValue()); + OffsetDateTime actual = rs.getObject(1, OffsetDateTime.class); + assertEquals(expected, actual); + assertFalse(rs.next()); + } finally { + rs.close(); + stmt.close(); + } + } + + @Test + public void testProlepticCalendarTimestamp() throws SQLException { + // date time ranges and CTEs are both new with 8.4 + assumeMinimumServerVersion(ServerVersion.v8_4); + LocalDateTime start = LocalDate.of(1582, 9, 30).atStartOfDay(); + LocalDateTime end = LocalDate.of(1582, 10, 16).atStartOfDay(); + long numberOfDays = Duration.between(start, end).toDays() + 1L; + List range = Stream.iterate(start, new LocalDateTimePlusOneDay()) + .limit(numberOfDays) + .collect(Collectors.toList()); + + runProlepticTests(LocalDateTime.class, "'1582-09-30 00:00'::timestamp, '1582-10-16 00:00'::timestamp", range); + } + + @Test + public void testProlepticCalendarTimestamptz() throws SQLException { + // date time ranges and CTEs are both new with 8.4 + assumeMinimumServerVersion(ServerVersion.v8_4); + OffsetDateTime start = LocalDate.of(1582, 9, 30).atStartOfDay().atOffset(UTC); + OffsetDateTime end = LocalDate.of(1582, 10, 16).atStartOfDay().atOffset(UTC); + long numberOfDays = Duration.between(start, end).toDays() + 1L; + List range = Stream.iterate(start, new OffsetDateTimePlusOneDay()) + .limit(numberOfDays) + .collect(Collectors.toList()); + + runProlepticTests(OffsetDateTime.class, "'1582-09-30 00:00:00 Z'::timestamptz, '1582-10-16 00:00:00 Z'::timestamptz", range); + } + + private void runProlepticTests(Class clazz, String selectRange, List range) throws SQLException { + List temporals = new ArrayList<>(range.size()); + + PreparedStatement stmt = con.prepareStatement("SELECT * FROM generate_series(" + selectRange + ", '1 day');"); + ResultSet rs = stmt.executeQuery(); + try { + while (rs.next()) { + T temporal = rs.getObject(1, clazz); + temporals.add(temporal); + } + assertEquals(range, temporals); + } finally { + rs.close(); + stmt.close(); + } + } + + private static class LocalDateTimePlusOneDay implements UnaryOperator { + + @Override + public LocalDateTime apply(LocalDateTime x) { + return x.plusDays(1); + } + } + + private static class OffsetDateTimePlusOneDay implements UnaryOperator { + + @Override + public OffsetDateTime apply(OffsetDateTime x) { + return x.plusDays(1); + } + } + } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310InfinityTests.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310InfinityTests.java new file mode 100644 index 0000000000..86457aa2b8 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310InfinityTests.java @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2017, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc42; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.postgresql.core.ServerVersion; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import org.junit.After; +import org.junit.Assume; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Collection; + +@RunWith(Parameterized.class) +public class SetObject310InfinityTests extends BaseTest4 { + + public SetObject310InfinityTests(BinaryMode binaryMode) { + setBinaryMode(binaryMode); + } + + @Parameterized.Parameters(name = "binary = {0}") + public static Iterable data() { + Collection ids = new ArrayList<>(2); + for (BaseTest4.BinaryMode binaryMode : BaseTest4.BinaryMode.values()) { + ids.add(new Object[]{binaryMode}); + } + return ids; + } + + @Override + public void setUp() throws Exception { + super.setUp(); + Assume.assumeTrue("PostgreSQL 8.3 does not support 'infinity' for 'date'", + TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_4)); + super.setUp(); + TestUtil.createTable(con, "table1", "timestamp_without_time_zone_column timestamp without time zone," + + "timestamp_with_time_zone_column timestamp with time zone," + + "date_column date" + ); + } + + @After + public void tearDown() throws SQLException { + TestUtil.dropTable(con, "table1"); + super.tearDown(); + } + + @Test + public void testTimestamptz() throws SQLException { + runTestforType(OffsetDateTime.MAX, OffsetDateTime.MIN, "timestamp_without_time_zone_column", null); + } + + @Test + public void testTimestamp() throws SQLException { + runTestforType(LocalDateTime.MAX, LocalDateTime.MIN, "timestamp_without_time_zone_column", null); + } + + @Test + public void testDate() throws SQLException { + runTestforType(LocalDate.MAX, LocalDate.MIN, "date_column", null); + } + + private void runTestforType(Object max, Object min, String columnName, Integer type) throws SQLException { + insert(max, columnName, type); + String readback = readString(columnName); + assertEquals("infinity", readback); + delete(); + + insert(min, columnName, type); + readback = readString(columnName); + assertEquals("-infinity", readback); + delete(); + } + + private void insert(Object data, String columnName, Integer type) throws SQLException { + PreparedStatement ps = con.prepareStatement(TestUtil.insertSQL("table1", columnName, "?")); + try { + if (type != null) { + ps.setObject(1, data, type); + } else { + ps.setObject(1, data); + } + assertEquals(1, ps.executeUpdate()); + } finally { + ps.close(); + } + } + + private String readString(String columnName) throws SQLException { + Statement st = con.createStatement(); + try { + ResultSet rs = st.executeQuery(TestUtil.selectSQL("table1", columnName)); + try { + assertNotNull(rs); + assertTrue(rs.next()); + return rs.getString(1); + } finally { + rs.close(); + } + } finally { + st.close(); + } + } + + private void delete() throws SQLException { + Statement st = con.createStatement(); + try { + st.execute("DELETE FROM table1"); + } finally { + st.close(); + } + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java index 203132ce70..0b87e4e01b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/SetObject310Test.java @@ -260,6 +260,9 @@ private List getDatesToTest() { // This is a pre-1970 date, so check if it is rounded properly "1950-07-20T02:00:00", + // Ensure the calendar is proleptic + "1582-09-30T00:00:00", "1582-10-16T00:00:00", + // On 2000-10-29 03:00:00 Moscow went to regular time, thus local time became 02:00:00 "2000-10-29T01:59:59", "2000-10-29T02:00:00", "2000-10-29T02:00:01", "2000-10-29T02:59:59", "2000-10-29T03:00:00", "2000-10-29T03:00:01", "2000-10-29T03:59:59", "2000-10-29T04:00:00", @@ -311,7 +314,7 @@ private void offsetTimestamps(ZoneId dataZone, LocalDateTime localDateTime, Stri "OffsetDateTime=" + data + " (with ZoneId=" + dataZone + "), with TimeZone.default=" + storeZone + ", setObject(int, Object)", data.toInstant(), noTypeRes.toInstant()); - String withType = rs.getString(1); + String withType = rs.getString(2); OffsetDateTime withTypeRes = OffsetDateTime.parse(withType.replace(' ', 'T') + ":00"); assertEquals( "OffsetDateTime=" + data + " (with ZoneId=" + dataZone + "), with TimeZone.default=" From f89e62cdce4895f163dc95353cd31614347624b6 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 28 Aug 2019 09:23:02 -0400 Subject: [PATCH 317/427] =?UTF-8?q?fix:=20In=20logical=20decoding=20the=20?= =?UTF-8?q?if=20the=20backend=20was=20requesting=20a=20reply=20we=E2=80=A6?= =?UTF-8?q?=20(#1467)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Do not call processCopyResults in flush * Use System.nanos() instead of currentTimeMillis() * Added lock into processCopyResults * ignore concurrent requests to processCopyResults * reset the processingCopyResults in a try-finally block --- .../postgresql/core/v3/QueryExecutorImpl.java | 325 ++++++++++-------- .../v3/replication/V3PGReplicationStream.java | 17 +- 2 files changed, 188 insertions(+), 154 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index a787283ab8..6c5cc1e6db 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -62,6 +62,7 @@ import java.util.Properties; import java.util.Set; import java.util.TimeZone; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; import java.util.logging.Logger; @@ -1023,7 +1024,6 @@ public synchronized void writeToCopy(CopyOperationImpl op, byte[] data, int off, pgStream.sendInteger4(siz + 4); pgStream.send(data, off, siz); - processCopyResults(op, false); // collect any pending notifications without blocking } catch (IOException ioe) { throw new PSQLException(GT.tr("Database connection failed when writing to copy"), PSQLState.CONNECTION_FAILURE, ioe); @@ -1038,7 +1038,6 @@ public synchronized void flushCopy(CopyOperationImpl op) throws SQLException { try { pgStream.flush(); - processCopyResults(op, false); // collect any pending notifications without blocking } catch (IOException ioe) { throw new PSQLException(GT.tr("Database connection failed when writing to copy"), PSQLState.CONNECTION_FAILURE, ioe); @@ -1067,6 +1066,8 @@ synchronized void readFromCopy(CopyOperationImpl op, boolean block) throws SQLEx } } + AtomicBoolean processingCopyResults = new AtomicBoolean(false); + /** * Handles copy sub protocol responses from server. Unlocks at end of sub protocol, so operations * on pgStream or QueryExecutor are not allowed in a method after calling this! @@ -1080,205 +1081,226 @@ synchronized void readFromCopy(CopyOperationImpl op, boolean block) throws SQLEx CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) throws SQLException, IOException { - boolean endReceiving = false; - SQLException error = null; - SQLException errors = null; - int len; - - while (!endReceiving && (block || pgStream.hasMessagePending())) { - - // There is a bug in the server's implementation of the copy - // protocol. It returns command complete immediately upon - // receiving the EOF marker in the binary protocol, - // potentially before we've issued CopyDone. When we are not - // blocking, we don't think we are done, so we hold off on - // processing command complete and any subsequent messages - // until we actually are done with the copy. - // - if (!block) { - int c = pgStream.peekChar(); - if (c == 'C') { - // CommandComplete - LOGGER.log(Level.FINEST, " <=BE CommandStatus, Ignored until CopyDone"); - break; + /* + * This is a hack as we should not end up here, but sometimes do with large copy operations. + */ + if ( processingCopyResults.compareAndSet(false,true) == false ) { + LOGGER.log(Level.INFO, "Ignoring request to process copy results, already processing"); + return null; + } + + // put this all in a try, finally block and reset the processingCopyResults in the finally clause + try { + boolean endReceiving = false; + SQLException error = null; + SQLException errors = null; + int len; + + while (!endReceiving && (block || pgStream.hasMessagePending())) { + + // There is a bug in the server's implementation of the copy + // protocol. It returns command complete immediately upon + // receiving the EOF marker in the binary protocol, + // potentially before we've issued CopyDone. When we are not + // blocking, we don't think we are done, so we hold off on + // processing command complete and any subsequent messages + // until we actually are done with the copy. + // + if (!block) { + int c = pgStream.peekChar(); + if (c == 'C') { + // CommandComplete + LOGGER.log(Level.FINEST, " <=BE CommandStatus, Ignored until CopyDone"); + break; + } } - } - int c = pgStream.receiveChar(); - switch (c) { + int c = pgStream.receiveChar(); + switch (c) { - case 'A': // Asynchronous Notify + case 'A': // Asynchronous Notify - LOGGER.log(Level.FINEST, " <=BE Asynchronous Notification while copying"); + LOGGER.log(Level.FINEST, " <=BE Asynchronous Notification while copying"); - receiveAsyncNotify(); - break; + receiveAsyncNotify(); + break; - case 'N': // Notice Response + case 'N': // Notice Response - LOGGER.log(Level.FINEST, " <=BE Notification while copying"); + LOGGER.log(Level.FINEST, " <=BE Notification while copying"); - addWarning(receiveNoticeResponse()); - break; + addWarning(receiveNoticeResponse()); + break; - case 'C': // Command Complete + case 'C': // Command Complete - String status = receiveCommandStatus(); + String status = receiveCommandStatus(); - try { - if (op == null) { - throw new PSQLException(GT + try { + if (op == null) { + throw new PSQLException(GT .tr("Received CommandComplete ''{0}'' without an active copy operation", status), PSQLState.OBJECT_NOT_IN_STATE); + } + op.handleCommandStatus(status); + } catch (SQLException se) { + error = se; } - op.handleCommandStatus(status); - } catch (SQLException se) { - error = se; - } - block = true; - break; + block = true; + break; - case 'E': // ErrorMessage (expected response to CopyFail) + case 'E': // ErrorMessage (expected response to CopyFail) - error = receiveErrorResponse(); - // We've received the error and we now expect to receive - // Ready for query, but we must block because it might still be - // on the wire and not here yet. - block = true; - break; + error = receiveErrorResponse(); + // We've received the error and we now expect to receive + // Ready for query, but we must block because it might still be + // on the wire and not here yet. + block = true; + break; - case 'G': // CopyInResponse + case 'G': // CopyInResponse - LOGGER.log(Level.FINEST, " <=BE CopyInResponse"); + LOGGER.log(Level.FINEST, " <=BE CopyInResponse"); - if (op != null) { - error = new PSQLException(GT.tr("Got CopyInResponse from server during an active {0}", + if (op != null) { + error = new PSQLException(GT.tr("Got CopyInResponse from server during an active {0}", op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); - } + } - op = new CopyInImpl(); - initCopy(op); - endReceiving = true; - break; + op = new CopyInImpl(); + initCopy(op); + endReceiving = true; + break; - case 'H': // CopyOutResponse + case 'H': // CopyOutResponse - LOGGER.log(Level.FINEST, " <=BE CopyOutResponse"); + LOGGER.log(Level.FINEST, " <=BE CopyOutResponse"); - if (op != null) { - error = new PSQLException(GT.tr("Got CopyOutResponse from server during an active {0}", - op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); - } + if (op != null) { + error = + new PSQLException(GT.tr("Got CopyOutResponse from server during an active {0}", + op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); + } - op = new CopyOutImpl(); - initCopy(op); - endReceiving = true; - break; + op = new CopyOutImpl(); + initCopy(op); + endReceiving = true; + break; - case 'W': // CopyBothResponse + case 'W': // CopyBothResponse - LOGGER.log(Level.FINEST, " <=BE CopyBothResponse"); + LOGGER.log(Level.FINEST, " <=BE CopyBothResponse"); - if (op != null) { - error = new PSQLException(GT.tr("Got CopyBothResponse from server during an active {0}", - op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); - } + if (op != null) { + error = + new PSQLException(GT.tr("Got CopyBothResponse from server during an active {0}", + op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); + } - op = new CopyDualImpl(); - initCopy(op); - endReceiving = true; - break; + op = new CopyDualImpl(); + initCopy(op); + endReceiving = true; + break; - case 'd': // CopyData + case 'd': // CopyData - LOGGER.log(Level.FINEST, " <=BE CopyData"); + LOGGER.log(Level.FINEST, " <=BE CopyData"); + + len = pgStream.receiveInteger4() - 4; + + assert len > 0 : "Copy Data length must be greater than 4"; - len = pgStream.receiveInteger4() - 4; - byte[] buf = pgStream.receive(len); - if (op == null) { - error = new PSQLException(GT.tr("Got CopyData without an active copy operation"), + byte[] buf = pgStream.receive(len); + if (op == null) { + error = new PSQLException(GT.tr("Got CopyData without an active copy operation"), PSQLState.OBJECT_NOT_IN_STATE); - } else if (!(op instanceof CopyOut)) { - error = new PSQLException( + } else if (!(op instanceof CopyOut)) { + error = new PSQLException( GT.tr("Unexpected copydata from server for {0}", op.getClass().getName()), PSQLState.COMMUNICATION_ERROR); - } else { - op.handleCopydata(buf); - } - endReceiving = true; - break; + } else { + op.handleCopydata(buf); + } + endReceiving = true; + break; - case 'c': // CopyDone (expected after all copydata received) + case 'c': // CopyDone (expected after all copydata received) - LOGGER.log(Level.FINEST, " <=BE CopyDone"); + LOGGER.log(Level.FINEST, " <=BE CopyDone"); - len = pgStream.receiveInteger4() - 4; - if (len > 0) { - pgStream.receive(len); // not in specification; should never appear - } + len = pgStream.receiveInteger4() - 4; + if (len > 0) { + pgStream.receive(len); // not in specification; should never appear + } - if (!(op instanceof CopyOut)) { - error = new PSQLException("Got CopyDone while not copying from server", + if (!(op instanceof CopyOut)) { + error = new PSQLException("Got CopyDone while not copying from server", PSQLState.OBJECT_NOT_IN_STATE); - } + } - // keep receiving since we expect a CommandComplete - block = true; - break; - case 'S': // Parameter Status - try { - receiveParameterStatus(); - } catch (SQLException e) { - error = e; - endReceiving = true; - } - break; + // keep receiving since we expect a CommandComplete + block = true; + break; + case 'S': // Parameter Status + try { + receiveParameterStatus(); + } catch (SQLException e) { + error = e; + endReceiving = true; + } + break; - case 'Z': // ReadyForQuery: After FE:CopyDone => BE:CommandComplete + case 'Z': // ReadyForQuery: After FE:CopyDone => BE:CommandComplete - receiveRFQ(); - if (hasLock(op)) { - unlock(op); - } - op = null; - endReceiving = true; - break; + receiveRFQ(); + if (hasLock(op)) { + unlock(op); + } + op = null; + endReceiving = true; + break; - // If the user sends a non-copy query, we've got to handle some additional things. - // - case 'T': // Row Description (response to Describe) - LOGGER.log(Level.FINEST, " <=BE RowDescription (during copy ignored)"); + // If the user sends a non-copy query, we've got to handle some additional things. + // + case 'T': // Row Description (response to Describe) + LOGGER.log(Level.FINEST, " <=BE RowDescription (during copy ignored)"); - skipMessage(); - break; + skipMessage(); + break; - case 'D': // DataRow - LOGGER.log(Level.FINEST, " <=BE DataRow (during copy ignored)"); + case 'D': // DataRow + LOGGER.log(Level.FINEST, " <=BE DataRow (during copy ignored)"); - skipMessage(); - break; + skipMessage(); + break; - default: - throw new IOException( + default: + throw new IOException( GT.tr("Unexpected packet type during copy: {0}", Integer.toString(c))); - } + } - // Collect errors into a neat chain for completeness - if (error != null) { - if (errors != null) { - error.setNextException(errors); + // Collect errors into a neat chain for completeness + if (error != null) { + if (errors != null) { + error.setNextException(errors); + } + errors = error; + error = null; } - errors = error; - error = null; } - } - if (errors != null) { - throw errors; - } + if (errors != null) { + throw errors; + } + return op; - return op; + } finally { + /* + reset here in the finally block to make sure it really is cleared + */ + processingCopyResults.set(false); + } } /* @@ -2370,6 +2392,9 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti */ private void skipMessage() throws IOException { int len = pgStream.receiveInteger4(); + + assert len >= 4 : "Length from skip message must be at least 4 "; + // skip len-4 (length includes the 4 bytes for message length itself pgStream.skip(len - 4); } @@ -2440,7 +2465,9 @@ private Field[] receiveFields() throws IOException { } private void receiveAsyncNotify() throws IOException { - pgStream.receiveInteger4(); // MESSAGE SIZE + int len = pgStream.receiveInteger4(); // MESSAGE SIZE + assert len > 4 : "Length for AsyncNotify must be at least 4"; + int pid = pgStream.receiveInteger4(); String msg = pgStream.receiveString(); String param = pgStream.receiveString(); @@ -2458,6 +2485,8 @@ private SQLException receiveErrorResponse() throws IOException { // check at the bottom to see if we need to throw an exception int elen = pgStream.receiveInteger4(); + assert elen > 4 : "Error response length must be greater than 4"; + EncodingPredictor.DecodeResult totalMessage = pgStream.receiveErrorString(elen - 4); ServerErrorMessage errorMsg = new ServerErrorMessage(totalMessage); @@ -2476,6 +2505,8 @@ private SQLException receiveErrorResponse() throws IOException { private SQLWarning receiveNoticeResponse() throws IOException { int nlen = pgStream.receiveInteger4(); + assert nlen > 4 : "Notice Response length must be greater than 4"; + ServerErrorMessage warnMsg = new ServerErrorMessage(pgStream.receiveString(nlen - 4)); if (LOGGER.isLoggable(Level.FINEST)) { diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java index 11b4defb96..66fd2f5e5a 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3PGReplicationStream.java @@ -25,6 +25,8 @@ public class V3PGReplicationStream implements PGReplicationStream { private static final Logger LOGGER = Logger.getLogger(V3PGReplicationStream.class.getName()); public static final long POSTGRES_EPOCH_2000_01_01 = 946684800000L; + private static final long NANOS_PER_MILLISECOND = 1000000L; + private final CopyDual copyDual; private final long updateInterval; private final ReplicationType replicationType; @@ -55,8 +57,8 @@ public V3PGReplicationStream(CopyDual copyDual, LogSequenceNumber startLSN, long ReplicationType replicationType ) { this.copyDual = copyDual; - this.updateInterval = updateIntervalMs; - this.lastStatusUpdate = System.currentTimeMillis() - updateIntervalMs; + this.updateInterval = updateIntervalMs * NANOS_PER_MILLISECOND; + this.lastStatusUpdate = System.nanoTime() - (updateIntervalMs * NANOS_PER_MILLISECOND); this.lastReceiveLSN = startLSN; this.replicationType = replicationType; } @@ -117,12 +119,13 @@ public boolean isClosed() { private ByteBuffer readInternal(boolean block) throws SQLException { boolean updateStatusRequired = false; while (copyDual.isActive()) { + + ByteBuffer buffer = receiveNextData(block); + if (updateStatusRequired || isTimeUpdate()) { timeUpdateStatus(); } - ByteBuffer buffer = receiveNextData(block); - if (buffer == null) { return null; } @@ -173,7 +176,7 @@ private boolean isTimeUpdate() { if ( updateInterval == 0 ) { return false; } - long diff = System.currentTimeMillis() - lastStatusUpdate; + long diff = System.nanoTime() - lastStatusUpdate; return diff >= updateInterval; } @@ -189,14 +192,14 @@ private void updateStatusInternal( copyDual.writeToCopy(reply, 0, reply.length); copyDual.flushCopy(); - lastStatusUpdate = System.currentTimeMillis(); + lastStatusUpdate = System.nanoTime(); } private byte[] prepareUpdateStatus(LogSequenceNumber received, LogSequenceNumber flushed, LogSequenceNumber applied, boolean replyRequired) { ByteBuffer byteBuffer = ByteBuffer.allocate(1 + 8 + 8 + 8 + 8 + 1); - long now = System.currentTimeMillis(); + long now = System.nanoTime() / NANOS_PER_MILLISECOND; long systemClock = TimeUnit.MICROSECONDS.convert((now - POSTGRES_EPOCH_2000_01_01), TimeUnit.MICROSECONDS); From bda74d7eaa341c02427af4065d8321c8e45bfd83 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 29 Aug 2019 11:14:01 -0400 Subject: [PATCH 318/427] Log ignoring rollback when no transaction in progress (#1549) * Log ignoring rollback when no transaction in progress * Change logging level to FINE for debugging --- pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 52c5a51901..b31b11f92a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -806,6 +806,9 @@ public void rollback() throws SQLException { if (queryExecutor.getTransactionState() != TransactionState.IDLE) { executeTransactionCommand(rollbackQuery); + } else { + // just log for debugging + LOGGER.log(Level.FINE, "Rollback requested but no transaction in progress"); } } From 56399efddd25281ccefd90c56e9db084c550d195 Mon Sep 17 00:00:00 2001 From: Tim Ward Date: Fri, 30 Aug 2019 15:26:03 +0100 Subject: [PATCH 319/427] Check that JDBC Connections that are closed by the server do not report as valid (#1533) Signed-off-by: Tim Ward --- .../postgresql/test/jdbc4/IsValidTest.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java index 8de8f43d47..8e019adb08 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java @@ -10,6 +10,7 @@ import static org.junit.Assert.assertTrue; import org.postgresql.core.BaseConnection; +import org.postgresql.core.ServerVersion; import org.postgresql.core.TransactionState; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; @@ -17,7 +18,9 @@ import org.junit.Test; import java.sql.Connection; +import java.sql.ResultSet; import java.sql.Statement; +import java.util.Properties; public class IsValidTest extends BaseTest4 { @@ -67,4 +70,37 @@ public void testTransactionState() throws Exception { } } + @Test + public void testIsValidRemoteClose() throws Exception { + + assumeMinimumServerVersion("Unable to use pg_terminate_backend before version 8.4", ServerVersion.v8_4); + + Properties props = new Properties(); + updateProperties(props); + Connection con2 = TestUtil.openPrivilegedDB(); + + try { + + assertTrue("First Connection should be valid", con.isValid(0)); + + String pid; + Statement s = con.createStatement(); + + try { + s.execute("select pg_backend_pid()"); + ResultSet rs = s.getResultSet(); + rs.next(); + pid = rs.getString(1); + } finally { + TestUtil.closeQuietly(s); + } + + TestUtil.execute("select pg_terminate_backend(" + pid + ")", con2); + + assertFalse("The Second connection should now be invalid", con.isValid(0)); + + } finally { + TestUtil.closeQuietly(con2); + } + } } From ba8294841a2e589e15dfcb79dbd31a83ec615208 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 30 Aug 2019 14:15:57 -0400 Subject: [PATCH 320/427] fix assertion message (#1553) --- .../src/test/java/org/postgresql/test/jdbc4/IsValidTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java index 8e019adb08..0a4a644190 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java @@ -81,7 +81,7 @@ public void testIsValidRemoteClose() throws Exception { try { - assertTrue("First Connection should be valid", con.isValid(0)); + assertTrue("First connection should be valid", con.isValid(0)); String pid; Statement s = con.createStatement(); @@ -97,7 +97,7 @@ public void testIsValidRemoteClose() throws Exception { TestUtil.execute("select pg_terminate_backend(" + pid + ")", con2); - assertFalse("The Second connection should now be invalid", con.isValid(0)); + assertFalse("The first connection should now be invalid", con.isValid(0)); } finally { TestUtil.closeQuietly(con2); From 89464a54777b9272893ab24bc5e28a24623e41bb Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 30 Aug 2019 16:04:53 -0400 Subject: [PATCH 321/427] remove failing tests for PostgreSQL version 8.3 add in tests for 11 * test version 11 over jdk8, 9, 10 --- .travis.yml | 49 +++++++++++++++++++++++++++++++------------------ codecov.yml | 2 +- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index b2a842e80b..4076044854 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,7 @@ before_script: - if [[ $TRAVIS_BRANCH == release/* ]]; then echo "MAVEN_OPTS='-Xmx1g'" > ~/.mavenrc; else echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc; fi - test "x$PG_VERSION" == 'x' || test "x$NO_HSTORE" == 'xY' || psql test -c 'CREATE EXTENSION hstore;' -U postgres - test "x$PG_VERSION" == 'x' || test "x$CREATE_PLPGSQL" == 'x' || createlang -U postgres plpgsql test + - test "x$PG_VERSION" == 'x' || test "x$PLPGSQL_EXTENSION" == 'x' || psql test -c 'CREATE EXTENSION IF NOT EXISTS plpgsql;' -U postgres env: global: @@ -102,6 +103,36 @@ matrix: - PG_VERSION=10 - JDK=12 - TZ=America/New_York # flips between −05:00 and −04:00 + - jdk: openjdk-ea + sudo: required + addons: + postgresql: "11" + env: + - PG_VERSION=11 + - XA=true + - COVERAGE=Y + - NO_HSTORE=Y + - PLPGSQL_EXTENSION=Y + - jdk: oraclejdk9 + sudo: required + addons: + postgresql: "11" + env: + - PG_VERSION=11 + - XA=true + - COVERAGE=Y + - NO_HSTORE=Y + - PLPGSQL_EXTENSION=Y + - jdk: oraclejdk8 + sudo: required + addons: + postgresql: "11" + env: + - PG_VERSION=11 + - XA=true + - COVERAGE=Y + - NO_HSTORE=Y + - PLPGSQL_EXTENSION=Y - jdk: oraclejdk11 sudo: required addons: @@ -188,24 +219,6 @@ matrix: - COVERAGE=Y - NO_HSTORE=Y - CREATE_PLPGSQL=Y - - jdk: oraclejdk8 - sudo: required - dist: precise - env: - - PG_VERSION=8.3 - - XA=true - - COVERAGE=Y - - NO_HSTORE=Y - - CREATE_PLPGSQL=Y - - jdk: oraclejdk8 - sudo: required - dist: precise - env: - - PG_VERSION=8.2 - - XA=true - - COVERAGE=Y - - NO_HSTORE=Y - - CREATE_PLPGSQL=Y - jdk: oraclejdk8 addons: postgresql: "9.6" diff --git a/codecov.yml b/codecov.yml index 72deba08a4..c4067adeb9 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 10 + after_n_builds: 11 require_ci_to_pass: false comment: layout: header, changes, diff From 634ac7d8fee23eb5231ce91c616a64d120f8d8ee Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 3 Sep 2019 09:48:38 -0400 Subject: [PATCH 322/427] Fix travis parsing issue --- .travis.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4076044854..26404e1b79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,14 +115,14 @@ matrix: - PLPGSQL_EXTENSION=Y - jdk: oraclejdk9 sudo: required - addons: - postgresql: "11" - env: - - PG_VERSION=11 - - XA=true - - COVERAGE=Y - - NO_HSTORE=Y - - PLPGSQL_EXTENSION=Y + addons: + postgresql: "11" + env: + - PG_VERSION=11 + - XA=true + - COVERAGE=Y + - NO_HSTORE=Y + - PLPGSQL_EXTENSION=Y - jdk: oraclejdk8 sudo: required addons: From e2f6e9fc54a60f4b310bab9d83d74dbdc8941f32 Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Tue, 3 Sep 2019 22:22:09 +0200 Subject: [PATCH 323/427] Add an apache karaf feature for the PostgreSQL JDBC driver to fix #1552 (#1554) --- pgjdbc/pom.xml | 21 +++++++++++++++++++++ pgjdbc/src/main/feature/feature.xml | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 pgjdbc/src/main/feature/feature.xml diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index ca586c3771..7b6a1539e4 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -301,6 +301,27 @@ + + org.apache.karaf.tooling + karaf-maven-plugin + 4.2.5 + true + + 80 + false + false + true + + + + generate-features-file + package + + features-generate-descriptor + + + + diff --git a/pgjdbc/src/main/feature/feature.xml b/pgjdbc/src/main/feature/feature.xml new file mode 100644 index 0000000000..1beb662eea --- /dev/null +++ b/pgjdbc/src/main/feature/feature.xml @@ -0,0 +1,6 @@ + + + + transaction-api + + From 8495127fe0450f94923251f67ab8e2208319437f Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 4 Sep 2019 04:47:54 +0200 Subject: [PATCH 324/427] rpm: remove karaf plugin Apache Karaf is not yet available on Fedora. Related to: #1554 --- packaging/rpm/postgresql-jdbc.spec.tpl | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index e0256ff4e0..7a7def6acf 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -107,6 +107,7 @@ find -name "*.jar" -or -name "*.class" | xargs rm -f %pom_xpath_inject pom:parent "pgjdbc-parent-poms/pgjdbc-versions" %pom_xpath_set pom:relativePath ../pgjdbc-parent-poms/pgjdbc-core-parent pgjdbc %pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-shade-plugin']" pgjdbc +%pom_remove_plugin :karaf-maven-plugin pgjdbc # compat symlink: requested by dtardon (libreoffice), reverts part of # 0af97ce32de877 commit. From b2eaefef1787b8ab0b8fcb266d10be4945a4fe25 Mon Sep 17 00:00:00 2001 From: Adrien Date: Thu, 5 Sep 2019 17:27:16 +0200 Subject: [PATCH 325/427] Ensure isValid() will not last more than timeout seconds (#1557) * Ensure isValid() will not last more than timeout seconds even if the underlying socket is broken (issue #1556) * Fix check style * Add a try/catch to succeed tests * Manages simply and properly get/setNetworkTimeout() in isValid() --- .../org/postgresql/jdbc/PgConnection.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index b31b11f92a..aeba61020f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -1379,18 +1379,24 @@ public boolean isValid(int timeout) throws SQLException { return false; } try { - if (replicationConnection) { - Statement statement = createStatement(); - statement.execute("IDENTIFY_SYSTEM"); - statement.close(); - } else { - if (checkConnectionQuery == null) { - checkConnectionQuery = prepareStatement(""); + int savedNetworkTimeOut = getNetworkTimeout(); + try { + setNetworkTimeout(null, timeout * 1000); + if (replicationConnection) { + Statement statement = createStatement(); + statement.execute("IDENTIFY_SYSTEM"); + statement.close(); + } else { + if (checkConnectionQuery == null) { + checkConnectionQuery = prepareStatement(""); + } + checkConnectionQuery.setQueryTimeout(timeout); + checkConnectionQuery.executeUpdate(); } - checkConnectionQuery.setQueryTimeout(timeout); - checkConnectionQuery.executeUpdate(); + return true; + } finally { + setNetworkTimeout(null, savedNetworkTimeOut); } - return true; } catch (SQLException e) { if (PSQLState.IN_FAILED_SQL_TRANSACTION.getState().equals(e.getSQLState())) { // "current transaction aborted", assume the connection is up and running From 71b510860c2a788b9a595d4f62fd48becd8fccd0 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 4 Sep 2019 15:30:24 -0400 Subject: [PATCH 326/427] initial pass at release notes --- CHANGELOG.md | 18 ++++- contributors.json | 5 ++ docs/_posts/2019-09-03-42.2.7-release.md | 91 ++++++++++++++++++++++++ 3 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 docs/_posts/2019-09-03-42.2.7-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 25df7a7214..7c2337cdb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,21 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed +## [42.2.7] (2019-09-03) +### Changed + + +### Added +- Expose parameter status messages (GUC_REPORT) to the user [PR 1435](https://github.com/pgjdbc/pgjdbc/pull/1435) +- Add automatic module name to manifest for jdk9+ [PR 1538](https://github.com/pgjdbc/pgjdbc/pull/1538) +- Log ignoring rollback when no transaction in progress [PR 1549](https://github.com/pgjdbc/pgjdbc/pull/1549) +- Map inet type to InetAddress [PR 1527](https://github.com/pgjdbc/pgjdbc/pull/1527) [issue 1134](https://github.com/pgjdbc/pgjdbc/issues/1134) + +### Fixed +- fix [issue 1547](https://github.com/pgjdbc/pgjdbc/issues/1547) As long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed [PR 1548](https://github.com/pgjdbc/pgjdbc/pull/1548) +- fix: [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) In logical decoding the if the backend was requesting a reply we… [PR 1467](https://github.com/pgjdbc/pgjdbc/pull/1467) +- fix: [issue 1534](https://github.com/pgjdbc/pgjdbc/issues/1534) Proleptic java.time support [PR 1539](https://github.com/pgjdbc/pgjdbc/pull/1539) + ## [42.2.6] (2019-06-19) ### Known issues - Waffle has [dropped support](https://github.com/Waffle/waffle/releases/tag/waffle-1.9.0) for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8 @@ -220,4 +235,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...REL42.2.4 [42.2.5]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...REL42.2.5 [42.2.6]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.5...REL42.2.6 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.6...HEAD +[42.2.7]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.6...REL42.2.7 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.7...HEAD diff --git a/contributors.json b/contributors.json index d286662a9b..8cec0eccab 100644 --- a/contributors.json +++ b/contributors.json @@ -21,6 +21,7 @@ "Eric McCormack" : "https://github.com/ericmack", "Florin Asăvoaie" : "https://github.com/FlorinAsavoaie", "George Kankava" : "https://github.com/georgekankava", + "Hajar Razip" : "https://github.com/mshajarrazip", "Hari Babu Kommi" : "https://github.com/kommiharibabu", "Harry Chan" : "https://github.com/hc-codersatlas", "Hugh Cole-Baker" : "https://github.com/sigmaris", @@ -51,11 +52,13 @@ "Marios Trivyzas" : "https://github.com/matriv", "Mark Nguyen" : "https://github.com/Mrk-Nguyen", "Mathias Fußenegger" : "https://github.com/mfussenegger", + "Matteo Melli" : "https://github.com/teoincontatto", "Michael Glaesemann" : "https://github.com/grzm", "MichaelZg" : "https://github.com/michaelzg", "Michele Mancioppi" : "https://github.com/michele-mancioppi", "Minglei Tu" : "https://github.com/tminglei", "Mykola Nikishov" : "https://github.com/manandbytes", + "Myo Wai Thant" : "https://github.com/myowaithant9", "Nikolai Ivanov" : "https://github.com/nicktorwald", "Pavel Raiskup" : "https://github.com/praiskup", "Pawel" : "https://github.com/veselov", @@ -77,10 +80,12 @@ "Sualeh Fatehi" : "https://github.com/sualeh", "Tanya Gordeeva" : "https://github.com/tmgordeeva", "Thach Hoang" : "https://github.com/thachhoang", + "Tim Ward" : "https://github.com/timothyjward", "Trygve Laugstøl" : "https://github.com/trygvis", "Tyson Andre" : "https://github.com/TysonAndre", "Vladimir Gordiychuk" : "https://github.com/Gordiychuk", "Vladimir Sitnikov" : "https://github.com/vlsi", + "Vsevolod Kaimashnikov" : "https://github.com/vsevolodk", "Zemian Deng" : "https://github.com/zemian", "aryabukhin" : "https://github.com/aryabukhin", "bazzargh" : "https://github.com/bazzargh", diff --git a/docs/_posts/2019-09-03-42.2.7-release.md b/docs/_posts/2019-09-03-42.2.7-release.md new file mode 100644 index 0000000000..7cd0602e7c --- /dev/null +++ b/docs/_posts/2019-09-03-42.2.7-release.md @@ -0,0 +1,91 @@ +--- +title: PostgreSQL JDBC Driver 42.2.7 Released +date: 2019-09-03 15:58:38 +0000 +categories: + - new_release +version: 42.2.7 +--- +**Notable changes** + +### Changed + +### Added + +### Fixed + +## [42.2.7] (2019-09-03) +### Changed + +### Added + +### Fixed + + + + +**Commits by author** + +Craig Ringer (2): + +* Expose parameter status messages (GUC_REPORT) to the user [PR 1435](https://github.com/pgjdbc/pgjdbc/pull/1435) [ce8333a](https://github.com/pgjdbc/pgjdbc/commit/ce8333a56ba74022adeb545b68e7d2bee32d966f) +* Make ConnectTimeout test accept NoRouteToHostException [PR 1526](https://github.com/pgjdbc/pgjdbc/pull/1526) [08d8129](https://github.com/pgjdbc/pgjdbc/commit/08d81291c69d02d8973d6b39dac82bdaad91f2ee) + +Dave Cramer (8): + +* note that waffle 1.9.x is only supported in jre8 version Update README to point to new maven coordinates [58804e9](https://github.com/pgjdbc/pgjdbc/commit/58804e9af41368fc9e956a7dd6cf799cb1d72420) +* add automatic module name to manifest for jdk9+ [PR 1538](https://github.com/pgjdbc/pgjdbc/pull/1538) [0600990](https://github.com/pgjdbc/pgjdbc/commit/0600990007669119b73ee2adb064184a4c62343f) +* fix issue 1547, as long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed [PR 1548](https://github.com/pgjdbc/pgjdbc/pull/1548) [36a75cb](https://github.com/pgjdbc/pgjdbc/commit/36a75cbaab4bda1b55f48aa9064258051cd89b10) +* fix: In logical decoding the if the backend was requesting a reply we… [PR 1467](https://github.com/pgjdbc/pgjdbc/pull/1467) [f89e62c](https://github.com/pgjdbc/pgjdbc/commit/f89e62cdce4895f163dc95353cd31614347624b6) +* Log ignoring rollback when no transaction in progress [PR 1549](https://github.com/pgjdbc/pgjdbc/pull/1549) [bda74d7](https://github.com/pgjdbc/pgjdbc/commit/bda74d7eaa341c02427af4065d8321c8e45bfd83) +* fix assertion message [PR 1553](https://github.com/pgjdbc/pgjdbc/pull/1553) [ba82948](https://github.com/pgjdbc/pgjdbc/commit/ba8294841a2e589e15dfcb79dbd31a83ec615208) +* remove failing tests for PostgreSQL version 8.3 add in tests for 11 [89464a5](https://github.com/pgjdbc/pgjdbc/commit/89464a54777b9272893ab24bc5e28a24623e41bb) + +Hajar Razip (2): + +* docs: add note on behavior of ResultSet.getString() [PR 1286](https://github.com/pgjdbc/pgjdbc/pull/1286) (#1528) [c30556c](https://github.com/pgjdbc/pgjdbc/commit/c30556c6c059f25d4ed43608d1b2a2f02a168389) +* docs: update resultset.md in head to reflect 94 [PR 1528](https://github.com/pgjdbc/pgjdbc/pull/1528) (#1536) [fc8efc9](https://github.com/pgjdbc/pgjdbc/commit/fc8efc9a98e86059701e8674017947c0b702cab1) + +Matteo Melli (1): + +* Updated scram to version 2.0 [PR 1532](https://github.com/pgjdbc/pgjdbc/pull/1532) [fcbbc3e](https://github.com/pgjdbc/pgjdbc/commit/fcbbc3e6408cc1bcf459b740c683f3db40a5050c) + +Myo Wai Thant (1): + +* Issue 1134 Map inet type to InetAddress [PR 1527](https://github.com/pgjdbc/pgjdbc/pull/1527) [1d0c477](https://github.com/pgjdbc/pgjdbc/commit/1d0c477abbe23f23681a924ee0d216a5f7188079) + +Pavel Raiskup (1): + +* fix parent version in pgjdbc/pom.xml as well [3db55da](https://github.com/pgjdbc/pgjdbc/commit/3db55daf2dccdd49555fd73b70be5c15609cccfa) + +Philippe Marschall (1): + +* fix: proleptic java.time support [PR 1539](https://github.com/pgjdbc/pgjdbc/pull/1539) [60fa6d3](https://github.com/pgjdbc/pgjdbc/commit/60fa6d374a392d00475be0c128804c43b2852a35) + +Sehrope Sarkuni (2): + +* docs: Add note to GitHub PR templates about test suites [PR 1531](https://github.com/pgjdbc/pgjdbc/pull/1531) [51f3d0b](https://github.com/pgjdbc/pgjdbc/commit/51f3d0b75078e5c8687c7eae20ff37b28e65abec) +* Sort test suites and enable missed tests [PR 1530](https://github.com/pgjdbc/pgjdbc/pull/1530) [aa8778d](https://github.com/pgjdbc/pgjdbc/commit/aa8778d91bd166e2f351343855d6e0b0b71b1e62) + +Tim Ward (1): + +* Check that JDBC Connections that are closed by the server do not report as valid [PR 1533](https://github.com/pgjdbc/pgjdbc/pull/1533) [56399ef](https://github.com/pgjdbc/pgjdbc/commit/56399efddd25281ccefd90c56e9db084c550d195) + +Vsevolod Kaimashnikov (1): + +* Add more info about currentSchema property. [PR 1481](https://github.com/pgjdbc/pgjdbc/pull/1481) [d96ed59](https://github.com/pgjdbc/pgjdbc/commit/d96ed59eba6a2279da337684e696b198ec60685c) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Craig Ringer](https://github.com/ringerc) +[Dave Cramer](davec@postgresintl.com) +[Hajar Razip](https://github.com/mshajarrazip) +[Matteo Melli](https://github.com/teoincontatto) +[Myo Wai Thant](https://github.com/myowaithant9) +[Pavel Raiskup](https://github.com/praiskup) +[Philippe Marschall](https://github.com/marschall) +[Sehrope Sarkuni](https://github.com/sehrope) +[Tim Ward](https://github.com/timothyjward) +[Vsevolod Kaimashnikov](https://github.com/vsevolodk) From 6160402b147d28e0884154ebe2a47b082cbe4f94 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 5 Sep 2019 15:44:30 -0400 Subject: [PATCH 327/427] added in PR 1557 --- CHANGELOG.md | 2 +- contributors.json | 2 ++ docs/_posts/2019-09-03-42.2.7-release.md | 23 ++++++++++++++--------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c2337cdb5..63050b6327 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,7 +24,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - fix [issue 1547](https://github.com/pgjdbc/pgjdbc/issues/1547) As long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed [PR 1548](https://github.com/pgjdbc/pgjdbc/pull/1548) - fix: [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) In logical decoding the if the backend was requesting a reply we… [PR 1467](https://github.com/pgjdbc/pgjdbc/pull/1467) - fix: [issue 1534](https://github.com/pgjdbc/pgjdbc/issues/1534) Proleptic java.time support [PR 1539](https://github.com/pgjdbc/pgjdbc/pull/1539) - +- fix Ensure isValid() will not last more than timeout seconds [PR 1557](https://github.com/pgjdbc/pgjdbc/pull/1557) ## [42.2.6] (2019-06-19) ### Known issues - Waffle has [dropped support](https://github.com/Waffle/waffle/releases/tag/waffle-1.9.0) for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8 diff --git a/contributors.json b/contributors.json index 8cec0eccab..bbe3dcd624 100644 --- a/contributors.json +++ b/contributors.json @@ -1,5 +1,6 @@ { "Adam Brusselback" : "https://github.com/Tostino", + "Adrien" : "https://github.com/arobert-delfingen", "AlBundy33" : "https://github.com/AlBundy33", "AlexElin" : "https://github.com/AlexElin", "Alexander Kjäll" : "https://github.com/alexanderkjall", @@ -75,6 +76,7 @@ "Selene Feigl" : "https://github.com/sfeigl", "Sidi Mohamed EL AATIFI" : "https://github.com/elaatifi", "Simon Stelling" : "https://github.com/stellingsimon", + "Steinar Bang" : "https://github.com/steinarb", "Stephen Nelson" : "https://github.com/lordnelson", "Steve Ungerer" : "https://github.com/scubasau", "Sualeh Fatehi" : "https://github.com/sualeh", diff --git a/docs/_posts/2019-09-03-42.2.7-release.md b/docs/_posts/2019-09-03-42.2.7-release.md index 7cd0602e7c..ed10821a50 100644 --- a/docs/_posts/2019-09-03-42.2.7-release.md +++ b/docs/_posts/2019-09-03-42.2.7-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.7 Released -date: 2019-09-03 15:58:38 +0000 +date: 2019-09-05 19:19:37 +0000 categories: - new_release version: 42.2.7 @@ -13,18 +13,15 @@ version: 42.2.7 ### Fixed -## [42.2.7] (2019-09-03) -### Changed - -### Added - -### Fixed - **Commits by author** +Adrien (1): + +* Ensure isValid() will not last more than timeout seconds [PR 1557](https://github.com/pgjdbc/pgjdbc/pull/1557) [b2eaefe](https://github.com/pgjdbc/pgjdbc/commit/b2eaefef1787b8ab0b8fcb266d10be4945a4fe25) + Craig Ringer (2): * Expose parameter status messages (GUC_REPORT) to the user [PR 1435](https://github.com/pgjdbc/pgjdbc/pull/1435) [ce8333a](https://github.com/pgjdbc/pgjdbc/commit/ce8333a56ba74022adeb545b68e7d2bee32d966f) @@ -39,6 +36,7 @@ Dave Cramer (8): * Log ignoring rollback when no transaction in progress [PR 1549](https://github.com/pgjdbc/pgjdbc/pull/1549) [bda74d7](https://github.com/pgjdbc/pgjdbc/commit/bda74d7eaa341c02427af4065d8321c8e45bfd83) * fix assertion message [PR 1553](https://github.com/pgjdbc/pgjdbc/pull/1553) [ba82948](https://github.com/pgjdbc/pgjdbc/commit/ba8294841a2e589e15dfcb79dbd31a83ec615208) * remove failing tests for PostgreSQL version 8.3 add in tests for 11 [89464a5](https://github.com/pgjdbc/pgjdbc/commit/89464a54777b9272893ab24bc5e28a24623e41bb) +* Fix travis parsing issue [634ac7d](https://github.com/pgjdbc/pgjdbc/commit/634ac7d8fee23eb5231ce91c616a64d120f8d8ee) Hajar Razip (2): @@ -53,9 +51,10 @@ Myo Wai Thant (1): * Issue 1134 Map inet type to InetAddress [PR 1527](https://github.com/pgjdbc/pgjdbc/pull/1527) [1d0c477](https://github.com/pgjdbc/pgjdbc/commit/1d0c477abbe23f23681a924ee0d216a5f7188079) -Pavel Raiskup (1): +Pavel Raiskup (2): * fix parent version in pgjdbc/pom.xml as well [3db55da](https://github.com/pgjdbc/pgjdbc/commit/3db55daf2dccdd49555fd73b70be5c15609cccfa) +* rpm: remove karaf plugin [8495127](https://github.com/pgjdbc/pgjdbc/commit/8495127fe0450f94923251f67ab8e2208319437f) Philippe Marschall (1): @@ -66,6 +65,10 @@ Sehrope Sarkuni (2): * docs: Add note to GitHub PR templates about test suites [PR 1531](https://github.com/pgjdbc/pgjdbc/pull/1531) [51f3d0b](https://github.com/pgjdbc/pgjdbc/commit/51f3d0b75078e5c8687c7eae20ff37b28e65abec) * Sort test suites and enable missed tests [PR 1530](https://github.com/pgjdbc/pgjdbc/pull/1530) [aa8778d](https://github.com/pgjdbc/pgjdbc/commit/aa8778d91bd166e2f351343855d6e0b0b71b1e62) +Steinar Bang (1): + +* Add an apache karaf feature for the PostgreSQL JDBC driver to fix [PR 1552](https://github.com/pgjdbc/pgjdbc/pull/1552) (#1554) [e2f6e9f](https://github.com/pgjdbc/pgjdbc/commit/e2f6e9fc54a60f4b310bab9d83d74dbdc8941f32) + Tim Ward (1): * Check that JDBC Connections that are closed by the server do not report as valid [PR 1533](https://github.com/pgjdbc/pgjdbc/pull/1533) [56399ef](https://github.com/pgjdbc/pgjdbc/commit/56399efddd25281ccefd90c56e9db084c550d195) @@ -79,6 +82,7 @@ Vsevolod Kaimashnikov (1): We thank the following people for their contributions to this release. +[Adrien](https://github.com/arobert-delfingen) [Craig Ringer](https://github.com/ringerc) [Dave Cramer](davec@postgresintl.com) [Hajar Razip](https://github.com/mshajarrazip) @@ -87,5 +91,6 @@ We thank the following people for their contributions to this release. [Pavel Raiskup](https://github.com/praiskup) [Philippe Marschall](https://github.com/marschall) [Sehrope Sarkuni](https://github.com/sehrope) +[Steinar Bang](https://github.com/steinarb) [Tim Ward](https://github.com/timothyjward) [Vsevolod Kaimashnikov](https://github.com/vsevolodk) From e6b22ce21442a571d6ab568bf7051629ee50a71f Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 6 Sep 2019 10:57:21 -0400 Subject: [PATCH 328/427] fix maven coordinates for release --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0ed5dfbc9c..bfe9c89d69 100644 --- a/README.md +++ b/README.md @@ -24,36 +24,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv ### Maven Central You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for: -[![Java 8](https://img.shields.io/badge/Java_8-42.2.6-blue.svg)][mvn-jre8] +[![Java 8](https://img.shields.io/badge/Java_8-42.2.7-blue.svg)][mvn-jre8] ```xml org.postgresql postgresql - 42.2.6 + 42.2.7 ``` -[![Java 7](https://img.shields.io/badge/Java_7-42.2.6.jre7-blue.svg)][mvn-jre7] +[![Java 7](https://img.shields.io/badge/Java_7-42.2.7.jre7-blue.svg)][mvn-jre7] ```xml org.postgresql postgresql - 42.2.6.jre7 + 42.2.7.jre7 ``` -[![Java 6](https://img.shields.io/badge/Java_6-42.2.6.jre6-blue.svg)][mvn-jre6] +[![Java 6](https://img.shields.io/badge/Java_6-42.2.7.jre6-blue.svg)][mvn-jre6] ```xml org.postgresql postgresql - 42.2.6.jre6 + 42.2.7.jre6 ``` [mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central" -[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5.jre6|bundle -[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5.jre7|bundle -[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.5|bundle +[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.7.jre6|bundle +[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.7.jre7|bundle +[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.7|bundle #### Development snapshots Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using: @@ -61,9 +61,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central org.postgresql postgresql - 42.2.6-SNAPSHOT - 42.2.6.jre7-SNAPSHOT - 42.2.6.jre6-SNAPSHOT + 42.2.8-SNAPSHOT + 42.2.8.jre7-SNAPSHOT + 42.2.8.jre6-SNAPSHOT ``` From d20732b205735cef726739fa3249e590d105834c Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 9 Sep 2019 09:51:10 -0400 Subject: [PATCH 329/427] moved post to correct date --- .../{2019-09-03-42.2.7-release.md => 2019-09-42.2.7-release.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/_posts/{2019-09-03-42.2.7-release.md => 2019-09-42.2.7-release.md} (99%) diff --git a/docs/_posts/2019-09-03-42.2.7-release.md b/docs/_posts/2019-09-42.2.7-release.md similarity index 99% rename from docs/_posts/2019-09-03-42.2.7-release.md rename to docs/_posts/2019-09-42.2.7-release.md index ed10821a50..f08792600b 100644 --- a/docs/_posts/2019-09-03-42.2.7-release.md +++ b/docs/_posts/2019-09-42.2.7-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.7 Released -date: 2019-09-05 19:19:37 +0000 +date: 2019-09-09 13:50:37 +0000 categories: - new_release version: 42.2.7 From 68c4d541208fc27fc08d5fa73ad7eaa0f9a19f43 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 9 Sep 2019 10:03:47 -0400 Subject: [PATCH 330/427] removed SNAPSHOT to trigger release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dd9550f69c..5a5db21945 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.7-SNAPSHOT + 42.2.7 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc From 1b9a6b306dd3067bb040827cabc793a382bb2d93 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Mon, 9 Sep 2019 14:15:37 +0000 Subject: [PATCH 331/427] [maven-release-plugin] prepare release REL42.2.7 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 7b6a1539e4..37ccf8228b 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.7-SNAPSHOT + 42.2.7 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,4 +357,8 @@ + + + REL42.2.7 + diff --git a/pom.xml b/pom.xml index 5a5db21945..aaefe5e1e6 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.7 From a25d71ac8ab58e4b19292d9801b144b90817fe19 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Mon, 9 Sep 2019 14:15:42 +0000 Subject: [PATCH 332/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 37ccf8228b..486af8de56 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.7 + 42.2.8-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,8 +357,4 @@ - - - REL42.2.7 - diff --git a/pom.xml b/pom.xml index aaefe5e1e6..4ce97680b9 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.7 + 42.2.8-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.7 + HEAD From 6dda1ebccce7efba3004ca077cfa6e2262f26eef Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 10 Sep 2019 08:25:54 -0400 Subject: [PATCH 333/427] Use scram 2.1 to avoid pulling in too many dependencies --- pgjdbc/pom.xml | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 486af8de56..8492a85007 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.8-SNAPSHOT + 42.2.7-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -40,7 +40,7 @@ com.ongres.scram client - 2.0 + 2.1 diff --git a/pom.xml b/pom.xml index 4ce97680b9..dd9550f69c 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.8-SNAPSHOT + 42.2.7-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc From 443521738ab6ab6bcc4a4a8eaaf632899228dc4d Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Tue, 10 Sep 2019 12:38:59 +0000 Subject: [PATCH 334/427] [maven-release-plugin] prepare release REL42.2.7 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 8492a85007..6bf7fde973 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.7-SNAPSHOT + 42.2.7 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,4 +357,8 @@ + + + REL42.2.7 + diff --git a/pom.xml b/pom.xml index dd9550f69c..aaefe5e1e6 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.7-SNAPSHOT + 42.2.7 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.7 From 24508fea3a6d297551d371ccdd6bf66ef572dca8 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Tue, 10 Sep 2019 12:39:05 +0000 Subject: [PATCH 335/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 6bf7fde973..b7291e6c85 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.7 + 42.2.8-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,8 +357,4 @@ - - - REL42.2.7 - diff --git a/pom.xml b/pom.xml index aaefe5e1e6..4ce97680b9 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.7 + 42.2.8-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.7 + HEAD From e9423dc63e474305de20a06e82b222438603c126 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 10 Sep 2019 16:50:35 -0400 Subject: [PATCH 336/427] fix release notes for jekyll (#1566) --- ...42.2.7-release.md => 2019-09-10-42.2.7-release.md} | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) rename docs/_posts/{2019-09-42.2.7-release.md => 2019-09-10-42.2.7-release.md} (82%) diff --git a/docs/_posts/2019-09-42.2.7-release.md b/docs/_posts/2019-09-10-42.2.7-release.md similarity index 82% rename from docs/_posts/2019-09-42.2.7-release.md rename to docs/_posts/2019-09-10-42.2.7-release.md index f08792600b..769adb3652 100644 --- a/docs/_posts/2019-09-42.2.7-release.md +++ b/docs/_posts/2019-09-10-42.2.7-release.md @@ -1,6 +1,6 @@ --- title: PostgreSQL JDBC Driver 42.2.7 Released -date: 2019-09-09 13:50:37 +0000 +date: 2019-09-10 13:50:37 +0000 categories: - new_release version: 42.2.7 @@ -10,9 +10,16 @@ version: 42.2.7 ### Changed ### Added +- Expose parameter status messages (GUC_REPORT) to the user [PR 1435](https://github.com/pgjdbc/pgjdbc/pull/1435) +- Add automatic module name to manifest for jdk9+ [PR 1538](https://github.com/pgjdbc/pgjdbc/pull/1538) +- Log ignoring rollback when no transaction in progress [PR 1549](https://github.com/pgjdbc/pgjdbc/pull/1549) +- Map inet type to InetAddress [PR 1527](https://github.com/pgjdbc/pgjdbc/pull/1527) [issue 1134](https://github.com/pgjdbc/pgjdbc/issues/1134) ### Fixed - +- fix [issue 1547](https://github.com/pgjdbc/pgjdbc/issues/1547) As long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed [PR 1548](https://github.com/pgjdbc/pgjdbc/pull/1548) +- fix: [issue 1466](https://github.com/pgjdbc/pgjdbc/issues/1466) In logical decoding the if the backend was requesting a reply we… [PR 1467](https://github.com/pgjdbc/pgjdbc/pull/1467) +- fix: [issue 1534](https://github.com/pgjdbc/pgjdbc/issues/1534) Proleptic java.time support [PR 1539](https://github.com/pgjdbc/pgjdbc/pull/1539) +- fix Ensure isValid() will not last more than timeout seconds [PR 1557](https://github.com/pgjdbc/pgjdbc/pull/1557) From 3df32f9bf9da38cc5f0fbb212a3034e4634dd3c7 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Fri, 13 Sep 2019 08:18:27 -0400 Subject: [PATCH 337/427] fix: Revert inet default Java type to PGObject and handle values with net masks (#1568) Reverts inet type columns to return their value as a PGObject rather than parsing them as InetAddress values. This ensures that the mask value is not lost. Also corrects the getObject(..., InetAddress.class) handling to split out the net mask and return only the address portion. --- .../org/postgresql/jdbc/PgConnection.java | 11 ---- .../java/org/postgresql/jdbc/PgResultSet.java | 26 +++------ .../test/jdbc4/jdbc41/GetObjectTest.java | 55 +++++++++++-------- 3 files changed, 40 insertions(+), 52 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index aeba61020f..d9f4debc60 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -39,8 +39,6 @@ import org.postgresql.util.PSQLState; import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.sql.Array; import java.sql.Blob; import java.sql.CallableStatement; @@ -551,15 +549,6 @@ public Object getObject(String type, String value, byte[] byteValue) throws SQLE } } - if (type.equals("inet")) { - try { - return InetAddress.getByName(value); - } catch (UnknownHostException e) { - throw new PSQLException(GT.tr("IP address {0} of a host could not be determined", value), - PSQLState.CONNECTION_FAILURE, e); - } - } - PGobject obj = null; if (LOGGER.isLoggable(Level.FINEST)) { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index ec0a8294b1..107e9e642a 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -36,6 +36,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.net.InetAddress; +import java.net.UnknownHostException; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; @@ -217,10 +218,6 @@ protected Object internalGetObject(int columnIndex, Field field) throws SQLExcep return getString(columnIndex); } - if (type.equals("inet")) { - return getInetAddress(getPGType(columnIndex), getString(columnIndex)); - } - if (type.equals("uuid")) { if (isBinary(columnIndex)) { return getUUID(thisRow[columnIndex - 1]); @@ -3095,16 +3092,6 @@ protected Object getUUID(byte[] data) throws SQLException { return new UUID(ByteConverter.int8(data, 0), ByteConverter.int8(data, 8)); } - protected Object getInetAddress(String type, String data) throws SQLException { - InetAddress inet; - try { - inet = (InetAddress) connection.getObject(type, data, null); - } catch (IllegalArgumentException iae) { - throw new PSQLException(GT.tr("Invalid Inet data."), PSQLState.INVALID_PARAMETER_VALUE, iae); - } - return inet; - } - private class PrimaryKey { int index; // where in the result set is this primaryKey String name; // what is the columnName of this primary Key @@ -3355,11 +3342,16 @@ public T getObject(int columnIndex, Class type) throws SQLException { } else if (type == UUID.class) { return type.cast(getObject(columnIndex)); } else if (type == InetAddress.class) { - Object addressString = getObject(columnIndex); - if (addressString == null) { + String inetText = getString(columnIndex); + if (inetText == null) { return null; } - return type.cast(getObject(columnIndex)); + int slash = inetText.indexOf("/"); + try { + return type.cast(InetAddress.getByName(slash < 0 ? inetText : inetText.substring(0, slash))); + } catch (UnknownHostException ex) { + throw new PSQLException(GT.tr("Invalid Inet data."), PSQLState.INVALID_PARAMETER_VALUE, ex); + } // JSR-310 support //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" } else if (type == LocalDate.class) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index a452bece63..bcdc541e4a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -22,6 +22,7 @@ import org.postgresql.test.TestUtil; import org.postgresql.util.PGInterval; import org.postgresql.util.PGmoney; +import org.postgresql.util.PGobject; import org.junit.After; import org.junit.Before; @@ -938,42 +939,48 @@ public void testGetInetAddressNull() throws SQLException, UnknownHostException { } } - /** - * Test the behavior getObject for inet columns. - */ - @Test - public void testGetInet4Address() throws SQLException, UnknownHostException { + private void testInet(String inet, InetAddress expectedAddr, String expectedText) throws SQLException, UnknownHostException { + PGobject expectedObj = new PGobject(); + expectedObj.setType("inet"); + expectedObj.setValue(expectedText); Statement stmt = conn.createStatement(); - String expected = "192.168.100.128"; - stmt.executeUpdate(TestUtil.insertSQL("table1","inet_column","'" + expected + "'")); - - ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "inet_column")); + ResultSet rs = stmt.executeQuery("SELECT '" + inet + "'::inet AS inet_column"); try { assertTrue(rs.next()); - assertEquals(InetAddress.getByName(expected), rs.getObject("inet_column", InetAddress.class)); - assertEquals(InetAddress.getByName(expected), rs.getObject(1, InetAddress.class)); + assertEquals("The string value of the inet should match when fetched via getString(...)", expectedText, rs.getString(1)); + assertEquals("The string value of the inet should match when fetched via getString(...)", expectedText, rs.getString("inet_column")); + assertEquals("The object value of the inet should match when fetched via getObject(...)", expectedObj, rs.getObject(1)); + assertEquals("The object value of the inet should match when fetched via getObject(...)", expectedObj, rs.getObject("inet_column")); + assertEquals("The InetAddress value should match when fetched via getObject(..., InetAddress.class)", expectedAddr, rs.getObject("inet_column", InetAddress.class)); + assertEquals("The InetAddress value should match when fetched via getObject(..., InetAddress.class)", expectedAddr, rs.getObject(1, InetAddress.class)); } finally { rs.close(); + stmt.close(); } } /** - * Test the behavior getObject for inet columns. + * Test the behavior getObject for ipv4 inet columns. */ @Test - public void testGetInet6Address() throws SQLException, UnknownHostException { - Statement stmt = conn.createStatement(); - String expected = "2001:4f8:3:ba:2e0:81ff:fe22:d1f1"; - stmt.executeUpdate(TestUtil.insertSQL("table1","inet_column","'" + expected + "'")); + public void testGetInet4Address() throws SQLException, UnknownHostException { + String inet = "192.168.100.128"; + InetAddress addr = InetAddress.getByName(inet); + testInet(inet, addr, inet); + testInet(inet + "/16", addr, inet + "/16"); + testInet(inet + "/32", addr, inet); + } - ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "inet_column")); - try { - assertTrue(rs.next()); - assertEquals(InetAddress.getByName(expected), rs.getObject("inet_column", InetAddress.class)); - assertEquals(InetAddress.getByName(expected), rs.getObject(1, InetAddress.class)); - } finally { - rs.close(); - } + /** + * Test the behavior getObject for ipv6 inet columns. + */ + @Test + public void testGetInet6Address() throws SQLException, UnknownHostException { + String inet = "2001:4f8:3:ba:2e0:81ff:fe22:d1f1"; + InetAddress addr = InetAddress.getByName(inet); + testInet(inet, addr, inet); + testInet(inet + "/16", addr, inet + "/16"); + testInet(inet + "/128", addr, inet); } } From 291ccf339961736f43e28fe6d8f2ca300bf52016 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 13 Sep 2019 11:33:44 -0400 Subject: [PATCH 338/427] release notes for 42.2.8 (#1571) --- CHANGELOG.md | 12 ++++++++- docs/_posts/2019-09-13-42.2.8-release.md | 31 ++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 docs/_posts/2019-09-13-42.2.8-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 63050b6327..c0adbf47c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed +## [42.2.8] (2019-09-13) +### Changed + +### Added + +### Fixed + +* fix: Revert inet default Java type to PGObject and handle values with net masks [PR 1568](https://github.com/pgjdbc/pgjdbc/pull/1568) + ## [42.2.7] (2019-09-03) ### Changed @@ -236,4 +245,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.5]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...REL42.2.5 [42.2.6]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.5...REL42.2.6 [42.2.7]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.6...REL42.2.7 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.7...HEAD +[42.2.8]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.7...REL42.2.8 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.8...HEAD diff --git a/docs/_posts/2019-09-13-42.2.8-release.md b/docs/_posts/2019-09-13-42.2.8-release.md new file mode 100644 index 0000000000..5351f21211 --- /dev/null +++ b/docs/_posts/2019-09-13-42.2.8-release.md @@ -0,0 +1,31 @@ +--- +title: PostgreSQL JDBC Driver 42.2.8 Released +date: 2019-09-13 13:23:26 +0000 +categories: + - new_release +version: 42.2.8 +--- +**Notable changes** + +### Changed + +### Added + +### Fixed + + + + +**Commits by author** + +Sehrope Sarkuni (1): + +* fix: Revert inet default Java type to PGObject and handle values with net masks [PR 1568](https://github.com/pgjdbc/pgjdbc/pull/1568) [3df32f9](https://github.com/pgjdbc/pgjdbc/commit/3df32f9bf9da38cc5f0fbb212a3034e4634dd3c7) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Dave Cramer](davec@postgresintl.com) +[Sehrope Sarkuni](https://github.com/sehrope) From 33e74f5c2239ea79a9dffb13eb1a3eb8625b3d9a Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Fri, 13 Sep 2019 17:05:03 +0000 Subject: [PATCH 339/427] [maven-release-plugin] prepare release REL42.2.8 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index b7291e6c85..83d650fcbe 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.8-SNAPSHOT + 42.2.8 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,4 +357,8 @@ + + + REL42.2.8 + diff --git a/pom.xml b/pom.xml index 4ce97680b9..aacba70479 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.8-SNAPSHOT + 42.2.8 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.8 From 8a641a791c36326ee2f7c00798f37fd64306bebe Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Fri, 13 Sep 2019 17:05:09 +0000 Subject: [PATCH 340/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 83d650fcbe..ffd32ea284 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.8 + 42.2.9-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,8 +357,4 @@ - - - REL42.2.8 - diff --git a/pom.xml b/pom.xml index aacba70479..f50ae2c472 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.8 + 42.2.9-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.8 + HEAD From 91186c08968f15b11b7338f1a565124abedcbfae Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 20 Sep 2019 15:54:19 +0200 Subject: [PATCH 341/427] rpm: drop BR on properties-maven-plugin That one is not in Fedora 32+ anymore, and build seems to work fine without this. --- packaging/rpm/postgresql-jdbc.spec.tpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packaging/rpm/postgresql-jdbc.spec.tpl b/packaging/rpm/postgresql-jdbc.spec.tpl index 7a7def6acf..45f81791f1 100644 --- a/packaging/rpm/postgresql-jdbc.spec.tpl +++ b/packaging/rpm/postgresql-jdbc.spec.tpl @@ -61,7 +61,6 @@ BuildArch: noarch BuildRequires: java-devel >= 1.8 BuildRequires: maven-local BuildRequires: java-comment-preprocessor -BuildRequires: properties-maven-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-plugin-bundle BuildRequires: maven-plugin-build-helper @@ -108,6 +107,8 @@ find -name "*.jar" -or -name "*.class" | xargs rm -f %pom_xpath_set pom:relativePath ../pgjdbc-parent-poms/pgjdbc-core-parent pgjdbc %pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-shade-plugin']" pgjdbc %pom_remove_plugin :karaf-maven-plugin pgjdbc +%pom_remove_plugin :properties-maven-plugin pgjdbc-parent-poms/pgjdbc-core-parent +%pom_remove_plugin :properties-maven-plugin pgjdbc-parent-poms/pgjdbc-versions # compat symlink: requested by dtardon (libreoffice), reverts part of # 0af97ce32de877 commit. From 831115c1e8ede27d6a0434022b11edab7082721a Mon Sep 17 00:00:00 2001 From: rnveach Date: Mon, 23 Sep 2019 04:03:08 -0400 Subject: [PATCH 342/427] upgrade maven-checkstyle-plugin to 3.1.0 (#1573) --- pgjdbc/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index ffd32ea284..128f39e40b 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -329,7 +329,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.0.0 + 3.1.0 com.puppycrawl.tools From bd9485ef7b889ec7397b1e39f77f5d396f06ed05 Mon Sep 17 00:00:00 2001 From: Tom Eicher Date: Thu, 26 Sep 2019 15:37:48 +0200 Subject: [PATCH 343/427] fix: DataSources broken by connection failover urls (#1039) (#1457) * fix DataSources broken by connection failover urls (#1039) * removing java8 string join method and fixing indentation (#1039) * preserve original test "bds" as we are modifying ours (#1039) * storing old bds reference before changing it (#1039) * moving the url-modifiying test out of BaseDataSourceTest (#1039) --- .../postgresql/ds/common/BaseDataSource.java | 160 ++++++++++++++---- .../BaseDataSourceFailoverUrlsTest.java | 98 +++++++++++ .../jdbc2/optional/OptionalTestSuite.java | 3 +- 3 files changed, 228 insertions(+), 33 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceFailoverUrlsTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index ab64f0227a..64e9f04b0e 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -23,6 +23,7 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Arrays; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; @@ -39,16 +40,16 @@ * * @author Aaron Mulder (ammulder@chariotsolutions.com) */ -public abstract class BaseDataSource implements CommonDataSource, Referenceable { +public abstract class BaseDataSource implements CommonDataSource, Referenceable { private static final Logger LOGGER = Logger.getLogger(BaseDataSource.class.getName()); // Standard properties, defined in the JDBC 2.0 Optional Package spec - private String serverName = "localhost"; + private String[] serverNames = new String[] {"localhost"}; private String databaseName = ""; private String user; private String password; - private int portNumber = 0; + private int[] portNumbers = new int[] {0}; // Map for all other properties private Properties properties = new Properties(); @@ -129,9 +130,20 @@ public void setLogWriter(PrintWriter printWriter) { * Gets the name of the host the PostgreSQL database is running on. * * @return name of the host the PostgreSQL database is running on + * @deprecated use {@link #getServerNames()} */ + @Deprecated public String getServerName() { - return serverName; + return serverNames[0]; + } + + /** + * Gets the name of the host(s) the PostgreSQL database is running on. + * + * @return name of the host(s) the PostgreSQL database is running on + */ + public String[] getServerNames() { + return serverNames; } /** @@ -139,12 +151,30 @@ public String getServerName() { * only affect future calls to getConnection. The default value is localhost. * * @param serverName name of the host the PostgreSQL database is running on + * @deprecated use {@link #setServerNames(String[])} */ + @Deprecated public void setServerName(String serverName) { - if (serverName == null || serverName.equals("")) { - this.serverName = "localhost"; + this.setServerNames(new String[] { serverName }); + } + + /** + * Sets the name of the host(s) the PostgreSQL database is running on. If this is changed, it will + * only affect future calls to getConnection. The default value is localhost. + * + * @param serverNames name of the host(s) the PostgreSQL database is running on + */ + public void setServerNames(String[] serverNames) { + if (serverNames == null || serverNames.length == 0) { + this.serverNames = new String[] {"localhost"}; } else { - this.serverName = serverName; + serverNames = Arrays.copyOf(serverNames, serverNames.length); + for (int i = 0; i < serverNames.length; i++) { + if (serverNames[i] == null || serverNames[i].equals("")) { + serverNames[i] = "localhost"; + } + } + this.serverNames = serverNames; } } @@ -221,20 +251,50 @@ public void setPassword(String password) { * Gets the port which the PostgreSQL server is listening on for TCP/IP connections. * * @return The port, or 0 if the default port will be used. + * @deprecated use {@link #getPortNumbers()} */ + @Deprecated public int getPortNumber() { - return portNumber; + if (portNumbers == null || portNumbers.length == 0) { + return 0; + } + return portNumbers[0]; + } + + /** + * Gets the port(s) which the PostgreSQL server is listening on for TCP/IP connections. + * + * @return The port(s), or 0 if the default port will be used. + */ + public int[] getPortNumbers() { + return portNumbers; } /** - * Gets the port which the PostgreSQL server is listening on for TCP/IP connections. Be sure the + * Sets the port which the PostgreSQL server is listening on for TCP/IP connections. Be sure the * -i flag is passed to postmaster when PostgreSQL is started. If this is not set, or set to 0, * the default port will be used. * * @param portNumber port which the PostgreSQL server is listening on for TCP/IP + * @deprecated use {@link #setPortNumbers(int[])} */ + @Deprecated public void setPortNumber(int portNumber) { - this.portNumber = portNumber; + setPortNumbers(new int[] { portNumber }); + } + + /** + * Sets the port(s) which the PostgreSQL server is listening on for TCP/IP connections. Be sure the + * -i flag is passed to postmaster when PostgreSQL is started. If this is not set, or set to 0, + * the default port will be used. + * + * @param portNumbers port(s) which the PostgreSQL server is listening on for TCP/IP + */ + public void setPortNumbers(int[] portNumbers) { + if (portNumbers == null || portNumbers.length == 0) { + portNumbers = new int[] { 0 }; + } + this.portNumbers = Arrays.copyOf(portNumbers, portNumbers.length); } /** @@ -1085,9 +1145,14 @@ public void setLoggerFile(String loggerFile) { public String getUrl() { StringBuilder url = new StringBuilder(100); url.append("jdbc:postgresql://"); - url.append(serverName); - if (portNumber != 0) { - url.append(":").append(portNumber); + for (int i = 0; i < serverNames.length; i++) { + if (i > 0) { + url.append(","); + } + url.append(serverNames[i]); + if (portNumbers != null && portNumbers.length >= i && portNumbers[i] != 0) { + url.append(":").append(portNumbers[i]); + } } url.append("/").append(URLCoder.encode(databaseName)); @@ -1179,23 +1244,28 @@ public void setProperty(PGProperty property, String value) { } switch (property) { case PG_HOST: - serverName = value; + setServerNames(value.split(",")); break; case PG_PORT: - try { - portNumber = Integer.parseInt(value); - } catch (NumberFormatException e) { - portNumber = 0; + String[] ps = value.split(","); + int[] ports = new int[ps.length]; + for (int i = 0 ; i < ps.length; i++) { + try { + ports[i] = Integer.parseInt(ps[i]); + } catch (NumberFormatException e) { + ports[i] = 0; + } } + setPortNumbers(ports); break; case PG_DBNAME: - databaseName = value; + setDatabaseName(value); break; case USER: - user = value; + setUser(value); break; case PASSWORD: - password = value; + setPassword(value); break; default: properties.setProperty(property.getName(), value); @@ -1213,10 +1283,25 @@ protected Reference createReference() { public Reference getReference() throws NamingException { Reference ref = createReference(); - ref.add(new StringRefAddr("serverName", serverName)); - if (portNumber != 0) { - ref.add(new StringRefAddr("portNumber", Integer.toString(portNumber))); + StringBuilder serverString = new StringBuilder(); + for (int i = 0; i < serverNames.length; i++) { + if (i > 0) { + serverString.append(","); + } + String serverName = serverNames[i]; + serverString.append(serverName); + } + ref.add(new StringRefAddr("serverName", serverString.toString())); + + StringBuilder portString = new StringBuilder(); + for (int i = 0; i < portNumbers.length; i++) { + if (i > 0) { + portString.append(","); + } + int p = portNumbers[i]; + portString.append(Integer.toString(p)); } + ref.add(new StringRefAddr("portNumber", portString.toString())); ref.add(new StringRefAddr("databaseName", databaseName)); if (user != null) { ref.add(new StringRefAddr("user", user)); @@ -1236,11 +1321,22 @@ public Reference getReference() throws NamingException { public void setFromReference(Reference ref) { databaseName = getReferenceProperty(ref, "databaseName"); - String port = getReferenceProperty(ref, "portNumber"); - if (port != null) { - portNumber = Integer.parseInt(port); + String portNumberString = getReferenceProperty(ref, "portNumber"); + if (portNumberString != null) { + String[] ps = portNumberString.split(","); + int[] ports = new int[ps.length]; + for (int i = 0; i < ps.length; i++) { + try { + ports[i] = Integer.parseInt(ps[i]); + } catch (NumberFormatException e) { + ports[i] = 0; + } + } + setPortNumbers(ports); + } else { + setPortNumbers(null); } - serverName = getReferenceProperty(ref, "serverName"); + setServerNames(getReferenceProperty(ref, "serverName").split(",")); for (PGProperty property : PGProperty.values()) { setProperty(property, getReferenceProperty(ref, property.getName())); @@ -1256,21 +1352,21 @@ private static String getReferenceProperty(Reference ref, String propertyName) { } protected void writeBaseObject(ObjectOutputStream out) throws IOException { - out.writeObject(serverName); + out.writeObject(serverNames); out.writeObject(databaseName); out.writeObject(user); out.writeObject(password); - out.writeInt(portNumber); + out.writeObject(portNumbers); out.writeObject(properties); } protected void readBaseObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - serverName = (String) in.readObject(); + serverNames = (String[]) in.readObject(); databaseName = (String) in.readObject(); user = (String) in.readObject(); password = (String) in.readObject(); - portNumber = in.readInt(); + portNumbers = (int[]) in.readObject(); properties = (Properties) in.readObject(); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceFailoverUrlsTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceFailoverUrlsTest.java new file mode 100644 index 0000000000..4b0acd65f8 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/BaseDataSourceFailoverUrlsTest.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2004, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2.optional; + +import static org.junit.Assert.assertEquals; + +import org.postgresql.ds.common.BaseDataSource; + +import org.junit.Test; + +import java.io.IOException; +import javax.naming.NamingException; + +/** +* tests that failover urls survive the parse/rebuild roundtrip with and without specific ports +*/ +public class BaseDataSourceFailoverUrlsTest { + + private static final String DEFAULT_PORT = "5432"; + + @Test + public void testFullDefault() throws ClassNotFoundException, NamingException, IOException { + roundTripFromUrl("jdbc:postgresql://server/database", "jdbc:postgresql://server:" + DEFAULT_PORT + "/database"); + } + + @Test + public void testTwoNoPorts() throws ClassNotFoundException, NamingException, IOException { + roundTripFromUrl("jdbc:postgresql://server1,server2/database", "jdbc:postgresql://server1:" + DEFAULT_PORT + ",server2:" + DEFAULT_PORT + "/database"); + } + + @Test + public void testTwoWithPorts() throws ClassNotFoundException, NamingException, IOException { + roundTripFromUrl("jdbc:postgresql://server1:1234,server2:2345/database", "jdbc:postgresql://server1:1234,server2:2345/database"); + } + + @Test + public void testTwoFirstPort() throws ClassNotFoundException, NamingException, IOException { + roundTripFromUrl("jdbc:postgresql://server1,server2:2345/database", "jdbc:postgresql://server1:" + DEFAULT_PORT + ",server2:2345/database"); + } + + @Test + public void testTwoLastPort() throws ClassNotFoundException, NamingException, IOException { + roundTripFromUrl("jdbc:postgresql://server1:2345,server2/database", "jdbc:postgresql://server1:2345,server2:" + DEFAULT_PORT + "/database"); + } + + @Test + public void testNullPorts() { + BaseDataSource bds = newDS(); + bds.setDatabaseName("database"); + bds.setPortNumbers(null); + assertUrlWithoutParamsEquals("jdbc:postgresql://localhost/database", bds.getURL()); + assertEquals(0, bds.getPortNumber()); + assertEquals(0, bds.getPortNumbers()[0]); + } + + @Test + public void testEmptyPorts() { + BaseDataSource bds = newDS(); + bds.setDatabaseName("database"); + bds.setPortNumbers(new int[0]); + assertUrlWithoutParamsEquals("jdbc:postgresql://localhost/database", bds.getURL()); + assertEquals(0, bds.getPortNumber()); + assertEquals(0, bds.getPortNumbers()[0]); + } + + private BaseDataSource newDS() { + return new BaseDataSource() { + @Override + public String getDescription() { + return "BaseDataSourceFailoverUrlsTest-DS"; + } + }; + } + + private void roundTripFromUrl(String in, String expected) throws NamingException, ClassNotFoundException, IOException { + BaseDataSource bds = newDS(); + + bds.setUrl(in); + assertUrlWithoutParamsEquals(expected, bds.getURL()); + + bds.setFromReference(bds.getReference()); + assertUrlWithoutParamsEquals(expected, bds.getURL()); + + bds.initializeFrom(bds); + assertUrlWithoutParamsEquals(expected, bds.getURL()); + } + + private static String jdbcUrlStripParams(String in) { + return in.replaceAll("\\?.*$", ""); + } + + private static void assertUrlWithoutParamsEquals(String expected, String url) { + assertEquals(expected, jdbcUrlStripParams(url)); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java index 00c5d1a0ec..5a43fff45e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java @@ -20,7 +20,8 @@ SimpleDataSourceWithSetURLTest.class, ConnectionPoolTest.class, PoolingDataSourceTest.class, - CaseOptimiserDataSourceTest.class}) + CaseOptimiserDataSourceTest.class, + BaseDataSourceFailoverUrlsTest.class}) public class OptionalTestSuite { } From 0888e9355ca065ac2eae4e3085442ffd54f6dec6 Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Tue, 1 Oct 2019 19:38:49 +0200 Subject: [PATCH 344/427] feat: support for large update counts (JDBC 4.2) (#935) Added support for large update counts of the JDBC 4.2 API (Java 8+) This implementation supports: PreparedStatement.executeLargeUpdate() Statement.executeLargeUpdate(String sql) Statement.getLargeUpdateCount() Statement.executeLargeBatch() Statement.executeLargeUpdate(String sql, int autoGeneratedKeys) * Statement.executeLargeUpdate(String sql, int[] columnIndexes) * Statement.executeLargeUpdate(String sql, String[] columnNames) * --- .../org/postgresql/core/ResultHandler.java | 2 +- .../postgresql/core/ResultHandlerBase.java | 2 +- .../core/ResultHandlerDelegate.java | 2 +- .../postgresql/core/v3/QueryExecutorImpl.java | 22 +- .../postgresql/jdbc/BatchResultHandler.java | 83 +++- .../postgresql/jdbc/PgPreparedStatement.java | 11 +- .../java/org/postgresql/jdbc/PgResultSet.java | 5 +- .../java/org/postgresql/jdbc/PgStatement.java | 96 ++-- .../org/postgresql/jdbc/ResultWrapper.java | 6 +- .../java/org/postgresql/test/TestUtil.java | 20 + .../test/jdbc42/Jdbc42TestSuite.java | 1 + .../test/jdbc42/LargeCountJdbc42Test.java | 412 ++++++++++++++++++ 12 files changed, 588 insertions(+), 74 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc42/LargeCountJdbc42Test.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java b/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java index 4b9e01c469..cb25afdf7e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ResultHandler.java @@ -48,7 +48,7 @@ void handleResultRows(Query fromQuery, Field[] fields, List tuples, * @param insertOID for a single-row INSERT query, the OID of the newly inserted row; 0 if not * available. */ - void handleCommandStatus(String status, int updateCount, long insertOID); + void handleCommandStatus(String status, long updateCount, long insertOID); /** * Called when a warning is emitted. diff --git a/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerBase.java b/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerBase.java index d16da9e83b..c6dd206d08 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerBase.java @@ -30,7 +30,7 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup } @Override - public void handleCommandStatus(String status, int updateCount, long insertOID) { + public void handleCommandStatus(String status, long updateCount, long insertOID) { } @Override diff --git a/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerDelegate.java b/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerDelegate.java index 34e96d189a..926e59bc1d 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerDelegate.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ResultHandlerDelegate.java @@ -31,7 +31,7 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup } @Override - public void handleCommandStatus(String status, int updateCount, long insertOID) { + public void handleCommandStatus(String status, long updateCount, long insertOID) { if (delegate != null) { delegate.handleCommandStatus(status, updateCount, insertOID); } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 6c5cc1e6db..23fcde5980 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -51,7 +51,6 @@ import java.net.SocketTimeoutException; import java.sql.SQLException; import java.sql.SQLWarning; -import java.sql.Statement; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; @@ -558,7 +557,8 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup } } - public void handleCommandStatus(String status, int updateCount, long insertOID) { + @Override + public void handleCommandStatus(String status, long updateCount, long insertOID) { if (!sawBegin) { sawBegin = true; if (!status.equals("BEGIN")) { @@ -600,7 +600,8 @@ public void doSubprotocolBegin() throws SQLException { ResultHandler handler = new ResultHandlerBase() { private boolean sawBegin = false; - public void handleCommandStatus(String status, int updateCount, long insertOID) { + @Override + public void handleCommandStatus(String status, long updateCount, long insertOID) { if (!sawBegin) { if (!status.equals("BEGIN")) { handleError( @@ -614,6 +615,7 @@ public void handleCommandStatus(String status, int updateCount, long insertOID) } } + @Override public void handleWarning(SQLWarning warning) { // we don't want to ignore warnings and it would be tricky // to chain them back to the connection, so since we don't @@ -2408,7 +2410,8 @@ public synchronized void fetch(ResultCursor cursor, ResultHandler handler, int f // (if the fetch returns no rows, we see just a CommandStatus..) final ResultHandler delegateHandler = handler; handler = new ResultHandlerDelegate(delegateHandler) { - public void handleCommandStatus(String status, int updateCount, long insertOID) { + @Override + public void handleCommandStatus(String status, long updateCount, long insertOID) { handleResultRows(portal.getQuery(), null, new ArrayList(), null); } }; @@ -2539,16 +2542,7 @@ private void interpretCommandStatus(String status, ResultHandler handler) { long oid = commandCompleteParser.getOid(); long count = commandCompleteParser.getRows(); - int countAsInt = 0; - if (count > Integer.MAX_VALUE) { - // If command status indicates that we've modified more than Integer.MAX_VALUE rows - // then we set the result count to reflect that we cannot provide the actual number - // due to the JDBC field being an int rather than a long. - countAsInt = Statement.SUCCESS_NO_INFO; - } else if (count > 0) { - countAsInt = (int) count; - } - handler.handleCommandStatus(status, countAsInt, oid); + handler.handleCommandStatus(status, count, oid); } private void receiveRFQ() throws IOException { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java index 5cf84ff3fb..b88807c748 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/BatchResultHandler.java @@ -28,16 +28,17 @@ * Internal class, it is not a part of public API. */ public class BatchResultHandler extends ResultHandlerBase { - private PgStatement pgStatement; + + private final PgStatement pgStatement; private int resultIndex = 0; private final Query[] queries; - private final int[] updateCounts; + private final long[] longUpdateCounts; private final ParameterList[] parameterLists; private final boolean expectGeneratedKeys; private PgResultSet generatedKeys; private int committedRows; // 0 means no rows committed. 1 means row 0 was committed, and so on - private List> allGeneratedRows; + private final List> allGeneratedRows; private List latestGeneratedRows; private PgResultSet latestGeneratedKeysRs; @@ -46,11 +47,12 @@ public class BatchResultHandler extends ResultHandlerBase { this.pgStatement = pgStatement; this.queries = queries; this.parameterLists = parameterLists; - this.updateCounts = new int[queries.length]; + this.longUpdateCounts = new long[queries.length]; this.expectGeneratedKeys = expectGeneratedKeys; this.allGeneratedRows = !expectGeneratedKeys ? null : new ArrayList>(); } + @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { // If SELECT, then handleCommandStatus call would just be missing @@ -63,9 +65,8 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup try { // If SELECT, the resulting ResultSet is not valid // Thus it is up to handleCommandStatus to decide if resultSet is good enough - latestGeneratedKeysRs = - (PgResultSet) pgStatement.createResultSet(fromQuery, fields, - new ArrayList(), cursor); + latestGeneratedKeysRs = (PgResultSet) pgStatement.createResultSet(fromQuery, fields, + new ArrayList(), cursor); } catch (SQLException e) { handleError(e); } @@ -73,7 +74,8 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup latestGeneratedRows = tuples; } - public void handleCommandStatus(String status, int updateCount, long insertOID) { + @Override + public void handleCommandStatus(String status, long updateCount, long insertOID) { if (latestGeneratedRows != null) { // We have DML. Decrease resultIndex that was just increased in handleResultRows resultIndex--; @@ -95,7 +97,7 @@ public void handleCommandStatus(String status, int updateCount, long insertOID) } latestGeneratedKeysRs = null; - updateCounts[resultIndex++] = updateCount; + longUpdateCounts[resultIndex++] = updateCount; } private boolean isAutoCommit() { @@ -125,6 +127,7 @@ private void updateGeneratedKeys() { allGeneratedRows.clear(); } + @Override public void handleWarning(SQLWarning warning) { pgStatement.addWarning(warning); } @@ -132,7 +135,7 @@ public void handleWarning(SQLWarning warning) { @Override public void handleError(SQLException newError) { if (getException() == null) { - Arrays.fill(updateCounts, committedRows, updateCounts.length, Statement.EXECUTE_FAILED); + Arrays.fill(longUpdateCounts, committedRows, longUpdateCounts.length, Statement.EXECUTE_FAILED); if (allGeneratedRows != null) { allGeneratedRows.clear(); } @@ -142,11 +145,19 @@ public void handleError(SQLException newError) { queryString = queries[resultIndex].toString(parameterLists[resultIndex]); } - BatchUpdateException batchException = new BatchUpdateException( + BatchUpdateException batchException; + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + batchException = new BatchUpdateException( + GT.tr("Batch entry {0} {1} was aborted: {2} Call getNextException to see other errors in the batch.", + resultIndex, queryString, newError.getMessage()), + newError.getSQLState(), 0, uncompressLongUpdateCount(), newError); + //#else + batchException = new BatchUpdateException( GT.tr("Batch entry {0} {1} was aborted: {2} Call getNextException to see other errors in the batch.", resultIndex, queryString, newError.getMessage()), - newError.getSQLState(), uncompressUpdateCount()); - batchException.initCause(newError); + newError.getSQLState(), 0, uncompressUpdateCount(), newError); + //#endif + super.handleError(batchException); } resultIndex++; @@ -154,18 +165,30 @@ public void handleError(SQLException newError) { super.handleError(newError); } + @Override public void handleCompletion() throws SQLException { updateGeneratedKeys(); SQLException batchException = getException(); if (batchException != null) { if (isAutoCommit()) { // Re-create batch exception since rows after exception might indeed succeed. - BatchUpdateException newException = new BatchUpdateException( + BatchUpdateException newException; + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + newException = new BatchUpdateException( batchException.getMessage(), - batchException.getSQLState(), - uncompressUpdateCount() + batchException.getSQLState(), 0, + uncompressLongUpdateCount(), + batchException.getCause() ); - newException.initCause(batchException.getCause()); + //#else + newException = new BatchUpdateException( + batchException.getMessage(), + batchException.getSQLState(), 0, + uncompressUpdateCount(), + batchException.getCause() + ); + //#endif + SQLException next = batchException.getNextException(); if (next != null) { newException.setNextException(next); @@ -181,8 +204,21 @@ public ResultSet getGeneratedKeys() { } private int[] uncompressUpdateCount() { + long[] original = uncompressLongUpdateCount(); + int[] copy = new int[original.length]; + for (int i = 0; i < original.length; i++) { + copy[i] = original[i] > Integer.MAX_VALUE ? Statement.SUCCESS_NO_INFO : (int) original[i]; + } + return copy; + } + + public int[] getUpdateCount() { + return uncompressUpdateCount(); + } + + private long[] uncompressLongUpdateCount() { if (!(queries[0] instanceof BatchedQuery)) { - return updateCounts; + return longUpdateCounts; } int totalRows = 0; boolean hasRewrites = false; @@ -192,7 +228,7 @@ private int[] uncompressUpdateCount() { hasRewrites |= batchSize > 1; } if (!hasRewrites) { - return updateCounts; + return longUpdateCounts; } /* In this situation there is a batch that has been rewritten. Substitute @@ -200,12 +236,12 @@ private int[] uncompressUpdateCount() { * indicate successful completion for each row the driver client added * to the batch. */ - int[] newUpdateCounts = new int[totalRows]; + long[] newUpdateCounts = new long[totalRows]; int offset = 0; for (int i = 0; i < queries.length; i++) { Query query = queries[i]; int batchSize = query.getBatchSize(); - int superBatchResult = updateCounts[i]; + long superBatchResult = longUpdateCounts[i]; if (batchSize == 1) { newUpdateCounts[offset++] = superBatchResult; continue; @@ -221,7 +257,8 @@ private int[] uncompressUpdateCount() { return newUpdateCounts; } - public int[] getUpdateCount() { - return uncompressUpdateCount(); + public long[] getLargeUpdateCount() { + return uncompressLongUpdateCount(); } + } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 8e66bc779d..3c5ee62687 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -122,9 +122,18 @@ public int executeUpdate(String sql) throws SQLException { @Override public int executeUpdate() throws SQLException { executeWithFlags(QueryExecutor.QUERY_NO_RESULTS); + checkNoResultUpdate(); + return getUpdateCount(); + } - return getNoResultUpdateCount(); + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + @Override + public long executeLargeUpdate() throws SQLException { + executeWithFlags(QueryExecutor.QUERY_NO_RESULTS); + checkNoResultUpdate(); + return getLargeUpdateCount(); } + //#endif @Override public boolean execute(String sql) throws SQLException { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 107e9e642a..9cc490a00e 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1744,17 +1744,20 @@ private void updateRowBuffer() throws SQLException { public class CursorResultHandler extends ResultHandlerBase { + @Override public void handleResultRows(Query fromQuery, Field[] fields, List tuples, ResultCursor cursor) { PgResultSet.this.rows = tuples; PgResultSet.this.cursor = cursor; } - public void handleCommandStatus(String status, int updateCount, long insertOID) { + @Override + public void handleCommandStatus(String status, long updateCount, long insertOID) { handleError(new PSQLException(GT.tr("Unexpected command status: {0}.", status), PSQLState.PROTOCOL_VIOLATION)); } + @Override public void handleCompletion() throws SQLException { SQLWarning warning = getWarning(); if (warning != null) { diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 5dcf4c4f79..3940e7a2c7 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -209,7 +209,7 @@ public void handleResultRows(Query fromQuery, Field[] fields, List tup } @Override - public void handleCommandStatus(String status, int updateCount, long insertOID) { + public void handleCommandStatus(String status, long updateCount, long insertOID) { append(new ResultWrapper(updateCount, insertOID)); } @@ -244,10 +244,11 @@ protected ResultSet getSingleResultSet() throws SQLException { @Override public int executeUpdate(String sql) throws SQLException { executeWithFlags(sql, QueryExecutor.QUERY_NO_RESULTS); - return getNoResultUpdateCount(); + checkNoResultUpdate(); + return getUpdateCount(); } - protected int getNoResultUpdateCount() throws SQLException { + protected final void checkNoResultUpdate() throws SQLException { synchronized (this) { checkClosed(); ResultWrapper iter = result; @@ -255,12 +256,9 @@ protected int getNoResultUpdateCount() throws SQLException { if (iter.getResultSet() != null) { throw new PSQLException(GT.tr("A result was returned when none was expected."), PSQLState.TOO_MANY_RESULTS); - } iter = iter.getNext(); } - - return getUpdateCount(); } } @@ -470,6 +468,7 @@ public void setCursorName(String name) throws SQLException { private volatile boolean isClosed = false; + @Override public int getUpdateCount() throws SQLException { synchronized (this) { checkClosed(); @@ -477,7 +476,8 @@ public int getUpdateCount() throws SQLException { return -1; } - return result.getUpdateCount(); + long count = result.getUpdateCount(); + return count > Integer.MAX_VALUE ? Statement.SUCCESS_NO_INFO : (int) count; } } @@ -739,26 +739,17 @@ protected BatchResultHandler createBatchHandler(Query[] queries, wantsGeneratedKeysAlways); } - public int[] executeBatch() throws SQLException { - checkClosed(); - - closeForNextExecution(); - - if (batchStatements == null || batchStatements.isEmpty()) { - return new int[0]; - } - + private BatchResultHandler internalExecuteBatch() throws SQLException { // Construct query/parameter arrays. transformQueriesAndParameters(); // Empty arrays should be passed to toArray // see http://shipilev.net/blog/2016/arrays-wisdom-ancients/ Query[] queries = batchStatements.toArray(new Query[0]); - ParameterList[] parameterLists = - batchParameters.toArray(new ParameterList[0]); + ParameterList[] parameterLists = batchParameters.toArray(new ParameterList[0]); batchStatements.clear(); batchParameters.clear(); - int flags = 0; + int flags; // Force a Describe before any execution? We need to do this if we're going // to send anything dependent on the Describe results, e.g. binary parameters. @@ -862,8 +853,18 @@ public int[] executeBatch() throws SQLException { } } } + return handler; + } + + public int[] executeBatch() throws SQLException { + checkClosed(); + closeForNextExecution(); + + if (batchStatements == null || batchStatements.isEmpty()) { + return new int[0]; + } - return handler.getUpdateCount(); + return internalExecuteBatch().getUpdateCount(); } public void cancel() throws SQLException { @@ -1012,8 +1013,17 @@ protected boolean getForceBinaryTransfer() { return forceBinaryTransfers; } + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + @Override public long getLargeUpdateCount() throws SQLException { - throw Driver.notImplemented(this.getClass(), "getLargeUpdateCount"); + synchronized (this) { + checkClosed(); + if (result == null || result.getResultSet() != null) { + return -1; + } + + return result.getUpdateCount(); + } } public void setLargeMaxRows(long max) throws SQLException { @@ -1024,29 +1034,57 @@ public long getLargeMaxRows() throws SQLException { throw Driver.notImplemented(this.getClass(), "getLargeMaxRows"); } + @Override public long[] executeLargeBatch() throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeBatch"); + checkClosed(); + closeForNextExecution(); + + if (batchStatements == null || batchStatements.isEmpty()) { + return new long[0]; + } + + return internalExecuteBatch().getLargeUpdateCount(); } + @Override public long executeLargeUpdate(String sql) throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeUpdate"); + executeWithFlags(sql, QueryExecutor.QUERY_NO_RESULTS); + checkNoResultUpdate(); + return getLargeUpdateCount(); } + @Override public long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeUpdate"); + if (autoGeneratedKeys == Statement.NO_GENERATED_KEYS) { + return executeLargeUpdate(sql); + } + + return executeLargeUpdate(sql, (String[]) null); } + @Override public long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeUpdate"); + if (columnIndexes == null || columnIndexes.length == 0) { + return executeLargeUpdate(sql); + } + + throw new PSQLException(GT.tr("Returning autogenerated keys by column index is not supported."), + PSQLState.NOT_IMPLEMENTED); } + @Override public long executeLargeUpdate(String sql, String[] columnNames) throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeUpdate"); - } + if (columnNames != null && columnNames.length == 0) { + return executeLargeUpdate(sql); + } - public long executeLargeUpdate() throws SQLException { - throw Driver.notImplemented(this.getClass(), "executeLargeUpdate"); + wantsGeneratedKeysOnce = true; + if (!executeCachedSql(sql, 0, columnNames)) { + // no resultset returned. What's a pity! + } + return getLargeUpdateCount(); } + //#endif public boolean isClosed() throws SQLException { return isClosed; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/ResultWrapper.java b/pgjdbc/src/main/java/org/postgresql/jdbc/ResultWrapper.java index 3fb0034527..df79ae7873 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/ResultWrapper.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/ResultWrapper.java @@ -21,7 +21,7 @@ public ResultWrapper(ResultSet rs) { this.insertOID = -1; } - public ResultWrapper(int updateCount, long insertOID) { + public ResultWrapper(long updateCount, long insertOID) { this.rs = null; this.updateCount = updateCount; this.insertOID = insertOID; @@ -31,7 +31,7 @@ public ResultSet getResultSet() { return rs; } - public int getUpdateCount() { + public long getUpdateCount() { return updateCount; } @@ -53,7 +53,7 @@ public void append(ResultWrapper newResult) { } private final ResultSet rs; - private final int updateCount; + private final long updateCount; private final long insertOID; private ResultWrapper next; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index 211d01eb3f..e3b005f060 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -437,6 +437,26 @@ public static void createTempTable(Connection con, String table, String columns) } } + /* + * Helper - creates a unlogged table for use by a test. + * Unlogged tables works from PostgreSQL 9.1+ + */ + public static void createUnloggedTable(Connection con, String table, String columns) + throws SQLException { + Statement st = con.createStatement(); + try { + // Drop the table + dropTable(con, table); + + String unlogged = haveMinimumServerVersion(con, ServerVersion.v9_1) ? "UNLOGGED" : ""; + + // Now create the table + st.executeUpdate("CREATE " + unlogged + " TABLE " + table + " (" + columns + ")"); + } finally { + closeQuietly(st); + } + } + /** * Helper creates an enum type. * diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java index 6b92e46f83..f3252783c5 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java @@ -18,6 +18,7 @@ PreparedStatementTest.class, SetObject310Test.class, SimpleJdbc42Test.class, + LargeCountJdbc42Test.class }) public class Jdbc42TestSuite { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/LargeCountJdbc42Test.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/LargeCountJdbc42Test.java new file mode 100644 index 0000000000..fef3362566 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/LargeCountJdbc42Test.java @@ -0,0 +1,412 @@ +/* + * Copyright (c) 2018, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc42; + +import org.postgresql.PGProperty; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; +import org.postgresql.util.PSQLState; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Properties; + +/** + * Test methods with small counts that return long and failure scenarios. This have two really big + * and slow test, they are ignored for CI but can be tested locally to check that it works. + */ +@RunWith(Parameterized.class) +public class LargeCountJdbc42Test extends BaseTest4 { + + private final boolean insertRewrite; + + public LargeCountJdbc42Test(BinaryMode binaryMode, boolean insertRewrite) { + this.insertRewrite = insertRewrite; + setBinaryMode(binaryMode); + } + + @Parameterized.Parameters(name = "binary = {0}, insertRewrite = {1}") + public static Iterable data() { + Collection ids = new ArrayList<>(); + for (BinaryMode binaryMode : BinaryMode.values()) { + for (boolean insertRewrite : new boolean[]{false, true}) { + ids.add(new Object[]{binaryMode, insertRewrite}); + } + } + return ids; + } + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.REWRITE_BATCHED_INSERTS.set(props, insertRewrite); + } + + @Override + public void setUp() throws Exception { + super.setUp(); + TestUtil.createUnloggedTable(con, "largetable", "a boolean"); + } + + @Override + public void tearDown() throws SQLException { + TestUtil.dropTable(con, "largetable"); + TestUtil.closeDB(con); + } + + // ********************* EXECUTE LARGE UPDATES ********************* + // FINEST: simple execute, handler=org.postgresql.jdbc.PgStatement$StatementResultHandler@38cccef, maxRows=0, fetchSize=0, flags=21 + // FINEST: FE=> Parse(stmt=null,query="insert into largetable select true from generate_series($1, $2)",oids={20,20}) + // FINEST: FE=> Bind(stmt=null,portal=null,$1=<1>,$2=<2147483757>) + // FINEST: FE=> Describe(portal=null) + // FINEST: FE=> Execute(portal=null,limit=1) + // FINEST: FE=> Sync + // FINEST: <=BE ParseComplete [null] + // FINEST: <=BE BindComplete [unnamed] + // FINEST: <=BE NoData + // FINEST: <=BE CommandStatus(INSERT 0 2147483757) + // FINEST: <=BE ReadyForQuery(I) + // FINEST: simple execute, handler=org.postgresql.jdbc.PgStatement$StatementResultHandler@5679c6c6, maxRows=0, fetchSize=0, flags=21 + // FINEST: FE=> Parse(stmt=null,query="delete from largetable",oids={}) + // FINEST: FE=> Bind(stmt=null,portal=null) + // FINEST: FE=> Describe(portal=null) + // FINEST: FE=> Execute(portal=null,limit=1) + // FINEST: FE=> Sync + // FINEST: <=BE ParseComplete [null] + // FINEST: <=BE BindComplete [unnamed] + // FINEST: <=BE NoData + // FINEST: <=BE CommandStatus(DELETE 2147483757) + + /* + * Test PreparedStatement.executeLargeUpdate() and Statement.executeLargeUpdate(String sql) + */ + @Ignore("This is the big and SLOW test") + @Test + public void testExecuteLargeUpdateBIG() throws Exception { + long expected = Integer.MAX_VALUE + 110L; + con.setAutoCommit(false); + // Test PreparedStatement.executeLargeUpdate() + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + stmt.setLong(1, 1); + stmt.setLong(2, 2_147_483_757L); // Integer.MAX_VALUE + 110L + long count = stmt.executeLargeUpdate(); + Assert.assertEquals("PreparedStatement 110 rows more than Integer.MAX_VALUE", expected, count); + } + // Test Statement.executeLargeUpdate(String sql) + try (Statement stmt = con.createStatement()) { + long count = stmt.executeLargeUpdate("delete from largetable"); + Assert.assertEquals("Statement 110 rows more than Integer.MAX_VALUE", expected, count); + } + con.setAutoCommit(true); + } + + /* + * Test Statement.executeLargeUpdate(String sql) + */ + @Test + public void testExecuteLargeUpdateStatementSMALL() throws Exception { + try (Statement stmt = con.createStatement()) { + long count = stmt.executeLargeUpdate("insert into largetable " + + "select true from generate_series(1, 1010)"); + long expected = 1010L; + Assert.assertEquals("Small long return 1010L", expected, count); + } + } + + /* + * Test PreparedStatement.executeLargeUpdate(); + */ + @Test + public void testExecuteLargeUpdatePreparedStatementSMALL() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + stmt.setLong(1, 1); + stmt.setLong(2, 1010L); + long count = stmt.executeLargeUpdate(); + long expected = 1010L; + Assert.assertEquals("Small long return 1010L", expected, count); + } + } + + /* + * Test Statement.getLargeUpdateCount(); + */ + @Test + public void testGetLargeUpdateCountStatementSMALL() throws Exception { + try (Statement stmt = con.createStatement()) { + boolean isResult = stmt.execute("insert into largetable " + + "select true from generate_series(1, 1010)"); + Assert.assertFalse("False if it is an update count or there are no results", isResult); + long count = stmt.getLargeUpdateCount(); + long expected = 1010L; + Assert.assertEquals("Small long return 1010L", expected, count); + } + } + + /* + * Test PreparedStatement.getLargeUpdateCount(); + */ + @Test + public void testGetLargeUpdateCountPreparedStatementSMALL() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + stmt.setInt(1, 1); + stmt.setInt(2, 1010); + boolean isResult = stmt.execute(); + Assert.assertFalse("False if it is an update count or there are no results", isResult); + long count = stmt.getLargeUpdateCount(); + long expected = 1010L; + Assert.assertEquals("Small long return 1010L", expected, count); + } + } + + /* + * Test fail SELECT Statement.executeLargeUpdate(String sql) + */ + @Test + public void testExecuteLargeUpdateStatementSELECT() throws Exception { + try (Statement stmt = con.createStatement()) { + long count = stmt.executeLargeUpdate("select true from generate_series(1, 5)"); + Assert.fail("A result was returned when none was expected. Returned: " + count); + } catch (SQLException e) { + Assert.assertEquals(PSQLState.TOO_MANY_RESULTS.getState(), e.getSQLState()); + } + } + + /* + * Test fail SELECT PreparedStatement.executeLargeUpdate(); + */ + @Test + public void testExecuteLargeUpdatePreparedStatementSELECT() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("select true from generate_series(?, ?)")) { + stmt.setLong(1, 1); + stmt.setLong(2, 5L); + long count = stmt.executeLargeUpdate(); + Assert.fail("A result was returned when none was expected. Returned: " + count); + } catch (SQLException e) { + Assert.assertEquals(PSQLState.TOO_MANY_RESULTS.getState(), e.getSQLState()); + } + } + + /* + * Test Statement.getLargeUpdateCount(); + */ + @Test + public void testGetLargeUpdateCountStatementSELECT() throws Exception { + try (Statement stmt = con.createStatement()) { + boolean isResult = stmt.execute("select true from generate_series(1, 5)"); + Assert.assertTrue("True since this is a SELECT", isResult); + long count = stmt.getLargeUpdateCount(); + long expected = -1L; + Assert.assertEquals("-1 if the current result is a ResultSet object", expected, count); + } + } + + /* + * Test PreparedStatement.getLargeUpdateCount(); + */ + @Test + public void testGetLargeUpdateCountPreparedStatementSELECT() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("select true from generate_series(?, ?)")) { + stmt.setLong(1, 1); + stmt.setLong(2, 5L); + boolean isResult = stmt.execute(); + Assert.assertTrue("True since this is a SELECT", isResult); + long count = stmt.getLargeUpdateCount(); + long expected = -1L; + Assert.assertEquals("-1 if the current result is a ResultSet object", expected, count); + } + } + + // ********************* BATCH LARGE UPDATES ********************* + // FINEST: batch execute 3 queries, handler=org.postgresql.jdbc.BatchResultHandler@3d04a311, maxRows=0, fetchSize=0, flags=21 + // FINEST: FE=> Parse(stmt=null,query="insert into largetable select true from generate_series($1, $2)",oids={23,23}) + // FINEST: FE=> Bind(stmt=null,portal=null,$1=<1>,$2=<200>) + // FINEST: FE=> Describe(portal=null) + // FINEST: FE=> Execute(portal=null,limit=1) + // FINEST: FE=> Parse(stmt=null,query="insert into largetable select true from generate_series($1, $2)",oids={23,20}) + // FINEST: FE=> Bind(stmt=null,portal=null,$1=<1>,$2=<3000000000>) + // FINEST: FE=> Describe(portal=null) + // FINEST: FE=> Execute(portal=null,limit=1) + // FINEST: FE=> Parse(stmt=null,query="insert into largetable select true from generate_series($1, $2)",oids={23,23}) + // FINEST: FE=> Bind(stmt=null,portal=null,$1=<1>,$2=<50>) + // FINEST: FE=> Describe(portal=null) + // FINEST: FE=> Execute(portal=null,limit=1) + // FINEST: FE=> Sync + // FINEST: <=BE ParseComplete [null] + // FINEST: <=BE BindComplete [unnamed] + // FINEST: <=BE NoData + // FINEST: <=BE CommandStatus(INSERT 0 200) + // FINEST: <=BE ParseComplete [null] + // FINEST: <=BE BindComplete [unnamed] + // FINEST: <=BE NoData + // FINEST: <=BE CommandStatus(INSERT 0 3000000000) + // FINEST: <=BE ParseComplete [null] + // FINEST: <=BE BindComplete [unnamed] + // FINEST: <=BE NoData + // FINEST: <=BE CommandStatus(INSERT 0 50) + + /* + * Test simple PreparedStatement.executeLargeBatch(); + */ + @Ignore("This is the big and SLOW test") + @Test + public void testExecuteLargeBatchStatementBIG() throws Exception { + con.setAutoCommit(false); + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + stmt.setInt(1, 1); + stmt.setInt(2, 200); + stmt.addBatch(); // statement one + stmt.setInt(1, 1); + stmt.setLong(2, 3_000_000_000L); + stmt.addBatch(); // statement two + stmt.setInt(1, 1); + stmt.setInt(2, 50); + stmt.addBatch(); // statement three + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("Large rows inserted via 3 batch", new long[]{200L, 3_000_000_000L, 50L}, actual); + } + con.setAutoCommit(true); + } + + /* + * Test simple Statement.executeLargeBatch(); + */ + @Test + public void testExecuteLargeBatchStatementSMALL() throws Exception { + try (Statement stmt = con.createStatement()) { + stmt.addBatch("insert into largetable(a) select true"); // statement one + stmt.addBatch("insert into largetable select false"); // statement two + stmt.addBatch("insert into largetable(a) values(true)"); // statement three + stmt.addBatch("insert into largetable values(false)"); // statement four + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("Rows inserted via 4 batch", new long[]{1L, 1L, 1L, 1L}, actual); + } + } + + /* + * Test simple PreparedStatement.executeLargeBatch(); + */ + @Test + public void testExecuteLargePreparedStatementStatementSMALL() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + stmt.setInt(1, 1); + stmt.setInt(2, 200); + stmt.addBatch(); // statement one + stmt.setInt(1, 1); + stmt.setInt(2, 100); + stmt.addBatch(); // statement two + stmt.setInt(1, 1); + stmt.setInt(2, 50); + stmt.addBatch(); // statement three + stmt.addBatch(); // statement four, same parms as three + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("Rows inserted via 4 batch", new long[]{200L, 100L, 50L, 50L}, actual); + } + } + + /* + * Test loop PreparedStatement.executeLargeBatch(); + */ + @Test + public void testExecuteLargePreparedStatementStatementLoopSMALL() throws Exception { + long[] loop = {200, 100, 50, 300, 20, 60, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096}; + try (PreparedStatement stmt = con.prepareStatement("insert into largetable " + + "select true from generate_series(?, ?)")) { + for (long i : loop) { + stmt.setInt(1, 1); + stmt.setLong(2, i); + stmt.addBatch(); + } + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("Rows inserted via batch", loop, actual); + } + } + + /* + * Test loop PreparedStatement.executeLargeBatch(); + */ + @Test + public void testExecuteLargeBatchValuesInsertSMALL() throws Exception { + boolean[] loop = {true, false, true, false, false, false, true, true, true, true, false, true}; + try (PreparedStatement stmt = con.prepareStatement("insert into largetable values(?)")) { + for (boolean i : loop) { + stmt.setBoolean(1, i); + stmt.addBatch(); + } + long[] actual = stmt.executeLargeBatch(); + Assert.assertEquals("Rows inserted via batch", loop.length, actual.length); + for (long i : actual) { + if (insertRewrite) { + Assert.assertEquals(Statement.SUCCESS_NO_INFO, i); + } else { + Assert.assertEquals(1, i); + } + } + } + } + + /* + * Test null PreparedStatement.executeLargeBatch(); + */ + @Test + public void testNullExecuteLargeBatchStatement() throws Exception { + try (Statement stmt = con.createStatement()) { + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("addBatch() not called batchStatements is null", new long[0], actual); + } + } + + /* + * Test empty PreparedStatement.executeLargeBatch(); + */ + @Test + public void testEmptyExecuteLargeBatchStatement() throws Exception { + try (Statement stmt = con.createStatement()) { + stmt.addBatch(""); + stmt.clearBatch(); + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("clearBatch() called, batchStatements.isEmpty()", new long[0], actual); + } + } + + /* + * Test null PreparedStatement.executeLargeBatch(); + */ + @Test + public void testNullExecuteLargeBatchPreparedStatement() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("")) { + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("addBatch() not called batchStatements is null", new long[0], actual); + } + } + + /* + * Test empty PreparedStatement.executeLargeBatch(); + */ + @Test + public void testEmptyExecuteLargeBatchPreparedStatement() throws Exception { + try (PreparedStatement stmt = con.prepareStatement("")) { + stmt.addBatch(); + stmt.clearBatch(); + long[] actual = stmt.executeLargeBatch(); + Assert.assertArrayEquals("clearBatch() called, batchStatements.isEmpty()", new long[0], actual); + } + } + +} From 69edc0b8f0985465af0ba0ee258f6b2564240232 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Wed, 2 Oct 2019 13:15:15 +0200 Subject: [PATCH 345/427] Fix Markdown formatting issue (#1576) Fixes a Markdown formatting issue in the `query.md` section on restrictions with cursor-based `ResultSet`s. --- docs/documentation/92/query.md | 2 +- docs/documentation/93/query.md | 2 +- docs/documentation/94/query.md | 2 +- docs/documentation/head/query.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/documentation/92/query.md b/docs/documentation/92/query.md index 88fa831e3e..89ee5e51aa 100644 --- a/docs/documentation/92/query.md +++ b/docs/documentation/92/query.md @@ -76,7 +76,7 @@ exhausted the next block of rows is retrieved by repositioning the cursor. * The `Connection` must not be in autocommit mode. The backend closes cursors at the end of transactions, so in autocommit mode the backend will have closed the cursor before anything can be fetched from it. -*The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. +* The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. This is the default, so no code will need to be rewritten to take advantage of this, but it also means that you cannot scroll backwards or otherwise jump around in the `ResultSet`. diff --git a/docs/documentation/93/query.md b/docs/documentation/93/query.md index 88fa831e3e..89ee5e51aa 100644 --- a/docs/documentation/93/query.md +++ b/docs/documentation/93/query.md @@ -76,7 +76,7 @@ exhausted the next block of rows is retrieved by repositioning the cursor. * The `Connection` must not be in autocommit mode. The backend closes cursors at the end of transactions, so in autocommit mode the backend will have closed the cursor before anything can be fetched from it. -*The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. +* The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. This is the default, so no code will need to be rewritten to take advantage of this, but it also means that you cannot scroll backwards or otherwise jump around in the `ResultSet`. diff --git a/docs/documentation/94/query.md b/docs/documentation/94/query.md index 88fa831e3e..89ee5e51aa 100644 --- a/docs/documentation/94/query.md +++ b/docs/documentation/94/query.md @@ -76,7 +76,7 @@ exhausted the next block of rows is retrieved by repositioning the cursor. * The `Connection` must not be in autocommit mode. The backend closes cursors at the end of transactions, so in autocommit mode the backend will have closed the cursor before anything can be fetched from it. -*The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. +* The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. This is the default, so no code will need to be rewritten to take advantage of this, but it also means that you cannot scroll backwards or otherwise jump around in the `ResultSet`. diff --git a/docs/documentation/head/query.md b/docs/documentation/head/query.md index d6fde7f6fb..2bd8214cef 100644 --- a/docs/documentation/head/query.md +++ b/docs/documentation/head/query.md @@ -81,7 +81,7 @@ exhausted the next block of rows is retrieved by repositioning the cursor. * The `Connection` must not be in autocommit mode. The backend closes cursors at the end of transactions, so in autocommit mode the backend will have closed the cursor before anything can be fetched from it. -*The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. +* The `Statement` must be created with a `ResultSet` type of `ResultSet.TYPE_FORWARD_ONLY`. This is the default, so no code will need to be rewritten to take advantage of this, but it also means that you cannot scroll backwards or otherwise jump around in the `ResultSet`. From 635cc86562aebc223dcc0d163639c5039a6b54c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81rp=C3=A1d=20Magos=C3=A1nyi?= Date: Wed, 23 Oct 2019 23:29:51 +0100 Subject: [PATCH 346/427] fix documentation on generating the pk8 key. closes: #1585 (#1586) * fix documentation on generating the pk8 key. closes: #1585 * more help on key types and such --- docs/documentation/head/connect.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 20d817c697..4dd30743fc 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -93,6 +93,8 @@ Connection conn = DriverManager.getConnection(url); of it specifies a SSL connection. However, for compatibility with future versions, the value "true" is preferred. For more information see [Chapter 4, *Using SSL*](ssl.html). + + Setting up the certificates and keys for ssl connection can be tricky see [The test documentation](https://github.com/pgjdbc/pgjdbc/blob/master/certdir/README.md) for detailed examples. * **sslfactory** = String @@ -120,20 +122,24 @@ Connection conn = DriverManager.getConnection(url); Provide the full path for the certificate file. Defaults to /defaultdir/postgresql.crt + It can be a PEM encoded X509v3 certificate + *Note:* defaultdir is ${user.home}/.postgresql/ in *nix systems and %appdata%/postgresql/ on windows * **sslkey** = String Provide the full path for the key file. Defaults to /defaultdir/postgresql.pk8. - *Note:* The key file **must** be in [DER format](https://wiki.openssl.org/index.php/DER). A PEM key can be converted to DER format using the openssl command: + *Note:* The key file **must** be in [PKCS-8](https://en.wikipedia.org/wiki/PKCS_8) [DER format](https://wiki.openssl.org/index.php/DER). A PEM key can be converted to DER format using the openssl command: - `openssl pkcs8 -topk8 -inform PEM -in my.key -outform DER -out my.key.der` + `openssl pkcs8 -topk8 -inform PEM -in my.key -outform DER -out my.key.der -v1 PBE-MD5-DES` * **sslrootcert** = String File name of the SSL root certificate. Defaults to defaultdir/root.crt + It can be a PEM encoded X509v3 certificate + * **sslhostnameverifier** = String Class name of hostname verifier. Defaults to using `org.postgresql.ssl.PGjdbcHostnameVerifier` From 0fd45353e504ed7821af69c8053814918212b8d7 Mon Sep 17 00:00:00 2001 From: Torsten Brodbeck <56440929+tbrodbeck-adc@users.noreply.github.com> Date: Thu, 24 Oct 2019 15:45:18 +0200 Subject: [PATCH 347/427] fix camel case writing of 'cleanupSavepoints' (#1587) * Camel case writing of 'cleanupSavepoints' fixed. --- README.md | 2 +- docs/documentation/head/connect.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bfe9c89d69..4fcf6a0fba 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ In addition to the standard connection parameters the driver supports a number o | socketFactory | String | null | Specify a socket factory for socket creation | | socketFactoryArg (deprecated) | String | null | Argument forwarded to constructor of SocketFactory class. | | autosave | String | never | Specifies what the driver should do if a query fails, possible values: always, never, conservative | -| cleanupSavePoints | Boolean | false | In Autosave mode the driver sets a SAVEPOINT for every query. It is possible to exhaust the server shared buffers. Setting this to true will release each SAVEPOINT at the cost of an additional round trip. | +| cleanupSavepoints | Boolean | false | In Autosave mode the driver sets a SAVEPOINT for every query. It is possible to exhaust the server shared buffers. Setting this to true will release each SAVEPOINT at the cost of an additional round trip. | | preferQueryMode | String | extended | Specifies which mode is used to execute queries to database, possible values: extended, extendedForPrepared, extendedCacheEverything, simple | | reWriteBatchedInserts | Boolean | false | Enable optimization to rewrite and collapse compatible INSERT statements that are batched. | diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 4dd30743fc..c8f167e64a 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -214,7 +214,7 @@ Connection conn = DriverManager.getConnection(url); The default is `never` -* **cleanupSavePoints** = boolean +* **cleanupSavepoints** = boolean Determines if the SAVEPOINT created in autosave mode is released prior to the statement. This is done to avoid running out of shared buffers on the server in the case where 1000's of queries are From ad734574726eb0decf5178071c87a1b513e484f2 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Thu, 24 Oct 2019 10:45:48 -0400 Subject: [PATCH 348/427] Clean up some tests and fix IsValidTest race condition (#1581) * test: Add some helpers to TestUtil Adds some helpers to TestUtil to deal with boiler plate of executinga query and disgarding the results, fetching the backend process id, terminating a backend process, and fetching the current transaction state. * test: Clean up IsValidTest Cleans up IsValidTest and removes a race condition when checking whether terminated connections are marked as invalid. Also splits out the transaction state test into three separate ones to better identify what's being tested. * test: Change CopyTest to use TestUtil backend pid helpers This also changes the connection termination to use a non-privileged connection. * test: Change ConnectionPoolTest to use backend pid TestUtil helpers This also changes the pg_terminate_backend(...) call to use a non-privileged connection as a regular user can terminate their own connection. * fix: Use super user to terminate backend processes in tests Older versions of the server (<=9.1) restrict calling pg_terminate_backend(...) to super users so always use that in test helper. --- .../java/org/postgresql/test/TestUtil.java | 74 ++++++++++++++ .../org/postgresql/test/jdbc2/CopyTest.java | 29 +----- .../jdbc2/optional/ConnectionPoolTest.java | 14 +-- .../postgresql/test/jdbc4/IsValidTest.java | 98 ++++++------------- 4 files changed, 109 insertions(+), 106 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index e3b005f060..b66c0fae36 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -6,7 +6,9 @@ package org.postgresql.test; import org.postgresql.PGProperty; +import org.postgresql.core.BaseConnection; import org.postgresql.core.ServerVersion; +import org.postgresql.core.TransactionState; import org.postgresql.core.Version; import org.postgresql.jdbc.PgConnection; @@ -621,6 +623,11 @@ public static void assertNumberOfRows(Connection con, String tableName, int expe } } + public static void assertTransactionState(String message, Connection con, TransactionState expected) { + TransactionState actual = TestUtil.getTransactionState(con); + Assert.assertEquals(message, expected, actual); + } + /* * Helper - generates INSERT SQL - very simple */ @@ -917,6 +924,73 @@ public static boolean isReplicationSlotActive(Connection connection, String slot } } + /** + * Execute a SQL query with a given connection and return whether any rows were + * returned. No column data is fetched. + */ + public static boolean executeQuery(Connection conn, String sql) throws SQLException { + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery(sql); + boolean hasNext = rs.next(); + rs.close(); + stmt.close(); + return hasNext; + } + + /** + * Retrieve the backend process id for a given connection. + */ + public static int getBackendPid(Connection conn) throws SQLException { + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT pg_backend_pid()"); + rs.next(); + int pid = rs.getInt(1); + rs.close(); + stmt.close(); + return pid; + } + + /** + * Executed pg_terminate_backend(...) to terminate the server process for + * a given process id with the given connection. + */ + public static boolean terminateBackend(Connection conn, int backendPid) throws SQLException { + PreparedStatement stmt = conn.prepareStatement("SELECT pg_terminate_backend(?)"); + stmt.setInt(1, backendPid); + ResultSet rs = stmt.executeQuery(); + rs.next(); + boolean wasTerminated = rs.getBoolean(1); + rs.close(); + stmt.close(); + return wasTerminated; + } + + /** + * Create a new connection using the default test credentials and use it to + * attempt to terminate the specified backend process. + */ + public static boolean terminateBackend(int backendPid) throws SQLException { + Connection conn = TestUtil.openPrivilegedDB(); + try { + return terminateBackend(conn, backendPid); + } finally { + conn.close(); + } + } + + /** + * Retrieve the given connection backend process id, then create a new connection + * using the default test credentials and attempt to terminate the process. + */ + public static boolean terminateBackend(Connection conn) throws SQLException { + int pid = getBackendPid(conn); + return terminateBackend(pid); + } + + public static TransactionState getTransactionState(Connection conn) { + return ((BaseConnection) conn).getTransactionState(); + } + private static void waitStopReplicationSlot(Connection connection, String slotName) throws InterruptedException, TimeoutException, SQLException { long startWaitTime = System.currentTimeMillis(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java index 01f9e80941..798c6d7aed 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java @@ -31,7 +31,6 @@ import java.io.PrintStream; import java.io.StringReader; import java.sql.Connection; -import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -353,17 +352,14 @@ public void testLockReleaseOnCancelFailure() throws SQLException, InterruptedExc // on the Connection object fails to deadlock. con.setAutoCommit(false); - Statement stmt = con.createStatement(); - ResultSet rs = stmt.executeQuery("select pg_backend_pid()"); - rs.next(); - int pid = rs.getInt(1); - rs.close(); - stmt.close(); + // We get the process id before the COPY as we cannot run other commands + // on the connection during the COPY operation. + int pid = TestUtil.getBackendPid(con); CopyManager manager = con.unwrap(PGConnection.class).getCopyAPI(); CopyIn copyIn = manager.copyIn("COPY copytest FROM STDIN with " + copyParams); try { - killConnection(pid); + TestUtil.terminateBackend(pid); byte[] bunchOfNulls = ",,\n".getBytes(); while (true) { copyIn.writeToCopy(bunchOfNulls, 0, bunchOfNulls.length); @@ -420,23 +416,6 @@ public SQLException exception() { } } - private void killConnection(int pid) throws SQLException { - Connection killerCon; - try { - killerCon = TestUtil.openPrivilegedDB(); - } catch (Exception e) { - fail("Unable to open secondary connection to terminate copy"); - return; // persuade Java killerCon will not be used uninitialized - } - try { - PreparedStatement stmt = killerCon.prepareStatement("select pg_terminate_backend(?)"); - stmt.setInt(1, pid); - stmt.execute(); - } finally { - killerCon.close(); - } - } - private void acceptIOCause(SQLException e) throws SQLException { if (!(e.getCause() instanceof IOException)) { throw e; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index bcfeade45f..e5edcbe7a9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -9,7 +9,6 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import org.postgresql.PGConnection; import org.postgresql.core.ServerVersion; import org.postgresql.ds.PGConnectionPoolDataSource; import org.postgresql.jdbc2.optional.ConnectionPool; @@ -329,18 +328,9 @@ public void testBackendIsClosed() throws Exception { Assume.assumeTrue("pg_terminate_backend requires PostgreSQL 8.4+", TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_4)); - int pid = ((PGConnection) con).getBackendPID(); - - Connection adminCon = TestUtil.openPrivilegedDB(); - try { - Statement statement = adminCon.createStatement(); - statement.executeQuery("SELECT pg_terminate_backend(" + pid + ")"); - } finally { - TestUtil.closeDB(adminCon); - } + TestUtil.terminateBackend(con); try { - Statement statement = con.createStatement(); - statement.executeQuery("SELECT 1"); + TestUtil.executeQuery(con, "SELECT 1"); fail("The connection should not be opened anymore. An exception was expected"); } catch (SQLException e) { // this is expected as the connection has been forcibly closed from backend diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java index 0a4a644190..c68cc7339b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/IsValidTest.java @@ -5,102 +5,62 @@ package org.postgresql.test.jdbc4; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import org.postgresql.core.BaseConnection; import org.postgresql.core.ServerVersion; import org.postgresql.core.TransactionState; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; +import org.junit.Assume; import org.junit.Test; import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; -import java.util.Properties; +import java.sql.SQLException; public class IsValidTest extends BaseTest4 { - - private TransactionState getTransactionState(Connection conn) { - return ((BaseConnection) conn).getTransactionState(); + @Test + public void testIsValidShouldNotModifyTransactionStateOutsideTransaction() throws SQLException { + TransactionState initialTransactionState = TestUtil.getTransactionState(con); + assertTrue("Connection should be valid", con.isValid(0)); + TestUtil.assertTransactionState("Transaction state should not be modified by non-transactional Connection.isValid(...)", con, initialTransactionState); } @Test - public void testIsValid() throws Exception { - try { - assertTrue(con.isValid(0)); - } finally { - TestUtil.closeDB(con); - } - assertFalse(con.isValid(0)); + public void testIsValidShouldNotModifyTransactionStateInEmptyTransaction() throws SQLException { + con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); + con.setAutoCommit(false); + TransactionState transactionState = TestUtil.getTransactionState(con); + assertTrue("Connection should be valid", con.isValid(0)); + TestUtil.assertTransactionState("Transaction state should not be modified by Connection.isValid(...) within an empty transaction", con, transactionState); } - /** - * Test that the transaction state is left unchanged. - */ @Test - public void testTransactionState() throws Exception { - TransactionState transactionState = getTransactionState(con); - con.isValid(0); - assertEquals("Transaction state has been changed", transactionState, - getTransactionState(con)); - + public void testIsValidShouldNotModifyTransactionStateInNonEmptyTransaction() throws SQLException { con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); con.setAutoCommit(false); - try { - transactionState = getTransactionState(con); - con.isValid(0); - assertEquals("Transaction state has been changed", transactionState, - getTransactionState(con)); - - Statement stmt = con.createStatement(); - stmt.execute("SELECT 1"); - transactionState = getTransactionState(con); - con.isValid(0); - assertEquals("Transaction state has been changed", transactionState, - getTransactionState(con)); - } finally { - try { - con.setAutoCommit(true); - } catch (final Exception e) { - } - } + TestUtil.executeQuery(con, "SELECT 1"); + TransactionState transactionState = TestUtil.getTransactionState(con); + assertTrue("Connection should be valid", con.isValid(0)); + TestUtil.assertTransactionState("Transaction state should not be modified by Connection.isValid(...) within a non-empty transaction", con, transactionState); } @Test - public void testIsValidRemoteClose() throws Exception { - - assumeMinimumServerVersion("Unable to use pg_terminate_backend before version 8.4", ServerVersion.v8_4); - - Properties props = new Properties(); - updateProperties(props); - Connection con2 = TestUtil.openPrivilegedDB(); - - try { + public void testIsValidRemoteClose() throws SQLException, InterruptedException { + Assume.assumeTrue("Unable to use pg_terminate_backend(...) before version 8.4", TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_4)); - assertTrue("First connection should be valid", con.isValid(0)); + boolean wasTerminated = TestUtil.terminateBackend(con); + assertTrue("The backend should be terminated", wasTerminated); - String pid; - Statement s = con.createStatement(); - - try { - s.execute("select pg_backend_pid()"); - ResultSet rs = s.getResultSet(); - rs.next(); - pid = rs.getString(1); - } finally { - TestUtil.closeQuietly(s); + // Keeps checking for up to 5-seconds that the connection is marked invalid + for (int i = 0;i < 500;i++) { + if (!con.isValid(0)) { + break; } - - TestUtil.execute("select pg_terminate_backend(" + pid + ")", con2); - - assertFalse("The first connection should now be invalid", con.isValid(0)); - - } finally { - TestUtil.closeQuietly(con2); + // Wait a bit to give the connection a chance to gracefully handle the termination + Thread.sleep(10); } + assertFalse("The terminated connection should not be valid", con.isValid(0)); } } From 7c591262792b8ff8f6139f67a98c16d41f2adf4f Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 28 Oct 2019 07:47:42 -0400 Subject: [PATCH 349/427] Add simple test to make sure we can load a key (#1588) * Add simple test to make sure we can load a key --- .../test/ssl/LazyKeyManagerTest.java | 60 +++++++++++++++++++ .../org/postgresql/test/ssl/SslTestSuite.java | 1 + 2 files changed, 61 insertions(+) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java new file mode 100644 index 0000000000..1c1f1f0f36 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.ssl; + +import org.postgresql.ssl.LazyKeyManager; + +import org.junit.Assert; +import org.junit.Test; + +import java.io.File; +import java.io.IOException; +import java.security.PrivateKey; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.UnsupportedCallbackException; + +public class LazyKeyManagerTest { + + @Test + public void testLoadKey() throws Exception { + String certdir = "../certdir/"; + String path = new File("./").getAbsolutePath(); + LazyKeyManager lazyKeyManager = new LazyKeyManager(certdir + "goodclient.crt", + certdir + "goodclient.pk8", new TestCallbackHandler("sslpwd"), true); + PrivateKey pk = lazyKeyManager.getPrivateKey("user"); + Assert.assertNotNull(pk); + } + + public static class TestCallbackHandler implements CallbackHandler { + char [] password; + + public TestCallbackHandler(String password) { + if (password != null) { + this.password = password.toCharArray(); + } + } + + @Override + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { + for (Callback callback : callbacks) { + if (!(callback instanceof PasswordCallback)) { + throw new UnsupportedCallbackException(callback); + } + PasswordCallback pwdCallback = (PasswordCallback) callback; + if (password != null) { + pwdCallback.setPassword(password); + continue; + } + // It is used instead of cons.readPassword(prompt), because the prompt may contain '%' + // characters + //pwdCallback.setPassword(cons.readPassword("%s", pwdCallback.getPrompt())); + } + } + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java index 2dece06e05..47e0d7c473 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java @@ -13,6 +13,7 @@ CommonNameVerifierTest.class, LibPQFactoryHostNameTest.class, SslTest.class, + LazyKeyManagerTest.class, }) public class SslTestSuite { } From 003ea8352dab2b49b4734cdf7338befb4d9b9ed4 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Tue, 29 Oct 2019 08:18:28 -0400 Subject: [PATCH 350/427] Fix test suite order (#1593) * test: Standardize on array of tests in @SuiteClasses * test: Fix sort order for test suites * docs: Add note about sorting tests to GitHub PR template --- .github/pull_request_template.md | 2 +- .../test/extensions/ExtensionsTestSuite.java | 4 +++- .../test/hostchooser/MultiHostTestSuite.java | 4 +++- .../test/jdbc2/optional/OptionalTestSuite.java | 12 +++++++----- .../org/postgresql/test/jdbc42/Jdbc42TestSuite.java | 2 +- .../org/postgresql/test/jre8/core/Jre8TestSuite.java | 4 +++- .../java/org/postgresql/test/osgi/OsgiTestSuite.java | 4 +++- .../java/org/postgresql/test/ssl/SslTestSuite.java | 2 +- .../java/org/postgresql/test/xa/XATestSuite.java | 4 +++- 9 files changed, 25 insertions(+), 13 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4efe774b2e..fcff6cd30d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,7 +9,7 @@ 1. [ ] Does your submission pass tests? 2. [ ] Does mvn checkstyle:check pass ? -3. [ ] Have you added your new test classes to an existing test suite? +3. [ ] Have you added your new test classes to an existing test suite in alphabetical order? ### Changes to Existing Features: diff --git a/pgjdbc/src/test/java/org/postgresql/test/extensions/ExtensionsTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/extensions/ExtensionsTestSuite.java index f0c5aed7c8..0da675e38d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/extensions/ExtensionsTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/extensions/ExtensionsTestSuite.java @@ -12,7 +12,9 @@ * Executes all known tests for PostgreSQL extensions supported by JDBC driver */ @RunWith(Suite.class) -@Suite.SuiteClasses(HStoreTest.class) +@Suite.SuiteClasses({ + HStoreTest.class, +}) public class ExtensionsTestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java index 984577e591..2f19cd40f1 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/hostchooser/MultiHostTestSuite.java @@ -12,6 +12,8 @@ * Executes multi host tests (aka master/slave connectivity selection). */ @RunWith(Suite.class) -@Suite.SuiteClasses(MultiHostsConnectionTest.class) +@Suite.SuiteClasses({ + MultiHostsConnectionTest.class, +}) public class MultiHostTestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java index 5a43fff45e..b9ca724067 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java @@ -15,13 +15,15 @@ * @author Aaron Mulder (ammulder@chariotsolutions.com) */ @RunWith(Suite.class) -@Suite.SuiteClasses({SimpleDataSourceTest.class, - SimpleDataSourceWithUrlTest.class, - SimpleDataSourceWithSetURLTest.class, +@Suite.SuiteClasses({ + BaseDataSourceFailoverUrlsTest.class, + CaseOptimiserDataSourceTest.class, ConnectionPoolTest.class, PoolingDataSourceTest.class, - CaseOptimiserDataSourceTest.class, - BaseDataSourceFailoverUrlsTest.class}) + SimpleDataSourceTest.class, + SimpleDataSourceWithSetURLTest.class, + SimpleDataSourceWithUrlTest.class, +}) public class OptionalTestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java index f3252783c5..3d444fd015 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42TestSuite.java @@ -15,10 +15,10 @@ GetObject310InfinityTests.class, GetObject310Test.class, Jdbc42CallableStatementTest.class, + LargeCountJdbc42Test.class, PreparedStatementTest.class, SetObject310Test.class, SimpleJdbc42Test.class, - LargeCountJdbc42Test.class }) public class Jdbc42TestSuite { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java index 96cee6520e..6c971a0b65 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jre8/core/Jre8TestSuite.java @@ -13,6 +13,8 @@ * Twitter: @codefinger */ @RunWith(Suite.class) -@Suite.SuiteClasses({SocksProxyTest.class}) +@Suite.SuiteClasses({ + SocksProxyTest.class, +}) public class Jre8TestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/osgi/OsgiTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/osgi/OsgiTestSuite.java index a7c909dc2d..7402247ea3 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/osgi/OsgiTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/osgi/OsgiTestSuite.java @@ -10,7 +10,9 @@ import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) -@SuiteClasses({PGDataSourceFactoryTest.class}) +@SuiteClasses({ + PGDataSourceFactoryTest.class, +}) public class OsgiTestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java index 47e0d7c473..95e439c45e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTestSuite.java @@ -11,9 +11,9 @@ @RunWith(Suite.class) @Suite.SuiteClasses({ CommonNameVerifierTest.class, + LazyKeyManagerTest.class, LibPQFactoryHostNameTest.class, SslTest.class, - LazyKeyManagerTest.class, }) public class SslTestSuite { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/xa/XATestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/xa/XATestSuite.java index 787ebc7d25..d4d4cb7a7b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/xa/XATestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/xa/XATestSuite.java @@ -9,6 +9,8 @@ import org.junit.runners.Suite; @RunWith(Suite.class) -@Suite.SuiteClasses(XADataSourceTest.class) +@Suite.SuiteClasses({ + XADataSourceTest.class, +}) public class XATestSuite { } From 504bb316b91fdbc6506a2e9870453fb75fbbb083 Mon Sep 17 00:00:00 2001 From: Yuriy Yudin Date: Wed, 30 Oct 2019 10:46:31 +0100 Subject: [PATCH 351/427] fix: add release save point into execute with batch (#1583) release auto save points in batch processing in order to avoid out of shared memory error fix for the issue https://github.com/pgjdbc/pgjdbc/issues/1582 --- .../main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 23fcde5980..13326c98ba 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -518,6 +518,9 @@ public synchronized void execute(Query[] queries, ParameterList[] parameterLists try { handler.handleCompletion(); + if (cleanupSavePoints) { + releaseSavePoint(autosave, flags); + } } catch (SQLException e) { rollbackIfRequired(autosave, e); } From e39a0be0739d016f524e7aef567f95e6ea59fd54 Mon Sep 17 00:00:00 2001 From: Michail Nikolaev Date: Wed, 30 Oct 2019 14:35:18 +0300 Subject: [PATCH 352/427] fix: do ssl handshake after socket timeout and buffer size settings (#1584) --- .../java/org/postgresql/core/v3/ConnectionFactoryImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index e342cb2521..662cc263c8 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -90,9 +90,6 @@ private PGStream tryConnect(String user, String database, PGStream newStream = new PGStream(socketFactory, hostSpec, connectTimeout); - // Construct and send an ssl startup packet if requested. - newStream = enableSSL(newStream, sslMode, info, connectTimeout); - // Set the socket timeout if the "socketTimeout" property has been set. int socketTimeout = PGProperty.SOCKET_TIMEOUT.getInt(info); if (socketTimeout > 0) { @@ -134,6 +131,9 @@ private PGStream tryConnect(String user, String database, LOGGER.log(Level.FINE, "Send Buffer Size is {0}", newStream.getSocket().getSendBufferSize()); } + // Construct and send an ssl startup packet if requested. + newStream = enableSSL(newStream, sslMode, info, connectTimeout); + List paramList = getParametersForStartup(user, database, info); sendStartupPacket(newStream, paramList); From 5e48eaa4c9f6fc07904944bd98ad45fbb4aefd10 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 4 Nov 2019 15:07:52 -0500 Subject: [PATCH 353/427] Update prepare.md (#1601) --- docs/documentation/head/prepare.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/head/prepare.md b/docs/documentation/head/prepare.md index d57b52535f..b7b5599152 100644 --- a/docs/documentation/head/prepare.md +++ b/docs/documentation/head/prepare.md @@ -21,5 +21,5 @@ default, and you must set `tcpip_socket = true` in the `postgresql.conf` file. Once you have made sure the server is correctly listening for TCP/IP connections the next step is to verify that users are allowed to connect to the server. Client authentication is setup in `pg_hba.conf`. Refer to the main PostgreSQL™ documentation -for details. The JDBC driver supports the `trust`, `ident`, `password`, `md5`, and -`crypt` authentication methods. \ No newline at end of file +for details. The JDBC driver supports the `trust`, `ident`, `password`, `md5`, `gss` and +`crypt` authentication methods. From c67b0b0b667a6b9f1b13ed5359687f3bc20ac61b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81rp=C3=A1d=20Magos=C3=A1nyi?= Date: Tue, 12 Nov 2019 19:49:01 +0000 Subject: [PATCH 354/427] security notice and clarifications on choosing the right cipher suite for client key (#1591) --- docs/documentation/head/connect.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index c8f167e64a..b412da0373 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -134,6 +134,12 @@ Connection conn = DriverManager.getConnection(url); `openssl pkcs8 -topk8 -inform PEM -in my.key -outform DER -out my.key.der -v1 PBE-MD5-DES` + *Note:* The use of -v1 PBE-MD5-DES might be inadequate in environments where high level of security is needed and the key is not protected + by other means (e.g. access control of the OS), or the key file is transmitted in untrusted channels. + We are depending on the cryptography providers provided by the java runtime. The solution documented here is known to work at + the time of writing. If you have stricter security needs, please see https://stackoverflow.com/questions/58488774/configure-tomcat-hibernate-to-have-a-cryptographic-provider-supporting-1-2-840-1 + for a discussion of the problem and information on choosing a better cipher suite. + * **sslrootcert** = String File name of the SSL root certificate. Defaults to defaultdir/root.crt From 9b8a3ffd8a952a55be28d14cb80a23fdbb955133 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 12 Nov 2019 17:03:51 -0500 Subject: [PATCH 355/427] fix: issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation (#1506) this replaces PR #910 as it was stale and easier to replace than fix. Original work by @zemian --- .../postgresql/jdbc/PgDatabaseMetaData.java | 19 ++++++++++++++++++- .../org/postgresql/util/ByteConverter.java | 19 +++++++++++++++++++ .../test/jdbc4/DatabaseMetaDataTest.java | 13 +++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 56d135065c..ef3ac75000 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -9,11 +9,13 @@ import org.postgresql.core.Field; import org.postgresql.core.Oid; import org.postgresql.core.ServerVersion; +import org.postgresql.util.ByteConverter; import org.postgresql.util.GT; import org.postgresql.util.JdbcBlackHole; import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; +import java.math.BigInteger; import java.sql.Array; import java.sql.Connection; import java.sql.DatabaseMetaData; @@ -24,6 +26,9 @@ import java.sql.Types; import java.util.ArrayList; import java.util.Arrays; + +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -2247,7 +2252,7 @@ public ResultSet getTypeInfo() throws SQLException { connection.encodeString(Integer.toString(java.sql.DatabaseMetaData.typeSearchable)); while (rs.next()) { - byte[][] tuple = new byte[18][]; + byte[][] tuple = new byte[19][]; String typname = rs.getString(1); int typeOid = (int) rs.getLong(2); @@ -2255,6 +2260,10 @@ public ResultSet getTypeInfo() throws SQLException { int sqlType = connection.getTypeInfo().getSQLType(typname); tuple[1] = connection.encodeString(Integer.toString(sqlType)); + + /* this is just for sorting below, the result set never sees this */ + tuple[18] = BigInteger.valueOf(sqlType).toByteArray(); + tuple[2] = connection .encodeString(Integer.toString(connection.getTypeInfo().getMaximumPrecision(typeOid))); @@ -2300,6 +2309,14 @@ public ResultSet getTypeInfo() throws SQLException { rs.close(); stmt.close(); + Collections.sort(v, new Comparator() { + @Override + public int compare(byte[][] o1, byte[][] o2) { + int i1 = ByteConverter.bytesToInt(o1[18]); + int i2 = ByteConverter.bytesToInt(o2[18]); + return (i1 < i2) ? -1 : ((i1 == i2) ? 0 : 1); + } + }); return ((BaseStatement) createMetaDataStatement()).createDriverResultSet(f, v); } diff --git a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java index 5464236cb9..f118897781 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java @@ -16,6 +16,25 @@ private ByteConverter() { // prevent instantiation of static helper class } + /** + * Convert a variable length array of bytes to an integer + * @param bytes array of bytes that can be decoded as an integer + * @return integer + */ + public static int bytesToInt(byte []bytes) { + if ( bytes.length == 1 ) { + return (int)bytes[0]; + } + if ( bytes.length == 2 ) { + return int2(bytes, 0); + } + if ( bytes.length == 4 ) { + return int4(bytes, 0); + } else { + throw new IllegalArgumentException("Argument bytes is empty"); + } + } + /** * Parses a long value from the byte array. * diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java index 813a777f2e..a22f42ae72 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java @@ -232,4 +232,17 @@ public void testGetFunctionsWithSpecificTypes() throws SQLException { stmt.execute("DROP FUNCTION getfunc_f3(int, varchar)"); } } + + @Test + public void testSortedDataTypes() throws SQLException { + // https://github.com/pgjdbc/pgjdbc/issues/716 + DatabaseMetaData dbmd = conn.getMetaData(); + ResultSet rs = dbmd.getTypeInfo(); + int lastType = Integer.MIN_VALUE; + while (rs.next()) { + int type = rs.getInt("DATA_TYPE"); + assertTrue(lastType <= type); + lastType = type; + } + } } From 539a09258f6009581785474fe5f15a46992ade6f Mon Sep 17 00:00:00 2001 From: Igor Volkov <1859437+virtual-machinist@users.noreply.github.com> Date: Wed, 13 Nov 2019 00:21:03 +0200 Subject: [PATCH 356/427] Fix exception on PGCopyOutputStream.close() after endCopy() (#1574) (#1575) * Fix: check if active before close() (#1574) * Fix: NPEs on flush() and isActive() if copy has ended * Tests for close(), flush(), isActive() --- .../postgresql/copy/PGCopyOutputStream.java | 17 ++++---- .../org/postgresql/test/jdbc2/CopyTest.java | 42 +++++++++++++++++++ 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java index ce5459c85e..520c645e4c 100644 --- a/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/copy/PGCopyOutputStream.java @@ -101,17 +101,20 @@ public void close() throws IOException { return; } - try { - endCopy(); - } catch (SQLException se) { - IOException ioe = new IOException("Ending write to copy failed."); - ioe.initCause(se); - throw ioe; + if (op.isActive()) { + try { + endCopy(); + } catch (SQLException se) { + IOException ioe = new IOException("Ending write to copy failed."); + ioe.initCause(se); + throw ioe; + } } op = null; } public void flush() throws IOException { + checkClosed(); try { op.writeToCopy(copyBuffer, 0, at); at = 0; @@ -154,7 +157,7 @@ public int getFieldCount() { } public boolean isActive() { - return op.isActive(); + return op != null && op.isActive(); } public void flushCopy() throws SQLException { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java index 798c6d7aed..278e81021b 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.jdbc2; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -134,6 +135,47 @@ public void testCopyInAsOutputStream() throws SQLException, IOException { assertEquals(dataRows, rowCount); } + @Test + public void testCopyInAsOutputStreamClosesAfterEndCopy() throws SQLException, IOException { + String sql = "COPY copytest FROM STDIN"; + PGCopyOutputStream os = new PGCopyOutputStream((PGConnection) con, sql, 1000); + try { + for (String anOrigData : origData) { + byte[] buf = anOrigData.getBytes(); + os.write(buf); + } + os.endCopy(); + } finally { + os.close(); + } + assertFalse(os.isActive()); + int rowCount = getCount(); + assertEquals(dataRows, rowCount); + } + + @Test + public void testCopyInAsOutputStreamFailsOnFlushAfterEndCopy() throws SQLException, IOException { + String sql = "COPY copytest FROM STDIN"; + PGCopyOutputStream os = new PGCopyOutputStream((PGConnection) con, sql, 1000); + try { + for (String anOrigData : origData) { + byte[] buf = anOrigData.getBytes(); + os.write(buf); + } + os.endCopy(); + } finally { + os.close(); + } + try { + os.flush(); + fail("should have failed flushing an inactive copy stream."); + } catch (IOException e) { + if (!e.toString().contains("This copy stream is closed.")) { + fail("has failed not due to checkClosed(): " + e); + } + } + } + @Test public void testCopyInFromInputStream() throws SQLException, IOException { String sql = "COPY copytest FROM STDIN"; From c99ed1213410872915930bea4471df6b1bdc503e Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Wed, 13 Nov 2019 18:41:09 -0500 Subject: [PATCH 357/427] fix: Update error message for COPY commands executed using JDBC API (#1300) --- .../main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 13326c98ba..0b889022e0 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -71,6 +71,7 @@ public class QueryExecutorImpl extends QueryExecutorBase { private static final Logger LOGGER = Logger.getLogger(QueryExecutorImpl.class.getName()); + private static final String COPY_ERROR_MESSAGE = "COPY commands are only supported using the CopyManager API."; /** * TimeZone of the current connection (TimeZone backend parameter). @@ -2352,8 +2353,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti // We'll send a CopyFail message for COPY FROM STDIN so that // server does not wait for the data. - byte[] buf = - Utils.encodeUTF8("The JDBC driver currently does not support COPY operations."); + byte[] buf = Utils.encodeUTF8(COPY_ERROR_MESSAGE); pgStream.sendChar('f'); pgStream.sendInteger4(buf.length + 4 + 1); pgStream.send(buf); @@ -2370,7 +2370,7 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti // In case of CopyOutResponse, we cannot abort data transfer, // so just throw an error and ignore CopyData messages handler.handleError( - new PSQLException(GT.tr("The driver currently does not support COPY operations."), + new PSQLException(GT.tr(COPY_ERROR_MESSAGE), PSQLState.NOT_IMPLEMENTED)); break; From cd0b555c8045fc71e6f4d0fb0f24a2deb726301e Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Thu, 14 Nov 2019 09:13:21 -0500 Subject: [PATCH 358/427] Add connection property to limit server error detail in exception exceptions (#1579) * feat: Add connection property to limit server error detail in exception messages Adds a boolean connection property, LOG_SERVER_MESSAGE_DETAIL ("logServerMessage") that controls whether the full error detail, as reported back by the server, is included in the exception messages. This property can be used to limit potentially sensitive content in server messages from bubbling up in exception messages and stack traces. If set to "false" then only the top level error will be included in the exception message. If set to "true" then all details in the server error will be included. Default value for the new property is "true" to reflect the prior behavior of logging the full error detail. Closes #1577 * fix: Add getter and setter for LOG_SERVER_ERROR_DETAIL to BaseDataSource * test: Add test for logServerErrorDetail connection property --- .../main/java/org/postgresql/PGProperty.java | 6 ++ .../postgresql/core/QueryExecutorBase.java | 2 + .../core/v3/ConnectionFactoryImpl.java | 5 +- .../postgresql/core/v3/QueryExecutorImpl.java | 2 +- .../postgresql/ds/common/BaseDataSource.java | 16 +++ .../java/org/postgresql/gss/GssAction.java | 6 +- .../main/java/org/postgresql/gss/MakeGSS.java | 5 +- .../org/postgresql/util/PSQLException.java | 6 +- .../postgresql/util/ServerErrorMessage.java | 13 +++ .../core/LogServerMessagePropertyTest.java | 100 ++++++++++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + 11 files changed, 155 insertions(+), 8 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index b342b44c9c..9e99dc7a3a 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -172,6 +172,12 @@ public enum PGProperty { LOG_UNCLOSED_CONNECTIONS("logUnclosedConnections", "false", "When connections that are not explicitly closed are garbage collected, log the stacktrace from the opening of the connection to trace the leak source"), + /** + * Whether to include full server error detail in exception messages. + */ + LOG_SERVER_ERROR_DETAIL("logServerErrorDetail", "true", + "Include full server error detail in exception messages. If disabled then only the error itself will be included."), + /** * Enable optimization that disables column name sanitiser. */ diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index fbe5c4980b..1a74a7f73b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -45,6 +45,7 @@ public abstract class QueryExecutorBase implements QueryExecutor { private final PreferQueryMode preferQueryMode; private AutoSave autoSave; private boolean flushCacheOnDeallocate = true; + protected final boolean logServerErrorDetail; // default value for server versions that don't report standard_conforming_strings private boolean standardConformingStrings = false; @@ -70,6 +71,7 @@ protected QueryExecutorBase(PGStream pgStream, String user, String preferMode = PGProperty.PREFER_QUERY_MODE.get(info); this.preferQueryMode = PreferQueryMode.of(preferMode); this.autoSave = AutoSave.of(PGProperty.AUTOSAVE.get(info)); + this.logServerErrorDetail = PGProperty.LOG_SERVER_ERROR_DETAIL.getBoolean(info); this.cachedQueryCreateAction = new CachedQueryCreateAction(this); statementCache = new LruCache( Math.max(0, PGProperty.PREPARED_STATEMENT_CACHE_QUERIES.getInt(info)), diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java index 662cc263c8..1efcd52798 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java @@ -517,7 +517,7 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope ServerErrorMessage errorMsg = new ServerErrorMessage(pgStream.receiveErrorString(elen - 4)); LOGGER.log(Level.FINEST, " <=BE ErrorMessage({0})", errorMsg); - throw new PSQLException(errorMsg); + throw new PSQLException(errorMsg, PGProperty.LOG_SERVER_ERROR_DETAIL.getBoolean(info)); case 'R': // Authentication request. @@ -647,7 +647,8 @@ private void doAuthentication(PGStream pgStream, String host, String user, Prope org.postgresql.gss.MakeGSS.authenticate(pgStream, host, user, password, PGProperty.JAAS_APPLICATION_NAME.get(info), PGProperty.KERBEROS_SERVER_NAME.get(info), usespnego, - PGProperty.JAAS_LOGIN.getBoolean(info)); + PGProperty.JAAS_LOGIN.getBoolean(info), + PGProperty.LOG_SERVER_ERROR_DETAIL.getBoolean(info)); } break; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 0b889022e0..48ca673bf9 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2500,7 +2500,7 @@ private SQLException receiveErrorResponse() throws IOException { LOGGER.log(Level.FINEST, " <=BE ErrorMessage({0})", errorMsg.toString()); } - PSQLException error = new PSQLException(errorMsg); + PSQLException error = new PSQLException(errorMsg, this.logServerErrorDetail); if (transactionFailCause == null) { transactionFailCause = error; } else { diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 64e9f04b0e..f4be819749 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -928,6 +928,22 @@ public void setLogUnclosedConnections(boolean enabled) { PGProperty.LOG_UNCLOSED_CONNECTIONS.set(properties, enabled); } + /** + * @return true if driver should log include detail in server error messages + * @see PGProperty#LOG_SERVER_ERROR_DETAIL + */ + public boolean getLogServerErrorDetail() { + return PGProperty.LOG_SERVER_ERROR_DETAIL.getBoolean(properties); + } + + /** + * @param enabled true if driver should include detail in server error messages + * @see PGProperty#LOG_SERVER_ERROR_DETAIL + */ + public void setLogServerErrorDetail(boolean enabled) { + PGProperty.LOG_SERVER_ERROR_DETAIL.set(properties, enabled); + } + /** * @return assumed minimal server version * @see PGProperty#ASSUME_MIN_SERVER_VERSION diff --git a/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java b/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java index fa27e30db1..f747fd4aaa 100644 --- a/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java +++ b/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java @@ -32,15 +32,17 @@ class GssAction implements PrivilegedAction { private final String kerberosServerName; private final boolean useSpnego; private final GSSCredential clientCredentials; + private final boolean logServerErrorDetail; GssAction(PGStream pgStream, GSSCredential clientCredentials, String host, String user, - String kerberosServerName, boolean useSpnego) { + String kerberosServerName, boolean useSpnego, boolean logServerErrorDetail) { this.pgStream = pgStream; this.clientCredentials = clientCredentials; this.host = host; this.user = user; this.kerberosServerName = kerberosServerName; this.useSpnego = useSpnego; + this.logServerErrorDetail = logServerErrorDetail; } private static boolean hasSpnegoSupport(GSSManager manager) throws GSSException { @@ -111,7 +113,7 @@ public Exception run() { LOGGER.log(Level.FINEST, " <=BE ErrorMessage({0})", errorMsg); - return new PSQLException(errorMsg); + return new PSQLException(errorMsg, logServerErrorDetail); case 'R': LOGGER.log(Level.FINEST, " <=BE AuthenticationGSSContinue"); int len = pgStream.receiveInteger4(); diff --git a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java index 84c2f35fee..b3b856b490 100644 --- a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java +++ b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java @@ -28,7 +28,8 @@ public class MakeGSS { private static final Logger LOGGER = Logger.getLogger(MakeGSS.class.getName()); public static void authenticate(PGStream pgStream, String host, String user, String password, - String jaasApplicationName, String kerberosServerName, boolean useSpnego, boolean jaasLogin) + String jaasApplicationName, String kerberosServerName, boolean useSpnego, boolean jaasLogin, + boolean logServerErrorDetail) throws IOException, SQLException { LOGGER.log(Level.FINEST, " <=BE AuthenticationReqGSS"); @@ -58,7 +59,7 @@ public static void authenticate(PGStream pgStream, String host, String user, Str sub = lc.getSubject(); } PrivilegedAction action = new GssAction(pgStream, gssCredential, host, user, - kerberosServerName, useSpnego); + kerberosServerName, useSpnego, logServerErrorDetail); result = Subject.doAs(sub, action); } catch (Exception e) { diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLException.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLException.java index 370ce8a9f2..0e3cd47677 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLException.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLException.java @@ -20,7 +20,11 @@ public PSQLException(String msg, PSQLState state) { } public PSQLException(ServerErrorMessage serverError) { - super(serverError.toString(), serverError.getSQLState()); + this(serverError, true); + } + + public PSQLException(ServerErrorMessage serverError, boolean detail) { + super(detail ? serverError.toString() : serverError.getNonSensitiveErrorMessage(), serverError.getSQLState()); this.serverError = serverError; } diff --git a/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java b/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java index d44b464de0..7b3f62c208 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java @@ -143,6 +143,19 @@ private int getIntegerPart(Character c) { return Integer.parseInt(s); } + String getNonSensitiveErrorMessage() { + StringBuilder totalMessage = new StringBuilder(); + String message = mesgParts.get(SEVERITY); + if (message != null) { + totalMessage.append(message).append(": "); + } + message = mesgParts.get(MESSAGE); + if (message != null) { + totalMessage.append(message); + } + return totalMessage.toString(); + } + public String toString() { // Now construct the message from what the server sent // The general format is: diff --git a/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java new file mode 100644 index 0000000000..daab69354b --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.core; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.test.TestUtil; + +import org.junit.Assert; +import org.junit.Assume; +import org.junit.Test; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Properties; + +public class LogServerMessagePropertyTest { + private static final String PRIMARY_KEY_NAME = "lms_test_pk"; + private static final String CREATE_TABLE_SQL = + "CREATE TABLE pg_temp.lms_test (" + + " id text, " + + " CONSTRAINT " + PRIMARY_KEY_NAME + " PRIMARY KEY (id)" + + ")"; + private static final String SECRET_VALUE = "some_secret_value"; + private static final String INSERT_SQL = + "INSERT INTO pg_temp.lms_test (id) VALUES ('" + SECRET_VALUE + "')"; + private static final String UNIQUE_VIOLATION_SQL_STATE = "23505"; + + /** + * Creates a connection with the additional properties, use it to + * create a temp table with a primary key, run two inserts to generate + * a duplicate key error, and finally return the exception message. + */ + private static String testViolatePrimaryKey(Properties props) throws SQLException { + Connection conn = TestUtil.openDB(props); + Assume.assumeTrue(TestUtil.haveMinimumServerVersion(conn, ServerVersion.v9_1)); + try { + TestUtil.execute(CREATE_TABLE_SQL, conn); + // First insert should work + TestUtil.execute(INSERT_SQL, conn); + // Second insert should throw a duplicate key error + TestUtil.execute(INSERT_SQL, conn); + } catch (SQLException e) { + Assert.assertEquals("SQL state must be for a unique violation", UNIQUE_VIOLATION_SQL_STATE, e.getSQLState()); + return e.getMessage(); + } finally { + conn.close(); + } + // Should never get here: + Assert.fail("A duplicate key exception should have occurred"); + return null; + } + + private static void assertMessageContains(String message, String text) { + if (message.toLowerCase().indexOf(text.toLowerCase()) < 0) { + Assert.fail(String.format("Message must contain text '%s': %s", text, message)); + } + } + + private static void assertMessageDoesNotContain(String message, String text) { + if (message.toLowerCase().indexOf(text.toLowerCase()) >= 0) { + Assert.fail(String.format("Message must not contain text '%s': %s", text, message)); + } + } + + @Test + public void testWithDefaults() throws SQLException { + Properties props = new Properties(); + String message = testViolatePrimaryKey(props); + assertMessageContains(message, PRIMARY_KEY_NAME); + assertMessageContains(message, "Detail:"); + assertMessageContains(message, SECRET_VALUE); + } + + /** + * NOTE: This should be the same as the default case as "true" is the default. + */ + @Test + public void testWithExplicitlyEnabled() throws SQLException { + Properties props = new Properties(); + props.setProperty(PGProperty.LOG_SERVER_ERROR_DETAIL.getName(), "true"); + String message = testViolatePrimaryKey(props); + assertMessageContains(message, PRIMARY_KEY_NAME); + assertMessageContains(message, "Detail:"); + assertMessageContains(message, SECRET_VALUE); + } + + @Test + public void testWithLogServerErrorDetailDisabled() throws SQLException { + Properties props = new Properties(); + props.setProperty(PGProperty.LOG_SERVER_ERROR_DETAIL.getName(), "false"); + String message = testViolatePrimaryKey(props); + assertMessageContains(message, PRIMARY_KEY_NAME); + assertMessageDoesNotContain(message, "Detail:"); + assertMessageDoesNotContain(message, SECRET_VALUE); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 01d9fbf93f..7dc50232d0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -15,6 +15,7 @@ import org.postgresql.jdbc.DeepBatchedInsertStatementTest; import org.postgresql.jdbc.PrimitiveArraySupportTest; import org.postgresql.test.core.JavaVersionTest; +import org.postgresql.test.core.LogServerMessagePropertyTest; import org.postgresql.test.core.NativeQueryBindLengthTest; import org.postgresql.test.core.OptionsPropertyTest; import org.postgresql.test.util.ExpressionPropertiesTest; @@ -67,6 +68,7 @@ JavaVersionTest.class, JBuilderTest.class, LoginTimeoutTest.class, + LogServerMessagePropertyTest.class, LruCacheTest.class, MiscTest.class, NativeQueryBindLengthTest.class, From e64b0a2df8dd5e94a24fbb2e2e197f6d7fed7d9a Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 14 Nov 2019 09:13:59 -0500 Subject: [PATCH 359/427] chore: Document how to use unix domain sockets. (#1607) * chore: Document how to use unix domain sockets. Thanks @aleksabl * fix formatting --- docs/documentation/head/connect.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index b412da0373..e6df9ab2c5 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -473,6 +473,32 @@ Connection conn = DriverManager.getConnection(url); `assumeMinServerVersion` with parameter >= 9.4 (backend >= 9.4)

+ +## Unix sockets + +Aleksander Blomskøld has forked junixsocket and added a [Unix SocketFactory](https://github.com/fiken/junixsocket/blob/master/junixsocket-common/src/main/java/org/newsclub/net/unix/socketfactory/PostgresqlAFUNIXSocketFactory.java) that works with the driver. +His code can be found at [https://github.com/fiken/junixsocket](https://github.com/fiken/junixsocket). + +Dependencies for junixsocket are : + +```xml + + no.fiken.oss.junixsocket + junixsocket-common + 1.0.2 + + + no.fiken.oss.junixsocket + junixsocket-native-common + 1.0.2 + +``` +Simply add +`?socketFactory=org.newsclub.net.unix.socketfactory.PostgresqlAFUNIXSocketFactory&socketFactoryArg=[path-to-the-unix-socket]` +to the connection URL. + +For many distros the default path is /var/run/postgresql/.s.PGSQL.5432 + ## Connection Fail-over From 1e370263d2f59da04fd1f8fe55bb83afdc0a51dc Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 15 Nov 2019 07:42:29 -0500 Subject: [PATCH 360/427] fix: PgSQLXML setCharacterStream() results in null value (#1608) * fix: PgSQLXML setCharacterStream() results in null value fixes Issue #731 --- .../java/org/postgresql/jdbc/PgSQLXML.java | 1 + .../org/postgresql/jdbc/PgSQLXMLTest.java | 50 +++++++++++++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + 3 files changed, 53 insertions(+) create mode 100644 pgjdbc/src/test/java/org/postgresql/jdbc/PgSQLXMLTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgSQLXML.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgSQLXML.java index 3cf1277f8e..919df065b9 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgSQLXML.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgSQLXML.java @@ -175,6 +175,7 @@ public synchronized OutputStream setBinaryStream() throws SQLException { public synchronized Writer setCharacterStream() throws SQLException { checkFreed(); initialize(); + active = true; stringWriter = new StringWriter(); return stringWriter; } diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/PgSQLXMLTest.java b/pgjdbc/src/test/java/org/postgresql/jdbc/PgSQLXMLTest.java new file mode 100644 index 0000000000..53fd56dc13 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/PgSQLXMLTest.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import org.junit.Before; +import org.junit.Test; + +import java.io.Writer; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLXML; +import java.sql.Statement; + +public class PgSQLXMLTest extends BaseTest4 { + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + TestUtil.createTempTable(con, "xmltab","x xml"); + } + + @Test + public void setCharacterStream() throws Exception { + String exmplar = "value"; + SQLXML pgSQLXML = con.createSQLXML(); + Writer writer = pgSQLXML.setCharacterStream(); + writer.write(exmplar); + PreparedStatement preparedStatement = con.prepareStatement("insert into xmltab values (?)"); + preparedStatement.setSQLXML(1,pgSQLXML); + preparedStatement.execute(); + + Statement statement = con.createStatement(); + ResultSet rs = statement.executeQuery("select * from xmltab"); + assertTrue(rs.next()); + SQLXML result = rs.getSQLXML(1); + assertNotNull(result); + assertEquals(exmplar, result.getString()); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 7dc50232d0..004f1b614a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -13,6 +13,7 @@ import org.postgresql.core.ReturningParserTest; import org.postgresql.core.v3.V3ParameterListTests; import org.postgresql.jdbc.DeepBatchedInsertStatementTest; +import org.postgresql.jdbc.PgSQLXMLTest; import org.postgresql.jdbc.PrimitiveArraySupportTest; import org.postgresql.test.core.JavaVersionTest; import org.postgresql.test.core.LogServerMessagePropertyTest; @@ -82,6 +83,7 @@ PGPropertyTest.class, PGTimestampTest.class, PGTimeTest.class, + PgSQLXMLTest.class, PreparedStatementTest.class, PrimitiveArraySupportTest.class, QuotationTest.class, From 47f756fa926f7c78a7f55f030aadf7be82195e52 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 15 Nov 2019 11:50:35 -0500 Subject: [PATCH 361/427] add test for table name with values in it (#1609) --- .../java/org/postgresql/core/ParserTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 4274fcde6e..bd5aadc12e 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -216,4 +216,22 @@ public void insertMultiInsert() throws SQLException { Assert.assertEquals(34, command.getBatchRewriteValuesBraceOpenPosition()); Assert.assertEquals(56, command.getBatchRewriteValuesBraceClosePosition()); } + + @Test + public void valuesTableParse() throws SQLException { + String query = "insert into values_table (id, name) values (?,?)"; + List qry = Parser.parseJdbcSql(query, true, true, true, true); + SqlCommand command = qry.get(0).getCommand(); + Assert.assertEquals(43,command.getBatchRewriteValuesBraceOpenPosition()); + Assert.assertEquals(49,command.getBatchRewriteValuesBraceClosePosition()); + + query = "insert into table_values (id, name) values (?,?)"; + qry = Parser.parseJdbcSql(query, true, true, true, true); + command = qry.get(0).getCommand(); + Assert.assertEquals(43,command.getBatchRewriteValuesBraceOpenPosition()); + Assert.assertEquals(49,command.getBatchRewriteValuesBraceClosePosition()); + + + + } } From 8abf3161d17fef3783c0c597e91c1fe455efc2e8 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 18 Nov 2019 10:28:35 -0500 Subject: [PATCH 362/427] fix: get correct column length for simple domains (#1605) * fix: get correct column length for simple domains --- .../postgresql/jdbc/PgDatabaseMetaData.java | 39 +++++++++++++++---- .../test/jdbc2/DatabaseMetaDataTest.java | 16 +++++++- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index ef3ac75000..26440aec14 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1502,7 +1502,7 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa } sql += "SELECT n.nspname,c.relname,a.attname,a.atttypid,a.attnotnull " - + "OR (t.typtype = 'd' AND t.typnotnull) AS attnotnull,a.atttypmod,a.attlen,"; + + "OR (t.typtype = 'd' AND t.typnotnull) AS attnotnull,a.atttypmod,a.attlen,t.typtypmod,"; if (connection.haveMinimumServerVersion(ServerVersion.v8_4)) { sql += "row_number() OVER (PARTITION BY a.attrelid ORDER BY a.attnum) AS attnum, "; @@ -1585,12 +1585,37 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa } String identity = rs.getString("attidentity"); - int decimalDigits = connection.getTypeInfo().getScale(typeOid, typeMod); - int columnSize = connection.getTypeInfo().getPrecision(typeOid, typeMod); - if (columnSize == 0) { - columnSize = connection.getTypeInfo().getDisplaySize(typeOid, typeMod); - } + int baseTypeOid = (int) rs.getLong("typbasetype"); + int decimalDigits; + int columnSize; + + /* this is really a DOMAIN type not sure where DISTINCT came from */ + if ( sqlType == Types.DISTINCT ) { + /* + From the docs if typtypmod is -1 + */ + int domainLength = rs.getInt("typtypmod"); + decimalDigits = connection.getTypeInfo().getScale(baseTypeOid, typeMod); + /* + From the postgres docs: + Domains use typtypmod to record the typmod to be applied to their + base type (-1 if base type does not use a typmod). -1 if this type is not a domain. + if it is -1 then get the precision from the basetype. This doesn't help if the basetype is + a domain, but for actual types this will return the correct value. + */ + if ( domainLength == -1 ) { + columnSize = connection.getTypeInfo().getPrecision(baseTypeOid, typeMod); + } else { + columnSize = domainLength; + } + } else { + decimalDigits = connection.getTypeInfo().getScale(typeOid, typeMod); + columnSize = connection.getTypeInfo().getPrecision(typeOid, typeMod); + if (columnSize == 0) { + columnSize = connection.getTypeInfo().getDisplaySize(typeOid, typeMod); + } + } tuple[6] = connection.encodeString(Integer.toString(columnSize)); tuple[8] = connection.encodeString(Integer.toString(decimalDigits)); @@ -1612,8 +1637,6 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa // Is nullable tuple[17] = connection.encodeString(rs.getBoolean("attnotnull") ? "NO" : "YES"); - int baseTypeOid = (int) rs.getLong("typbasetype"); - tuple[18] = null; // SCOPE_CATLOG tuple[19] = null; // SCOPE_SCHEMA tuple[20] = null; // SCOPE_TABLE diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 0e3f6055d0..e8e031404f 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -83,7 +83,8 @@ public void setUp() throws Exception { } TestUtil.createDomain(con, "nndom", "int not null"); - TestUtil.createTable(con, "domaintable", "id nndom"); + TestUtil.createDomain(con, "varbit2", "varbit(3)"); + TestUtil.createTable(con, "domaintable", "id nndom, v varbit2"); stmt.close(); } @@ -670,9 +671,22 @@ public void testNotNullDomainColumn() throws SQLException { assertTrue(rs.next()); assertEquals("id", rs.getString("COLUMN_NAME")); assertEquals("NO", rs.getString("IS_NULLABLE")); + assertTrue(rs.next()); assertTrue(!rs.next()); } + @Test + public void testDomainColumnSize() throws SQLException { + DatabaseMetaData dbmd = con.getMetaData(); + ResultSet rs = dbmd.getColumns("", "", "domaintable", ""); + assertTrue(rs.next()); + assertEquals("id", rs.getString("COLUMN_NAME")); + assertEquals(10, rs.getInt("COLUMN_SIZE")); + assertTrue(rs.next()); + assertEquals("v", rs.getString("COLUMN_NAME")); + assertEquals(3, rs.getInt("COLUMN_SIZE")); + } + @Test public void testAscDescIndexInfo() throws SQLException { if (!TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_3)) { From 00fa448587532cc219977679bb8c573a1dcae11c Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 18 Nov 2019 10:29:22 -0500 Subject: [PATCH 363/427] fix: NPE as a result of calling executeQuery twice on a statement fixes issue #684 (#1610) --- .../java/org/postgresql/jdbc/PgResultSet.java | 22 ++++++++++++++----- .../java/org/postgresql/jdbc/PgStatement.java | 6 ++--- .../jdbc4/jdbc41/CloseOnCompletionTest.java | 9 ++++++++ 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 9cc490a00e..14a9195ca5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1852,17 +1852,27 @@ public boolean next() throws SQLException { public void close() throws SQLException { try { - // release resources held (memory for tuples) - rows = null; - if (cursor != null) { - cursor.close(); - cursor = null; - } + closeInternally(); } finally { ((PgStatement) statement).checkCompletion(); } } + /* + used by PgStatement.closeForNextExecution to avoid + closing the firstUnclosedResult twice. + checkCompletion above modifies firstUnclosedResult + fixes issue #684 + */ + protected void closeInternally() throws SQLException { + // release resources held (memory for tuples) + rows = null; + if (cursor != null) { + cursor.close(); + cursor = null; + } + } + public boolean wasNull() throws SQLException { checkClosed(); return wasNullFlag; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index 3940e7a2c7..efc0e3364b 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -125,7 +125,7 @@ public class PgStatement implements Statement, BaseStatement { /** * The first unclosed result. */ - protected ResultWrapper firstUnclosedResult = null; + protected volatile ResultWrapper firstUnclosedResult = null; /** * Results returned by a statement that wants generated keys. @@ -327,9 +327,9 @@ protected void closeForNextExecution() throws SQLException { // Close any existing resultsets associated with this statement. synchronized (this) { while (firstUnclosedResult != null) { - ResultSet rs = firstUnclosedResult.getResultSet(); + PgResultSet rs = (PgResultSet)firstUnclosedResult.getResultSet(); if (rs != null) { - rs.close(); + rs.closeInternally(); } firstUnclosedResult = firstUnclosedResult.getNext(); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java index 801d1503a1..5eac284cb0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/CloseOnCompletionTest.java @@ -15,6 +15,7 @@ import org.junit.Test; import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -89,4 +90,12 @@ public void testNoResultSet() throws SQLException { stmt.executeUpdate(TestUtil.insertSQL("table1", "1")); assertFalse(stmt.isClosed()); } + + @Test + public void testExecuteTwice() throws SQLException { + PreparedStatement s = conn.prepareStatement("SELECT 1"); + s.closeOnCompletion(); + s.executeQuery(); + s.executeQuery(); + } } From 7f1752a1f2853c88333b3ac75c2dc0212272b254 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 22 Nov 2019 15:15:49 -0500 Subject: [PATCH 364/427] fix:handle numeric domain types (#1611) * fix:handle numeric domain types --- .../org/postgresql/jdbc/PgDatabaseMetaData.java | 9 ++++++--- .../postgresql/test/jdbc2/DatabaseMetaDataTest.java | 13 ++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 26440aec14..b2f69a6f32 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1595,7 +1595,7 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa /* From the docs if typtypmod is -1 */ - int domainLength = rs.getInt("typtypmod"); + int typtypmod = rs.getInt("typtypmod"); decimalDigits = connection.getTypeInfo().getScale(baseTypeOid, typeMod); /* From the postgres docs: @@ -1604,10 +1604,13 @@ base type (-1 if base type does not use a typmod). -1 if this type is not a doma if it is -1 then get the precision from the basetype. This doesn't help if the basetype is a domain, but for actual types this will return the correct value. */ - if ( domainLength == -1 ) { + if ( typtypmod == -1 ) { columnSize = connection.getTypeInfo().getPrecision(baseTypeOid, typeMod); + } else if (baseTypeOid == Oid.NUMERIC ) { + decimalDigits = connection.getTypeInfo().getScale(baseTypeOid, typtypmod); + columnSize = connection.getTypeInfo().getPrecision(baseTypeOid, typtypmod); } else { - columnSize = domainLength; + columnSize = typtypmod; } } else { decimalDigits = connection.getTypeInfo().getScale(typeOid, typeMod); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index e8e031404f..9d244726e8 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -84,7 +84,9 @@ public void setUp() throws Exception { TestUtil.createDomain(con, "nndom", "int not null"); TestUtil.createDomain(con, "varbit2", "varbit(3)"); - TestUtil.createTable(con, "domaintable", "id nndom, v varbit2"); + TestUtil.createDomain(con, "float83", "numeric(8,3)"); + + TestUtil.createTable(con, "domaintable", "id nndom, v varbit2, f float83"); stmt.close(); } @@ -112,6 +114,9 @@ public void tearDown() throws Exception { stmt.execute("DROP FUNCTION f3(int, varchar)"); TestUtil.dropTable(con, "domaintable"); TestUtil.dropDomain(con, "nndom"); + TestUtil.dropDomain(con, "varbit2"); + TestUtil.dropDomain(con, "float83"); + TestUtil.closeDB(con); } @@ -672,6 +677,7 @@ public void testNotNullDomainColumn() throws SQLException { assertEquals("id", rs.getString("COLUMN_NAME")); assertEquals("NO", rs.getString("IS_NULLABLE")); assertTrue(rs.next()); + assertTrue(rs.next()); assertTrue(!rs.next()); } @@ -685,6 +691,11 @@ public void testDomainColumnSize() throws SQLException { assertTrue(rs.next()); assertEquals("v", rs.getString("COLUMN_NAME")); assertEquals(3, rs.getInt("COLUMN_SIZE")); + assertTrue(rs.next()); + assertEquals("f", rs.getString("COLUMN_NAME")); + assertEquals(8, rs.getInt("COLUMN_SIZE")); + assertEquals( 3, rs.getInt("DECIMAL_DIGITS")); + } @Test From 69320c7a7dc065f44db5ddeec8143c606298b382 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 25 Nov 2019 08:11:42 -0500 Subject: [PATCH 365/427] add checks for null results (#1616) --- .../org/postgresql/test/jdbc2/DateTest.java | 1 + .../test/jdbc4/jdbc41/GetObjectTest.java | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java index 1f54965dc7..c7da9294fd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java @@ -67,6 +67,7 @@ public void testGetDate() throws SQLException { assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testdate", "'3456-01-01'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testdate", "'0101-01-01 BC'"))); + /* dateTest() contains all of the tests */ dateTest(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java index bcdc541e4a..d20a400be2 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/jdbc41/GetObjectTest.java @@ -338,6 +338,36 @@ public void testGetDate() throws SQLException { } } + @Test + public void testGetNullDate() throws SQLException { + Statement stmt = conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","date_column","NULL")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "date_column")); + try { + assertTrue(rs.next()); + Date date = rs.getObject(1,Date.class); + assertTrue(rs.wasNull()); + } finally { + rs.close(); + } + } + + @Test + public void testGetNullTimestamp() throws SQLException { + Statement stmt = conn.createStatement(); + stmt.executeUpdate(TestUtil.insertSQL("table1","timestamp_without_time_zone_column","NULL")); + + ResultSet rs = stmt.executeQuery(TestUtil.selectSQL("table1", "timestamp_without_time_zone_column")); + try { + assertTrue(rs.next()); + java.util.Date ts = rs.getObject(1, java.util.Date.class); + assertTrue(rs.wasNull()); + } finally { + rs.close(); + } + } + /** * Test the behavior getObject for time columns. */ From 050797934a8a9c0ce2dff068eba14931988370ca Mon Sep 17 00:00:00 2001 From: Brett Okken Date: Mon, 25 Nov 2019 10:46:42 -0600 Subject: [PATCH 366/427] feat: read only transactions (#1252) * feat: read only transactions If autocommit is set to false, read only will be set on begin transaction. If autocommit is true, it will continue to be managed at session level. The queries to change session have been cached to avoid re-parsing each time readonly value changes. https://github.com/pgjdbc/pgjdbc/issues/1228 https://github.com/pgjdbc/pgjdbc/issues/848 * feat: read only transactions * checkstyle and hamcrest test import * add connection property with 3 options to control read only behavior * fix missing property methods on BaseDataSource * avoid redundant static modifier * more loosely couple read only hints to backend * return default read only mode from data source. * avoid case conversion --- .../main/java/org/postgresql/PGProperty.java | 15 +- .../org/postgresql/core/BaseConnection.java | 10 + .../org/postgresql/core/QueryExecutor.java | 5 + .../postgresql/core/v3/QueryExecutorImpl.java | 36 +-- .../postgresql/ds/common/BaseDataSource.java | 16 ++ .../org/postgresql/jdbc/PgConnection.java | 73 +++++- .../java/org/postgresql/jdbc/PgStatement.java | 6 + .../postgresql/test/jdbc2/ConnectionTest.java | 217 ++++++++++++++++++ 8 files changed, 355 insertions(+), 23 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 9e99dc7a3a..87705c3adb 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -10,6 +10,7 @@ import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; +import java.sql.Connection; import java.sql.DriverPropertyInfo; import java.util.Properties; @@ -443,7 +444,19 @@ public enum PGProperty { + "to the database specified in the dbname parameter, " + "which will allow the connection to be used for logical replication " + "from that database. " - + "(backend >= 9.4)"); + + "(backend >= 9.4)"), + + /** + * Connection parameter to control behavior when + * {@link Connection#setReadOnly(boolean)} is set to {@code true}. + */ + READ_ONLY_MODE("readOnlyMode", "transaction", + "Controls the behavior when a connection is set to be read only, one of 'ignore', 'transaction', or 'always' " + + "When 'ignore', setting readOnly has no effect. " + + "When 'transaction' setting readOnly to 'true' will cause transactions to BEGIN READ ONLY if autocommit is 'false'. " + + "When 'always' setting readOnly to 'true' will set the session to READ ONLY if autoCommit is 'true' " + + "and the transaction to BEGIN READ ONLY if autocommit is 'false'.", + false, "ignore", "transaction", "always"); private final String name; private final String defaultValue; diff --git a/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java b/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java index 1d316a079c..d9f2282b69 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/core/BaseConnection.java @@ -6,6 +6,7 @@ package org.postgresql.core; import org.postgresql.PGConnection; +import org.postgresql.PGProperty; import org.postgresql.jdbc.FieldMetadata; import org.postgresql.jdbc.TimestampUtils; import org.postgresql.util.LruCache; @@ -202,4 +203,13 @@ CachedQuery createQuery(String sql, boolean escapeProcessing, boolean isParamete * @param flushCacheOnDeallocate true if statement cache should be reset when "deallocate/discard" message observed */ void setFlushCacheOnDeallocate(boolean flushCacheOnDeallocate); + + /** + * Indicates if statements to backend should be hinted as read only. + * + * @return Indication if hints to backend (such as when transaction begins) + * should be read only. + * @see PGProperty#READ_ONLY_MODE + */ + boolean hintReadOnly(); } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index 8d95e8d2e0..a2d2382353 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -121,6 +121,11 @@ public interface QueryExecutor extends TypeTransferModeRegistry { int MAX_SAVE_POINTS = 1000; + /** + * Flag indicating that when beginning a transaction, it should be read only. + */ + int QUERY_READ_ONLY_HINT = 2048; + /** * Execute a Query, passing results to a provided ResultHandler. * diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 48ca673bf9..4e85f02a05 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -371,9 +371,7 @@ && getAutoSave() != AutoSave.NEVER // PostgreSQL does not support bind, exec, simple, sync message flow, // so we force autosavepoint to use simple if the main query is using simple | QUERY_EXECUTE_AS_SIMPLE); - return true; - } return false; } @@ -548,7 +546,9 @@ private ResultHandler sendQueryPreamble(final ResultHandler delegateHandler, int beginFlags = updateQueryMode(beginFlags); - sendOneQuery(beginTransactionQuery, SimpleQuery.NO_PARAMETERS, 0, 0, beginFlags); + final SimpleQuery beginQuery = ((flags & QueryExecutor.QUERY_READ_ONLY_HINT) == 0) ? beginTransactionQuery : beginReadOnlyTransactionQuery; + + sendOneQuery(beginQuery, SimpleQuery.NO_PARAMETERS, 0, 0, beginFlags); // Insert a handler that intercepts the BEGIN. return new ResultHandlerDelegate(delegateHandler) { @@ -1145,8 +1145,8 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) try { if (op == null) { throw new PSQLException(GT - .tr("Received CommandComplete ''{0}'' without an active copy operation", status), - PSQLState.OBJECT_NOT_IN_STATE); + .tr("Received CommandComplete ''{0}'' without an active copy operation", status), + PSQLState.OBJECT_NOT_IN_STATE); } op.handleCommandStatus(status); } catch (SQLException se) { @@ -1171,7 +1171,7 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) if (op != null) { error = new PSQLException(GT.tr("Got CopyInResponse from server during an active {0}", - op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); + op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); } op = new CopyInImpl(); @@ -1184,8 +1184,7 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) LOGGER.log(Level.FINEST, " <=BE CopyOutResponse"); if (op != null) { - error = - new PSQLException(GT.tr("Got CopyOutResponse from server during an active {0}", + error = new PSQLException(GT.tr("Got CopyOutResponse from server during an active {0}", op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); } @@ -1199,8 +1198,7 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) LOGGER.log(Level.FINEST, " <=BE CopyBothResponse"); if (op != null) { - error = - new PSQLException(GT.tr("Got CopyBothResponse from server during an active {0}", + error = new PSQLException(GT.tr("Got CopyBothResponse from server during an active {0}", op.getClass().getName()), PSQLState.OBJECT_NOT_IN_STATE); } @@ -1220,11 +1218,11 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) byte[] buf = pgStream.receive(len); if (op == null) { error = new PSQLException(GT.tr("Got CopyData without an active copy operation"), - PSQLState.OBJECT_NOT_IN_STATE); + PSQLState.OBJECT_NOT_IN_STATE); } else if (!(op instanceof CopyOut)) { error = new PSQLException( - GT.tr("Unexpected copydata from server for {0}", op.getClass().getName()), - PSQLState.COMMUNICATION_ERROR); + GT.tr("Unexpected copydata from server for {0}", op.getClass().getName()), + PSQLState.COMMUNICATION_ERROR); } else { op.handleCopydata(buf); } @@ -1242,7 +1240,7 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) if (!(op instanceof CopyOut)) { error = new PSQLException("Got CopyDone while not copying from server", - PSQLState.OBJECT_NOT_IN_STATE); + PSQLState.OBJECT_NOT_IN_STATE); } // keep receiving since we expect a CommandComplete @@ -1283,7 +1281,7 @@ CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) default: throw new IOException( - GT.tr("Unexpected packet type during copy: {0}", Integer.toString(c))); + GT.tr("Unexpected packet type during copy: {0}", Integer.toString(c))); } // Collect errors into a neat chain for completeness @@ -2792,6 +2790,11 @@ public boolean getIntegerDateTimes() { new NativeQuery("BEGIN", new int[0], false, SqlCommand.BLANK), null, false); + private final SimpleQuery beginReadOnlyTransactionQuery = + new SimpleQuery( + new NativeQuery("BEGIN READ ONLY", new int[0], false, SqlCommand.BLANK), + null, false); + private final SimpleQuery emptyQuery = new SimpleQuery( new NativeQuery("", new int[0], false, @@ -2815,7 +2818,4 @@ public boolean getIntegerDateTimes() { new SimpleQuery( new NativeQuery("ROLLBACK TO SAVEPOINT PGJDBC_AUTOSAVE", new int[0], false, SqlCommand.BLANK), null, false); - - - } diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index f4be819749..8baa1fb959 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -912,6 +912,22 @@ public void setReadOnly(boolean readOnly) { PGProperty.READ_ONLY.set(properties, readOnly); } + /** + * @return The behavior when set read only + * @see PGProperty#READ_ONLY_MODE + */ + public String getReadOnlyMode() { + return PGProperty.READ_ONLY_MODE.get(properties); + } + + /** + * @param mode the behavior when set read only + * @see PGProperty#READ_ONLY_MODE + */ + public void setReadOnlyMode(String mode) { + PGProperty.READ_ONLY_MODE.set(properties, mode); + } + /** * @return true if driver should log unclosed connections * @see PGProperty#LOG_UNCLOSED_CONNECTIONS diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index d9f4debc60..2e7b9f2cad 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -81,6 +81,12 @@ public class PgConnection implements BaseConnection { private static final SQLPermission SQL_PERMISSION_ABORT = new SQLPermission("callAbort"); private static final SQLPermission SQL_PERMISSION_NETWORK_TIMEOUT = new SQLPermission("setNetworkTimeout"); + private enum ReadOnlyBehavior { + ignore, + transaction, + always; + } + // // Data initialized on construction: // @@ -89,6 +95,8 @@ public class PgConnection implements BaseConnection { /* URL we were created via */ private final String creatingURL; + private final ReadOnlyBehavior readOnlyBehavior; + private Throwable openStackTrace; /* Actual network handler */ @@ -99,6 +107,10 @@ public class PgConnection implements BaseConnection { /* Query that runs ROLLBACK */ private final Query rollbackQuery; + private final CachedQuery setSessionReadOnly; + + private final CachedQuery setSessionNotReadOnly; + private final TypeInfo typeCache; private boolean disableColumnSanitiser = false; @@ -184,6 +196,8 @@ public PgConnection(HostSpec[] hostSpecs, this.creatingURL = url; + this.readOnlyBehavior = getReadOnlyBehavior(PGProperty.READ_ONLY_MODE.get(info)); + setDefaultFetchSize(PGProperty.DEFAULT_ROW_FETCH_SIZE.getInt(info)); setPrepareThreshold(PGProperty.PREPARE_THRESHOLD.getInt(info)); @@ -199,6 +213,9 @@ public PgConnection(HostSpec[] hostSpecs, LOGGER.log(Level.WARNING, "Unsupported Server Version: {0}", queryExecutor.getServerVersion()); } + setSessionReadOnly = createQuery("SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY", false, true); + setSessionNotReadOnly = createQuery("SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE", false, true); + // Set read-only early if requested if (PGProperty.READ_ONLY.getBoolean(info)) { setReadOnly(true); @@ -292,6 +309,18 @@ public TimeZone get() { replicationConnection = PGProperty.REPLICATION.get(info) != null; } + private static ReadOnlyBehavior getReadOnlyBehavior(String property) { + try { + return ReadOnlyBehavior.valueOf(property); + } catch (IllegalArgumentException e) { + try { + return ReadOnlyBehavior.valueOf(property.toLowerCase(Locale.US)); + } catch (IllegalArgumentException e2) { + return ReadOnlyBehavior.transaction; + } + } + } + private static Set getBinaryOids(Properties info) throws PSQLException { boolean binaryTransfer = PGProperty.BINARY_TRANSFER.getBoolean(info); // Formats that currently have binary protocol support @@ -453,6 +482,24 @@ public void execSQLUpdate(String s) throws SQLException { stmt.close(); } + void execSQLUpdate(CachedQuery query) throws SQLException { + BaseStatement stmt = (BaseStatement) createStatement(); + if (stmt.executeWithFlags(query, QueryExecutor.QUERY_NO_METADATA | QueryExecutor.QUERY_NO_RESULTS + | QueryExecutor.QUERY_SUPPRESS_BEGIN)) { + throw new PSQLException(GT.tr("A result was returned when none was expected."), + PSQLState.TOO_MANY_RESULTS); + } + + // Transfer warnings to the connection, since the user never + // has a chance to see the statement itself. + SQLWarning warnings = stmt.getWarnings(); + if (warnings != null) { + addWarning(warnings); + } + + stmt.close(); + } + /** *

In SQL, a result table can be retrieved through a cursor that is named. The current row of a * result can be updated or deleted using a positioned update/delete statement that references the @@ -705,10 +752,8 @@ public void setReadOnly(boolean readOnly) throws SQLException { PSQLState.ACTIVE_SQL_TRANSACTION); } - if (readOnly != this.readOnly) { - String readOnlySql - = "SET SESSION CHARACTERISTICS AS TRANSACTION " + (readOnly ? "READ ONLY" : "READ WRITE"); - execSQLUpdate(readOnlySql); // nb: no BEGIN triggered. + if (readOnly != this.readOnly && autoCommit && this.readOnlyBehavior == ReadOnlyBehavior.always) { + execSQLUpdate(readOnly ? setSessionReadOnly : setSessionNotReadOnly); } this.readOnly = readOnly; @@ -721,6 +766,11 @@ public boolean isReadOnly() throws SQLException { return readOnly; } + @Override + public boolean hintReadOnly() { + return readOnly && readOnlyBehavior != ReadOnlyBehavior.ignore; + } + @Override public void setAutoCommit(boolean autoCommit) throws SQLException { checkClosed(); @@ -733,6 +783,21 @@ public void setAutoCommit(boolean autoCommit) throws SQLException { commit(); } + // if the connection is read only, we need to make sure session settings are + // correct when autocommit status changed + if (this.readOnly && readOnlyBehavior == ReadOnlyBehavior.always) { + // if we are turning on autocommit, we need to set session + // to read only + if (autoCommit) { + this.autoCommit = true; + execSQLUpdate(setSessionReadOnly); + } else { + // if we are turning auto commit off, we need to + // disable session + execSQLUpdate(setSessionNotReadOnly); + } + } + this.autoCommit = autoCommit; LOGGER.log(Level.FINE, " setAutoCommit = {0}", autoCommit); } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java index efc0e3364b..3a3ee0155f 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java @@ -408,6 +408,9 @@ private void executeInternal(CachedQuery cachedQuery, ParameterList queryParamet if (connection.getAutoCommit()) { flags |= QueryExecutor.QUERY_SUPPRESS_BEGIN; } + if (connection.hintReadOnly()) { + flags |= QueryExecutor.QUERY_READ_ONLY_HINT; + } // updateable result sets do not yet support binary updates if (concurrency != ResultSet.CONCUR_READ_ONLY) { @@ -810,6 +813,9 @@ private BatchResultHandler internalExecuteBatch() throws SQLException { if (connection.getAutoCommit()) { flags |= QueryExecutor.QUERY_SUPPRESS_BEGIN; } + if (connection.hintReadOnly()) { + flags |= QueryExecutor.QUERY_READ_ONLY_HINT; + } BatchResultHandler handler; handler = createBatchHandler(queries, parameterLists); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java index a0e211b961..0b5ca79828 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ConnectionTest.java @@ -6,11 +6,13 @@ package org.postgresql.test.jdbc2; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.postgresql.PGProperty; import org.postgresql.jdbc.PgConnection; import org.postgresql.test.TestUtil; @@ -26,6 +28,7 @@ import java.sql.Statement; import java.util.HashMap; import java.util.Map; +import java.util.Properties; /** * TestCase to test the internal functionality of org.postgresql.jdbc2.Connection and it's @@ -155,6 +158,214 @@ public void testTransactions() throws Exception { TestUtil.closeDB(con); } + /* + * Tests for session and transaction read only behavior with "always" read only mode. + */ + @Test + public void testReadOnly_always() throws Exception { + final Properties props = new Properties(); + PGProperty.READ_ONLY_MODE.set(props, "always"); + con = TestUtil.openDB(props); + Statement st; + ResultSet rs; + + con.setAutoCommit(true); + con.setReadOnly(true); + assertTrue(con.getAutoCommit()); + assertTrue(con.isReadOnly()); + + // Now test insert with auto commit true and read only + st = con.createStatement(); + try { + st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)"); + fail("insert should have failed when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + } + + con.setAutoCommit(false); + + // auto commit false and read only + try { + st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)"); + fail("insert should have failed when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + } + + try { + con.setReadOnly(false); + fail("cannot set read only during transaction"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "Cannot change transaction read-only"); + } + + // end the transaction + con.rollback(); + + // disable read only + con.setReadOnly(false); + + assertEquals(1, st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)")); + + // Now update image to 9876 and commit + st.executeUpdate("update test_a set image=9876 where id=5678"); + con.commit(); + + // back to read only for successful query + con.setReadOnly(true); + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); + rs.close(); + + // Now try to change with auto commit false + try { + st.executeUpdate("update test_a set image=1111 where id=5678"); + fail("update should fail when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + con.rollback(); + } + + // test that value did not change + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); // Should not change! + rs.close(); + + // repeat attempt to chagne with auto commit true + con.setAutoCommit(true); + + try { + st.executeUpdate("update test_a set image=1111 where id=5678"); + fail("update should fail when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + } + + // test that value did not change + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); // Should not change! + rs.close(); + + TestUtil.closeDB(con); + } + + /* + * Tests for session and transaction read only behavior with "ignore" read only mode. + */ + @Test + public void testReadOnly_ignore() throws Exception { + final Properties props = new Properties(); + PGProperty.READ_ONLY_MODE.set(props, "ignore"); + con = TestUtil.openDB(props); + Statement st; + ResultSet rs; + + con.setAutoCommit(true); + con.setReadOnly(true); + assertTrue(con.getAutoCommit()); + assertTrue(con.isReadOnly()); + + // Now test insert with auto commit true and read only + st = con.createStatement(); + assertEquals(1, st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)")); + con.setAutoCommit(false); + + // Now update image to 9876 and commit + st.executeUpdate("update test_a set image=9876 where id=5678"); + + // back to read only for successful query + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); + rs.close(); + + con.rollback(); + + // test that value did not change + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(1234, rs.getInt(1)); // Should not change! + rs.close(); + + TestUtil.closeDB(con); + } + + /* + * Tests for session and transaction read only behavior with "transaction" read only mode. + */ + @Test + public void testReadOnly_transaction() throws Exception { + final Properties props = new Properties(); + PGProperty.READ_ONLY_MODE.set(props, "transaction"); + con = TestUtil.openDB(props); + Statement st; + ResultSet rs; + + con.setAutoCommit(false); + con.setReadOnly(true); + assertFalse(con.getAutoCommit()); + assertTrue(con.isReadOnly()); + + // Test insert with auto commit false and read only + st = con.createStatement(); + try { + st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)"); + fail("insert should have failed when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + } + + con.rollback(); + + con.setAutoCommit(true); + assertTrue(con.isReadOnly()); + //with autocommit true and read only, can still insert + assertEquals(1, st.executeUpdate("insert into test_a (imagename,image,id) values ('comttest',1234,5678)")); + + // Now update image to 9876 + st.executeUpdate("update test_a set image=9876 where id=5678"); + + //successful query + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); + rs.close(); + + con.setAutoCommit(false); + // Now try to change with auto commit false + try { + st.executeUpdate("update test_a set image=1111 where id=5678"); + fail("update should fail when read only"); + } catch (SQLException e) { + assertStringContains(e.getMessage(), "read-only"); + } + + con.rollback(); + + // test that value did not change + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(9876, rs.getInt(1)); // Should not change! + rs.close(); + + // repeat attempt to chagne with auto commit true + con.setAutoCommit(true); + + assertEquals(1, st.executeUpdate("update test_a set image=1111 where id=5678")); + + // test that value did not change + rs = st.executeQuery("select image from test_a where id=5678"); + assertTrue(rs.next()); + assertEquals(1111, rs.getInt(1)); // Should not change! + rs.close(); + + TestUtil.closeDB(con); + } + /* * Simple test to see if isClosed works. */ @@ -296,4 +507,10 @@ public void testDoubleClose() throws Exception { con.close(); con.close(); } + + private static void assertStringContains(String orig, String toContain) { + if (!orig.contains(toContain)) { + fail("expected [" + orig + ']' + "to contain [" + toContain + "]."); + } + } } From 7b454355939aebd995b1b79598a1e945c168eb68 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 25 Nov 2019 14:38:15 -0500 Subject: [PATCH 367/427] fix: pginterval to take iso8601 strings (#1612) * fix: pginterval to take iso8601 strings * use integers for seconds and microseconds all tests passed --- .../java/org/postgresql/util/PGInterval.java | 150 ++++++++++++++---- .../postgresql/test/jdbc2/IntervalTest.java | 31 +++- 2 files changed, 146 insertions(+), 35 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java index c1861b9dd1..0e9ccfaddb 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java @@ -7,8 +7,6 @@ import java.io.Serializable; import java.sql.SQLException; -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; import java.util.Calendar; import java.util.Date; import java.util.StringTokenizer; @@ -19,20 +17,12 @@ public class PGInterval extends PGobject implements Serializable, Cloneable { private int years; - private int months; - private int days; - private int hours; - private int minutes; - private double seconds; - - private static final DecimalFormat secondsFormat; - - static { - secondsFormat = new DecimalFormat("0.00####"); - DecimalFormatSymbols dfs = secondsFormat.getDecimalFormatSymbols(); - dfs.setDecimalSeparator('.'); - secondsFormat.setDecimalFormatSymbols(dfs); - } + private byte months; + private byte days; + private byte hours; + private byte minutes; + private int wholeSeconds; + private int microSeconds; /** * required by the driver. @@ -53,6 +43,66 @@ public PGInterval(String value) throws SQLException { setValue(value); } + private int lookAhead(String value, int position, String find) { + char [] tokens = find.toCharArray(); + int found = -1; + + for ( int i = 0; i < tokens.length; i++ ) { + found = value.indexOf(tokens[i], position); + if ( found > 0 ) { + return found; + } + } + return found; + } + + private void parseISO8601Format(String value) { + int number = 0; + String dateValue; + String timeValue = null; + + int hasTime = value.indexOf('T'); + if ( hasTime > 0 ) { + /* skip over the P */ + dateValue = value.substring(1,hasTime); + timeValue = value.substring(hasTime + 1); + } else { + /* skip over the P */ + dateValue = value.substring(1); + } + + for ( int i = 0; i < dateValue.length(); i++ ) { + int lookAhead = lookAhead(dateValue, i, "YMD"); + if (lookAhead > 0) { + number = Integer.parseInt(dateValue.substring(i, lookAhead)); + if (dateValue.charAt(lookAhead) == 'Y') { + setYears(number); + } else if (dateValue.charAt(lookAhead) == 'M') { + setMonths(number); + } else if (dateValue.charAt(lookAhead) == 'D') { + setDays(number); + } + i = lookAhead; + } + } + if ( timeValue != null ) { + for (int i = 0; i < timeValue.length(); i++) { + int lookAhead = lookAhead(timeValue, i, "HMS"); + if (lookAhead > 0) { + number = Integer.parseInt(timeValue.substring(i, lookAhead)); + if (timeValue.charAt(lookAhead) == 'H') { + setHours(number); + } else if (timeValue.charAt(lookAhead) == 'M') { + setMinutes(number); + } else if (timeValue.charAt(lookAhead) == 'S') { + setSeconds(number); + } + i = lookAhead; + } + } + } + } + /** * Initializes all values of this interval to the specified values. * @@ -77,10 +127,13 @@ public PGInterval(int years, int months, int days, int hours, int minutes, doubl * @throws SQLException Is thrown if the string representation has an unknown format */ public void setValue(String value) throws SQLException { - final boolean ISOFormat = !value.startsWith("@"); - + final boolean PostgresFormat = !value.startsWith("@"); + if (value.startsWith("P")) { + parseISO8601Format(value); + return; + } // Just a simple '0' - if (!ISOFormat && value.length() == 3 && value.charAt(2) == '0') { + if (!PostgresFormat && value.length() == 3 && value.charAt(2) == '0') { setValue(0, 0, 0, 0, 0, 0.0); return; } @@ -153,7 +206,7 @@ public void setValue(String value) throws SQLException { PSQLState.NUMERIC_CONSTANT_OUT_OF_RANGE, e); } - if (!ISOFormat && value.endsWith("ago")) { + if (!PostgresFormat && value.endsWith("ago")) { // Inverse the leading sign setValue(-years, -months, -days, -hours, -minutes, -seconds); } else { @@ -191,7 +244,7 @@ public String getValue() { + days + " days " + hours + " hours " + minutes + " mins " - + secondsFormat.format(seconds) + " secs"; + + wholeSeconds + '.' + microSeconds + " secs"; } /** @@ -227,7 +280,7 @@ public int getMonths() { * @param months months to set */ public void setMonths(int months) { - this.months = months; + this.months = (byte) months; } /** @@ -245,7 +298,7 @@ public int getDays() { * @param days days to set */ public void setDays(int days) { - this.days = days; + this.days = (byte)days; } /** @@ -263,7 +316,7 @@ public int getHours() { * @param hours hours to set */ public void setHours(int hours) { - this.hours = hours; + this.hours = (byte)hours; } /** @@ -281,7 +334,7 @@ public int getMinutes() { * @param minutes minutes to set */ public void setMinutes(int minutes) { - this.minutes = minutes; + this.minutes = (byte)minutes; } /** @@ -290,7 +343,22 @@ public void setMinutes(int minutes) { * @return seconds represented by this interval */ public double getSeconds() { - return seconds; + if ( microSeconds < 0) { + if ( wholeSeconds == 0 ) { + return Double.parseDouble("-0." + -microSeconds); + } else { + return Double.parseDouble("" + wholeSeconds + '.' + -microSeconds); + } + } + return Double.parseDouble("" + wholeSeconds + '.' + microSeconds ); + } + + public int getWholeSeconds() { + return wholeSeconds; + } + + public int getMicroSeconds() { + return microSeconds; } /** @@ -299,7 +367,23 @@ public double getSeconds() { * @param seconds seconds to set */ public void setSeconds(double seconds) { - this.seconds = seconds; + String str = Double.toString(seconds); + int decimal = str.indexOf('.'); + if (decimal > 0) { + + /* how many 10's do we need to multiply by to get microseconds */ + String micSeconds = str.substring(decimal + 1); + int power = 6 - micSeconds.length(); + + microSeconds = Integer.parseInt(micSeconds) * (int)Math.pow(10,power); + wholeSeconds = Integer.parseInt(str.substring(0,decimal)); + } else { + microSeconds = 0; + wholeSeconds = Integer.parseInt(str); + } + if ( seconds < 0 ) { + microSeconds = -microSeconds; + } } /** @@ -308,10 +392,8 @@ public void setSeconds(double seconds) { * @param cal Calendar instance to add to */ public void add(Calendar cal) { - // Avoid precision loss - // Be aware postgres doesn't return more than 60 seconds - no overflow can happen - final int microseconds = (int) (getSeconds() * 1000000.0); - final int milliseconds = (microseconds + ((microseconds < 0) ? -500 : 500)) / 1000; + + final int milliseconds = (microSeconds + ((microSeconds < 0) ? -500 : 500)) / 1000 + wholeSeconds * 1000; cal.add(Calendar.MILLISECOND, milliseconds); cal.add(Calendar.MINUTE, getMinutes()); @@ -413,7 +495,8 @@ public boolean equals(Object obj) { && pgi.days == days && pgi.hours == hours && pgi.minutes == minutes - && Double.doubleToLongBits(pgi.seconds) == Double.doubleToLongBits(seconds); + && pgi.wholeSeconds == wholeSeconds + && pgi.microSeconds == microSeconds; } /** @@ -421,8 +504,9 @@ public boolean equals(Object obj) { * * @return hashCode */ + @Override public int hashCode() { - return ((((((7 * 31 + (int) Double.doubleToLongBits(seconds)) * 31 + minutes) * 31 + hours) * 31 + return (((((((8 * 31 + microSeconds) * 31 + wholeSeconds) * 31 + minutes) * 31 + hours) * 31 + days) * 31 + months) * 31 + years) * 31; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java index 80395c4454..56b5878427 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java @@ -107,7 +107,7 @@ public void testIntervalToStringCoercion() throws SQLException { PGInterval interval = new PGInterval("1 year 3 months"); String coercedStringValue = interval.toString(); - assertEquals("1 years 3 mons 0 days 0 hours 0 mins 0.00 secs", coercedStringValue); + assertEquals("1 years 3 mons 0 days 0 hours 0 mins 0.0 secs", coercedStringValue); } @Test @@ -256,7 +256,7 @@ public void testDate() throws Exception { } @Test - public void testISODate() throws Exception { + public void testPostgresDate() throws Exception { Date date = getStartCalendar().getTime(); Date date2 = getStartCalendar().getTime(); @@ -269,6 +269,33 @@ public void testISODate() throws Exception { assertEquals(date2, date); } + @Test + public void testISO8601() throws Exception { + PGInterval pgi = new PGInterval("P1Y2M3DT4H5M6S"); + assertEquals(1, pgi.getYears() ); + assertEquals(2, pgi.getMonths() ); + assertEquals(3, pgi.getDays() ); + assertEquals(4, pgi.getHours() ); + assertEquals( 5, pgi.getMinutes() ); + assertEquals( 6, pgi.getSeconds(), .1 ); + + pgi = new PGInterval("P-1Y2M3DT4H5M6S"); + assertEquals(-1, pgi.getYears()); + + pgi = new PGInterval("P1Y2M"); + assertEquals(1,pgi.getYears()); + assertEquals(2, pgi.getMonths()); + assertEquals(0, pgi.getDays()); + + pgi = new PGInterval("P3DT4H5M6S"); + assertEquals(0,pgi.getYears()); + + pgi = new PGInterval("P-1Y-2M3DT-4H-5M-6S"); + assertEquals(-1, pgi.getYears()); + assertEquals(-2, pgi.getMonths()); + assertEquals(-4, pgi.getHours()); + } + private java.sql.Date makeDate(int y, int m, int d) { return new java.sql.Date(y - 1900, m - 1, d); } From d75591385538cd704a066c4ed026f767ce3784ab Mon Sep 17 00:00:00 2001 From: GregN Date: Tue, 26 Nov 2019 23:21:50 +1100 Subject: [PATCH 368/427] feat: add new "escapeSyntaxCallMode" connection property (#1560) The "escapeSyntaxCallMode" connection property allows you to specify how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures and functions. The possible values of this property are: select, callIfNoReturn, or call In escapeSyntaxCallMode=select mode (the default), the driver always uses a SELECT statement (allowing function invocation only). In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement. In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only). Prior to the addition of this connection property, the driver always used a SELECT statement for JDBC escape call syntax, which results in the following error when attempting to invoke a procedure: ERROR: xxxx is a procedure Hint: To call a procedure, use CALL --- README.md | 1 + docs/documentation/head/connect.md | 10 +++ .../main/java/org/postgresql/PGProperty.java | 13 +++ .../core/CachedQueryCreateAction.java | 2 +- .../postgresql/core/JdbcCallParseInfo.java | 2 +- .../main/java/org/postgresql/core/Parser.java | 30 +++++-- .../org/postgresql/core/QueryExecutor.java | 3 + .../postgresql/core/QueryExecutorBase.java | 9 ++ .../postgresql/ds/common/BaseDataSource.java | 16 ++++ .../postgresql/jdbc/EscapeSyntaxCallMode.java | 38 +++++++++ .../java/org/postgresql/core/ParserTest.java | 23 +++-- .../jdbc3/EscapeSyntaxCallModeBaseTest.java | 43 ++++++++++ ...scapeSyntaxCallModeCallIfNoReturnTest.java | 84 ++++++++++++++++++ .../jdbc3/EscapeSyntaxCallModeCallTest.java | 85 +++++++++++++++++++ .../jdbc3/EscapeSyntaxCallModeSelectTest.java | 80 +++++++++++++++++ .../postgresql/test/jdbc3/Jdbc3TestSuite.java | 3 + 16 files changed, 427 insertions(+), 15 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/jdbc/EscapeSyntaxCallMode.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeBaseTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallIfNoReturnTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeSelectTest.java diff --git a/README.md b/README.md index 4fcf6a0fba..f2b9a15993 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,7 @@ In addition to the standard connection parameters the driver supports a number o | cleanupSavepoints | Boolean | false | In Autosave mode the driver sets a SAVEPOINT for every query. It is possible to exhaust the server shared buffers. Setting this to true will release each SAVEPOINT at the cost of an additional round trip. | | preferQueryMode | String | extended | Specifies which mode is used to execute queries to database, possible values: extended, extendedForPrepared, extendedCacheEverything, simple | | reWriteBatchedInserts | Boolean | false | Enable optimization to rewrite and collapse compatible INSERT statements that are batched. | +| escapeSyntaxCallMode | String | select | Specifies how JDBC escape call syntax is transformed into underlying SQL (CALL/SELECT), for invoking procedures or functions (requires server version >= 11), possible values: select, callIfNoReturn, call | ## Contributing For information on how to contribute to the project see the [Contributing Guidelines](CONTRIBUTING.md) diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index e6df9ab2c5..4d16303096 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -472,6 +472,16 @@ Connection conn = DriverManager.getConnection(url); for logical replication from that database.

Parameter should be use together with `assumeMinServerVersion` with parameter >= 9.4 (backend >= 9.4)

+* **escapeSyntaxCallMode** = String + + Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. + In `escapeSyntaxCallMode=select` mode (the default), the driver always uses a SELECT statement (allowing function invocation only). + In `escapeSyntaxCallMode=callIfNoReturn` mode, the driver uses a CALL statement (allowing procedure invocation) if there is no + return parameter specified, otherwise the driver uses a SELECT statement. + In `escapeSyntaxCallMode=call` mode, the driver always uses a CALL statement (allowing procedure invocation only). + + The default is `select` + ## Unix sockets diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 87705c3adb..42729c9584 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -446,6 +446,19 @@ public enum PGProperty { + "from that database. " + "(backend >= 9.4)"), + /** + * Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11) + * In {@code escapeSyntaxCallMode=select} mode (the default), the driver always uses a SELECT statement (allowing function invocation only). + * In {@code escapeSyntaxCallMode=callIfNoReturn} mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement. + * In {@code escapeSyntaxCallMode=call} mode, the driver always uses a CALL statement (allowing procedure invocation only). + */ + ESCAPE_SYNTAX_CALL_MODE("escapeSyntaxCallMode", "select", + "Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11)" + + "In escapeSyntaxCallMode=select mode (the default), the driver always uses a SELECT statement (allowing function invocation only)." + + "In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement." + + "In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only).", + false, "select", "callIfNoReturn", "call"), + /** * Connection parameter to control behavior when * {@link Connection#setReadOnly(boolean)} is set to {@code true}. diff --git a/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java b/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java index df74aa2b62..d5ad5c7031 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java +++ b/pgjdbc/src/main/java/org/postgresql/core/CachedQueryCreateAction.java @@ -44,7 +44,7 @@ public CachedQuery create(Object key) throws SQLException { if (key instanceof CallableQueryKey) { JdbcCallParseInfo callInfo = Parser.modifyJdbcCall(parsedSql, queryExecutor.getStandardConformingStrings(), - queryExecutor.getServerVersionNum(), queryExecutor.getProtocolVersion()); + queryExecutor.getServerVersionNum(), queryExecutor.getProtocolVersion(), queryExecutor.getEscapeSyntaxCallMode()); parsedSql = callInfo.getSql(); isFunction = callInfo.isFunction(); } else { diff --git a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java index db9f84230b..d7f70284ed 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java +++ b/pgjdbc/src/main/java/org/postgresql/core/JdbcCallParseInfo.java @@ -6,7 +6,7 @@ package org.postgresql.core; /** - * Contains parse flags from {@link Parser#modifyJdbcCall(String, boolean, int, int)}. + * Contains parse flags from {@link Parser#modifyJdbcCall(String, boolean, int, int, EscapeSyntaxCallMode)}. */ public class JdbcCallParseInfo { private final String sql; diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index 265cd114e2..a05950e77d 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -5,6 +5,7 @@ package org.postgresql.core; +import org.postgresql.jdbc.EscapeSyntaxCallMode; import org.postgresql.jdbc.EscapedFunctions2; import org.postgresql.util.GT; import org.postgresql.util.PSQLException; @@ -894,15 +895,16 @@ private static boolean subArraysEqual(final char[] arr, * [?,..])] }} into the PostgreSQL format which is {@code select (?, [?, ...]) as * result} or {@code select * from (?, [?, ...]) as result} (7.3) * - * @param jdbcSql sql text with JDBC escapes - * @param stdStrings if backslash in single quotes should be regular character or escape one - * @param serverVersion server version - * @param protocolVersion protocol version + * @param jdbcSql sql text with JDBC escapes + * @param stdStrings if backslash in single quotes should be regular character or escape one + * @param serverVersion server version + * @param protocolVersion protocol version + * @param escapeSyntaxCallMode mode specifying whether JDBC escape call syntax is transformed into a CALL/SELECT statement * @return SQL in appropriate for given server format * @throws SQLException if given SQL is malformed */ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdStrings, - int serverVersion, int protocolVersion) throws SQLException { + int serverVersion, int protocolVersion, EscapeSyntaxCallMode escapeSyntaxCallMode) throws SQLException { // Mini-parser for JDBC function-call syntax (only) // TODO: Merge with escape processing (and parameter parsing?) so we only parse each query once. // RE: frequently used statements are cached (see {@link org.postgresql.jdbc.PgConnection#borrowQuery}), so this "merge" is not that important. @@ -1053,8 +1055,16 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString PSQLState.STATEMENT_NOT_ALLOWED_IN_FUNCTION_CALL); } - String prefix = "select * from "; - String suffix = " as result"; + String prefix; + String suffix; + if (escapeSyntaxCallMode == EscapeSyntaxCallMode.SELECT || serverVersion < 110000 + || (outParamBeforeFunc && escapeSyntaxCallMode == EscapeSyntaxCallMode.CALL_IF_NO_RETURN)) { + prefix = "select * from "; + suffix = " as result"; + } else { + prefix = "call "; + suffix = ""; + } String s = jdbcSql.substring(startIndex, endIndex); int prefixLength = prefix.length(); @@ -1093,7 +1103,11 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString } } - sql = sb.append(suffix).toString(); + if (!suffix.isEmpty()) { + sql = sb.append(suffix).toString(); + } else { + sql = sb.toString(); + } return new JdbcCallParseInfo(sql, isFunction); } diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java index a2d2382353..b5c97244dc 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutor.java @@ -11,6 +11,7 @@ import org.postgresql.core.v3.TypeTransferModeRegistry; import org.postgresql.jdbc.AutoSave; import org.postgresql.jdbc.BatchResultHandler; +import org.postgresql.jdbc.EscapeSyntaxCallMode; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.util.HostSpec; @@ -433,6 +434,8 @@ Object createQueryKey(String sql, boolean escapeProcessing, boolean isParameteri boolean isColumnSanitiserDisabled(); + EscapeSyntaxCallMode getEscapeSyntaxCallMode(); + PreferQueryMode getPreferQueryMode(); AutoSave getAutoSave(); diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 1a74a7f73b..82d636c4fd 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -8,6 +8,7 @@ import org.postgresql.PGNotification; import org.postgresql.PGProperty; import org.postgresql.jdbc.AutoSave; +import org.postgresql.jdbc.EscapeSyntaxCallMode; import org.postgresql.jdbc.PreferQueryMode; import org.postgresql.util.HostSpec; import org.postgresql.util.LruCache; @@ -42,6 +43,7 @@ public abstract class QueryExecutorBase implements QueryExecutor { private TransactionState transactionState; private final boolean reWriteBatchedInserts; private final boolean columnSanitiserDisabled; + private final EscapeSyntaxCallMode escapeSyntaxCallMode; private final PreferQueryMode preferQueryMode; private AutoSave autoSave; private boolean flushCacheOnDeallocate = true; @@ -68,6 +70,8 @@ protected QueryExecutorBase(PGStream pgStream, String user, this.cancelSignalTimeout = cancelSignalTimeout; this.reWriteBatchedInserts = PGProperty.REWRITE_BATCHED_INSERTS.getBoolean(info); this.columnSanitiserDisabled = PGProperty.DISABLE_COLUMN_SANITISER.getBoolean(info); + String callMode = PGProperty.ESCAPE_SYNTAX_CALL_MODE.get(info); + this.escapeSyntaxCallMode = EscapeSyntaxCallMode.of(callMode); String preferMode = PGProperty.PREFER_QUERY_MODE.get(info); this.preferQueryMode = PreferQueryMode.of(preferMode); this.autoSave = AutoSave.of(PGProperty.AUTOSAVE.get(info)); @@ -339,6 +343,11 @@ public boolean isColumnSanitiserDisabled() { return columnSanitiserDisabled; } + @Override + public EscapeSyntaxCallMode getEscapeSyntaxCallMode() { + return escapeSyntaxCallMode; + } + @Override public PreferQueryMode getPreferQueryMode() { return preferQueryMode; diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index 8baa1fb959..e1a6df35f6 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -1128,6 +1128,22 @@ public void setReplication(String replication) { PGProperty.REPLICATION.set(properties, replication); } + /** + * @return 'select', "callIfNoReturn', or 'call' + * @see PGProperty#ESCAPE_SYNTAX_CALL_MODE + */ + public String getEscapeSyntaxCallMode() { + return PGProperty.ESCAPE_SYNTAX_CALL_MODE.get(properties); + } + + /** + * @param callMode the call mode to use for JDBC escape call syntax + * @see PGProperty#ESCAPE_SYNTAX_CALL_MODE + */ + public void setEscapeSyntaxCallMode(String callMode) { + PGProperty.ESCAPE_SYNTAX_CALL_MODE.set(properties, callMode); + } + /** * @return null, 'database', or 'true * @see PGProperty#REPLICATION diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapeSyntaxCallMode.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapeSyntaxCallMode.java new file mode 100644 index 0000000000..00200b140b --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapeSyntaxCallMode.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +/** + *

Specifies whether a SELECT/CALL statement is used for the underlying SQL for JDBC escape call syntax: 'select' means to + * always use SELECT, 'callIfNoReturn' means to use CALL if there is no return parameter (otherwise use SELECT), and 'call' means + * to always use CALL.

+ * + * @see org.postgresql.PGProperty#ESCAPE_SYNTAX_CALL_MODE + */ +public enum EscapeSyntaxCallMode { + SELECT("select"), + CALL_IF_NO_RETURN("callIfNoReturn"), + CALL("call"); + + private final String value; + + EscapeSyntaxCallMode(String value) { + this.value = value; + } + + public static EscapeSyntaxCallMode of(String mode) { + for (EscapeSyntaxCallMode escapeSyntaxCallMode : values()) { + if (escapeSyntaxCallMode.value.equals(mode)) { + return escapeSyntaxCallMode; + } + } + return SELECT; + } + + public String value() { + return value; + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index bd5aadc12e..34c8ca3a67 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -8,6 +8,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import org.postgresql.jdbc.EscapeSyntaxCallMode; + import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -136,11 +138,22 @@ public void testEscapeProcessing() throws Exception { @Test public void testModifyJdbcCall() throws SQLException { - assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); - assertEquals("select * from pack_getValue(?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?) }", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); - assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue()}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); - assertEquals("select * from pack_getValue(?,?,?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?,?,?) }", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); - assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v9_6.getVersionNum(), 3).getSql()); + assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from pack_getValue(?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?) }", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from pack_getValue(?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue()}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from pack_getValue(?,?,?,?) as result", Parser.modifyJdbcCall("{ ? = call pack_getValue(?,?,?) }", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.CALL_IF_NO_RETURN).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.CALL).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.CALL_IF_NO_RETURN).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v9_6.getVersionNum(), 3, EscapeSyntaxCallMode.CALL).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.CALL_IF_NO_RETURN).getSql()); + assertEquals("call lower(?,?)", Parser.modifyJdbcCall("{ ? = call lower(?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.CALL).getSql()); + assertEquals("select * from lower(?,?) as result", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.SELECT).getSql()); + assertEquals("call lower(?,?)", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.CALL_IF_NO_RETURN).getSql()); + assertEquals("call lower(?,?)", Parser.modifyJdbcCall("{call lower(?,?)}", true, ServerVersion.v11.getVersionNum(), 3, EscapeSyntaxCallMode.CALL).getSql()); } @Test diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeBaseTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeBaseTest.java new file mode 100644 index 0000000000..ae2db304e1 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeBaseTest.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import org.postgresql.core.ServerVersion; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import java.sql.SQLException; +import java.sql.Statement; + +public class EscapeSyntaxCallModeBaseTest extends BaseTest4 { + + @Override + public void setUp() throws Exception { + super.setUp(); + Statement stmt = con.createStatement(); + stmt.execute( + "CREATE OR REPLACE FUNCTION myiofunc(a INOUT int, b OUT int) AS 'BEGIN b := a; a := 1; END;' LANGUAGE plpgsql"); + stmt.execute( + "CREATE OR REPLACE FUNCTION mysumfunc(a int, b int) returns int AS 'BEGIN return a + b; END;' LANGUAGE plpgsql"); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute( + "CREATE OR REPLACE PROCEDURE myioproc(a INOUT int, b INOUT int) AS 'BEGIN b := a; a := 1; END;' LANGUAGE plpgsql"); + } + } + + @Override + public void tearDown() throws SQLException { + Statement stmt = con.createStatement(); + stmt.execute("drop function myiofunc(a INOUT int, b OUT int) "); + stmt.execute("drop function mysumfunc(a int, b int) "); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute("drop procedure myioproc(a INOUT int, b INOUT int) "); + } + stmt.close(); + super.tearDown(); + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallIfNoReturnTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallIfNoReturnTest.java new file mode 100644 index 0000000000..3e629b48df --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallIfNoReturnTest.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.EscapeSyntaxCallMode; +import org.postgresql.util.PSQLState; + +import org.junit.Test; + +import java.sql.CallableStatement; +import java.sql.SQLException; +import java.sql.Types; +import java.util.Properties; + +public class EscapeSyntaxCallModeCallIfNoReturnTest extends EscapeSyntaxCallModeBaseTest { + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.ESCAPE_SYNTAX_CALL_MODE.set(props, EscapeSyntaxCallMode.CALL_IF_NO_RETURN.value()); + } + + @Test + public void testInvokeFunction() throws Throwable { + // escapeSyntaxCallMode=callIfNoReturn will cause a CALL statement to be used for the JDBC escape call + // syntax used below (since no return parameter is specified). "myiofunc" is a function, so the + // attempted invocation should fail. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{ call myiofunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + try { + cs.execute(); + fail("Should throw an exception"); + } catch (SQLException ex) { + assertTrue(ex.getSQLState().equalsIgnoreCase(PSQLState.WRONG_OBJECT_TYPE.getState())); + } + } + + @Test + public void testInvokeFunctionHavingReturnParameter() throws Throwable { + // escapeSyntaxCallMode=callIfNoReturn will cause a SELECT statement to be used for the JDBC escape call + // syntax used below (since a return parameter is specified). "mysumfunc" is a function, so the + // invocation should succeed. + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("{ ? = call mysumfunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.setInt(2, 10); + cs.setInt(3, 20); + cs.execute(); + int ret = cs.getInt(1); + assertTrue("Expected mysumproc(10,20) to return 30 but returned " + ret, ret == 30); + } + + @Test + public void testInvokeProcedure() throws Throwable { + // escapeSyntaxCallMode=callIfNoReturn will cause a CALL statement to be used for the JDBC escape call + // syntax used below (since there is no return parameter specified). "myioproc" is a procedure, so the + // invocation should succeed. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{call myioproc(?,?)}"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + cs.setInt(2, 20); + cs.execute(); + // Expected output: a==1 (param 1), b==10 (param 2) + int a = cs.getInt(1); + int b = cs.getInt(2); + assertTrue("Expected myioproc() to return output parameter values 1,10 but returned " + a + "," + b, (a == 1 && b == 10)); + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallTest.java new file mode 100644 index 0000000000..f575506ca1 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeCallTest.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.EscapeSyntaxCallMode; +import org.postgresql.util.PSQLState; + +import org.junit.Test; + +import java.sql.CallableStatement; +import java.sql.SQLException; +import java.sql.Types; +import java.util.Properties; + +public class EscapeSyntaxCallModeCallTest extends EscapeSyntaxCallModeBaseTest { + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.ESCAPE_SYNTAX_CALL_MODE.set(props, EscapeSyntaxCallMode.CALL.value()); + } + + @Test + public void testInvokeFunction() throws Throwable { + // escapeSyntaxCallMode=call will cause a CALL statement to be used for the JDBC escape call + // syntax used below. "myiofunc" is a function, so the attempted invocation should fail. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{ call myiofunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + try { + cs.execute(); + fail("Should throw an exception"); + } catch (SQLException ex) { + assertTrue(ex.getSQLState().equalsIgnoreCase(PSQLState.WRONG_OBJECT_TYPE.getState())); + } + } + + @Test + public void testInvokeFunctionHavingReturnParameter() throws Throwable { + // escapeSyntaxCallMode=call will cause a CALL statement to be used for the JDBC escape call + // syntax used below. "mysumfunc" is a function, so the attempted invocation should fail. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{ ? = call mysumfunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.setInt(2, 10); + cs.setInt(3, 20); + try { + cs.execute(); + fail("Should throw an exception"); + } catch (SQLException ex) { + assertTrue(ex.getSQLState().equalsIgnoreCase(PSQLState.WRONG_OBJECT_TYPE.getState())); + } + } + + @Test + public void testInvokeProcedure() throws Throwable { + // escapeSyntaxCallMode=call will cause a CALL statement to be used for the JDBC escape call + // syntax used below. "myioproc" is a procedure, so the invocation should succeed. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{call myioproc(?,?)}"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + cs.setInt(2, 20); + cs.execute(); + // Expected output: a==1 (param 1), b==10 (param 2) + int a = cs.getInt(1); + int b = cs.getInt(2); + assertTrue("Expected myioproc() to return output parameter values 1,10 but returned " + a + "," + b, (a == 1 && b == 10)); + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeSelectTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeSelectTest.java new file mode 100644 index 0000000000..b36ff4ffd2 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/EscapeSyntaxCallModeSelectTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.EscapeSyntaxCallMode; +import org.postgresql.util.PSQLState; + +import org.junit.Test; + +import java.sql.CallableStatement; +import java.sql.SQLException; +import java.sql.Types; +import java.util.Properties; + +public class EscapeSyntaxCallModeSelectTest extends EscapeSyntaxCallModeBaseTest { + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.ESCAPE_SYNTAX_CALL_MODE.set(props, EscapeSyntaxCallMode.SELECT.value()); + } + + @Test + public void testInvokeFunction() throws Throwable { + // escapeSyntaxCallMode=select will cause a SELECT statement to be used for the JDBC escape call + // syntax used below. "myiofunc" is a function, so the invocation should succeed. + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("{ call myiofunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + cs.execute(); + // Expected output: a==1 (param 1), b==10 (param 2) + int a = cs.getInt(1); + int b = cs.getInt(2); + assertTrue("Expected myiofunc() to return output parameter values 1,10 but returned " + a + "," + b, (a == 1 && b == 10)); + } + + @Test + public void testInvokeFunctionHavingReturnParameter() throws Throwable { + // escapeSyntaxCallMode=select will cause a SELECT statement to be used for the JDBC escape call + // syntax used below. "mysumfunc" is a function, so the invocation should succeed. + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("{ ? = call mysumfunc(?,?) }"); + cs.registerOutParameter(1, Types.INTEGER); + cs.setInt(2, 10); + cs.setInt(3, 20); + cs.execute(); + int ret = cs.getInt(1); + assertTrue("Expected mysumfunc(10,20) to return 30 but returned " + ret, ret == 30); + } + + @Test + public void testInvokeProcedure() throws Throwable { + // escapeSyntaxCallMode=select will cause a SELECT statement to be used for the JDBC escape call + // syntax used below. "myioproc" is a procedure, so the attempted invocation should fail. + assumeCallableStatementsSupported(); + assumeMinimumServerVersion(ServerVersion.v11); + CallableStatement cs = con.prepareCall("{call myioproc(?,?)}"); + cs.registerOutParameter(1, Types.INTEGER); + cs.registerOutParameter(2, Types.INTEGER); + cs.setInt(1, 10); + cs.setInt(2, 20); + try { + cs.execute(); + fail("Should throw an exception"); + } catch (SQLException ex) { + assertTrue(ex.getSQLState().equalsIgnoreCase(PSQLState.WRONG_OBJECT_TYPE.getState())); + } + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java index 5e41f7bddd..2693cf7f0a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java @@ -16,6 +16,9 @@ CompositeQueryParseTest.class, CompositeTest.class, DatabaseMetaDataTest.class, + EscapeSyntaxCallModeCallTest.class, + EscapeSyntaxCallModeCallIfNoReturnTest.class, + EscapeSyntaxCallModeSelectTest.class, GeneratedKeysTest.class, Jdbc3BlobTest.class, Jdbc3CallableStatementTest.class, From ed74670fae932935a156eccfb4b1ff16758f5693 Mon Sep 17 00:00:00 2001 From: GregN Date: Tue, 26 Nov 2019 23:22:36 +1100 Subject: [PATCH 369/427] fix: allow OUT parameter registration when using CallableStatement native CALL (#1561) Currently, using CallableStatement, the PGJDBC driver will allow invocation of procedures using the native "call myproc(...)" syntax, provided the procedure only has IN parameters or no parameters. However, if the procedure has any INOUT parameters, then an attempt to invoke the CallableStatement's registerOutParameter() method, which is required in order to register the OUT part of the INOUT parameter, will fail with the following error: This statement does not declare an OUT parameter. Use { ?= call ... } to declare one. This fixes issue: https://github.com/pgjdbc/pgjdbc/issues/1545 --- .../main/java/org/postgresql/core/Parser.java | 15 +++++++++ .../jdbc3/Jdbc3CallableStatementTest.java | 33 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/Parser.java b/pgjdbc/src/main/java/org/postgresql/core/Parser.java index a05950e77d..139455a53f 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Parser.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Parser.java @@ -1042,6 +1042,21 @@ public static JdbcCallParseInfo modifyJdbcCall(String jdbcSql, boolean stdString if (i == len && !syntaxError) { if (state == 1) { // Not an escaped syntax. + + // Detect PostgreSQL native CALL. + // (OUT parameter registration, needed for stored procedures with INOUT arguments, will fail without this) + i = 0; + while (i < len && Character.isWhitespace(jdbcSql.charAt(i))) { + i++; // skip any preceding whitespace + } + if (i < len - 5) { // 5 == length of "call" + 1 whitespace + //Check for CALL followed by whitespace + char ch = jdbcSql.charAt(i); + if ((ch == 'c' || ch == 'C') && jdbcSql.substring(i, i + 4).equalsIgnoreCase("call") + && Character.isWhitespace(jdbcSql.charAt(i + 4))) { + isFunction = true; + } + } return new JdbcCallParseInfo(sql, isFunction); } if (state != 8) { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java index 5764303493..f54e1a5826 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java @@ -11,6 +11,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; import org.postgresql.test.jdbc2.BaseTest4; import org.postgresql.util.PSQLState; @@ -84,6 +85,12 @@ public void setUp() throws Exception { + "end;'" + "LANGUAGE plpgsql VOLATILE;" ); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute( + "CREATE OR REPLACE PROCEDURE inonlyprocedure(a IN int) AS 'BEGIN NULL; END;' LANGUAGE plpgsql"); + stmt.execute( + "CREATE OR REPLACE PROCEDURE inoutprocedure(a INOUT int) AS 'BEGIN a := a + a; END;' LANGUAGE plpgsql"); + } } @Override @@ -97,6 +104,10 @@ public void tearDown() throws SQLException { stmt.execute("drop function myif(a INOUT int, b IN int)"); stmt.execute("drop function mynoparams()"); stmt.execute("drop function mynoparamsproc()"); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute("drop procedure inonlyprocedure(a IN int)"); + stmt.execute("drop procedure inoutprocedure(a INOUT int)"); + } stmt.close(); super.tearDown(); } @@ -1034,4 +1045,26 @@ public void testProcedureNoParametersWithoutParentheses() throws SQLException { TestUtil.closeQuietly(cs); } + @Test + public void testProcedureInOnlyNativeCall() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("call inonlyprocedure(?)"); + cs.setInt(1, 5); + cs.execute(); + TestUtil.closeQuietly(cs); + } + + @Test + public void testProcedureInOutNativeCall() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + // inoutprocedure(a INOUT int) returns a*2 via the INOUT parameter + CallableStatement cs = con.prepareCall("call inoutprocedure(?)"); + cs.setInt(1, 5); + cs.registerOutParameter(1, Types.INTEGER); + cs.execute(); + assertEquals("call inoutprocedure(?) should return 10 (when input param = 5) via the INOUT parameter, but did not.", 10, cs.getInt(1)); + TestUtil.closeQuietly(cs); + } } From 9a193de71d3e834a231f8f5027fb887e00e903d2 Mon Sep 17 00:00:00 2001 From: Dongming Date: Tue, 26 Nov 2019 20:55:06 +0800 Subject: [PATCH 370/427] Adjust the default port to 5432. (#1619) --- pgjdbc/src/main/java/org/postgresql/Driver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index bd456b4da9..f540d606cd 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -61,7 +61,7 @@ public class Driver implements java.sql.Driver { private static final Logger LOGGER = Logger.getLogger("org.postgresql.Driver"); private static SharedTimer sharedTimer = new SharedTimer(); private static final String DEFAULT_PORT = - /*$"\""+mvn.project.property.template.default.pg.port+"\";"$*//*-*/"5431"; + /*$"\""+mvn.project.property.template.default.pg.port+"\";"$*//*-*/"5432"; static { try { From ff4a66d29d863cb4a6d2aecee2faec424f8d51d7 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 26 Nov 2019 09:37:05 -0500 Subject: [PATCH 371/427] fix: remove currentTimeMillis from code, tests are OK (#1617) --- pgjdbc/src/main/java/org/postgresql/Driver.java | 4 ++-- .../main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 4 ++-- .../org/postgresql/hostchooser/GlobalHostStatusTracker.java | 6 ++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index f540d606cd..3f6fbba92b 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -397,7 +397,7 @@ public void run() { * @throws SQLException if a connection error occurs or the timeout is reached */ public Connection getResult(long timeout) throws SQLException { - long expiry = System.currentTimeMillis() + timeout; + long expiry = System.nanoTime() / 1000 + timeout; synchronized (this) { while (true) { if (result != null) { @@ -416,7 +416,7 @@ public Connection getResult(long timeout) throws SQLException { } } - long delay = expiry - System.currentTimeMillis(); + long delay = expiry - System.nanoTime() / 1000; if (delay <= 0) { abandoned = true; throw new PSQLException(GT.tr("Connection attempt timed out."), diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 4e85f02a05..c944ca0387 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -717,7 +717,7 @@ public synchronized void processNotifies(int timeoutMillis) throws SQLException long startTime = 0; int oldTimeout = 0; if (useTimeout) { - startTime = System.currentTimeMillis(); + startTime = System.nanoTime() / 1000; try { oldTimeout = pgStream.getSocket().getSoTimeout(); } catch (SocketException e) { @@ -747,7 +747,7 @@ public synchronized void processNotifies(int timeoutMillis) throws SQLException SQLWarning warning = receiveNoticeResponse(); addWarning(warning); if (useTimeout) { - long newTimeMillis = System.currentTimeMillis(); + long newTimeMillis = System.nanoTime() / 1000; timeoutMillis += startTime - newTimeMillis; // Overflows after 49 days, ignore that startTime = newTimeMillis; if (timeoutMillis == 0) { diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java index bd53ab9369..0ba547bc4a 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java @@ -5,8 +5,6 @@ package org.postgresql.hostchooser; -import static java.lang.System.currentTimeMillis; - import org.postgresql.util.HostSpec; import java.util.ArrayList; @@ -28,7 +26,7 @@ public class GlobalHostStatusTracker { * @param hostStatus Latest known status for the host. */ public static void reportHostStatus(HostSpec hostSpec, HostStatus hostStatus) { - long now = currentTimeMillis(); + long now = System.nanoTime() / 1000; synchronized (hostStatusMap) { HostSpecStatus hostSpecStatus = hostStatusMap.get(hostSpec); if (hostSpecStatus == null) { @@ -51,7 +49,7 @@ public static void reportHostStatus(HostSpec hostSpec, HostStatus hostStatus) { static List getCandidateHosts(HostSpec[] hostSpecs, HostRequirement targetServerType, long hostRecheckMillis) { List candidates = new ArrayList(hostSpecs.length); - long latestAllowedUpdate = currentTimeMillis() - hostRecheckMillis; + long latestAllowedUpdate = System.nanoTime() / 1000 - hostRecheckMillis; synchronized (hostStatusMap) { for (HostSpec hostSpec : hostSpecs) { HostSpecStatus hostInfo = hostStatusMap.get(hostSpec); From 6899a43dff735ab14a02bedea853266de768da50 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 26 Nov 2019 13:37:53 -0500 Subject: [PATCH 372/427] fix: NPE when calling setNull on a PreparedStatement with no parameters (#1620) --- .../org/postgresql/jdbc/PgPreparedStatement.java | 7 +++++++ .../postgresql/test/jdbc2/PreparedStatementTest.java | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 3c5ee62687..9436b688f5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -183,6 +183,13 @@ public void closeImpl() throws SQLException { public void setNull(int parameterIndex, int sqlType) throws SQLException { checkClosed(); + if (parameterIndex < 1 || parameterIndex > preparedParameters.getInParameterCount()) { + throw new PSQLException( + GT.tr("The column index is out of range: {0}, number of columns: {1}.", + parameterIndex, preparedParameters.getInParameterCount()), + PSQLState.INVALID_PARAMETER_VALUE); + } + int oid; switch (sqlType) { case Types.SQLXML: diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index 012e31f164..a46abef568 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -1516,4 +1516,16 @@ public void close() throws SecurityException { log.setLevel(prevLevel); } } + + @Test + public void testNoParametersNPE() throws SQLException { + try { + PreparedStatement ps = con.prepareStatement("select 1"); + ps.setString(1, "null"); + } catch ( NullPointerException ex ) { + fail("Should throw a SQLException"); + } catch (SQLException ex) { + // ignore + } + } } From fdf898c781c00839210936d668d2341ca6c08406 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 26 Nov 2019 14:48:53 -0500 Subject: [PATCH 373/427] doc: correct documentation about last applied message fixes #760 (#1621) --- .../replication/PGReplicationStream.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java index 1d29ed75c2..45c6c977ff 100644 --- a/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java +++ b/pgjdbc/src/main/java/org/postgresql/replication/PGReplicationStream.java @@ -40,7 +40,7 @@ public interface PGReplicationStream ByteBuffer read() throws SQLException; /** - *

Read next wal record from backend. It method can't be block and in contrast to {@link + *

Read next WAL record from backend. This method does not block and in contrast to {@link * PGReplicationStream#read()}. If message from backend absent return null. It allow periodically * check message in stream and if they absent sleep some time, but it time should be less than * {@link CommonOptions#getStatusInterval()} to avoid disconnect from the server.

@@ -50,7 +50,7 @@ public interface PGReplicationStream * at the page boundary. In other words, the first main WAL record and its continuation records * can be sent in different XLogData messages.

* - * @return byte array received by replication protocol or null if pending message from server + * @return byte array received by replication protocol or NULL if pending message from server * absent. Returns ByteBuffer wrap around received byte array with use offset, so, use {@link * ByteBuffer#array()} carefully. * @throws SQLException when some internal exception occurs during read from stream @@ -64,23 +64,23 @@ public interface PGReplicationStream * method is called in the main thread after a successful {@link PGReplicationStream#read()} or * {@link PGReplicationStream#readPending()}, to get the LSN corresponding to the received record.

* - * @return not null LSN position that was receive last time via {@link PGReplicationStream#read()} + * @return NOT NULL LSN position that was receive last time via {@link PGReplicationStream#read()} * method */ LogSequenceNumber getLastReceiveLSN(); /** - *

Last flushed lsn send in update message to backend. Parameter updates only via {@link + *

Last flushed LSN sent in update message to backend. Parameter updates only via {@link * PGReplicationStream#setFlushedLSN(LogSequenceNumber)}

* *

It is safe to call this method in a thread different than the main thread.

* - * @return not null location of the last WAL flushed to disk in the standby. + * @return NOT NULL location of the last WAL flushed to disk in the standby. */ LogSequenceNumber getLastFlushedLSN(); /** - *

Last applied lsn send in update message to backed. Parameter updates only via {@link + *

Last applied lsn sent in update message to backed. Parameter updates only via {@link * PGReplicationStream#setAppliedLSN(LogSequenceNumber)}

* *

It is safe to call this method in a thread different than the main thread.

@@ -90,32 +90,32 @@ public interface PGReplicationStream LogSequenceNumber getLastAppliedLSN(); /** - *

Set flushed LSN. It parameter will be send to backend on next update status iteration. Flushed - * LSN position help backend define which wal can be recycle.

+ *

Set flushed LSN. This parameter will be sent to backend on next update status iteration. Flushed + * LSN position help backend define which WAL can be recycled.

* *

It is safe to call this method in a thread different than the main thread. The updated value * will be sent to the backend in the next status update run.

* - * @param flushed not null location of the last WAL flushed to disk in the standby. + * @param flushed NOT NULL location of the last WAL flushed to disk in the standby. * @see PGReplicationStream#forceUpdateStatus() */ void setFlushedLSN(LogSequenceNumber flushed); /** - *

Parameter used only physical replication and define which lsn already was apply on standby. + *

Inform backend which LSN has been applied on standby. * Feedback will send to backend on next update status iteration.

* *

It is safe to call this method in a thread different than the main thread. The updated value * will be sent to the backend in the next status update run.

* - * @param applied not null location of the last WAL applied in the standby. + * @param applied NOT NULL location of the last WAL applied in the standby. * @see PGReplicationStream#forceUpdateStatus() */ void setAppliedLSN(LogSequenceNumber applied); /** - * Force send to backend status about last received, flushed and applied LSN. You can not use it - * method explicit, because {@link PGReplicationStream} send status to backend periodical by + * Force send last received, flushed and applied LSN status to backend. You cannot send LSN status + * explicitly because {@link PGReplicationStream} sends the status to backend periodically by * configured interval via {@link LogicalReplicationOptions#getStatusInterval} * * @throws SQLException when some internal exception occurs during read from stream From f0af538f59924fd9d692627102c94517e5f6008e Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Wed, 27 Nov 2019 15:05:20 -0500 Subject: [PATCH 374/427] feat: Add cancelQuery() to PGConnection public interface (#1157) Adds cancelQuery() to the extended public interface PGConnection to allow for issueing of cancels directly to connections rather than having to keep track of individual statements. The internals of the driver and the backend server already operate at a connection level (not a statement level) and this patch only exposes the existing cancelQuery() method publicly. --- pgjdbc/src/main/java/org/postgresql/PGConnection.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index fd764563fb..f48d22fb32 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -184,6 +184,11 @@ public interface PGConnection { */ int getBackendPID(); + /** + * Sends a query cancellation for this connection. + */ + void cancelQuery() throws SQLException; + /** * Return the given string suitably quoted to be used as an identifier in an SQL statement string. * Quotes are added only if necessary (i.e., if the string contains non-identifier characters or From 4edca517bfdc0bffb2141369394d611803b43523 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 27 Nov 2019 15:05:56 -0500 Subject: [PATCH 375/427] docs: fix documentation about oids (#1624) --- pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 14a9195ca5..a8b76f1da2 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1536,6 +1536,8 @@ boolean isUpdateable() throws SQLException { // this is not strictly jdbc spec, but it will make things much faster if used // the user has to select oid, * from table and then we will just use oid + // with oids has been removed in version 12 + // FIXME: with oids does not automatically create an index, should check for primary keys first usingOID = false; From 4258e0d0cfdc50aaec3d31301fd793e221740bda Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 28 Nov 2019 08:07:21 -0500 Subject: [PATCH 376/427] fix: javadoc requires throws annotation (#1625) --- pgjdbc/src/main/java/org/postgresql/PGConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index f48d22fb32..b220f56a0e 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -186,6 +186,7 @@ public interface PGConnection { /** * Sends a query cancellation for this connection. + * @throws SQLException if there are problems cancelling the query */ void cancelQuery() throws SQLException; From 82c2008f83dd687e80b1e3acdeeb618dccc2fb5c Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 29 Nov 2019 10:01:25 -0500 Subject: [PATCH 377/427] fix: Add pkcs12 key functionality (#1599) * fix: Add pkcs12 key functionality WIP PBE-MD5-DES might be inadequate in environments where high level of security is needed and the key is not protected pkcs12 uses 3DES which also isn't completely adequate but is certainly more secure than MD5-DES * fix docs to add PKCS12 archive format --- certdir/README.md | 6 + certdir/goodclient.p12 | Bin 0 -> 1806 bytes docs/documentation/head/connect.md | 6 +- docs/documentation/head/ssl-client.md | 5 +- docs/documentation/head/ssl.md | 10 +- .../java/org/postgresql/ssl/LibPQFactory.java | 79 +++++--- .../org/postgresql/ssl/PKCS12KeyManager.java | 171 ++++++++++++++++++ .../test/ssl/LazyKeyManagerTest.java | 12 ++ .../postgresql/test/ssl/PKCS12KeyTest.java | 48 +++++ 9 files changed, 302 insertions(+), 35 deletions(-) create mode 100644 certdir/goodclient.p12 create mode 100644 pgjdbc/src/main/java/org/postgresql/ssl/PKCS12KeyManager.java create mode 100644 pgjdbc/src/test/java/org/postgresql/test/ssl/PKCS12KeyTest.java diff --git a/certdir/README.md b/certdir/README.md index 59fd06e329..34dcbc4733 100644 --- a/certdir/README.md +++ b/certdir/README.md @@ -48,3 +48,9 @@ openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out ser cp server.crt ../goodroot.crt #Common name is localhost, no password + +#PKCS12 + +Create the goodclient.p12 file with + +openssl pkcs12 -export -in goodclient.crt -inkey goodclient.key -out goodclient.p12 -name local -CAfile client_ca.crt -caname local diff --git a/certdir/goodclient.p12 b/certdir/goodclient.p12 new file mode 100644 index 0000000000000000000000000000000000000000..7b468336938f77b657e9e7c4d15d723f0629218f GIT binary patch literal 1806 zcmY+DS5Om(7KW1$LPE__R|FA4B7H;e!qRK#F|d>k2$9Y}g475>B7q>FvPkc}h#+ea zfq)e0APNKv4tT{yvNS15yEwD=dhf%TGxL9Q&eQ*)DO}tjAP1TPnTEg=s8-Z{J|Gvc zi~{KcQy|@EaVMI>QThWx$|xM!XAvC)1e~qZ9|VY&fN=lwffoot^Mj!|wZ?puCqV!Z z2ntA|aNwlt&GIm5>EsEM^^1OgdC16X^Oo}%(HM>*ew9r_jdvEiQ{p)VMX^HA&HXLn|rozb-fN^E}X!D`Rl> zOVqFW`5D5P=Co=is1IMXX$2!$9Ei-o=X!QyN}<@7VK;XQG;Tck7c=&H%iJ{C7Ecls z@G!bITr%#Yyl!@W;tRQ!t=YBpMBwi!Zpfh09{Oj;kR?fFRj%Fad}PgfR#M-hmgsXl zCWyBsO=F}|O#>oK4gwfFQgW_$EB$KD*4};FW`6iK#j~jrIb%v{tIRIxVHu~sbf3-W zf_t1>?RRa#A(CANy!LkmNyUe52j8l&AksYT~`Av)N{suS!b9&2ug_tjqWSn~dNoE{z6$~bWYCUVd)hX7owb+X>z(4&= zX7DfF?s^HzJq;{jn!&topuo$zUr?-{v@N$5*Jyww4yvNV>?d2~SU-KNX z#!;u~+LPft|`Z zxOYLK%woANjc2Lq?$Nau=?1Qhk(sUO$G3c~bFyrNOcta)^Fu#x7h7I7G>?n5RQ78a z0D5G?jPWLyj(NRMokhd%vqZ|yqY@6S9Z&My71Qk*E+O<%{BXS5w`XA)C4N4O*kexj zs78mH%A}_;Q*Jd|9}qU7)JV27e2kgZLh*rjJ~-A56`|6)1P~M$Y>Av z`fAxK;&oFkal~+9=qL3FtO3+hfpgLj?mBfQqTv6Cc%~=^m;yRQQ$UAjvk&3*?E#l3vIz}%~btQF}p&iXMF>(SD`-6y7mul zNJbm#cX{jdGWCEdVP#j@SOqf-aL0RJa4eNMI!N1}Q!b&7B%8!z2e?*x52t>~%Wocncj$U1k|b75KbX7~ zk1~2FdtdN<`$YoF6jzH-__iVAtw7GyR*$LHEf^NM&V58M9wYkI)8j_cQzj=r zcYS$B-~KffAz2GG#m95S_;R|q_3f$rD&9SL(y?KJAd9r-RF~@|<*&VmR^ZM59h-~= zbR0#UN1ot)#&E>jtKx-;#RDpyHmw8_KSbV-r9O`u6!o=b!k}?Pg5$}sHx1|ADy&86 zG6s)2OF!BY7d&nEX_q#dotjDJ(+k6x1+-iC6r-IE(D!JYL04sJz^-$N4r?(HAuo&^ zkmvnc-2%xC?|5n;tB$D}`K;W1My*=(5`j2Iu2zZs944xDHP(lzDeb~Q(B~&u_hWxC zzIV*!a;}AtXht6gYQ&}A>3O%LM0YBOJFd;FUz#g)whIx}sT3p0nFa?2m`<;B@s{ZS>BSOt-BW#kcvRipJ zrs)2dV(85pH$>_9h3&SI^4qzt^CHGMh9cDJ%zoXZmX8+Cqamu7(PIB?HB4BQ`vMd| z0z?7)0g-6L4&NEQAY$xX;=(4)bFUm47z5C%XlXPI!l}s50TSl~fQ51D jQESl`#YU)0%ltZ%R+=1=Thd_Y-UB2eafoI9z4reG5t1_t literal 0 HcmV?d00001 diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index 4d16303096..ec4325381b 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -88,7 +88,7 @@ Connection conn = DriverManager.getConnection(url); * **ssl** = boolean - Connect using SSL. The driver must have been compiled with SSL support. + Connect using SSL. The server must have been compiled with SSL support. This property does not need a value associated with it. The mere presence of it specifies a SSL connection. However, for compatibility with future versions, the value "true" is preferred. For more information see [Chapter @@ -97,10 +97,10 @@ Connection conn = DriverManager.getConnection(url); Setting up the certificates and keys for ssl connection can be tricky see [The test documentation](https://github.com/pgjdbc/pgjdbc/blob/master/certdir/README.md) for detailed examples. * **sslfactory** = String - + The provided value is a class name to use as the `SSLSocketFactory` when establishing a SSL connection. For more information see the section - called [“Custom SSLSocketFactory”](ssl-factory.html). + called [“Custom SSLSocketFactory”](ssl-factory.html). defaults to LibPQFactory * **sslfactoryarg** (deprecated) = String diff --git a/docs/documentation/head/ssl-client.md b/docs/documentation/head/ssl-client.md index e49b727170..d655ab2266 100644 --- a/docs/documentation/head/ssl-client.md +++ b/docs/documentation/head/ssl-client.md @@ -35,7 +35,7 @@ stored in the server certificate. The SSL connection will fail if the server certificate cannot be verified. `verify-full` is recommended in most security-sensitive environments. - +The default SSL Socket factory is the LibPQFactory In the case where the certificate validation is failing you can try `sslcert=` and LibPQFactory will not send the client certificate. If the server is not configured to authenticate using the certificate it should connect. @@ -45,6 +45,9 @@ The location of the client certificate, client key and root certificate can be o /defaultdir/postgresql.pk8, and /defaultdir/root.crt respectively where defaultdir is ${user.home}/.postgresql/ in *nix systems and %appdata%/postgresql/ on windows +as of version 42.2.9 PKCS12 is supported. In this archive format the key, cert and root cert are all +in one file which by default is /defaultdir/postgresql.p12 + Finer control of the SSL connection can be achieved using the `sslmode` connection parameter. This parameter is the same as the libpq `sslmode` parameter and the currently SSL implements the following diff --git a/docs/documentation/head/ssl.md b/docs/documentation/head/ssl.md index a32027b64e..40fcdcb6f9 100644 --- a/docs/documentation/head/ssl.md +++ b/docs/documentation/head/ssl.md @@ -20,10 +20,12 @@ next: ssl-client.html # Configuring the Server Configuring the PostgreSQL™ server for SSL is covered in the [main -documentation](http://www.postgresql.org/docs/current/static/ssl-tcp.html), -so it will not be repeated here. Before trying to access your SSL enabled -server from Java, make sure you can get to it via **psql**. You should -see output like the following if you have established a SSL connection. +documentation](https://www.postgresql.org/docs/current/ssl-tcp.html), +so it will not be repeated here. There are also instructions in the source +[certdir](https://github.com/pgjdbc/pgjdbc/tree/master/certdir) +Before trying to access your SSL enabled server from Java, make sure +you can get to it via **psql**. You should see output like the following +if you have established a SSL connection. ``` $ ./bin/psql -h localhost -U postgres diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java index 6f7a5af22c..2f259af810 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java @@ -39,7 +39,46 @@ */ public class LibPQFactory extends WrappedFactory { - LazyKeyManager km; + KeyManager km; + boolean defaultfile; + + private CallbackHandler getCallbackHandler(Properties info) throws PSQLException { + // Determine the callback handler + CallbackHandler cbh; + String sslpasswordcallback = PGProperty.SSL_PASSWORD_CALLBACK.get(info); + if (sslpasswordcallback != null) { + try { + cbh = (CallbackHandler) ObjectFactory.instantiate(sslpasswordcallback, info, false, null); + } catch (Exception e) { + throw new PSQLException( + GT.tr("The password callback class provided {0} could not be instantiated.", + sslpasswordcallback), + PSQLState.CONNECTION_FAILURE, e); + } + } else { + cbh = new ConsoleCallbackHandler(PGProperty.SSL_PASSWORD.get(info)); + } + return cbh; + } + + private void initPk8(String sslkeyfile, String defaultdir, Properties info) throws PSQLException { + + // Load the client's certificate and key + String sslcertfile = PGProperty.SSL_CERT.get(info); + if (sslcertfile == null) { // Fall back to default + defaultfile = true; + sslcertfile = defaultdir + "postgresql.crt"; + } + + + // If the properties are empty, give null to prevent client key selection + km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), + ("".equals(sslkeyfile) ? null : sslkeyfile), getCallbackHandler(info), defaultfile); + } + + private void initP12(String sslkeyfile, Properties info) throws PSQLException { + km = new PKCS12KeyManager(sslkeyfile, getCallbackHandler(info)); + } /** * @param info the connection parameters The following parameters are used: @@ -53,44 +92,25 @@ public LibPQFactory(Properties info) throws PSQLException { // Determining the default file location String pathsep = System.getProperty("file.separator"); String defaultdir; - boolean defaultfile = false; + if (System.getProperty("os.name").toLowerCase().contains("windows")) { // It is Windows defaultdir = System.getenv("APPDATA") + pathsep + "postgresql" + pathsep; } else { defaultdir = System.getProperty("user.home") + pathsep + ".postgresql" + pathsep; } - // Load the client's certificate and key - String sslcertfile = PGProperty.SSL_CERT.get(info); - if (sslcertfile == null) { // Fall back to default - defaultfile = true; - sslcertfile = defaultdir + "postgresql.crt"; - } String sslkeyfile = PGProperty.SSL_KEY.get(info); if (sslkeyfile == null) { // Fall back to default defaultfile = true; sslkeyfile = defaultdir + "postgresql.pk8"; } - - // Determine the callback handler - CallbackHandler cbh; - String sslpasswordcallback = PGProperty.SSL_PASSWORD_CALLBACK.get(info); - if (sslpasswordcallback != null) { - try { - cbh = (CallbackHandler) ObjectFactory.instantiate(sslpasswordcallback, info, false, null); - } catch (Exception e) { - throw new PSQLException( - GT.tr("The password callback class provided {0} could not be instantiated.", - sslpasswordcallback), - PSQLState.CONNECTION_FAILURE, e); - } - } else { - cbh = new ConsoleCallbackHandler(PGProperty.SSL_PASSWORD.get(info)); + if (sslkeyfile.endsWith("pk8")) { + initPk8(sslkeyfile, defaultdir, info); } - // If the properties are empty, give null to prevent client key selection - km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), - ("".equals(sslkeyfile) ? null : sslkeyfile), cbh, defaultfile); + if (sslkeyfile.endsWith("p12")) { + initP12(sslkeyfile, info); + } TrustManager[] tm; SslMode sslMode = SslMode.of(info); @@ -171,7 +191,12 @@ public LibPQFactory(Properties info) throws PSQLException { */ public void throwKeyManagerException() throws PSQLException { if (km != null) { - km.throwKeyManagerException(); + if (km instanceof LazyKeyManager) { + ((LazyKeyManager)km).throwKeyManagerException(); + } + if (km instanceof PKCS12KeyManager) { + ((PKCS12KeyManager)km).throwKeyManagerException(); + } } } diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/PKCS12KeyManager.java b/pgjdbc/src/main/java/org/postgresql/ssl/PKCS12KeyManager.java new file mode 100644 index 0000000000..00f2e0faa2 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/ssl/PKCS12KeyManager.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.ssl; + +import org.postgresql.util.GT; +import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; + +import java.io.File; +import java.io.FileInputStream; +import java.net.Socket; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.Principal; +import java.security.PrivateKey; +import java.security.cert.Certificate; +import java.security.cert.X509Certificate; + +import javax.net.ssl.X509KeyManager; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.UnsupportedCallbackException; +import javax.security.auth.x500.X500Principal; + +public class PKCS12KeyManager implements X509KeyManager { + + private final CallbackHandler cbh; + private PSQLException error = null; + private final String keyfile; + private final KeyStore keyStore; + boolean keystoreLoaded = false; + + public PKCS12KeyManager(String pkcsFile, CallbackHandler cbh) throws PSQLException { + try { + keyStore = KeyStore.getInstance("pkcs12"); + keyfile = pkcsFile; + this.cbh = cbh; + } catch ( KeyStoreException kse ) { + throw new PSQLException(GT.tr( + "Unable to find pkcs12 keystore."), + PSQLState.CONNECTION_FAILURE, kse); + } + } + + /** + * getCertificateChain and getPrivateKey cannot throw exeptions, therefore any exception is stored + * in {@link #error} and can be raised by this method. + * + * @throws PSQLException if any exception is stored in {@link #error} and can be raised + */ + public void throwKeyManagerException() throws PSQLException { + if (error != null) { + throw error; + } + } + + @Override + public String[] getClientAliases(String keyType, Principal[] principals) { + String alias = chooseClientAlias(new String[]{keyType}, principals, (Socket) null); + return (alias == null ? new String[]{} : new String[]{alias}); + } + + @Override + public String chooseClientAlias(String[] strings, Principal[] principals, Socket socket) { + if (principals == null || principals.length == 0) { + // Postgres 8.4 and earlier do not send the list of accepted certificate authorities + // to the client. See BUG #5468. We only hope, that our certificate will be accepted. + return "user"; + } else { + // Sending a wrong certificate makes the connection rejected, even, if clientcert=0 in + // pg_hba.conf. + // therefore we only send our certificate, if the issuer is listed in issuers + X509Certificate[] certchain = getCertificateChain("user"); + if (certchain == null) { + return null; + } else { + X500Principal ourissuer = certchain[certchain.length - 1].getIssuerX500Principal(); + boolean found = false; + for (Principal issuer : principals) { + if (ourissuer.equals(issuer)) { + found = true; + } + } + return (found ? "user" : null); + } + } + } + + @Override + public String[] getServerAliases(String s, Principal[] principals) { + return new String[]{}; + } + + @Override + public String chooseServerAlias(String s, Principal[] principals, Socket socket) { + // we are not a server + return null; + } + + @Override + public X509Certificate[] getCertificateChain(String alias) { + try { + loadKeyStore(); + Certificate []certs = keyStore.getCertificateChain(alias); + X509Certificate [] x509Certificates = new X509Certificate[certs.length]; + int i = 0; + for (Certificate cert : certs) { + x509Certificates[i++] = (X509Certificate)cert; + } + return x509Certificates; + } catch (Exception kse ) { + error = new PSQLException(GT.tr( + "Could not find a java cryptographic algorithm: X.509 CertificateFactory not available."), + PSQLState.CONNECTION_FAILURE, kse); + } + return null; + } + + @Override + public PrivateKey getPrivateKey(String s) { + try { + loadKeyStore(); + PasswordCallback pwdcb = new PasswordCallback(GT.tr("Enter SSL password: "), false); + cbh.handle(new Callback[]{pwdcb}); + + KeyStore.ProtectionParameter protParam = new KeyStore.PasswordProtection(pwdcb.getPassword()); + KeyStore.PrivateKeyEntry pkEntry = + (KeyStore.PrivateKeyEntry) keyStore.getEntry("user", protParam); + PrivateKey myPrivateKey = pkEntry.getPrivateKey(); + return myPrivateKey; + } catch (Exception ioex ) { + error = new PSQLException(GT.tr("Could not read SSL key file {0}.", keyfile), + PSQLState.CONNECTION_FAILURE, ioex); + } + return null; + } + + private synchronized void loadKeyStore() throws Exception { + + if (keystoreLoaded) { + return; + } + // We call back for the password + PasswordCallback pwdcb = new PasswordCallback(GT.tr("Enter SSL password: "), false); + try { + cbh.handle(new Callback[]{pwdcb}); + } catch (UnsupportedCallbackException ucex) { + if ((cbh instanceof LibPQFactory.ConsoleCallbackHandler) + && ("Console is not available".equals(ucex.getMessage()))) { + error = new PSQLException(GT + .tr("Could not read password for SSL key file, console is not available."), + PSQLState.CONNECTION_FAILURE, ucex); + } else { + error = + new PSQLException( + GT.tr("Could not read password for SSL key file by callbackhandler {0}.", + cbh.getClass().getName()), + PSQLState.CONNECTION_FAILURE, ucex); + } + + } + + keyStore.load(new FileInputStream(new File(keyfile)), pwdcb.getPassword()); + keystoreLoaded = true; + } + +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java index 1c1f1f0f36..22a728c7fd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java @@ -6,6 +6,7 @@ package org.postgresql.test.ssl; import org.postgresql.ssl.LazyKeyManager; +import org.postgresql.ssl.PKCS12KeyManager; import org.junit.Assert; import org.junit.Test; @@ -13,6 +14,7 @@ import java.io.File; import java.io.IOException; import java.security.PrivateKey; +import java.security.cert.X509Certificate; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; @@ -21,6 +23,16 @@ public class LazyKeyManagerTest { + @Test + public void testLoadP12Key() throws Exception { + String certdir = "../certdir/"; + PKCS12KeyManager pkcs12KeyManager = new PKCS12KeyManager(certdir + "goodclient.p12", new TestCallbackHandler("sslpwd")); + PrivateKey pk = pkcs12KeyManager.getPrivateKey("user"); + Assert.assertNotNull(pk); + X509Certificate[] chain = pkcs12KeyManager.getCertificateChain("user"); + Assert.assertNotNull(chain); + } + @Test public void testLoadKey() throws Exception { String certdir = "../certdir/"; diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/PKCS12KeyTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/PKCS12KeyTest.java new file mode 100644 index 0000000000..5dc6f7503c --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/PKCS12KeyTest.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.ssl; + +import org.postgresql.PGProperty; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.sql.ResultSet; +import java.util.Properties; + +public class PKCS12KeyTest extends BaseTest4 { + @Override + @Before + public void setUp() throws Exception { + + super.setUp(); + } + + @Override + protected void updateProperties(Properties props) { + Properties prop = TestUtil.loadPropertyFiles("ssltest.properties"); + props.put(TestUtil.DATABASE_PROP, "hostssldb"); + PGProperty.SSL_MODE.set(props, "prefer"); + + File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); + String certdir = certDirFile.getAbsolutePath(); + + PGProperty.SSL_KEY.set(props, certdir + "/" + "goodclient" + ".p12"); + + } + + @Test + public void TestGoodClientP12() throws Exception { + + ResultSet rs = con.createStatement().executeQuery("select ssl_is_used()"); + Assert.assertTrue("select ssl_is_used() should return a row", rs.next()); + boolean sslUsed = rs.getBoolean(1); + } +} From 97d32caad1f72c11d3e89ffaf16a17a22c6b9790 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 29 Nov 2019 10:37:58 -0500 Subject: [PATCH 378/427] Actually test cleanSavePoints (#1509) --- .../java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java index 26876b5599..08c590be17 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java @@ -173,6 +173,7 @@ public void tearDown() throws SQLException { protected void updateProperties(Properties props) { super.updateProperties(props); PGProperty.AUTOSAVE.set(props, autoSave.value()); + PGProperty.CLEANUP_SAVEPOINTS.set(props, cleanSavePoint.toString()); PGProperty.PREPARE_THRESHOLD.set(props, 1); } From 8106d3df5c3f6ea3cbc3e621977df5542b182b56 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 5 Dec 2019 08:30:53 -0500 Subject: [PATCH 379/427] fix: DatabaseMetaData.getFunctions should not limit the search to the search_path if the schema is provided (#1633) * fix: DatabaseMetaData.getFunctions should not limit the search to the search_path if the schema is provided --- .../postgresql/jdbc/PgDatabaseMetaData.java | 11 +++- .../test/jdbc4/DatabaseMetaDataTest.java | 59 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index b2f69a6f32..08823012ac 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1038,6 +1038,9 @@ public ResultSet getProcedures(String catalog, String schemaPattern, String proc + " WHERE p.pronamespace=n.oid "; if (schemaPattern != null && !schemaPattern.isEmpty()) { sql += " AND n.nspname LIKE " + escapeQuotes(schemaPattern); + } else { + /* limit to current schema if no schema given */ + sql += "and pg_function_is_visible(p.oid)"; } if (procedureNamePattern != null && !procedureNamePattern.isEmpty()) { sql += " AND p.proname LIKE " + escapeQuotes(procedureNamePattern); @@ -2679,9 +2682,15 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct + "FROM pg_catalog.pg_proc p " + "INNER JOIN pg_catalog.pg_namespace n ON p.pronamespace=n.oid " + "LEFT JOIN pg_catalog.pg_description d ON p.oid=d.objoid " - + "WHERE pg_function_is_visible(p.oid) "; + + "WHERE true "; + /* + if the user provides a schema then search inside the schema for it + */ if (schemaPattern != null && !schemaPattern.isEmpty()) { sql += " AND n.nspname LIKE " + escapeQuotes(schemaPattern); + } else { + /* if no schema is provided then limit the search inside the search_path */ + sql += "and pg_function_is_visible(p.oid)"; } if (functionNamePattern != null && !functionNamePattern.isEmpty()) { sql += " AND p.proname LIKE " + escapeQuotes(functionNamePattern); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java index a22f42ae72..7d209f1536 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java @@ -8,6 +8,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; @@ -37,12 +38,20 @@ public void setUp() throws Exception { conn = TestUtil.openDB(); TestUtil.dropSequence(conn, "sercoltest_a_seq"); TestUtil.createTable(conn, "sercoltest", "a serial, b int"); + TestUtil.createSchema(conn, "hasfunctions"); + TestUtil.createSchema(conn, "nofunctions"); + TestUtil.execute("create function hasfunctions.addfunction (integer, integer) " + + "RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE", conn); + + } @After public void tearDown() throws Exception { TestUtil.dropSequence(conn, "sercoltest_a_seq"); TestUtil.dropTable(conn, "sercoltest"); + TestUtil.dropSchema(conn, "hasfunctions"); + TestUtil.dropSchema(conn, "nofunctions"); TestUtil.closeDB(conn); } @@ -88,6 +97,56 @@ public void testGetSchemas() throws SQLException { assertTrue(!rs.next()); } + @Test + public void testGetFunctionsInSchema() throws SQLException { + DatabaseMetaData dbmd = conn.getMetaData(); + ResultSet rs = dbmd.getFunctions("", "hasfunctions",""); + int count = assertGetFunctionRS(rs); + assertThat( count, is(1)); + + Statement statement = conn.createStatement(); + statement.execute("set search_path=hasfunctions"); + + rs = dbmd.getFunctions("", "","addfunction"); + assertThat( assertGetFunctionRS(rs), is(1) ); + + statement.execute("set search_path=nofunctions"); + + rs = dbmd.getFunctions("", "","addfunction"); + assertFalse(rs.next()); + + statement.execute("reset search_path"); + statement.close(); + + rs = dbmd.getFunctions("", "nofunctions",null); + assertFalse(rs.next()); + + } + + @Test + public void testGetProceduresInSchema() throws SQLException { + DatabaseMetaData dbmd = conn.getMetaData(); + ResultSet rs = dbmd.getProcedures("", "hasfunctions",null); + assertTrue(rs.next()); + + + Statement statement = conn.createStatement(); + statement.execute("set search_path=hasfunctions"); + + rs = dbmd.getProcedures("", "","addfunction"); + assertTrue(rs.next()); + + statement.execute("set search_path=nofunctions"); + rs = dbmd.getProcedures("", "","addfunction"); + assertFalse(rs.next()); + + statement.execute("reset search_path"); + statement.close(); + rs = dbmd.getProcedures("", "nofunctions",null); + assertFalse(rs.next()); + + } + @Test public void testGetFunctionsWithBlankPatterns() throws SQLException { int minFuncCount = 1000; From ec76bace1d4e3c02a7bf235f726a6c6d7feb6ee3 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 5 Dec 2019 10:17:16 -0500 Subject: [PATCH 380/427] feat: WIP Filter DatabaseMetaData using privileges for the user (#1630) * feat:Filter DatabaseMetaData using privileges for the user This replaces PR#647 as it required considerable work to merge. Original work done by Scott Langley @slangley adds a connection parameter: hideUnprivilegedObjects defaults to false --- .../main/java/org/postgresql/PGProperty.java | 7 + .../postgresql/ds/common/BaseDataSource.java | 16 + .../org/postgresql/jdbc/PgConnection.java | 9 +- .../postgresql/jdbc/PgDatabaseMetaData.java | 23 + ...seMetaDataHideUnprivilegedObjectsTest.java | 569 ++++++++++++++++++ .../postgresql/test/jdbc4/Jdbc4TestSuite.java | 1 + 6 files changed, 624 insertions(+), 1 deletion(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataHideUnprivilegedObjectsTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 42729c9584..be805c4756 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -425,6 +425,13 @@ public enum PGProperty { REWRITE_BATCHED_INSERTS("reWriteBatchedInserts", "false", "Enable optimization to rewrite and collapse compatible INSERT statements that are batched."), + /** + * Enable mode to filter out the names of database objects for which the current user has no privileges + * granted from appearing in the DatabaseMetaData returned by the driver. + */ + HIDE_UNPRIVILEGED_OBJECTS("hideUnprivilegedObjects", "false", + "Enable hiding of database objects for which the current user has no privileges granted from the DatabaseMetaData"), + /** *

Connection parameter passed in the startup message. This parameter accepts two values; "true" * and "database". Passing "true" tells the backend to go into walsender mode, wherein a small set diff --git a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java index e1a6df35f6..e72aac5e3d 100644 --- a/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java +++ b/pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java @@ -1495,6 +1495,22 @@ public void setReWriteBatchedInserts(boolean reWrite) { PGProperty.REWRITE_BATCHED_INSERTS.set(properties, reWrite); } + /** + * @return boolean indicating property is enabled or not. + * @see PGProperty#HIDE_UNPRIVILEGED_OBJECTS + */ + public boolean getHideUnprivilegedObjects() { + return PGProperty.HIDE_UNPRIVILEGED_OBJECTS.getBoolean(properties); + } + + /** + * @param hideUnprivileged boolean value to set the property in the properties collection + * @see PGProperty#HIDE_UNPRIVILEGED_OBJECTS + */ + public void setHideUnprivilegedObjects(boolean hideUnprivileged) { + PGProperty.HIDE_UNPRIVILEGED_OBJECTS.set(properties, hideUnprivileged); + } + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.1" public java.util.logging.Logger getParentLogger() { return Logger.getLogger("org.postgresql"); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 2e7b9f2cad..3b8d86f38d 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -134,7 +134,8 @@ private enum ReadOnlyBehavior { private boolean autoCommit = true; // Connection's readonly state. private boolean readOnly = false; - + // Filter out database objects for which the current user has no privileges granted from the DatabaseMetaData + private boolean hideUnprivilegedObjects ; // Bind String to UNSPECIFIED or VARCHAR? private final boolean bindStringAsVarchar; @@ -221,6 +222,8 @@ public PgConnection(HostSpec[] hostSpecs, setReadOnly(true); } + this.hideUnprivilegedObjects = PGProperty.HIDE_UNPRIVILEGED_OBJECTS.getBoolean(info); + Set binaryOids = getBinaryOids(info); // split for receive and send for better control @@ -948,6 +951,10 @@ public String getCatalog() throws SQLException { return queryExecutor.getDatabase(); } + public boolean getHideUnprivilegedObjects() { + return hideUnprivilegedObjects; + } + /** *

Overrides finalize(). If called, it closes the connection.

* diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 08823012ac..80201a89db 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1045,6 +1045,9 @@ public ResultSet getProcedures(String catalog, String schemaPattern, String proc if (procedureNamePattern != null && !procedureNamePattern.isEmpty()) { sql += " AND p.proname LIKE " + escapeQuotes(procedureNamePattern); } + if (connection.getHideUnprivilegedObjects()) { + sql += " AND has_function_privilege(p.oid,'EXECUTE')"; + } sql += " ORDER BY PROCEDURE_SCHEM, PROCEDURE_NAME, p.oid::text "; return createMetaDataStatement().executeQuery(sql); @@ -1303,6 +1306,10 @@ public ResultSet getTables(String catalog, String schemaPattern, String tableNam if (schemaPattern != null && !schemaPattern.isEmpty()) { select += " AND n.nspname LIKE " + escapeQuotes(schemaPattern); } + if (connection.getHideUnprivilegedObjects()) { + select += " AND has_table_privilege(c.oid, " + + " 'SELECT, INSERT, UPDATE, DELETE, RULE, REFERENCES, TRIGGER')"; + } orderby = " ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME "; if (tableNamePattern != null && !tableNamePattern.isEmpty()) { @@ -1419,6 +1426,9 @@ public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLExce if (schemaPattern != null && !schemaPattern.isEmpty()) { sql += " AND nspname LIKE " + escapeQuotes(schemaPattern); } + if (connection.getHideUnprivilegedObjects()) { + sql += " AND has_schema_privilege(nspname, 'USAGE, CREATE')"; + } sql += " ORDER BY TABLE_SCHEM"; return createMetaDataStatement().executeQuery(sql); @@ -2266,6 +2276,10 @@ public ResultSet getTypeInfo() throws SQLException { + " AND " + " (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid))"; + if (connection.getHideUnprivilegedObjects() && connection.haveMinimumServerVersion(ServerVersion.v9_2)) { + sql += " AND has_type_privilege(t.oid, 'USAGE')"; + } + Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sql); // cache some results, this will keep memory usage down, and speed @@ -2584,6 +2598,12 @@ public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePa toAdd.append(" and n.nspname like ").append(escapeQuotes(schemaPattern)); } sql += toAdd.toString(); + + if (connection.getHideUnprivilegedObjects() + && connection.haveMinimumServerVersion(ServerVersion.v9_2)) { + sql += " AND has_type_privilege(t.oid, 'USAGE')"; + } + sql += " order by data_type, type_schem, type_name"; return createMetaDataStatement().executeQuery(sql); } @@ -2695,6 +2715,9 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct if (functionNamePattern != null && !functionNamePattern.isEmpty()) { sql += " AND p.proname LIKE " + escapeQuotes(functionNamePattern); } + if (connection.getHideUnprivilegedObjects()) { + sql += " AND has_function_privilege(p.oid,'EXECUTE')"; + } sql += " ORDER BY FUNCTION_SCHEM, FUNCTION_NAME, p.oid::text "; return createMetaDataStatement().executeQuery(sql); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataHideUnprivilegedObjectsTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataHideUnprivilegedObjectsTest.java new file mode 100644 index 0000000000..b021787ed2 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataHideUnprivilegedObjectsTest.java @@ -0,0 +1,569 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc4; + +import static org.hamcrest.CoreMatchers.hasItem; +import static org.hamcrest.CoreMatchers.hasItems; +import static org.hamcrest.CoreMatchers.not; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.PgConnection; +import org.postgresql.test.TestUtil; + +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +; + +/** + * Tests that database objects for which the current user has no privileges are filtered out from + * the DatabaseMetaData depending on whether the connection parameter hideUnprivilegedObjects is + * set to true. + */ +public class DatabaseMetaDataHideUnprivilegedObjectsTest { + public static final String COLUMNS = "digit int4, name text"; + private static Connection hidingCon; + private static Connection nonhidingCon; + private static Connection privilegedCon; + private static PgConnection pgConnection; + private static DatabaseMetaData hidingDatabaseMetaData; + private static DatabaseMetaData nonhidingDatabaseMetaData; + + @BeforeClass + public static void setUp() throws Exception { + Properties props = new Properties(); + privilegedCon = TestUtil.openPrivilegedDB(); + pgConnection = privilegedCon.unwrap(PgConnection.class); + Statement stmt = privilegedCon.createStatement(); + + createTestDataObjectsWithRangeOfPrivilegesInSchema("high_privileges_schema"); + // Grant Test User ALL privileges on schema. + stmt.executeUpdate("GRANT ALL ON SCHEMA high_privileges_schema TO " + TestUtil.getUser()); + stmt.executeUpdate("REVOKE ALL ON SCHEMA high_privileges_schema FROM public"); + + createTestDataObjectsWithRangeOfPrivilegesInSchema("low_privileges_schema"); + // Grant Test User USAGE privileges on schema. + stmt.executeUpdate("GRANT USAGE ON SCHEMA low_privileges_schema TO " + TestUtil.getUser()); + stmt.executeUpdate("REVOKE ALL ON SCHEMA low_privileges_schema FROM public"); + + createTestDataObjectsWithRangeOfPrivilegesInSchema("no_privileges_schema"); + // Revoke ALL privileges from Test User USAGE on schema. + stmt.executeUpdate("REVOKE ALL ON SCHEMA no_privileges_schema FROM " + TestUtil.getUser()); + stmt.executeUpdate("REVOKE ALL ON SCHEMA no_privileges_schema FROM public"); + + stmt.close(); + + nonhidingDatabaseMetaData = getNonHidingDatabaseMetaData(props); + hidingDatabaseMetaData = getHidingDatabaseMetaData(props); + } + + private static DatabaseMetaData getHidingDatabaseMetaData(Properties props) throws Exception { + PGProperty.HIDE_UNPRIVILEGED_OBJECTS.set(props, true); + hidingCon = TestUtil.openDB(props); + if (isSuperUser(hidingCon)) { + fail("Test for hiding database objects will not work while:" + TestUtil.getUser() + + " has a SUPERUSER role."); + } + return hidingCon.getMetaData(); + } + + private static DatabaseMetaData getNonHidingDatabaseMetaData(Properties props) throws Exception { + nonhidingCon = TestUtil.openDB(props); + return nonhidingCon.getMetaData(); + } + + private static void createTestDataObjectsWithRangeOfPrivilegesInSchema(String schema) + throws SQLException { + TestUtil.createSchema(privilegedCon, schema); + createSimpleTablesInSchema(schema, + new String[]{"owned_table", "all_grants_table", "insert_granted_table", + "select_granted_table", "no_grants_table"}); + + Statement stmt = privilegedCon.createStatement(); + stmt.executeUpdate( + "CREATE FUNCTION " + schema + "." + + "execute_granted_add_function(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT"); + stmt.executeUpdate( + "CREATE FUNCTION " + schema + "." + + "no_grants_add_function(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT"); + + if (pgConnection.haveMinimumServerVersion(ServerVersion.v11)) { + stmt.executeUpdate( + "CREATE PROCEDURE " + schema + "." + + "execute_granted_insert_procedure( a integer, b integer) LANGUAGE SQL AS 'select $1 + $2;'"); + stmt.executeUpdate( + "CREATE PROCEDURE " + schema + "." + + "no_grants_insert_procedure( a integer, b integer) LANGUAGE SQL AS 'select $1 + $2;'"); + + } + stmt.executeUpdate( + "CREATE OR REPLACE VIEW " + schema + "." + "select_granted_view AS SELECT name FROM " + + schema + "." + "select_granted_table"); + stmt.executeUpdate( + "CREATE OR REPLACE VIEW " + schema + "." + "no_grants_view AS SELECT name FROM " + schema + + "." + "owned_table"); + stmt.executeUpdate( + "CREATE TYPE " + schema + "." + "usage_granted_composite_type AS (f1 int, f2 text)"); + stmt.executeUpdate( + "CREATE TYPE " + schema + "." + "no_grants_composite_type AS (f1 int, f2 text)"); + stmt.executeUpdate( + "CREATE DOMAIN " + schema + "." + "usage_granted_us_postal_code_domain CHAR(5) NOT NULL"); + stmt.executeUpdate( + "CREATE DOMAIN " + schema + "." + "no_grants_us_postal_code_domain AS CHAR(5) NOT NULL"); + + if (pgConnection.haveMinimumServerVersion(ServerVersion.v9_2)) { + stmt.executeUpdate( + "REVOKE ALL ON TYPE " + schema + "." + + "usage_granted_composite_type FROM public RESTRICT"); + stmt.executeUpdate( + "REVOKE ALL ON TYPE " + schema + "." + "no_grants_composite_type FROM public RESTRICT"); + stmt.executeUpdate("GRANT USAGE on TYPE " + schema + "." + "usage_granted_composite_type TO " + + TestUtil.getUser()); + stmt.executeUpdate( + "REVOKE ALL ON TYPE " + schema + "." + + "usage_granted_us_postal_code_domain FROM public RESTRICT"); + stmt.executeUpdate( + "REVOKE ALL ON TYPE " + schema + "." + + "no_grants_us_postal_code_domain FROM public RESTRICT"); + stmt.executeUpdate( + "GRANT USAGE on TYPE " + schema + "." + "usage_granted_us_postal_code_domain TO " + + TestUtil.getUser()); + } + revokeAllOnFunctions(schema, new String[]{"execute_granted_add_function(integer, integer)", + "no_grants_add_function(integer, integer)"}); + + revokeAllOnTables(schema, + new String[]{"owned_table", "all_grants_table", "insert_granted_table", + "select_granted_table", "no_grants_table", "select_granted_view", "no_grants_view"}); + + stmt.executeUpdate( + "GRANT ALL ON FUNCTION " + schema + "." + + "execute_granted_add_function(integer, integer) TO " + + TestUtil.getUser()); + + if (pgConnection.haveMinimumServerVersion(ServerVersion.v11)) { + revokeAllOnProcedures(schema, new String[]{"execute_granted_insert_procedure(integer, integer)", + "no_grants_insert_procedure(integer, integer)"}); + stmt.executeUpdate( + "GRANT ALL ON PROCEDURE " + schema + "." + + "execute_granted_insert_procedure(integer, integer) TO " + + TestUtil.getUser()); + + } + stmt.executeUpdate( + "ALTER TABLE " + schema + "." + "owned_table OWNER TO " + TestUtil.getUser()); + stmt.executeUpdate( + "GRANT ALL ON TABLE " + schema + "." + "all_grants_table TO " + TestUtil.getUser()); + stmt.executeUpdate("GRANT INSERT ON TABLE " + schema + "." + "insert_granted_table TO " + + TestUtil.getUser()); + stmt.executeUpdate("GRANT SELECT ON TABLE " + schema + "." + "select_granted_table TO " + + TestUtil.getUser()); + stmt.executeUpdate("GRANT SELECT ON TABLE " + schema + "." + "select_granted_view TO " + + TestUtil.getUser()); + stmt.close(); + } + + private static void revokeAllOnProcedures(String schema, String[] procedures + ) throws SQLException { + Statement stmt = privilegedCon.createStatement(); + for (String procedure : procedures) { + stmt.executeUpdate( + "REVOKE ALL ON PROCEDURE " + schema + "." + procedure + " FROM public RESTRICT"); + stmt.executeUpdate( + "REVOKE ALL ON PROCEDURE " + schema + "." + procedure + " FROM " + TestUtil.getUser() + + " RESTRICT"); + } + stmt.close(); + } + + private static void revokeAllOnFunctions(String schema, String[] functions + ) throws SQLException { + Statement stmt = privilegedCon.createStatement(); + for (String function : functions) { + stmt.executeUpdate( + "REVOKE ALL ON FUNCTION " + schema + "." + function + " FROM public RESTRICT"); + stmt.executeUpdate("REVOKE ALL ON FUNCTION " + schema + "." + + function + " FROM " + TestUtil.getUser() + + " RESTRICT"); + } + stmt.close(); + } + + private static void revokeAllOnTables(String schema, String[] tables + ) throws SQLException { + Statement stmt = privilegedCon.createStatement(); + for (String table : tables) { + stmt.executeUpdate("REVOKE ALL ON TABLE " + schema + "." + table + " FROM public RESTRICT"); + stmt.executeUpdate( + "REVOKE ALL ON TABLE " + schema + "." + table + " FROM " + TestUtil.getUser() + + " RESTRICT"); + } + stmt.close(); + } + + private static void createSimpleTablesInSchema(String schema, String[] tables + ) throws SQLException { + for (String tableName : tables) { + TestUtil.createTable(privilegedCon, schema + "." + tableName, COLUMNS); + } + } + + @AfterClass + public static void tearDown() throws SQLException { + TestUtil.closeDB(hidingCon); + TestUtil.closeDB(nonhidingCon); + TestUtil.dropSchema(privilegedCon, "high_privileges_schema"); + TestUtil.dropSchema(privilegedCon, "low_privileges_schema"); + TestUtil.dropSchema(privilegedCon, "no_privileges_schema"); + TestUtil.closeDB(privilegedCon); + } + + private static boolean isSuperUser(Connection connection) throws SQLException { + // Check if we're operating as a superuser. + Statement st = connection.createStatement(); + st.executeQuery("SHOW is_superuser;"); + ResultSet rs = st.getResultSet(); + rs.next(); // One row is guaranteed + boolean connIsSuper = rs.getString(1).equalsIgnoreCase("on"); + st.close(); + return connIsSuper; + } + + @Test + public void testGetSchemas() throws SQLException { + List schemasWithHiding = getSchemaNames(hidingDatabaseMetaData); + assertThat(schemasWithHiding, + hasItems("pg_catalog", "information_schema", + "high_privileges_schema", "low_privileges_schema")); + assertThat(schemasWithHiding, + not(hasItem("no_privileges_schema"))); + + List schemasWithNoHiding = getSchemaNames(nonhidingDatabaseMetaData); + assertThat(schemasWithNoHiding, + hasItems("pg_catalog", "information_schema", + "high_privileges_schema", "low_privileges_schema", "no_privileges_schema")); + } + + List getSchemaNames(DatabaseMetaData databaseMetaData) throws SQLException { + List schemaNames = new ArrayList(); + ResultSet rs = databaseMetaData.getSchemas(); + while (rs.next()) { + schemaNames.add(rs.getString("TABLE_SCHEM")); + } + return schemaNames; + } + + @Test + public void testGetTables() throws SQLException { + List tablesWithHiding = getTableNames(hidingDatabaseMetaData, "high_privileges_schema"); + + assertThat(tablesWithHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table")); + assertThat(tablesWithHiding, + not(hasItem("no_grants_table"))); + + List tablesWithNoHiding = + getTableNames(nonhidingDatabaseMetaData, "high_privileges_schema"); + assertThat(tablesWithNoHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table", + "no_grants_table")); + + tablesWithHiding = getTableNames(hidingDatabaseMetaData, "low_privileges_schema"); + + assertThat(tablesWithHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table")); + assertThat(tablesWithHiding, + not(hasItem("no_grants_table"))); + + tablesWithNoHiding = + getTableNames(nonhidingDatabaseMetaData, "low_privileges_schema"); + assertThat(tablesWithNoHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table", + "no_grants_table")); + + // Or should the the tables names not be returned because the schema is not visible? + tablesWithHiding = getTableNames(hidingDatabaseMetaData, "no_privileges_schema"); + + assertThat(tablesWithHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table")); + assertThat(tablesWithHiding, + not(hasItem("no_grants_table"))); + + tablesWithNoHiding = + getTableNames(nonhidingDatabaseMetaData, "no_privileges_schema"); + assertThat(tablesWithNoHiding, + hasItems( + "owned_table", + "all_grants_table", + "insert_granted_table", + "select_granted_table", + "no_grants_table")); + + } + + List getTableNames(DatabaseMetaData databaseMetaData, String schemaPattern) + throws SQLException { + List tableNames = new ArrayList(); + ResultSet rs = databaseMetaData.getTables(null, schemaPattern, null, new String[]{"TABLE"}); + while (rs.next()) { + tableNames.add(rs.getString("TABLE_NAME")); + } + return tableNames; + } + + @Test + public void testGetViews() throws SQLException { + List viewsWithHiding = getViewNames(hidingDatabaseMetaData, "high_privileges_schema"); + + assertThat(viewsWithHiding, + hasItems( + "select_granted_view")); + assertThat(viewsWithHiding, + not(hasItem("no_grants_view"))); + + List viewsWithNoHiding = + getViewNames(nonhidingDatabaseMetaData, "high_privileges_schema"); + assertThat(viewsWithNoHiding, + hasItems( + "select_granted_view", + "no_grants_view")); + + viewsWithHiding = getViewNames(hidingDatabaseMetaData, "low_privileges_schema"); + + assertThat(viewsWithHiding, + hasItems( + "select_granted_view")); + assertThat(viewsWithHiding, + not(hasItem("no_grants_view"))); + + viewsWithNoHiding = + getViewNames(nonhidingDatabaseMetaData, "low_privileges_schema"); + assertThat(viewsWithNoHiding, + hasItems( + "select_granted_view", + "no_grants_view")); + + // Or should the the view names not be returned because the schema is not visible? + viewsWithHiding = getViewNames(hidingDatabaseMetaData, "no_privileges_schema"); + + assertThat(viewsWithHiding, + hasItems( + "select_granted_view")); + assertThat(viewsWithHiding, + not(hasItem("no_grants_view"))); + + viewsWithNoHiding = + getViewNames(nonhidingDatabaseMetaData, "no_privileges_schema"); + assertThat(viewsWithNoHiding, + hasItems( + "select_granted_view", + "no_grants_view")); + + } + + List getViewNames(DatabaseMetaData databaseMetaData, String schemaPattern) + throws SQLException { + List viewNames = new ArrayList(); + ResultSet rs = databaseMetaData.getTables(null, schemaPattern, null, new String[]{"VIEW"}); + while (rs.next()) { + viewNames.add(rs.getString("TABLE_NAME")); + } + return viewNames; + } + + @Test + public void testGetFunctions() throws SQLException { + List functionsWithHiding = + getFunctionNames(hidingDatabaseMetaData, "high_privileges_schema"); + assertThat(functionsWithHiding, + hasItem("execute_granted_add_function")); + assertThat(functionsWithHiding, + not(hasItem("no_grants_add_function"))); + + List functionsWithNoHiding = + getFunctionNames(nonhidingDatabaseMetaData, "high_privileges_schema"); + assertThat(functionsWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + + functionsWithHiding = + getFunctionNames(hidingDatabaseMetaData, "low_privileges_schema"); + assertThat(functionsWithHiding, + hasItem("execute_granted_add_function")); + assertThat(functionsWithHiding, + not(hasItem("no_grants_add_function"))); + + functionsWithNoHiding = + getFunctionNames(nonhidingDatabaseMetaData, "low_privileges_schema"); + assertThat(functionsWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + + // Or should the the function names not be returned because the schema is not visible? + functionsWithHiding = + getFunctionNames(hidingDatabaseMetaData, "no_privileges_schema"); + assertThat(functionsWithHiding, + hasItem("execute_granted_add_function")); + assertThat(functionsWithHiding, + not(hasItem("no_grants_add_function"))); + + functionsWithNoHiding = + getFunctionNames(nonhidingDatabaseMetaData, "no_privileges_schema"); + assertThat(functionsWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + } + + List getFunctionNames(DatabaseMetaData databaseMetaData, String schemaPattern) + throws SQLException { + List functionNames = new ArrayList(); + ResultSet rs = databaseMetaData.getFunctions(null, schemaPattern, null); + while (rs.next()) { + functionNames.add(rs.getString("FUNCTION_NAME")); + } + return functionNames; + } + + @Test + public void testGetProcedures() throws SQLException { + List proceduresWithHiding = + getProcedureNames(hidingDatabaseMetaData, "high_privileges_schema"); + assertThat(proceduresWithHiding, + hasItem("execute_granted_add_function")); + assertThat(proceduresWithHiding, + not(hasItem("no_grants_add_function"))); + + List proceduresWithNoHiding = + getProcedureNames(nonhidingDatabaseMetaData, "high_privileges_schema"); + assertThat(proceduresWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + + proceduresWithHiding = + getProcedureNames(hidingDatabaseMetaData, "low_privileges_schema"); + assertThat(proceduresWithHiding, + hasItem("execute_granted_add_function")); + assertThat(proceduresWithHiding, + not(hasItem("no_grants_add_function"))); + + proceduresWithNoHiding = + getProcedureNames(nonhidingDatabaseMetaData, "low_privileges_schema"); + assertThat(proceduresWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + + // Or should the the function names not be returned because the schema is not visible? + proceduresWithHiding = + getProcedureNames(hidingDatabaseMetaData, "no_privileges_schema"); + assertThat(proceduresWithHiding, + hasItem("execute_granted_add_function")); + assertThat(proceduresWithHiding, + not(hasItem("no_grants_add_function"))); + + proceduresWithNoHiding = + getProcedureNames(nonhidingDatabaseMetaData, "no_privileges_schema"); + assertThat(proceduresWithNoHiding, + hasItems("execute_granted_add_function", "no_grants_add_function")); + + } + + List getProcedureNames(DatabaseMetaData databaseMetaData, String schemaPattern) + throws SQLException { + List procedureNames = new ArrayList(); + ResultSet rs = databaseMetaData.getProcedures(null, schemaPattern, null); + while (rs.next()) { + procedureNames.add(rs.getString("PROCEDURE_NAME")); + } + return procedureNames; + } + + @Test + /* + * According to the JDBC JavaDoc, the applicable UDTs are: JAVA_OBJECT, STRUCT, or DISTINCT. + */ + public void testGetUDTs() throws SQLException { + if (pgConnection.haveMinimumServerVersion(ServerVersion.v9_2)) { + List typesWithHiding = getTypeNames(hidingDatabaseMetaData, "high_privileges_schema"); + assertThat(typesWithHiding, + hasItems("usage_granted_composite_type", "usage_granted_us_postal_code_domain")); + assertThat(typesWithHiding, + not(hasItems("no_grants_composite_type", "no_grants_us_postal_code_domain"))); + + typesWithHiding = getTypeNames(hidingDatabaseMetaData, "low_privileges_schema"); + assertThat(typesWithHiding, + hasItems("usage_granted_composite_type", "usage_granted_us_postal_code_domain")); + assertThat(typesWithHiding, + not(hasItems("no_grants_composite_type", "no_grants_us_postal_code_domain"))); + + // Or should the the types names not be returned because the schema is not visible? + typesWithHiding = getTypeNames(hidingDatabaseMetaData, "no_privileges_schema"); + assertThat(typesWithHiding, + hasItems("usage_granted_composite_type", "usage_granted_us_postal_code_domain")); + assertThat(typesWithHiding, + not(hasItems("no_grants_composite_type", "no_grants_us_postal_code_domain"))); + } + + List typesWithNoHiding = + getTypeNames(nonhidingDatabaseMetaData, "high_privileges_schema"); + assertThat(typesWithNoHiding, + hasItems("usage_granted_composite_type", "no_grants_composite_type", + "usage_granted_us_postal_code_domain", "no_grants_us_postal_code_domain")); + + typesWithNoHiding = + getTypeNames(nonhidingDatabaseMetaData, "low_privileges_schema"); + assertThat(typesWithNoHiding, + hasItems("usage_granted_composite_type", "no_grants_composite_type", + "usage_granted_us_postal_code_domain", "no_grants_us_postal_code_domain")); + + typesWithNoHiding = + getTypeNames(nonhidingDatabaseMetaData, "no_privileges_schema"); + assertThat(typesWithNoHiding, + hasItems("usage_granted_composite_type", "no_grants_composite_type", + "usage_granted_us_postal_code_domain", "no_grants_us_postal_code_domain")); + } + + /* + From the Postgres JDBC driver source code, we are mapping the types: + java.sql.Types.DISTINCT to the Postgres type: TYPTYPE_COMPOSITE 'c' # composite (e.g., table's rowtype) + java.sql.Types.STRUCT to the Postgres type: TYPTYPE_DOMAIN 'd' # domain over another type + */ + List getTypeNames(DatabaseMetaData databaseMetaData, String schemaPattern) throws SQLException { + List typeNames = new ArrayList(); + ResultSet rs = databaseMetaData.getUDTs(null, schemaPattern, null, null); + while (rs.next()) { + typeNames.add(rs.getString("TYPE_NAME")); + } + return typeNames; + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java index 2929244524..7a7ac592fd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/Jdbc4TestSuite.java @@ -19,6 +19,7 @@ BlobTest.class, CharacterStreamTest.class, ClientInfoTest.class, + DatabaseMetaDataHideUnprivilegedObjectsTest.class, DatabaseMetaDataTest.class, IsValidTest.class, JsonbTest.class, From 08bd46bfccc9c9481650e4ee09c943ec78d77895 Mon Sep 17 00:00:00 2001 From: IvyDev0 Date: Thu, 5 Dec 2019 11:15:11 -0800 Subject: [PATCH 381/427] fix: null pointer exception from PgResultSetMetaData when there's no column metadata (#1615) * fix all possible NPE in PgResultSetMetaData when there's column metadata --- .../postgresql/jdbc/PgResultSetMetaData.java | 12 ++++-- .../jdbc/NoColumnMetadataIssue1613.java | 41 +++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java index 428c31cb13..1d9f5bd0cd 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java @@ -113,7 +113,8 @@ public boolean isCurrency(int column) throws SQLException { public int isNullable(int column) throws SQLException { fetchFieldMetaData(); Field field = getField(column); - return field.getMetadata().nullable; + FieldMetadata metadata = field.getMetadata(); + return metadata == null ? ResultSetMetaData.columnNullable : metadata.nullable; } /** @@ -151,7 +152,8 @@ public String getBaseColumnName(int column) throws SQLException { return ""; } fetchFieldMetaData(); - return field.getMetadata().columnName; + FieldMetadata metadata = field.getMetadata(); + return metadata == null ? "" : metadata.columnName; } public String getSchemaName(int column) throws SQLException { @@ -268,7 +270,8 @@ private void fetchFieldMetaData() throws SQLException { public String getBaseSchemaName(int column) throws SQLException { fetchFieldMetaData(); Field field = getField(column); - return field.getMetadata().schemaName; + FieldMetadata metadata = field.getMetadata(); + return metadata == null ? "" : metadata.schemaName; } public int getPrecision(int column) throws SQLException { @@ -288,7 +291,8 @@ public String getTableName(int column) throws SQLException { public String getBaseTableName(int column) throws SQLException { fetchFieldMetaData(); Field field = getField(column); - return field.getMetadata().tableName; + FieldMetadata metadata = field.getMetadata(); + return metadata == null ? "" : metadata.tableName; } /** diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java b/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java new file mode 100644 index 0000000000..750623ace9 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import static org.junit.Assert.assertTrue; + +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; + +import org.junit.Before; +import org.junit.Test; + +import java.sql.ResultSet; +import java.sql.Statement; + +/** + * If the SQL query has no column metadata, the driver shouldn't break by a null pointer exception. + * It should return the result correctly. + * + * @author Ivy (ivyyiyideng@gmail.com) + * + */ +public class NoColumnMetadataIssue1613 extends BaseTest4 { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + TestUtil.createTempTable(con, "test_no_column_metadata","id int"); + } + + @Test + public void shouldBeNoNPE() throws Exception { + Statement statement = con.createStatement(); + statement.executeQuery("INSERT INTO test_no_column_metadata values (1)"); + ResultSet rs = statement.executeQuery("SELECT x FROM test_no_column_metadata x"); + assertTrue(rs.next()); + } +} From c85b149d68c30ede0559d4bff6bc616ec03b2517 Mon Sep 17 00:00:00 2001 From: Mahmoud Bahaa Date: Fri, 6 Dec 2019 12:52:12 +0200 Subject: [PATCH 382/427] Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY (#1636) * Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY * Adding test cases for binary support for Oid.NUMERIC * Fix Oid.NUMERIC_ARRAY binary format * Fix java docs for numeric functions in ByteConverter * remove Short.BYTES as it doesn't exist in jre6 and jre7 --- .../java/org/postgresql/jdbc/PgArray.java | 5 + .../org/postgresql/jdbc/PgConnection.java | 2 + .../java/org/postgresql/jdbc/PgResultSet.java | 18 ++ .../org/postgresql/util/ByteConverter.java | 169 +++++++++++++++++- .../test/jdbc2/PreparedStatementTest.java | 50 ++++++ 5 files changed, 242 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java index b8b256a17e..9635918d67 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java @@ -243,6 +243,9 @@ private int storeValues(final Object[] arr, int elementOid, final int[] dims, in case Oid.FLOAT8: arr[i] = ByteConverter.float8(fieldBytes, pos); break; + case Oid.NUMERIC: + arr[i] = ByteConverter.numeric(fieldBytes, pos, len); + break; case Oid.TEXT: case Oid.VARCHAR: Encoding encoding = connection.getEncoding(); @@ -389,6 +392,8 @@ private Class elementOidToClass(int oid) throws SQLException { return Float.class; case Oid.FLOAT8: return Double.class; + case Oid.NUMERIC: + return BigDecimal.class; case Oid.TEXT: case Oid.VARCHAR: return String.class; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 3b8d86f38d..8779c56ba0 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -335,6 +335,7 @@ private static Set getBinaryOids(Properties info) throws PSQLException binaryOids.add(Oid.INT8); binaryOids.add(Oid.FLOAT4); binaryOids.add(Oid.FLOAT8); + binaryOids.add(Oid.NUMERIC); binaryOids.add(Oid.TIME); binaryOids.add(Oid.DATE); binaryOids.add(Oid.TIMETZ); @@ -345,6 +346,7 @@ private static Set getBinaryOids(Properties info) throws PSQLException binaryOids.add(Oid.INT8_ARRAY); binaryOids.add(Oid.FLOAT4_ARRAY); binaryOids.add(Oid.FLOAT8_ARRAY); + binaryOids.add(Oid.NUMERIC_ARRAY); binaryOids.add(Oid.VARCHAR_ARRAY); binaryOids.add(Oid.TEXT_ARRAY); binaryOids.add(Oid.POINT); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index a8b76f1da2..4ef826fafd 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -35,6 +35,7 @@ import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.math.BigInteger; +import java.math.RoundingMode; import java.net.InetAddress; import java.net.UnknownHostException; import java.sql.Array; @@ -2343,6 +2344,13 @@ private Number getNumeric(int columnIndex, int scale, boolean allowNaN) throws S return res; } return toBigDecimal(trimMoney(String.valueOf(obj)), scale); + } else { + Number num = ByteConverter.numeric(thisRow[columnIndex - 1]); + if (allowNaN && Double.isNaN(num.doubleValue())) { + return Double.NaN; + } + + return num; } } @@ -3014,6 +3022,8 @@ private double readDoubleValue(byte[] bytes, int oid, String targetType) throws return ByteConverter.float4(bytes, 0); case Oid.FLOAT8: return ByteConverter.float8(bytes, 0); + case Oid.NUMERIC: + return ByteConverter.numeric(bytes).doubleValue(); } throw new PSQLException(GT.tr("Cannot convert the column of type {0} to requested type {1}.", Oid.toString(oid), targetType), PSQLState.DATA_TYPE_MISMATCH); @@ -3058,6 +3068,14 @@ private long readLongValue(byte[] bytes, int oid, long minVal, long maxVal, Stri case Oid.FLOAT8: val = (long) ByteConverter.float8(bytes, 0); break; + case Oid.NUMERIC: + Number num = ByteConverter.numeric(bytes); + if (num instanceof BigDecimal) { + val = ((BigDecimal) num).setScale(0 , RoundingMode.DOWN).longValueExact(); + } else { + val = num.longValue(); + } + break; default: throw new PSQLException( GT.tr("Cannot convert the column of type {0} to requested type {1}.", diff --git a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java index f118897781..dd7eb737e3 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ByteConverter.java @@ -5,6 +5,9 @@ package org.postgresql.util; +import java.math.BigDecimal; +import java.nio.CharBuffer; + /** * Helper methods to parse java base types from byte arrays. * @@ -12,6 +15,16 @@ */ public class ByteConverter { + private static final int NBASE = 10000; + private static final int NUMERIC_DSCALE_MASK = 0x00003FFF; + private static final short NUMERIC_POS = 0x0000; + private static final short NUMERIC_NEG = 0x4000; + private static final short NUMERIC_NAN = (short) 0xC000; + private static final int DEC_DIGITS = 4; + private static final int[] round_powers = {0, 1000, 100, 10}; + private static final int SHORT_BYTES = 2; + private static final int LONG_BYTES = 4; + private ByteConverter() { // prevent instantiation of static helper class } @@ -25,16 +38,168 @@ public static int bytesToInt(byte []bytes) { if ( bytes.length == 1 ) { return (int)bytes[0]; } - if ( bytes.length == 2 ) { + if ( bytes.length == SHORT_BYTES ) { return int2(bytes, 0); } - if ( bytes.length == 4 ) { + if ( bytes.length == LONG_BYTES ) { return int4(bytes, 0); } else { throw new IllegalArgumentException("Argument bytes is empty"); } } + /** + * Convert a number from binary representation to text representation. + * @param idx index of the digit to be converted in the digits array + * @param digits array of shorts that can be decoded as the number String + * @param buffer the character buffer to put the text representation in + * @param alwaysPutIt a flag that indicate whether or not to put the digit char even if it is zero + * @return String the number as String + */ + private static void digitToString(int idx, short[] digits, CharBuffer buffer, boolean alwaysPutIt) { + short dig = (idx >= 0 && idx < digits.length) ? digits[idx] : 0; + for (int p = 1; p < round_powers.length; p++) { + int pow = round_powers[p]; + short d1 = (short)(dig / pow); + dig -= d1 * pow; + boolean putit = (d1 > 0); + if (putit || alwaysPutIt) { + buffer.put((char)(d1 + '0')); + } + } + + buffer.put((char)(dig + '0')); + } + + /** + * Convert a number from binary representation to text representation. + * @param digits array of shorts that can be decoded as the number String + * @param scale the scale of the number binary representation + * @param weight the weight of the number binary representation + * @param sign the sign of the number + * @return String the number as String + */ + private static String numberBytesToString(short[] digits, int scale, int weight, int sign) { + CharBuffer buffer; + int i; + int d; + + /* + * Allocate space for the result. + * + * i is set to the # of decimal digits before decimal point. dscale is the + * # of decimal digits we will print after decimal point. We may generate + * as many as DEC_DIGITS-1 excess digits at the end, and in addition we + * need room for sign, decimal point, null terminator. + */ + i = (weight + 1) * DEC_DIGITS; + if (i <= 0) { + i = 1; + } + + buffer = CharBuffer.allocate((i + scale + DEC_DIGITS + 2)); + + /* + * Output a dash for negative values + */ + if (sign == NUMERIC_NEG) { + buffer.put('-'); + } + + /* + * Output all digits before the decimal point + */ + if (weight < 0) { + d = weight + 1; + buffer.put('0'); + } else { + for (d = 0; d <= weight; d++) { + /* In the first digit, suppress extra leading decimal zeroes */ + digitToString(d, digits, buffer, d != 0); + } + } + + /* + * If requested, output a decimal point and all the digits that follow it. + * We initially put out a multiple of DEC_DIGITS digits, then truncate if + * needed. + */ + if (scale > 0) { + buffer.put('.'); + for (i = 0; i < scale; d++, i += DEC_DIGITS) { + digitToString(d, digits, buffer, true); + } + } + + /* + * terminate the string and return it + */ + int extra = (i - scale) % DEC_DIGITS; + return new String(buffer.array(), 0, buffer.position() - extra); + } + + /** + * Convert a variable length array of bytes to an integer + * @param bytes array of bytes that can be decoded as an integer + * @return integer + */ + public static Number numeric(byte [] bytes) { + return numeric(bytes, 0, bytes.length); + } + + /** + * Convert a variable length array of bytes to an integer + * @param bytes array of bytes that can be decoded as an integer + * @param pos index of the start position of the bytes array for number + * @param numBytes number of bytes to use, length is already encoded + * in the binary format but this is used for double checking + * @return integer + */ + public static Number numeric(byte [] bytes, int pos, int numBytes) { + if (numBytes < 8) { + throw new IllegalArgumentException("number of bytes should be at-least 8"); + } + + short len = ByteConverter.int2(bytes, pos); + short weight = ByteConverter.int2(bytes, pos + 2); + short sign = ByteConverter.int2(bytes, pos + 4); + short scale = ByteConverter.int2(bytes, pos + 6); + + if (numBytes != (len * SHORT_BYTES + 8)) { + throw new IllegalArgumentException("invalid length of bytes \"numeric\" value"); + } + + if (!(sign == NUMERIC_POS + || sign == NUMERIC_NEG + || sign == NUMERIC_NAN)) { + throw new IllegalArgumentException("invalid sign in \"numeric\" value"); + } + + if (sign == NUMERIC_NAN) { + return Double.NaN; + } + + if ((scale & NUMERIC_DSCALE_MASK) != scale) { + throw new IllegalArgumentException("invalid scale in \"numeric\" value"); + } + + short[] digits = new short[len]; + int idx = pos + 8; + for (int i = 0; i < len; i++) { + short d = ByteConverter.int2(bytes, idx); + idx += 2; + + if (d < 0 || d >= NBASE) { + throw new IllegalArgumentException("invalid digit in \"numeric\" value"); + } + + digits[i] = d; + } + + String numString = numberBytesToString(digits, scale, weight, sign); + return new BigDecimal(numString); + } + /** * Parses a long value from the byte array. * diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java index a46abef568..2ac51e7c34 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/PreparedStatementTest.java @@ -51,6 +51,9 @@ @RunWith(Parameterized.class) public class PreparedStatementTest extends BaseTest4 { + private static final int NUMERIC_MAX_PRECISION = 1000; + private static final int NUMERIC_MAX_DISPLAY_SCALE = NUMERIC_MAX_PRECISION; + public PreparedStatementTest(BinaryMode binaryMode) { setBinaryMode(binaryMode); } @@ -513,6 +516,53 @@ public void testDoubleQuestionMark() throws SQLException { st.close(); } + @Test + public void testNumeric() throws SQLException { + PreparedStatement pstmt = con.prepareStatement( + "CREATE TEMP TABLE numeric_tab (max_numeric_positive numeric, min_numeric_positive numeric, max_numeric_negative numeric, min_numeric_negative numeric, null_value numeric)"); + pstmt.executeUpdate(); + pstmt.close(); + + char[] wholeDigits = new char[NUMERIC_MAX_DISPLAY_SCALE]; + for (int i = 0; i < NUMERIC_MAX_DISPLAY_SCALE; i++) { + wholeDigits[i] = '9'; + } + + char[] fractionDigits = new char[NUMERIC_MAX_PRECISION]; + for (int i = 0; i < NUMERIC_MAX_PRECISION; i++) { + fractionDigits[i] = '9'; + } + + String maxValueString = new String(wholeDigits); + String minValueString = new String(fractionDigits); + BigDecimal[] values = new BigDecimal[4]; + values[0] = new BigDecimal(maxValueString); + values[1] = new BigDecimal("-" + maxValueString); + values[2] = new BigDecimal(minValueString); + values[3] = new BigDecimal("-" + minValueString); + + pstmt = con.prepareStatement("insert into numeric_tab values (?,?,?,?,?)"); + for (int i = 1; i < 5 ; i++) { + pstmt.setBigDecimal(i, values[i - 1]); + } + + pstmt.setNull(5, Types.NUMERIC); + pstmt.executeUpdate(); + pstmt.close(); + + pstmt = con.prepareStatement("select * from numeric_tab"); + ResultSet rs = pstmt.executeQuery(); + assertTrue(rs.next()); + for (int i = 1; i < 5 ; i++) { + assertTrue(rs.getBigDecimal(i).compareTo(values[i - 1]) == 0); + } + rs.getDouble(5); + assertTrue(rs.wasNull()); + rs.close(); + pstmt.close(); + + } + @Test public void testDouble() throws SQLException { PreparedStatement pstmt = con.prepareStatement( From ad83cb332058f0a891b89f47ceefb538cbf031db Mon Sep 17 00:00:00 2001 From: Mahmoud Bahaa Date: Fri, 6 Dec 2019 14:50:54 +0200 Subject: [PATCH 383/427] Only allow binary transfer for those Oids that the pgjdbc currently supports (#1637) --- .../org/postgresql/jdbc/PgConnection.java | 53 ++++++++++--------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java index 8779c56ba0..72e9639480 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgConnection.java @@ -58,6 +58,7 @@ import java.sql.Statement; import java.sql.Struct; import java.sql.Types; +import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; @@ -77,7 +78,7 @@ public class PgConnection implements BaseConnection { private static final Logger LOGGER = Logger.getLogger(PgConnection.class.getName()); - + private static final Set SUPPORTED_BINARY_OIDS = getSupportedBinaryOids(); private static final SQLPermission SQL_PERMISSION_ABORT = new SQLPermission("callAbort"); private static final SQLPermission SQL_PERMISSION_NETWORK_TIMEOUT = new SQLPermission("setNetworkTimeout"); @@ -324,38 +325,42 @@ private static ReadOnlyBehavior getReadOnlyBehavior(String property) { } } + private static Set getSupportedBinaryOids() { + return new HashSet(Arrays.asList( + Oid.BYTEA, + Oid.INT2, + Oid.INT4, + Oid.INT8, + Oid.FLOAT4, + Oid.FLOAT8, + Oid.TIME, + Oid.DATE, + Oid.TIMETZ, + Oid.TIMESTAMP, + Oid.TIMESTAMPTZ, + Oid.INT2_ARRAY, + Oid.INT4_ARRAY, + Oid.INT8_ARRAY, + Oid.FLOAT4_ARRAY, + Oid.FLOAT8_ARRAY, + Oid.VARCHAR_ARRAY, + Oid.TEXT_ARRAY, + Oid.POINT, + Oid.BOX, + Oid.UUID)); + } + private static Set getBinaryOids(Properties info) throws PSQLException { boolean binaryTransfer = PGProperty.BINARY_TRANSFER.getBoolean(info); // Formats that currently have binary protocol support Set binaryOids = new HashSet(32); if (binaryTransfer) { - binaryOids.add(Oid.BYTEA); - binaryOids.add(Oid.INT2); - binaryOids.add(Oid.INT4); - binaryOids.add(Oid.INT8); - binaryOids.add(Oid.FLOAT4); - binaryOids.add(Oid.FLOAT8); - binaryOids.add(Oid.NUMERIC); - binaryOids.add(Oid.TIME); - binaryOids.add(Oid.DATE); - binaryOids.add(Oid.TIMETZ); - binaryOids.add(Oid.TIMESTAMP); - binaryOids.add(Oid.TIMESTAMPTZ); - binaryOids.add(Oid.INT2_ARRAY); - binaryOids.add(Oid.INT4_ARRAY); - binaryOids.add(Oid.INT8_ARRAY); - binaryOids.add(Oid.FLOAT4_ARRAY); - binaryOids.add(Oid.FLOAT8_ARRAY); - binaryOids.add(Oid.NUMERIC_ARRAY); - binaryOids.add(Oid.VARCHAR_ARRAY); - binaryOids.add(Oid.TEXT_ARRAY); - binaryOids.add(Oid.POINT); - binaryOids.add(Oid.BOX); - binaryOids.add(Oid.UUID); + binaryOids.addAll(SUPPORTED_BINARY_OIDS); } binaryOids.addAll(getOidSet(PGProperty.BINARY_TRANSFER_ENABLE.get(info))); binaryOids.removeAll(getOidSet(PGProperty.BINARY_TRANSFER_DISABLE.get(info))); + binaryOids.retainAll(SUPPORTED_BINARY_OIDS); return binaryOids; } From b37115373935732b1ab5e59b56837ac49942718a Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Fri, 6 Dec 2019 21:21:33 +0800 Subject: [PATCH 384/427] Prevent use of extended query protocol for BEGIN before COPY (#1639) When autocommit is off and the first query in a transaction is a COPY, we were sending a BEGIN using the extended query protocol. It was being permitted to use named portals as well, ignoring prepareThreshold. Fix by forcing simple query mode and marking the BEGIN as oneshot. Fixes #1638 --- .../java/org/postgresql/core/v3/QueryExecutorImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index c944ca0387..20ce1762ea 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -630,8 +630,12 @@ public void handleWarning(SQLWarning warning) { }; try { - sendOneQuery(beginTransactionQuery, SimpleQuery.NO_PARAMETERS, 0, 0, - QueryExecutor.QUERY_NO_METADATA); + /* Send BEGIN with simple protocol preferred */ + int beginFlags = QueryExecutor.QUERY_NO_METADATA + | QueryExecutor.QUERY_ONESHOT + | QueryExecutor.QUERY_EXECUTE_AS_SIMPLE; + beginFlags = updateQueryMode(beginFlags); + sendOneQuery(beginTransactionQuery, SimpleQuery.NO_PARAMETERS, 0, 0, beginFlags); sendSync(); processResults(handler, 0); estimatedReceiveBufferBytes = 0; From fa69e7e951d6f7dc48a605ac1c44393645512aa3 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 6 Dec 2019 14:18:51 -0500 Subject: [PATCH 385/427] new pr for release notes (#1640) * release notes --- CHANGELOG.md | 25 +++- docs/_posts/2019-12-06-42.2.9-release.md | 161 +++++++++++++++++++++++ 2 files changed, 184 insertions(+), 2 deletions(-) create mode 100644 docs/_posts/2019-12-06-42.2.9-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index c0adbf47c6..734ac09570 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,31 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] + +## [42.2.9] (2019-12-06) ### Changed ### Added - + - read only transactions [PR 1252](https://github.com/pgjdbc/pgjdbc/pull/1252) + - pkcs12 key functionality [PR 1599](https://github.com/pgjdbc/pgjdbc/pull/1599) + - new "escapeSyntaxCallMode" connection property [PR 1560](https://github.com/pgjdbc/pgjdbc/pull/1560) + - connection property to limit server error detail in exception exceptions [PR 1579](https://github.com/pgjdbc/pgjdbc/pull/1579) + - cancelQuery() to PGConnection public interface [PR 1157](https://github.com/pgjdbc/pgjdbc/pull/1157) + - support for large update counts (JDBC 4.2) [PR 935](https://github.com/pgjdbc/pgjdbc/pull/935) + - Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY [PR 1636](https://github.com/pgjdbc/pgjdbc/pull/1636) + ### Fixed + - issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation [PR 1506](https://github.com/pgjdbc/pgjdbc/pull/1506) + - PgSQLXML setCharacterStream() results in null value [PR 1608](https://github.com/pgjdbc/pgjdbc/pull/1608) + - get correct column length for simple domains [PR 1605](https://github.com/pgjdbc/pgjdbc/pull/1605) + - NPE as a result of calling executeQuery twice on a statement fixes issue [#684](https://github.com/pgjdbc/pgjdbc/issues/684) [PR 1610] (https://github.com/pgjdbc/pgjdbc/pull/1610) + - handle numeric domain types [PR 1611](https://github.com/pgjdbc/pgjdbc/pull/1611) + - pginterval to take iso8601 strings [PR 1612](https://github.com/pgjdbc/pgjdbc/pull/1612) + - remove currentTimeMillis from code, tests are OK [PR 1617](https://github.com/pgjdbc/pgjdbc/pull/1617) + - NPE when calling setNull on a PreparedStatement with no parameters [PR 1620](https://github.com/pgjdbc/pgjdbc/pull/1620) + - allow OUT parameter registration when using CallableStatement native CALL [PR 1561](https://github.com/pgjdbc/pgjdbc/pull/1561) + - add release save point into execute with batch [PR 1583](https://github.com/pgjdbc/pgjdbc/pull/1583) + - Prevent use of extended query protocol for BEGIN before COPY [PR 1639](https://github.com/pgjdbc/pgjdbc/pull/1639) ## [42.2.8] (2019-09-13) ### Changed @@ -246,4 +266,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [42.2.6]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.5...REL42.2.6 [42.2.7]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.6...REL42.2.7 [42.2.8]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.7...REL42.2.8 -[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.8...HEAD +[42.2.9]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.8...REL42.2.9 +[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.9...HEAD diff --git a/docs/_posts/2019-12-06-42.2.9-release.md b/docs/_posts/2019-12-06-42.2.9-release.md new file mode 100644 index 0000000000..e928c2e800 --- /dev/null +++ b/docs/_posts/2019-12-06-42.2.9-release.md @@ -0,0 +1,161 @@ +--- +title: PostgreSQL JDBC Driver 42.2.9 Released +date: 2019-12-06 17:52:49 +0000 +categories: + - new_release +version: 42.2.9 +--- +**Notable changes** + + +## [42.2.9] (2019-12-06) +### Changed + +### Added + - read only transactions [PR 1252](https://github.com/pgjdbc/pgjdbc/pull/1252) + - pkcs12 key functionality [PR 1599](https://github.com/pgjdbc/pgjdbc/pull/1599) + - new "escapeSyntaxCallMode" connection property [PR 1560](https://github.com/pgjdbc/pgjdbc/pull/1560) + - connection property to limit server error detail in exception exceptions [PR 1579](https://github.com/pgjdbc/pgjdbc/pull/1579) + - cancelQuery() to PGConnection public interface [PR 1157](https://github.com/pgjdbc/pgjdbc/pull/1157) + - support for large update counts (JDBC 4.2) [PR 935](https://github.com/pgjdbc/pgjdbc/pull/935) + - Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY [PR 1636](https://github.com/pgjdbc/pgjdbc/pull/1636) + +### Fixed + - issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation [PR 1506](https://github.com/pgjdbc/pgjdbc/pull/1506) + - PgSQLXML setCharacterStream() results in null value [PR 1608](https://github.com/pgjdbc/pgjdbc/pull/1608) + - get correct column length for simple domains [PR 1605](https://github.com/pgjdbc/pgjdbc/pull/1605) + - NPE as a result of calling executeQuery twice on a statement fixes issue [#684](https://github.com/pgjdbc/pgjdbc/issues/684) [PR 1610] (https://github.com/pgjdbc/pgjdbc/pull/1610) + - handle numeric domain types [PR 1611](https://github.com/pgjdbc/pgjdbc/pull/1611) + - pginterval to take iso8601 strings [PR 1612](https://github.com/pgjdbc/pgjdbc/pull/1612) + - remove currentTimeMillis from code, tests are OK [PR 1617](https://github.com/pgjdbc/pgjdbc/pull/1617) + - NPE when calling setNull on a PreparedStatement with no parameters [PR 1620](https://github.com/pgjdbc/pgjdbc/pull/1620) + - allow OUT parameter registration when using CallableStatement native CALL [PR 1561](https://github.com/pgjdbc/pgjdbc/pull/1561) + - add release save point into execute with batch [PR 1583](https://github.com/pgjdbc/pgjdbc/pull/1583) + - Prevent use of extended query protocol for BEGIN before COPY [PR 1639](https://github.com/pgjdbc/pgjdbc/pull/1639) + + + + +**Commits by author** + +Brett Okken (1): + +* feat: read only transactions [PR 1252](https://github.com/pgjdbc/pgjdbc/pull/1252) [05079793](https://github.com/pgjdbc/pgjdbc/commit/050797934a8a9c0ce2dff068eba14931988370ca) + +Craig Ringer (1): + +* Prevent use of extended query protocol for BEGIN before COPY [PR 1639](https://github.com/pgjdbc/pgjdbc/pull/1639) [b3711537](https://github.com/pgjdbc/pgjdbc/commit/b37115373935732b1ab5e59b56837ac49942718a) + +Dave Cramer (20): + +* Add simple test to make sure we can load a key [PR 1588](https://github.com/pgjdbc/pgjdbc/pull/1588) [7c591262](https://github.com/pgjdbc/pgjdbc/commit/7c591262792b8ff8f6139f67a98c16d41f2adf4f) +* Update prepare.md [PR 1601](https://github.com/pgjdbc/pgjdbc/pull/1601) [5e48eaa4](https://github.com/pgjdbc/pgjdbc/commit/5e48eaa4c9f6fc07904944bd98ad45fbb4aefd10) +* fix: issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation [PR 1506](https://github.com/pgjdbc/pgjdbc/pull/1506) [9b8a3ffd](https://github.com/pgjdbc/pgjdbc/commit/9b8a3ffd8a952a55be28d14cb80a23fdbb955133) +* chore: Document how to use unix domain sockets. [PR 1607](https://github.com/pgjdbc/pgjdbc/pull/1607) [e64b0a2d](https://github.com/pgjdbc/pgjdbc/commit/e64b0a2df8dd5e94a24fbb2e2e197f6d7fed7d9a) +* fix: PgSQLXML setCharacterStream() results in null value [PR 1608](https://github.com/pgjdbc/pgjdbc/pull/1608) [1e370263](https://github.com/pgjdbc/pgjdbc/commit/1e370263d2f59da04fd1f8fe55bb83afdc0a51dc) +* add test for table name with values in it [PR 1609](https://github.com/pgjdbc/pgjdbc/pull/1609) [47f756fa](https://github.com/pgjdbc/pgjdbc/commit/47f756fa926f7c78a7f55f030aadf7be82195e52) +* fix: get correct column length for simple domains [PR 1605](https://github.com/pgjdbc/pgjdbc/pull/1605) [8abf3161](https://github.com/pgjdbc/pgjdbc/commit/8abf3161d17fef3783c0c597e91c1fe455efc2e8) +* fix: NPE as a result of calling executeQuery twice on a statement fixes issue [PR 684](https://github.com/pgjdbc/pgjdbc/pull/684) (#1610) [00fa4485](https://github.com/pgjdbc/pgjdbc/commit/00fa448587532cc219977679bb8c573a1dcae11c) +* fix:handle numeric domain types [PR 1611](https://github.com/pgjdbc/pgjdbc/pull/1611) [7f1752a1](https://github.com/pgjdbc/pgjdbc/commit/7f1752a1f2853c88333b3ac75c2dc0212272b254) +* add checks for null results [PR 1616](https://github.com/pgjdbc/pgjdbc/pull/1616) [69320c7a](https://github.com/pgjdbc/pgjdbc/commit/69320c7a7dc065f44db5ddeec8143c606298b382) +* fix: pginterval to take iso8601 strings [PR 1612](https://github.com/pgjdbc/pgjdbc/pull/1612) [7b454355](https://github.com/pgjdbc/pgjdbc/commit/7b454355939aebd995b1b79598a1e945c168eb68) +* fix: remove currentTimeMillis from code, tests are OK [PR 1617](https://github.com/pgjdbc/pgjdbc/pull/1617) [ff4a66d2](https://github.com/pgjdbc/pgjdbc/commit/ff4a66d29d863cb4a6d2aecee2faec424f8d51d7) +* fix: NPE when calling setNull on a PreparedStatement with no parameters [PR 1620](https://github.com/pgjdbc/pgjdbc/pull/1620) [6899a43d](https://github.com/pgjdbc/pgjdbc/commit/6899a43dff735ab14a02bedea853266de768da50) +* doc: correct documentation about last applied message fixes [PR 760](https://github.com/pgjdbc/pgjdbc/pull/760) (#1621) [fdf898c7](https://github.com/pgjdbc/pgjdbc/commit/fdf898c781c00839210936d668d2341ca6c08406) +* docs: fix documentation about oids [PR 1624](https://github.com/pgjdbc/pgjdbc/pull/1624) [4edca517](https://github.com/pgjdbc/pgjdbc/commit/4edca517bfdc0bffb2141369394d611803b43523) +* fix: javadoc requires throws annotation [PR 1625](https://github.com/pgjdbc/pgjdbc/pull/1625) [4258e0d0](https://github.com/pgjdbc/pgjdbc/commit/4258e0d0cfdc50aaec3d31301fd793e221740bda) +* fix: Add pkcs12 key functionality [PR 1599](https://github.com/pgjdbc/pgjdbc/pull/1599) [82c2008f](https://github.com/pgjdbc/pgjdbc/commit/82c2008f83dd687e80b1e3acdeeb618dccc2fb5c) +* Actually test cleanSavePoints [PR 1509](https://github.com/pgjdbc/pgjdbc/pull/1509) [97d32caa](https://github.com/pgjdbc/pgjdbc/commit/97d32caad1f72c11d3e89ffaf16a17a22c6b9790) +* fix: DatabaseMetaData.getFunctions should not limit the search to the search_path if the schema is provided [PR 1633](https://github.com/pgjdbc/pgjdbc/pull/1633) [8106d3df](https://github.com/pgjdbc/pgjdbc/commit/8106d3df5c3f6ea3cbc3e621977df5542b182b56) +* feat: WIP Filter DatabaseMetaData using privileges for the user [PR 1630](https://github.com/pgjdbc/pgjdbc/pull/1630) [ec76bace](https://github.com/pgjdbc/pgjdbc/commit/ec76bace1d4e3c02a7bf235f726a6c6d7feb6ee3) + +Dongming (1): + +* Adjust the default port to 5432. [PR 1619](https://github.com/pgjdbc/pgjdbc/pull/1619) [9a193de7](https://github.com/pgjdbc/pgjdbc/commit/9a193de71d3e834a231f8f5027fb887e00e903d2) + +GregN (2): + +* feat: add new "escapeSyntaxCallMode" connection property [PR 1560](https://github.com/pgjdbc/pgjdbc/pull/1560) [d7559138](https://github.com/pgjdbc/pgjdbc/commit/d75591385538cd704a066c4ed026f767ce3784ab) +* fix: allow OUT parameter registration when using CallableStatement native CALL [PR 1561](https://github.com/pgjdbc/pgjdbc/pull/1561) [ed74670f](https://github.com/pgjdbc/pgjdbc/commit/ed74670fae932935a156eccfb4b1ff16758f5693) + +Igor Volkov (1): + +* Fix exception on PGCopyOutputStream.close() after endCopy() [PR 1574](https://github.com/pgjdbc/pgjdbc/pull/1574) (#1575) [539a0925](https://github.com/pgjdbc/pgjdbc/commit/539a09258f6009581785474fe5f15a46992ade6f) + +IvyDev0 (1): + +* fix: null pointer exception from PgResultSetMetaData when there's no column metadata [PR 1615](https://github.com/pgjdbc/pgjdbc/pull/1615) [08bd46bf](https://github.com/pgjdbc/pgjdbc/commit/08bd46bfccc9c9481650e4ee09c943ec78d77895) + +Jorge Solorzano (1): + +* feat: support for large update counts (JDBC 4.2) [PR 935](https://github.com/pgjdbc/pgjdbc/pull/935) [0888e935](https://github.com/pgjdbc/pgjdbc/commit/0888e9355ca065ac2eae4e3085442ffd54f6dec6) + +Knut Wannheden (1): + +* Fix Markdown formatting issue [PR 1576](https://github.com/pgjdbc/pgjdbc/pull/1576) [69edc0b8](https://github.com/pgjdbc/pgjdbc/commit/69edc0b8f0985465af0ba0ee258f6b2564240232) + +Mahmoud Bahaa (2): + +* Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY [PR 1636](https://github.com/pgjdbc/pgjdbc/pull/1636) [c85b149d](https://github.com/pgjdbc/pgjdbc/commit/c85b149d68c30ede0559d4bff6bc616ec03b2517) +* Only allow binary transfer for those Oids that the pgjdbc currently supports [PR 1637](https://github.com/pgjdbc/pgjdbc/pull/1637) [ad83cb33](https://github.com/pgjdbc/pgjdbc/commit/ad83cb332058f0a891b89f47ceefb538cbf031db) + +Michail Nikolaev (1): + +* fix: do ssl handshake after socket timeout and buffer size settings [PR 1584](https://github.com/pgjdbc/pgjdbc/pull/1584) [e39a0be0](https://github.com/pgjdbc/pgjdbc/commit/e39a0be0739d016f524e7aef567f95e6ea59fd54) + +Pavel Raiskup (1): + +* rpm: drop BR on properties-maven-plugin [91186c08](https://github.com/pgjdbc/pgjdbc/commit/91186c08968f15b11b7338f1a565124abedcbfae) + +Sehrope Sarkuni (5): + +* Clean up some tests and fix IsValidTest race condition [PR 1581](https://github.com/pgjdbc/pgjdbc/pull/1581) [ad734574](https://github.com/pgjdbc/pgjdbc/commit/ad734574726eb0decf5178071c87a1b513e484f2) +* Fix test suite order [PR 1593](https://github.com/pgjdbc/pgjdbc/pull/1593) [003ea835](https://github.com/pgjdbc/pgjdbc/commit/003ea8352dab2b49b4734cdf7338befb4d9b9ed4) +* fix: Update error message for COPY commands executed using JDBC API [PR 1300](https://github.com/pgjdbc/pgjdbc/pull/1300) [c99ed121](https://github.com/pgjdbc/pgjdbc/commit/c99ed1213410872915930bea4471df6b1bdc503e) +* Add connection property to limit server error detail in exception exceptions [PR 1579](https://github.com/pgjdbc/pgjdbc/pull/1579) [cd0b555c](https://github.com/pgjdbc/pgjdbc/commit/cd0b555c8045fc71e6f4d0fb0f24a2deb726301e) +* feat: Add cancelQuery() to PGConnection public interface [PR 1157](https://github.com/pgjdbc/pgjdbc/pull/1157) [f0af538f](https://github.com/pgjdbc/pgjdbc/commit/f0af538f59924fd9d692627102c94517e5f6008e) + +Tom Eicher (1): + +* fix: DataSources broken by connection failover urls [PR 1039](https://github.com/pgjdbc/pgjdbc/pull/1039) (#1457) [bd9485ef](https://github.com/pgjdbc/pgjdbc/commit/bd9485ef7b889ec7397b1e39f77f5d396f06ed05) + +Torsten Brodbeck (1): + +* fix camel case writing of 'cleanupSavepoints' [PR 1587](https://github.com/pgjdbc/pgjdbc/pull/1587) [0fd45353](https://github.com/pgjdbc/pgjdbc/commit/0fd45353e504ed7821af69c8053814918212b8d7) + +Yuriy Yudin (1): + +* fix: add release save point into execute with batch [PR 1583](https://github.com/pgjdbc/pgjdbc/pull/1583) [504bb316](https://github.com/pgjdbc/pgjdbc/commit/504bb316b91fdbc6506a2e9870453fb75fbbb083) + +rnveach (1): + +* upgrade maven-checkstyle-plugin to 3.1.0 [PR 1573](https://github.com/pgjdbc/pgjdbc/pull/1573) [831115c1](https://github.com/pgjdbc/pgjdbc/commit/831115c1e8ede27d6a0434022b11edab7082721a) + +Árpád Magosányi (2): + +* fix documentation on generating the pk8 key. closes: [PR 1585](https://github.com/pgjdbc/pgjdbc/pull/1585) (#1586) [635cc865](https://github.com/pgjdbc/pgjdbc/commit/635cc86562aebc223dcc0d163639c5039a6b54c0) +* security notice and clarifications on choosing the right cipher suite for client key [PR 1591](https://github.com/pgjdbc/pgjdbc/pull/1591) [c67b0b0b](https://github.com/pgjdbc/pgjdbc/commit/c67b0b0b667a6b9f1b13ed5359687f3bc20ac61b) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[Árpád Magosányi](https://github.com/magwas) +[Brett Okken](https://github.com/bokken) +[Craig Ringer](https://github.com/ringerc) +[Dave Cramer](davec@postgresintl.com) +[Dongming](https://github.com/ldming) +[GregN](https://github.com/gregn123) +[Igor Volkov](https://github.com/virtual-machinist) +[IvyDev0](https://github.com/IvyDev0) +[Jorge Solorzano](https://github.com/jorsol) +[Knut Wannheden](https://github.com/knutwannheden) +[Mahmoud Bahaa](https://github.com/mahmoudbahaa) +[Michail Nikolaev](https://github.com/michail-nikolaev) +[Pavel Raiskup](https://github.com/praiskup) +[rnveach](https://github.com/rnveach) +[Sehrope Sarkuni](https://github.com/sehrope) +[Tom Eicher](https://github.com/teicher) +[Torsten Brodbeck](https://github.com/tbrodbeck-adc) +[Yuriy Yudin](https://github.com/junixar) From 03fdf75d7b3be54aa6b47c37c1c7fbdf57bda4ab Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 6 Dec 2019 14:35:37 -0500 Subject: [PATCH 386/427] Update --- docs/_posts/2019-12-06-42.2.9-release.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/_posts/2019-12-06-42.2.9-release.md b/docs/_posts/2019-12-06-42.2.9-release.md index e928c2e800..d0273e5ea9 100644 --- a/docs/_posts/2019-12-06-42.2.9-release.md +++ b/docs/_posts/2019-12-06-42.2.9-release.md @@ -8,7 +8,6 @@ version: 42.2.9 **Notable changes** -## [42.2.9] (2019-12-06) ### Changed ### Added From 4a8a85445a739bc9bdaa9660f1d9b9a17d129267 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Sat, 7 Dec 2019 08:17:40 -0500 Subject: [PATCH 387/427] use TestUtil to find path of certdir (#1643) * use TestUtil to find path of certdir --- .../test/ssl/LazyKeyManagerTest.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java index 22a728c7fd..d1fc8a2c49 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/LazyKeyManagerTest.java @@ -7,6 +7,7 @@ import org.postgresql.ssl.LazyKeyManager; import org.postgresql.ssl.PKCS12KeyManager; +import org.postgresql.test.TestUtil; import org.junit.Assert; import org.junit.Test; @@ -15,6 +16,7 @@ import java.io.IOException; import java.security.PrivateKey; import java.security.cert.X509Certificate; +import java.util.Properties; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; @@ -25,8 +27,12 @@ public class LazyKeyManagerTest { @Test public void testLoadP12Key() throws Exception { - String certdir = "../certdir/"; - PKCS12KeyManager pkcs12KeyManager = new PKCS12KeyManager(certdir + "goodclient.p12", new TestCallbackHandler("sslpwd")); + + Properties prop = TestUtil.loadPropertyFiles("ssltest.properties"); + File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); + String certdir = certDirFile.getAbsolutePath(); + + PKCS12KeyManager pkcs12KeyManager = new PKCS12KeyManager(certdir + "/goodclient.p12", new TestCallbackHandler("sslpwd")); PrivateKey pk = pkcs12KeyManager.getPrivateKey("user"); Assert.assertNotNull(pk); X509Certificate[] chain = pkcs12KeyManager.getCertificateChain("user"); @@ -35,10 +41,13 @@ public void testLoadP12Key() throws Exception { @Test public void testLoadKey() throws Exception { - String certdir = "../certdir/"; - String path = new File("./").getAbsolutePath(); - LazyKeyManager lazyKeyManager = new LazyKeyManager(certdir + "goodclient.crt", - certdir + "goodclient.pk8", new TestCallbackHandler("sslpwd"), true); + + Properties prop = TestUtil.loadPropertyFiles("ssltest.properties"); + File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); + String certdir = certDirFile.getAbsolutePath(); + + LazyKeyManager lazyKeyManager = new LazyKeyManager(certdir + "/goodclient.crt", + certdir + "/goodclient.pk8", new TestCallbackHandler("sslpwd"), true); PrivateKey pk = lazyKeyManager.getPrivateKey("user"); Assert.assertNotNull(pk); } From 29c65312a110b1ed9811930547540ebb34188e15 Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Sat, 7 Dec 2019 14:12:15 +0000 Subject: [PATCH 388/427] [maven-release-plugin] prepare release REL42.2.9 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 128f39e40b..79448680be 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.9-SNAPSHOT + 42.2.9 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,4 +357,8 @@ + + + REL42.2.9 + diff --git a/pom.xml b/pom.xml index f50ae2c472..07aa687aff 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.9-SNAPSHOT + 42.2.9 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.9 From 9723f77eefd45d5f7c784c18214baca6e330ae7e Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Sat, 7 Dec 2019 14:12:21 +0000 Subject: [PATCH 389/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 79448680be..c430ff6d7c 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.9 + 42.2.10-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -357,8 +357,4 @@ - - - REL42.2.9 - diff --git a/pom.xml b/pom.xml index 07aa687aff..977729725a 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.9 + 42.2.10-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.9 + HEAD From 1d47c3cc7c8abe18b72012a1c0bb4bfb3b7b5dc7 Mon Sep 17 00:00:00 2001 From: Mahmoud Bahaa Date: Thu, 12 Dec 2019 02:59:01 +0200 Subject: [PATCH 390/427] Fix test case by changing executeQuery to execute (#1642) --- ...adataIssue1613.java => NoColumnMetadataIssue1613Test.java} | 4 ++-- .../test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) rename pgjdbc/src/test/java/org/postgresql/jdbc/{NoColumnMetadataIssue1613.java => NoColumnMetadataIssue1613Test.java} (87%) diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java b/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613Test.java similarity index 87% rename from pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java rename to pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613Test.java index 750623ace9..65d3eb98b8 100644 --- a/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613.java +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/NoColumnMetadataIssue1613Test.java @@ -23,7 +23,7 @@ * @author Ivy (ivyyiyideng@gmail.com) * */ -public class NoColumnMetadataIssue1613 extends BaseTest4 { +public class NoColumnMetadataIssue1613Test extends BaseTest4 { @Override @Before public void setUp() throws Exception { @@ -34,7 +34,7 @@ public void setUp() throws Exception { @Test public void shouldBeNoNPE() throws Exception { Statement statement = con.createStatement(); - statement.executeQuery("INSERT INTO test_no_column_metadata values (1)"); + statement.execute("INSERT INTO test_no_column_metadata values (1)"); ResultSet rs = statement.executeQuery("SELECT x FROM test_no_column_metadata x"); assertTrue(rs.next()); } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 004f1b614a..4e01958ddf 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -13,6 +13,7 @@ import org.postgresql.core.ReturningParserTest; import org.postgresql.core.v3.V3ParameterListTests; import org.postgresql.jdbc.DeepBatchedInsertStatementTest; +import org.postgresql.jdbc.NoColumnMetadataIssue1613Test; import org.postgresql.jdbc.PgSQLXMLTest; import org.postgresql.jdbc.PrimitiveArraySupportTest; import org.postgresql.test.core.JavaVersionTest; @@ -73,6 +74,7 @@ LruCacheTest.class, MiscTest.class, NativeQueryBindLengthTest.class, + NoColumnMetadataIssue1613Test.class, NotifyTest.class, OidToStringTest.class, OidValueOfTest.class, From d10ab8d68229b691d9492c942d2cb9183ee9fe32 Mon Sep 17 00:00:00 2001 From: draderaws <41007433+draderaws@users.noreply.github.com> Date: Thu, 12 Dec 2019 15:48:22 -0500 Subject: [PATCH 391/427] Stored procedure with transaction control test case and doc. (#1645) --- docs/documentation/head/binary-data.md | 2 +- docs/documentation/head/callproc.md | 95 +++++++--- docs/documentation/head/index.html | 9 +- .../java/org/postgresql/util/PSQLState.java | 2 + .../postgresql/test/jdbc3/Jdbc3TestSuite.java | 1 + .../test/jdbc3/ProcedureTransactionTest.java | 169 ++++++++++++++++++ 6 files changed, 250 insertions(+), 28 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc3/ProcedureTransactionTest.java diff --git a/docs/documentation/head/binary-data.md b/docs/documentation/head/binary-data.md index bbd36f1e5b..6a4fcd2ba6 100644 --- a/docs/documentation/head/binary-data.md +++ b/docs/documentation/head/binary-data.md @@ -3,7 +3,7 @@ layout: default_docs title: Chapter 7. Storing Binary Data header: Chapter 7. Storing Binary Data resource: media -previoustitle: Chapter 6. Calling Stored Functions +previoustitle: Chapter 6. Calling Stored Functions and Procedures previous: callproc.html nexttitle: Chapter 8. JDBC escapes next: escapes.html diff --git a/docs/documentation/head/callproc.md b/docs/documentation/head/callproc.md index bf5e14a5a6..d5eb195047 100644 --- a/docs/documentation/head/callproc.md +++ b/docs/documentation/head/callproc.md @@ -1,7 +1,7 @@ --- layout: default_docs -title: Chapter 6. Calling Stored Functions -header: Chapter 6. Calling Stored Functions +title: Chapter 6. Calling Stored Functions and Procedures +header: Chapter 6. Calling Stored Functions and Procedures resource: media previoustitle: Creating and Modifying Database Objects previous: ddl.html @@ -11,9 +11,24 @@ next: binary-data.html **Table of Contents** -* [Obtaining a `ResultSet` from a stored function](callproc.html#callproc-resultset) - * [From a Function Returning `SETOF` type](callproc.html#callproc-resultset-setof) - * [From a Function Returning a refcursor](callproc.html#callproc-resultset-refcursor) +* [Obtaining a `ResultSet` from a stored function](callproc.html#callfunc-resultset) + * [From a Function Returning `SETOF` type](callproc.html#callfunc-resultset-setof) + * [From a Function Returning a refcursor](callproc.html#callfunc-resultset-refcursor) +* [Calling stored procedure with transaction control](callproc.html#call-procedure-example) + +PostgreSQL™ supports two types of stored objects, functions that can return a +result value and - starting from v11 - procedures that can perform transaction +control. Both types of stored objects are invoked using `CallableStatement` and +the standard JDBC escape call syntax `{call storedobject(?)}`. The +`escapeSyntaxCallMode` connection property controls how the driver transforms the +call syntax to invoke functions or procedures. + +The default mode, `select`, supports backwards compatibility for existing +applications and supports function invocation only. This is required to invoke +a void returning function. For new applications, use +`escapeSyntaxCallMode=callIfNoReturn` to map `CallableStatement`s with return +values to stored functions and `CallableStatement`s without return values to +stored procedures. **Example 6.1. Calling a built in stored function** @@ -22,15 +37,15 @@ This example shows how to call a PostgreSQL™ built in function, `upper`, which simply converts the supplied string argument to uppercase. ```java -CallableStatement upperProc = conn.prepareCall("{? = call upper( ? ) }"); -upperProc.registerOutParameter(1, Types.VARCHAR); -upperProc.setString(2, "lowercase to uppercase"); -upperProc.execute(); -String upperCased = upperProc.getString(1); -upperProc.close(); +CallableStatement upperFunc = conn.prepareCall("{? = call upper( ? ) }"); +upperFunc.registerOutParameter(1, Types.VARCHAR); +upperFunc.setString(2, "lowercase to uppercase"); +upperFunc.execute(); +String upperCased = upperFunc.getString(1); +upperFunc.close(); ``` - + # Obtaining a `ResultSet` from a stored function PostgreSQL's™ stored functions can return results in two different ways. The @@ -38,7 +53,7 @@ function may return either a refcursor value or a `SETOF` some datatype. Depend on which of these return methods are used determines how the function should be called. - + ## From a Function Returning `SETOF` type Functions that return data as a set should not be called via the `CallableStatement` @@ -61,7 +76,7 @@ rs.close(); stmt.close(); ``` - + ## From a Function Returning a refcursor When calling a function that returns a refcursor you must cast the return type of @@ -94,17 +109,17 @@ stmt.close(); // We must be inside a transaction for cursors to work. conn.setAutoCommit(false); -// Procedure call. -CallableStatement proc = conn.prepareCall("{? = call refcursorfunc() }"); -proc.registerOutParameter(1, Types.OTHER); -proc.execute(); -ResultSet results = (ResultSet) proc.getObject(1); +// Function call. +CallableStatement func = conn.prepareCall("{? = call refcursorfunc() }"); +func.registerOutParameter(1, Types.OTHER); +func.execute(); +ResultSet results = (ResultSet) func.getObject(1); while (results.next()) { // do something with the results. } results.close(); -proc.close(); +func.close(); ``` It is also possible to treat the refcursor return value as a cursor name directly. @@ -116,9 +131,43 @@ you are free to directly use cursor commands on it, such as `FETCH` and `MOVE`. ```java conn.setAutoCommit(false); -CallableStatement proc = conn.prepareCall("{? = call refcursorfunc() }"); -proc.registerOutParameter(1, Types.OTHER); +CallableStatement func = conn.prepareCall("{? = call refcursorfunc() }"); +func.registerOutParameter(1, Types.OTHER); +func.execute(); +String cursorName = func.getString(1); +func.close(); +``` + + +**Example 6.5. Calling a stored procedure + +This example shows how to call a PostgreSQL™ procedure that uses transaction control. + +```java +// set up a connection +String url = "jdbc:postgresql://localhost/test"; +Properties props = new Properties(); +... other properties ... +// Ensure EscapeSyntaxCallmode property set to support procedures if no return value +props.setProperty("escapeSyntaxCallMode", "callIfNoReturn"); +Connection con = DriverManager.getConnection(url, props); + +// Setup procedure to call. +Statement stmt = con.createStatement(); +stmt.execute("CREATE TEMP TABLE temp_val ( some_val bigint )"); +stmt.execute("CREATE OR REPLACE PROCEDURE commitproc(a INOUT bigint) AS '" + + " BEGIN " + + " INSERT INTO temp_val values(a); " + + " COMMIT; " + + " END;' LANGUAGE plpgsql"); +stmt.close(); + +// As of v11, we must be outside a transaction for procedures with transactions to work. +con.setAutoCommit(true); + +// Procedure call with transaction +CallableStatement proc = con.prepareCall("{call commitproc( ? )}"); +proc.setInt(1, 100); proc.execute(); -String cursorName = proc.getString(1); proc.close(); ``` diff --git a/docs/documentation/head/index.html b/docs/documentation/head/index.html index 70ef62fd0e..dce2deae34 100644 --- a/docs/documentation/head/index.html +++ b/docs/documentation/head/index.html @@ -86,16 +86,17 @@

Table of Contents

-
6. Calling Stored Functions
+
6. Calling Stored Functions and Procedures
-
Obtaining a ResultSet from a stored function
+
Obtaining a ResultSet from a stored function
-
From a Function Returning SETOF type
-
From a Function Returning a refcursor
+
From a Function Returning SETOF type
+
From a Function Returning a refcursor
+
Calling stored procedure with transaction control
diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index ca4de8ba32..21ff5c8565 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -68,6 +68,8 @@ public enum PSQLState { INVALID_SQL_STATEMENT_NAME("26000"), INVALID_AUTHORIZATION_SPECIFICATION("28000"), + INVALID_TRANSACTION_TERMINATION("2D000"), + STATEMENT_NOT_ALLOWED_IN_FUNCTION_CALL("2F003"), INVALID_SAVEPOINT_SPECIFICATION("3B000"), diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java index 2693cf7f0a..a059d5fa8c 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3TestSuite.java @@ -24,6 +24,7 @@ Jdbc3CallableStatementTest.class, Jdbc3SavepointTest.class, ParameterMetaDataTest.class, + ProcedureTransactionTest.class, ResultSetTest.class, SendRecvBufferSizeTest.class, SqlCommandParseTest.class, diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/ProcedureTransactionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/ProcedureTransactionTest.java new file mode 100644 index 0000000000..e1262df91e --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/ProcedureTransactionTest.java @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc3; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.postgresql.PGProperty; +import org.postgresql.core.ServerVersion; +import org.postgresql.jdbc.EscapeSyntaxCallMode; +import org.postgresql.test.TestUtil; +import org.postgresql.test.jdbc2.BaseTest4; +import org.postgresql.util.PSQLState; + +import org.junit.Test; + +import java.sql.CallableStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Properties; + +public class ProcedureTransactionTest extends BaseTest4 { + + @Override + protected void updateProperties(Properties props) { + super.updateProperties(props); + PGProperty.ESCAPE_SYNTAX_CALL_MODE.set(props, EscapeSyntaxCallMode.CALL_IF_NO_RETURN.value()); + } + + @Override + public void setUp() throws Exception { + super.setUp(); + Statement stmt = con.createStatement(); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute("create temp table proc_test ( some_val bigint )"); + stmt.execute( + "CREATE OR REPLACE PROCEDURE mycommitproc(a INOUT bigint) AS 'BEGIN INSERT INTO proc_test values(a); commit; END;' LANGUAGE plpgsql"); + stmt.execute( + "CREATE OR REPLACE PROCEDURE myrollbackproc(a INOUT bigint) AS 'BEGIN INSERT INTO proc_test values(a); rollback; END;' LANGUAGE plpgsql"); + stmt.execute( + "CREATE OR REPLACE PROCEDURE mynotxnproc(a INOUT bigint) AS 'BEGIN INSERT INTO proc_test values(a); END;' LANGUAGE plpgsql"); + } + } + + @Override + public void tearDown() throws SQLException { + Statement stmt = con.createStatement(); + if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v11)) { + stmt.execute("drop procedure mycommitproc(a INOUT bigint) "); + stmt.execute("drop procedure myrollbackproc(a INOUT bigint) "); + stmt.execute("drop procedure mynotxnproc(a INOUT bigint) "); + stmt.execute("drop table proc_test "); + } + stmt.close(); + super.tearDown(); + } + + @Test + public void testProcWithNoTxnControl() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("call mynotxnproc(?)"); + int val = 1; + cs.setInt(1, val); + cs.execute(); + TestUtil.closeQuietly(cs); + + cs = con.prepareCall("select some_val from proc_test where some_val = ?"); + cs.setInt(1, val); + ResultSet rs = cs.executeQuery(); + + assertTrue(rs.next()); + assertTrue(rs.getInt(1) == val); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(cs); + } + + @Test + public void testProcWithCommitInside() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("call mycommitproc(?)"); + int val = 2; + cs.setInt(1, val); + cs.execute(); + TestUtil.closeQuietly(cs); + + cs = con.prepareCall("select some_val from proc_test where some_val = ?"); + cs.setInt(1, val); + ResultSet rs = cs.executeQuery(); + + assertTrue(rs.next()); + assertTrue(rs.getInt(1) == val); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(cs); + } + + @Test + public void testProcWithRollbackInside() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("call myrollbackproc(?)"); + int val = 3; + cs.setInt(1, val); + cs.execute(); + TestUtil.closeQuietly(cs); + + cs = con.prepareCall("select some_val from proc_test where some_val = ?"); + cs.setInt(1, val); + ResultSet rs = cs.executeQuery(); + + assertFalse(rs.next()); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(cs); + } + + @Test + public void testProcAutoCommitTrue() throws SQLException { + con.setAutoCommit(true); + testProcAutoCommit(); + } + + @Test + public void testProcAutoCommitFalse() throws SQLException { + // setting autocommit false enables application transaction control, meaning JDBC driver issues a BEGIN + // as of PostgreSQL 11, Stored Procedures with transaction control inside the procedure cannot be + // invoked inside a transaction, the procedure must start the top level transaction + // see: https://www.postgresql.org/docs/current/plpgsql-transactions.html + con.setAutoCommit(false); + try { + testProcAutoCommit(); + fail("Should throw an exception"); + } catch (SQLException ex) { + //2D000 invalid_transaction_termination + assertTrue(ex.getSQLState().equalsIgnoreCase(PSQLState.INVALID_TRANSACTION_TERMINATION.getState())); + con.rollback(); + } + + } + + private void testProcAutoCommit() throws SQLException { + assumeMinimumServerVersion(ServerVersion.v11); + assumeCallableStatementsSupported(); + CallableStatement cs = con.prepareCall("call mycommitproc(?)"); + int val = 4; + cs.setInt(1, val); + cs.execute(); + TestUtil.closeQuietly(cs); + + cs = con.prepareCall("select some_val from proc_test where some_val = ?"); + cs.setInt(1, val); + ResultSet rs = cs.executeQuery(); + + assertTrue(rs.next()); + assertTrue(rs.getInt(1) == val); + + TestUtil.closeQuietly(rs); + TestUtil.closeQuietly(cs); + } + +} From be5c9f434c3ce68b9140f3ff929023e69cb2f984 Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Fri, 13 Dec 2019 09:26:02 -0500 Subject: [PATCH 392/427] Add disallow multiple empty lines (#1427) * style: Add allowMultipleEmptyLinesInsideClassMembers set to false Adds a checkstyle rule to disallow multiple back to back empty newlines inside class members. --- pgjdbc/src/assembly/dist.xml | 2 +- pgjdbc/src/main/checkstyle/checks.xml | 2 +- .../java/org/postgresql/PGConnection.java | 2 -- .../main/java/org/postgresql/PGStatement.java | 1 - .../java/org/postgresql/core/PGStream.java | 1 - .../org/postgresql/core/ParameterList.java | 1 - .../postgresql/core/v3/QueryExecutorImpl.java | 5 ----- .../core/v3/SimpleParameterList.java | 1 - .../v3/replication/V3ReplicationProtocol.java | 1 - .../java/org/postgresql/gss/GssAction.java | 1 - .../main/java/org/postgresql/gss/MakeGSS.java | 1 - .../org/postgresql/jdbc/AbstractBlobClob.java | 2 -- .../postgresql/jdbc/PgDatabaseMetaData.java | 2 -- .../java/org/postgresql/jdbc/PgResultSet.java | 16 ---------------- .../org/postgresql/jdbc/TimestampUtils.java | 1 - .../java/org/postgresql/ssl/LibPQFactory.java | 1 - .../java/org/postgresql/sspi/SSPIClient.java | 1 - .../main/java/org/postgresql/util/Base64.java | 9 --------- .../java/org/postgresql/util/PGtokenizer.java | 2 -- .../postgresql/util/ServerErrorMessage.java | 1 - .../java/org/postgresql/core/ParserTest.java | 3 --- .../LogicalReplicationStatusTest.java | 1 - .../replication/LogicalReplicationTest.java | 2 -- .../java/org/postgresql/test/TestUtil.java | 1 - .../org/postgresql/test/jdbc2/ArrayTest.java | 1 - .../test/jdbc2/AutoRollbackTestSuite.java | 1 - .../test/jdbc2/BlobTransactionTest.java | 2 -- .../org/postgresql/test/jdbc2/CopyTest.java | 1 - .../test/jdbc2/CursorFetchTest.java | 2 -- .../test/jdbc2/DatabaseEncodingTest.java | 1 - .../test/jdbc2/DatabaseMetaDataTest.java | 19 ------------------- .../org/postgresql/test/jdbc2/DateTest.java | 2 -- .../org/postgresql/test/jdbc2/DriverTest.java | 9 --------- .../postgresql/test/jdbc2/IntervalTest.java | 1 - .../postgresql/test/jdbc2/RefCursorTest.java | 1 - .../test/jdbc2/ServerPreparedStmtTest.java | 2 -- .../postgresql/test/jdbc2/StatementTest.java | 1 - .../org/postgresql/test/jdbc2/TimeTest.java | 2 -- .../postgresql/test/jdbc2/TimestampTest.java | 1 - .../test/jdbc2/UpdateableResultTest.java | 3 --- .../org/postgresql/test/jdbc2/UpsertTest.java | 1 - .../postgresql/test/jdbc3/Jdbc3BlobTest.java | 1 - .../jdbc3/Jdbc3CallableStatementTest.java | 2 -- .../test/jdbc3/SendRecvBufferSizeTest.java | 2 -- .../test/jdbc4/DatabaseMetaDataTest.java | 3 --- .../jdbc42/Jdbc42CallableStatementTest.java | 1 - .../test/jdbc42/PreparedStatementTest.java | 6 ------ .../java/org/postgresql/test/ssl/SslTest.java | 2 -- 48 files changed, 2 insertions(+), 125 deletions(-) diff --git a/pgjdbc/src/assembly/dist.xml b/pgjdbc/src/assembly/dist.xml index 6bd4f9d472..331b4aa4b2 100644 --- a/pgjdbc/src/assembly/dist.xml +++ b/pgjdbc/src/assembly/dist.xml @@ -40,4 +40,4 @@ runtime - \ No newline at end of file + diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index 6221650ef6..75f4095b3d 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -22,7 +22,6 @@ - @@ -101,6 +100,7 @@ + diff --git a/pgjdbc/src/main/java/org/postgresql/PGConnection.java b/pgjdbc/src/main/java/org/postgresql/PGConnection.java index b220f56a0e..1da637e3d0 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGConnection.java +++ b/pgjdbc/src/main/java/org/postgresql/PGConnection.java @@ -167,7 +167,6 @@ public interface PGConnection { */ void setDefaultFetchSize(int fetchSize) throws SQLException; - /** * Get the default fetch size for statements created from this connection. * @@ -224,7 +223,6 @@ public interface PGConnection { */ PreferQueryMode getPreferQueryMode(); - /** * Connection configuration regarding automatic per-query savepoints. * diff --git a/pgjdbc/src/main/java/org/postgresql/PGStatement.java b/pgjdbc/src/main/java/org/postgresql/PGStatement.java index 17d2ffde86..cbe3b2e86a 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/PGStatement.java @@ -23,7 +23,6 @@ public interface PGStatement { long DATE_POSITIVE_SMALLER_INFINITY = 185543533774800000L; long DATE_NEGATIVE_SMALLER_INFINITY = -185543533774800000L; - /** * Returns the Last inserted/updated oid. * diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index d8bcb3a69e..7bba846e94 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -540,7 +540,6 @@ public void sendStream(InputStream inStream, int remaining) throws IOException { } } - /** * Flush any pending output to the backend. * diff --git a/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java b/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java index f62993d828..de73c512f4 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java +++ b/pgjdbc/src/main/java/org/postgresql/core/ParameterList.java @@ -23,7 +23,6 @@ * @author Oliver Jowett (oliver@opencloud.com) */ public interface ParameterList { - void registerOutParameter(int index, int sqlType) throws SQLException; /** diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 20ce1762ea..63cbc07467 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -674,7 +674,6 @@ private void sendFastpathCall(int fnid, SimpleParameterList params) } } - pgStream.sendChar('F'); pgStream.sendInteger4(4 + 4 + 2 + 2 * paramCount + 2 + encodedSize + 2); pgStream.sendInteger4(fnid); @@ -2026,7 +2025,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti LOGGER.log(Level.FINEST, " <=BE ParameterDescription"); - DescribeRequest describeData = pendingDescribeStatementQueue.getFirst(); SimpleQuery query = describeData.query; SimpleParameterList params = describeData.parameterList; @@ -2101,7 +2099,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti pgStream.receiveInteger4(); // len, discarded LOGGER.log(Level.FINEST, " <=BE PortalSuspended"); - ExecuteRequest executeData = pendingExecuteQueue.removeFirst(); SimpleQuery currentQuery = executeData.query; Portal currentPortal = executeData.portal; @@ -2128,7 +2125,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti doneAfterRowDescNoData = false; - ExecuteRequest executeData = pendingExecuteQueue.peekFirst(); SimpleQuery currentQuery = executeData.query; Portal currentPortal = executeData.portal; @@ -2210,7 +2206,6 @@ protected void processResults(ResultHandler handler, int flags) throws IOExcepti } } - if (!noResults) { if (tuples == null) { tuples = new ArrayList(); diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java index 18a3e7a2c9..8d53eafa21 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/SimpleParameterList.java @@ -477,4 +477,3 @@ public String toString() { private int pos = 0; } - diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java index cd36230695..ac229f5daa 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/replication/V3ReplicationProtocol.java @@ -136,5 +136,4 @@ private void configureSocketTimeout(CommonOptions options) throws PSQLException PSQLState.CONNECTION_UNABLE_TO_CONNECT, ioe); } } - } diff --git a/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java b/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java index f747fd4aaa..298a80f4c9 100644 --- a/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java +++ b/pgjdbc/src/main/java/org/postgresql/gss/GssAction.java @@ -92,7 +92,6 @@ public Exception run() { while (!established) { outToken = secContext.initSecContext(inToken, 0, inToken.length); - if (outToken != null) { LOGGER.log(Level.FINEST, " FE=> Password(GSS Authentication Token)"); diff --git a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java index b3b856b490..0c5d27dbcd 100644 --- a/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java +++ b/pgjdbc/src/main/java/org/postgresql/gss/MakeGSS.java @@ -24,7 +24,6 @@ import javax.security.auth.login.LoginContext; public class MakeGSS { - private static final Logger LOGGER = Logger.getLogger(MakeGSS.class.getName()); public static void authenticate(PGStream pgStream, String host, String user, String password, diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java b/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java index 1522ade95a..89f7148505 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/AbstractBlobClob.java @@ -246,8 +246,6 @@ protected void checkFreed() throws SQLException { } protected synchronized LargeObject getLo(boolean forWrite) throws SQLException { - - if (this.currentLo != null) { if (forWrite && !currentLoIsWriteable) { // Reopen the stream in read-write, at the same pos. diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 80201a89db..fda194778e 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -1582,7 +1582,6 @@ public ResultSet getColumns(String catalog, String schemaPattern, String tableNa tuple[5] = connection.encodeString(pgType); // Type name tuple[7] = null; // Buffer length - String defval = rs.getString("adsrc"); if (defval != null) { @@ -2552,7 +2551,6 @@ public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePa + "else null end as base_type " + "from pg_catalog.pg_type t, pg_catalog.pg_namespace n where t.typnamespace = n.oid and n.nspname != 'pg_catalog' and n.nspname != 'pg_toast'"; - StringBuilder toAdd = new StringBuilder(); if (types != null) { toAdd.append(" and (false "); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index 4ef826fafd..f1b9fbf591 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -943,11 +943,8 @@ public synchronized void deleteRow() throws SQLException { PSQLState.INVALID_CURSOR_STATE); } - int numKeys = primaryKeys.size(); if (deleteStatement == null) { - - StringBuilder deleteSQL = new StringBuilder("DELETE FROM ").append(onlyTable).append(tableName).append(" where "); @@ -967,7 +964,6 @@ public synchronized void deleteRow() throws SQLException { deleteStatement.setObject(i + 1, primaryKeys.get(i).getValue()); } - deleteStatement.executeUpdate(); rows.remove(currentRow); @@ -1040,8 +1036,6 @@ public synchronized void insertRow() throws SQLException { // need to clear this in case of another insert clearRowBuffer(false); - - } } @@ -1068,13 +1062,11 @@ public synchronized void moveToInsertRow() throws SQLException { insertStatement = null; } - // make sure the underlying data is null clearRowBuffer(false); onInsertRow = true; doingUpdates = false; - } private synchronized void clearRowBuffer(boolean copyCurrentRow) throws SQLException { @@ -1088,7 +1080,6 @@ private synchronized void clearRowBuffer(boolean copyCurrentRow) throws SQLExcep // clear the updateValues hash map for the next set of updates updateValues.clear(); - } public boolean rowDeleted() throws SQLException { @@ -1252,7 +1243,6 @@ public synchronized void updateObject(int columnIndex, Object x) throws SQLExcep public synchronized void updateObject(int columnIndex, Object x, int scale) throws SQLException { this.updateObject(columnIndex, x); - } @Override @@ -1299,7 +1289,6 @@ public void refreshRow() throws SQLException { selectStatement = connection.prepareStatement(sqlText, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); - for (int j = 0, i = 1; j < numKeys; j++, i++) { selectStatement.setObject(i, primaryKeys.get(j).getValue()); } @@ -1318,7 +1307,6 @@ public void refreshRow() throws SQLException { rs.close(); selectStatement.close(); selectStatement = null; - } @Override @@ -1500,7 +1488,6 @@ public synchronized void updateObject(String columnName, Object x) throws SQLExc updateObject(findColumn(columnName), x); } - /** * Is this ResultSet updateable? */ @@ -1540,7 +1527,6 @@ boolean isUpdateable() throws SQLException { // with oids has been removed in version 12 // FIXME: with oids does not automatically create an index, should check for primary keys first - usingOID = false; int oidIndex = findColumnIndex("oid"); // 0 if not present @@ -1578,7 +1564,6 @@ boolean isUpdateable() throws SQLException { connection.getLogger().log(Level.FINE, "no of keys={0}", i); - if (i < 1) { throw new PSQLException(GT.tr("No primary key found for table {0}.", tableName), PSQLState.DATA_ERROR); @@ -1679,7 +1664,6 @@ private void parseQuery() { } private void updateRowBuffer() throws SQLException { - for (Map.Entry entry : updateValues.entrySet()) { int columnIndex = findColumn(entry.getKey()) - 1; diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 59341329c2..d0effef697 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -1107,7 +1107,6 @@ public LocalTime toLocalTimeBin(byte[] bytes) throws PSQLException { micros = ByteConverter.int8(bytes, 0); } - return LocalTime.ofNanoOfDay(micros * 1000); } //#endif diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java index 2f259af810..4b9c69e74e 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java @@ -70,7 +70,6 @@ private void initPk8(String sslkeyfile, String defaultdir, Properties info) thro sslcertfile = defaultdir + "postgresql.crt"; } - // If the properties are empty, give null to prevent client key selection km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), ("".equals(sslkeyfile) ? null : sslkeyfile), getCallbackHandler(info), defaultfile); diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java index 7ef573bec0..8a612b6893 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java @@ -111,7 +111,6 @@ private String makeSPN() throws PSQLException { } } - /** * Respond to an authentication request from the back-end for SSPI authentication (AUTH_REQ_SSPI). * diff --git a/pgjdbc/src/main/java/org/postgresql/util/Base64.java b/pgjdbc/src/main/java/org/postgresql/util/Base64.java index 46446b055e..79f2ac2ec2 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/Base64.java +++ b/pgjdbc/src/main/java/org/postgresql/util/Base64.java @@ -55,9 +55,7 @@ * @version 2.1 */ public class Base64 { - /* ******** P U B L I C F I E L D S ******** */ - /** * No options specified. Value is zero. */ @@ -79,7 +77,6 @@ public class Base64 { public static final int DONT_BREAK_LINES = 8; /* ******** P R I V A T E F I E L D S ******** */ - /** * Maximum line length (76) of Base64 output. */ @@ -180,7 +177,6 @@ private Base64() { } /* ******** E N C O D I N G M E T H O D S ******** */ - /** * Encodes up to three bytes of the array source and writes the resulting four Base64 * bytes to destination. The source and destination arrays can be manipulated anywhere @@ -348,20 +344,16 @@ public static String encodeBytes(byte[] source, int off, int len, int options) { e += 4; } // end if: some padding needed - // Return value according to relevant encoding. try { return new String(outBuff, 0, e, PREFERRED_ENCODING); } catch (java.io.UnsupportedEncodingException uue) { return new String(outBuff, 0, e); } - } - } /* ******** D E C O D I N G M E T H O D S ******** */ - /** * Decodes four bytes from array source and writes the resulting bytes (up to three of * them) to destination. The source and destination arrays can be manipulated anywhere @@ -415,7 +407,6 @@ private static int decode4to3(byte[] source, int srcOffset, byte[] destination, | ((DECODABET[source[srcOffset + 2]] & 0xFF) << 6) | ((DECODABET[source[srcOffset + 3]] & 0xFF)); - destination[destOffset] = (byte) (outBuff >> 16); destination[destOffset + 1] = (byte) (outBuff >> 8); destination[destOffset + 2] = (byte) (outBuff); diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java b/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java index 19bd305352..d2c926708c 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGtokenizer.java @@ -89,8 +89,6 @@ public int tokenize(String string, char delim) { } // Don't forget the last token ;-) - - if (s < string.length()) { tokens.add(string.substring(s)); } diff --git a/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java b/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java index 7b3f62c208..5921b88ff1 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java +++ b/pgjdbc/src/main/java/org/postgresql/util/ServerErrorMessage.java @@ -14,7 +14,6 @@ import java.util.logging.Logger; public class ServerErrorMessage implements Serializable { - private static final Logger LOGGER = Logger.getLogger(ServerErrorMessage.class.getName()); private static final Character SEVERITY = 'S'; diff --git a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java index 34c8ca3a67..955955b23d 100644 --- a/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java +++ b/pgjdbc/src/test/java/org/postgresql/core/ParserTest.java @@ -243,8 +243,5 @@ public void valuesTableParse() throws SQLException { command = qry.get(0).getCommand(); Assert.assertEquals(43,command.getBatchRewriteValuesBraceOpenPosition()); Assert.assertEquals(49,command.getBatchRewriteValuesBraceClosePosition()); - - - } } diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java index 0f483c7bb9..ee81bd204d 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationStatusTest.java @@ -336,7 +336,6 @@ public void testApplyLocationDoNotDependOnFlushLocation() throws Exception { receiveMessageWithoutBlock(stream, 1); stream.forceUpdateStatus(); - LogSequenceNumber flushed = getFlushLocationOnView(); LogSequenceNumber applied = getReplayLocationOnView(); diff --git a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java index 759d1c32a2..dd35a54430 100644 --- a/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java +++ b/pgjdbc/src/test/java/org/postgresql/replication/LogicalReplicationTest.java @@ -166,7 +166,6 @@ public void testReceiveChangesAfterStartReplication() throws Exception { .withSlotOption("skip-empty-xacts", true) .start(); - List result = new ArrayList(); Statement st = sqlConnection.createStatement(); @@ -731,7 +730,6 @@ public void testReplicationRestartFromLastFeedbackPosition() throws Exception { consumedData.addAll(receiveMessageWithoutBlock(stream, 3)); String result = group(consumedData); - String wait = group(Arrays.asList( "BEGIN", "table public.test_logic_table: INSERT: pk[integer]:1 name[character varying]:'first tx changes'", diff --git a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java index b66c0fae36..0ce472c752 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java +++ b/pgjdbc/src/test/java/org/postgresql/test/TestUtil.java @@ -473,7 +473,6 @@ public static void createEnumType(Connection con, String name, String values) try { dropType(con, name); - // Now create the table st.executeUpdate("create type " + name + " as enum (" + values + ")"); } finally { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java index 8e1874c949..60ec800f62 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ArrayTest.java @@ -332,7 +332,6 @@ public void testSetArray() throws SQLException { Assert.assertEquals(3, resultCount); } - /** * Starting with 8.0 non-standard (beginning index isn't 1) bounds the dimensions are returned in * the data. The following should return "[0:3]={0,1,2,3,4}" when queried. Older versions simply diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java index 08c590be17..212d4e9654 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/AutoRollbackTestSuite.java @@ -356,7 +356,6 @@ public void run() throws SQLException { } } - try { assertRows("rollbacktest", rowsExpected); executeSqlSuccess(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java index be1e934670..3d8621cd95 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/BlobTransactionTest.java @@ -142,7 +142,6 @@ public void testConcurrentReplace() throws SQLException, IOException { ResultSet rs2 = pstmt2.executeQuery(); assertTrue(rs2.next()); - // con replace the blob byte[] newData = randomData(); pstmt = con.prepareStatement("UPDATE testblob SET lo=? where id=?"); @@ -158,7 +157,6 @@ public void testConcurrentReplace() throws SQLException, IOException { assertEquals(initialContentReRead[i], initialData[i]); } - con2.rollback(); pstmt2 = con2.prepareStatement("SELECT lo FROM testblob WHERE id=?"); pstmt2.setString(1, "testConcurrentReplace"); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java index 278e81021b..fde54ab8e5 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CopyTest.java @@ -358,7 +358,6 @@ public void testChangeDateStyle() throws SQLException { stmt.execute("SET DateStyle = 'ISO, DMY'"); - // I expect an SQLException String sql = "COPY copytest FROM STDIN with xxx " + copyParams; CopyIn cp = manager.copyIn(sql); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CursorFetchTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CursorFetchTest.java index 6f66898e5f..c4b6d9437e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CursorFetchTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/CursorFetchTest.java @@ -90,7 +90,6 @@ public void testBasicFetch() throws Exception { } } - // Similar, but for scrollable resultsets. @Test public void testScrollableFetch() throws Exception { @@ -480,7 +479,6 @@ public void testRowResultPositioningWithoutIsLast() throws Exception { } } - // Empty resultsets require all row positioning methods to return false @Test public void testNoRowResultPositioning() throws Exception { diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java index a2b430ec00..711fc506d6 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseEncodingTest.java @@ -313,7 +313,6 @@ public void testTruncatedUTF8Decode() throws Exception { // Expected exception. } - // Try it with padding and a truncated length. Arrays.fill(paddedSequence, (byte) 0); System.arraycopy(sequence, 0, paddedSequence, 0, sequence.length); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 9d244726e8..53bc9c55e0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -57,7 +57,6 @@ public void setUp() throws Exception { TestUtil.createCompositeType(con, "custom", "i int", false); TestUtil.createCompositeType(con, "_custom", "f float", false); - // 8.2 does not support arrays of composite types TestUtil.createTable(con, "customtable", "c1 custom, c2 _custom" + (TestUtil.haveMinimumServerVersion(con, ServerVersion.v8_3) ? ", c3 custom[], c4 _custom[]" : "")); @@ -117,7 +116,6 @@ public void tearDown() throws Exception { TestUtil.dropDomain(con, "varbit2"); TestUtil.dropDomain(con, "float83"); - TestUtil.closeDB(con); } @@ -224,7 +222,6 @@ public void testCrossReference() throws Exception { TestUtil.createTable(con1, "ww", "m int not null, n int not null, constraint m_pkey primary key ( m, n ), constraint ww_m_fkey foreign key ( m, n ) references vv ( a, b )"); - DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); @@ -259,7 +256,6 @@ public void testCrossReference() throws Exception { } assertEquals(2, numRows); - TestUtil.dropTable(con1, "vv"); TestUtil.dropTable(con1, "ww"); TestUtil.closeDB(con1); @@ -365,7 +361,6 @@ public void testSameTableForeignKeys() throws Exception { + "REFERENCES PERSON (FIRST_NAME, LAST_NAME) MATCH SIMPLE " + "ON UPDATE CASCADE ON DELETE CASCADE"); - DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); ResultSet rs = dbmd.getImportedKeys(null, "", "person"); @@ -409,8 +404,6 @@ public void testSameTableForeignKeys() throws Exception { TestUtil.dropTable(con1, "person"); TestUtil.closeDB(con1); - - } @Test @@ -424,7 +417,6 @@ public void testForeignKeys() throws Exception { + "CONSTRAINT people FOREIGN KEY (people_id) references people(id)," + "constraint policy FOREIGN KEY (policy_id) references policy(id)"); - DatabaseMetaData dbmd = con.getMetaData(); assertNotNull(dbmd); @@ -467,7 +459,6 @@ public void testForeignKeys() throws Exception { assertTrue(rs.getString("FK_NAME").startsWith("people")); - TestUtil.dropTable(con1, "users"); TestUtil.dropTable(con1, "people"); TestUtil.dropTable(con1, "policy"); @@ -542,9 +533,7 @@ public void testDroppedColumns() throws SQLException { assertTrue(rs.next()); assertEquals("updated", rs.getString(4)); - rs.close(); - } @Test @@ -716,7 +705,6 @@ public void testAscDescIndexInfo() throws SQLException { assertEquals("id", rs.getString("COLUMN_NAME")); assertEquals("A", rs.getString("ASC_OR_DESC")); - assertTrue(rs.next()); assertEquals("idx_a_d", rs.getString("INDEX_NAME")); assertEquals("quest", rs.getString("COLUMN_NAME")); @@ -1042,7 +1030,6 @@ public void testGetUDT1() throws Exception { assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); - } finally { try { Statement stmt = con.createStatement(); @@ -1075,7 +1062,6 @@ public void testGetUDT2() throws Exception { assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); - } finally { try { Statement stmt = con.createStatement(); @@ -1107,7 +1093,6 @@ public void testGetUDT3() throws Exception { assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); - } finally { try { Statement stmt = con.createStatement(); @@ -1137,7 +1122,6 @@ public void testGetUDT4() throws Exception { assertTrue("base type", rs.wasNull()); assertEquals("data type", Types.STRUCT, dataType); assertEquals("type name ", "testint8", typeName); - } finally { try { Statement stmt = con.createStatement(); @@ -1206,7 +1190,6 @@ public void testTypes() throws SQLException { for (String typeName : stringTypeList) { assertTrue(types.contains(typeName)); } - } @Test @@ -1296,7 +1279,6 @@ public void testIdentityColumns() throws SQLException { } } } - } @Test @@ -1432,5 +1414,4 @@ public void testFunctionColumns() throws SQLException { rs.close(); } - } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java index c7da9294fd..83fb195fe0 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DateTest.java @@ -67,7 +67,6 @@ public void testGetDate() throws SQLException { assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testdate", "'3456-01-01'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testdate", "'0101-01-01 BC'"))); - /* dateTest() contains all of the tests */ dateTest(); @@ -162,7 +161,6 @@ private void dateTest() throws SQLException { assertNotNull(d); assertEquals(makeDate(1950, 2, 7), d); - assertTrue(rs.next()); d = rs.getDate(1); assertNotNull(d); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java index 19f788dbb4..3394363924 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DriverTest.java @@ -223,7 +223,6 @@ public void testSetLogWriter() throws Exception { String loggerFile = System.getProperty("loggerFile"); try { - PrintWriter printWriter = new PrintWriter(new NullOutputStream(System.err)); DriverManager.setLogWriter(printWriter); assertEquals(DriverManager.getLogWriter(), printWriter); @@ -243,14 +242,11 @@ public void testSetLogWriter() throws Exception { DriverManager.setLogWriter(null); System.setProperty("loggerLevel", loggerLevel); System.setProperty("loggerFile", loggerFile); - } - } @Test public void testSetLogStream() throws Exception { - // this is a dummy to make sure TestUtil is initialized Connection con = DriverManager.getConnection(TestUtil.getURL(), TestUtil.getUser(), TestUtil.getPassword()); con.close(); @@ -258,7 +254,6 @@ public void testSetLogStream() throws Exception { String loggerFile = System.getProperty("loggerFile"); try { - DriverManager.setLogStream(new NullOutputStream(System.err)); System.clearProperty("loggerFile"); System.clearProperty("loggerLevel"); @@ -276,10 +271,6 @@ public void testSetLogStream() throws Exception { DriverManager.setLogStream(null); System.setProperty("loggerLevel", loggerLevel); System.setProperty("loggerFile", loggerFile); - - } - } - } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java index 56b5878427..ce3f413840 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java @@ -299,5 +299,4 @@ public void testISO8601() throws Exception { private java.sql.Date makeDate(int y, int m, int d) { return new java.sql.Date(y - 1900, m - 1, d); } - } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java index 5ed356829c..b2ab199e20 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/RefCursorTest.java @@ -66,7 +66,6 @@ public void setUp() throws Exception { stmt.executeUpdate("INSERT INTO testrs VALUES (6)"); stmt.executeUpdate("INSERT INTO testrs VALUES (9)"); - // Create the functions. stmt.execute("CREATE OR REPLACE FUNCTION testspg__getRefcursor () RETURNS refcursor AS '" + "declare v_resset refcursor; begin open v_resset for select id from testrs order by id; " diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java index 5cc26e6557..127ee158c4 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java @@ -94,8 +94,6 @@ public void testPreparedStatementsNoBinds() throws Exception { rs.close(); // Verify that using the statement still works after turning off prepares - - if (Boolean.getBoolean("org.postgresql.forceBinary")) { return; } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 7c3cf6e572..3bb4c0d939 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -516,7 +516,6 @@ public Void call() throws SQLException, InterruptedException { } } - /** *

Demonstrates a safe approach to concurrently reading the latest * warnings while periodically clearing them.

diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimeTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimeTest.java index 6441214ae7..c46f1fe3b7 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimeTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimeTest.java @@ -74,7 +74,6 @@ public void testGetTimeZone() throws Exception { assertNotNull(rs); assertTrue(rs.next()); - Time time = rs.getTime(1); Timestamp timestamp = rs.getTimestamp(1); assertNotNull(timestamp); @@ -137,7 +136,6 @@ public void testGetTime() throws SQLException { assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testtime", "'22:12:01'"))); assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testtime", "'08:46:44'"))); - // Fall through helper timeTest(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java index 284de4a65e..25dae656dd 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestampTest.java @@ -213,7 +213,6 @@ public void testGetTimestampWTZ() throws SQLException { assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL(TSWTZ_TABLE, "'" + tsu.toString(null, new Timestamp(tmpTime4.getTime())) + "'"))); - // Fall through helper timestampTestWTZ(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java index 677f41e088..ac2ad1fb7e 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java @@ -114,7 +114,6 @@ public void testCancelRowUpdates() throws Exception { assertEquals(999, rs.getInt(1)); assertEquals("anyvalue", rs.getString(2)); - // make sure the update got to the db and the driver isn't lying to us. rs.close(); rs = st.executeQuery("select * from second"); @@ -322,8 +321,6 @@ public void testUpdateable() throws SQLException { rs.updateString("name", "dave"); rs.updateRow(); } - - fail("should not get here, update should fail"); } catch (SQLException ex) { } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java index 05934f4424..f257dfebbc 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpsertTest.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Collection; - /** * Tests {@code INSERT .. ON CONFLICT} introduced in PostgreSQL 9.5. */ diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java index f759a3e717..66f3f3c741 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3BlobTest.java @@ -186,7 +186,6 @@ public void readWrite(int offset, byte[] data) throws SQLException { ps.close(); } - /** * Test the writing and reading of a single byte. */ diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java index f54e1a5826..9dfa192f64 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/Jdbc3CallableStatementTest.java @@ -534,8 +534,6 @@ public void testUpdateReal() throws Throwable { stmt.execute(insertRealTab); stmt.close(); - - } catch (Exception ex) { fail(ex.getMessage()); throw ex; diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SendRecvBufferSizeTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SendRecvBufferSizeTest.java index 9d63f14412..2d309b6353 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SendRecvBufferSizeTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc3/SendRecvBufferSizeTest.java @@ -40,7 +40,6 @@ public void tearDown() throws SQLException { TestUtil.closeDB(conn); } - // dummy test @Test public void testSelect() throws SQLException { @@ -48,5 +47,4 @@ public void testSelect() throws SQLException { stmt.execute("select * from hold"); stmt.close(); } - } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java index 7d209f1536..e41ee12fea 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc4/DatabaseMetaDataTest.java @@ -42,8 +42,6 @@ public void setUp() throws Exception { TestUtil.createSchema(conn, "nofunctions"); TestUtil.execute("create function hasfunctions.addfunction (integer, integer) " + "RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE", conn); - - } @After @@ -129,7 +127,6 @@ public void testGetProceduresInSchema() throws SQLException { ResultSet rs = dbmd.getProcedures("", "hasfunctions",null); assertTrue(rs.next()); - Statement statement = conn.createStatement(); statement.execute("set search_path=hasfunctions"); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java index fa2ae9fde3..531a84995a 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java @@ -88,5 +88,4 @@ public void testGetResultSetWithoutArgUnsupportedConversion() throws SQLExceptio con.setAutoCommit(true); } } - } diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java index 96c5e8d0b0..00ada27d68 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/PreparedStatementTest.java @@ -96,17 +96,11 @@ public void testLocalTimeMax() throws SQLException { ResultSet rs = con.createStatement().executeQuery("select tt from timetable order by id asc"); Assert.assertTrue(rs.next()); - LocalTime localTime = (LocalTime)rs.getObject(1,LocalTime.class); - - Assert.assertEquals( LocalTime.MAX, localTime); Assert.assertTrue(rs.next()); - localTime = (LocalTime)rs.getObject(1, LocalTime.class); - Assert.assertEquals( LocalTime.MIN, localTime); - } } diff --git a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java index 2a2e750fcc..8c96c8b4a9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java @@ -123,7 +123,6 @@ public static Iterable data() { Collection tests = new ArrayList(); - File certDirFile = TestUtil.getFile(prop.getProperty("certdir")); String certdir = certDirFile.getAbsolutePath(); @@ -272,7 +271,6 @@ private void checkErrorCodes(SQLException e) { errors = addError(errors, ae); } - try { if (assertClientCertificate(e)) { return; From ea2ca87c326dfc793df133d6cf39777e3c8da177 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 13 Dec 2019 14:09:42 -0500 Subject: [PATCH 393/427] fix: Unable to register out parameter Issue #1646 (#1648) --- .../org/postgresql/jdbc/PgPreparedStatement.java | 2 +- .../test/jdbc42/Jdbc42CallableStatementTest.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index 9436b688f5..1dc994e895 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -183,7 +183,7 @@ public void closeImpl() throws SQLException { public void setNull(int parameterIndex, int sqlType) throws SQLException { checkClosed(); - if (parameterIndex < 1 || parameterIndex > preparedParameters.getInParameterCount()) { + if (parameterIndex < 1 || parameterIndex > preparedParameters.getParameterCount()) { throw new PSQLException( GT.tr("The column index is out of range: {0}, number of columns: {1}.", parameterIndex, preparedParameters.getInParameterCount()), diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java index 531a84995a..1ae8b0f802 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc42/Jdbc42CallableStatementTest.java @@ -88,4 +88,18 @@ public void testGetResultSetWithoutArgUnsupportedConversion() throws SQLExceptio con.setAutoCommit(true); } } + + @Test + public void testRegisterOutParameter() throws SQLException { + + CallableStatement cs = null; + + cs = con.prepareCall("{ ? = call xxxx.yyyy (?,?,?,?)}"); + cs.registerOutParameter(1, Types.REF_CURSOR); + + cs.setLong(2, 1000L); + cs.setLong(3, 500); + cs.setLong(4, 3000); + cs.setNull(5, Types.NUMERIC); + } } From 617f0487adddb6601e681e25006e5555bc644c3e Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 13 Dec 2019 14:50:42 -0500 Subject: [PATCH 394/427] remove more currentTimeMillis in order to get tests to be more reliable (#1647) * remove more currentTimeMillis in order to get tests to be more reliable --- .../hostchooser/GlobalHostStatusTracker.java | 4 ++-- .../postgresql/test/jdbc2/StatementTest.java | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java index 0ba547bc4a..83a0a5847b 100644 --- a/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java +++ b/pgjdbc/src/main/java/org/postgresql/hostchooser/GlobalHostStatusTracker.java @@ -26,7 +26,7 @@ public class GlobalHostStatusTracker { * @param hostStatus Latest known status for the host. */ public static void reportHostStatus(HostSpec hostSpec, HostStatus hostStatus) { - long now = System.nanoTime() / 1000; + long now = System.nanoTime() / 1000000; synchronized (hostStatusMap) { HostSpecStatus hostSpecStatus = hostStatusMap.get(hostSpec); if (hostSpecStatus == null) { @@ -49,7 +49,7 @@ public static void reportHostStatus(HostSpec hostSpec, HostStatus hostStatus) { static List getCandidateHosts(HostSpec[] hostSpecs, HostRequirement targetServerType, long hostRecheckMillis) { List candidates = new ArrayList(hostSpecs.length); - long latestAllowedUpdate = System.nanoTime() / 1000 - hostRecheckMillis; + long latestAllowedUpdate = System.nanoTime() / 1000000 - hostRecheckMillis; synchronized (hostStatusMap) { for (HostSpec hostSpec : hostSpecs) { HostSpecStatus hostInfo = hostStatusMap.get(hostSpec); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 3bb4c0d939..c1628e5a85 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -688,7 +688,7 @@ public void testSetQueryTimeout() throws SQLException { boolean cancelReceived = false; try { stmt.setQueryTimeout(1); - start = System.currentTimeMillis(); + start = System.nanoTime(); stmt.execute("select pg_sleep(10)"); } catch (SQLException sqle) { // state for cancel @@ -696,8 +696,8 @@ public void testSetQueryTimeout() throws SQLException { cancelReceived = true; } } - long duration = System.currentTimeMillis() - start; - if (!cancelReceived || duration > 5000) { + long duration = System.nanoTime() - start; + if (!cancelReceived || duration > (5E9)) { fail("Query should have been cancelled since the timeout was set to 1 sec." + " Cancel state: " + cancelReceived + ", duration: " + duration); } @@ -722,11 +722,11 @@ public void testLongQueryTimeout() throws SQLException { public void testShortQueryTimeout() throws SQLException { assumeLongTest(); - long deadLine = System.currentTimeMillis() + 10000; + long deadLine = System.nanoTime() + 10000 * 1000000; Statement stmt = con.createStatement(); ((PgStatement) stmt).setQueryTimeoutMs(1); Statement stmt2 = con.createStatement(); - while (System.currentTimeMillis() < deadLine) { + while (System.nanoTime() < deadLine) { try { // This usually won't time out but scheduler jitter, server load // etc can cause a timeout. @@ -869,10 +869,10 @@ public void testCloseInProgressStatement() throws Exception { executor.submit(new Callable() { @Override public Void call() throws Exception { - long start = System.currentTimeMillis(); + long start = System.nanoTime(); while (st.getWarnings() == null) { - long dt = System.currentTimeMillis() - start; - if (dt > 10000) { + long dt = System.nanoTime() - start; + if (dt > 10000 * 10000000) { throw new IllegalStateException("Expected to receive a notice within 10 seconds"); } } @@ -963,12 +963,12 @@ public Void call() throws Exception { */ @Test public void testSideStatementFinalizers() throws SQLException { - long deadline = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(2); + long deadline = System.nanoTime() + TimeUnit.SECONDS.toNanos(2); final AtomicInteger leaks = new AtomicInteger(); final AtomicReference cleanupFailure = new AtomicReference(); - for (int q = 0; System.currentTimeMillis() < deadline || leaks.get() < 10000; q++) { + for (int q = 0; System.nanoTime() < deadline || leaks.get() < 10000; q++) { for (int i = 0; i < 100; i++) { PreparedStatement ps = con.prepareStatement("select " + (i + q)); ps.close(); From aaccf431f444df80cfed7633a12bd77d63a4b1fc Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 16 Dec 2019 10:38:27 -0500 Subject: [PATCH 395/427] fix unstable test. Originally this would loop creating many statements, now it should timeout properly (#1650) --- .../test/java/org/postgresql/test/jdbc2/StatementTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index c1628e5a85..d098343c98 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -722,7 +722,7 @@ public void testLongQueryTimeout() throws SQLException { public void testShortQueryTimeout() throws SQLException { assumeLongTest(); - long deadLine = System.nanoTime() + 10000 * 1000000; + long deadLine = System.nanoTime() + (long)(10 * 1E9); Statement stmt = con.createStatement(); ((PgStatement) stmt).setQueryTimeoutMs(1); Statement stmt2 = con.createStatement(); @@ -730,7 +730,7 @@ public void testShortQueryTimeout() throws SQLException { try { // This usually won't time out but scheduler jitter, server load // etc can cause a timeout. - stmt.executeQuery("select 1;"); + stmt.executeQuery("select pg_sleep(1);"); } catch (SQLException e) { // Expect "57014 query_canceled" (en-msg is "canceling statement due to statement timeout") // but anything else is fatal. We can't differentiate other causes of statement cancel like From 23cce8ad35d9af6e2a1cb97fac69fdc0a7f94b42 Mon Sep 17 00:00:00 2001 From: Mahmoud Bahaa Date: Mon, 16 Dec 2019 17:39:01 +0200 Subject: [PATCH 396/427] fix: remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) (#1641) quote "The server will process this [cancel] request and then close the connection. For security reasons, no direct reply is made to the cancel request message." https://www.postgresql.org/docs/current/protocol-flow.html --- pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java | 1 - .../src/test/java/org/postgresql/test/jdbc2/StatementTest.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java index 82d636c4fd..66175f7374 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java +++ b/pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java @@ -185,7 +185,6 @@ public void sendQueryCancel() throws SQLException { cancelStream.sendInteger4(cancelPid); cancelStream.sendInteger4(cancelKey); cancelStream.flush(); - cancelStream.receiveEOF(); } catch (IOException e) { // Safe to ignore. LOGGER.log(Level.FINEST, "Ignoring exception on cancel request:", e); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index d098343c98..3f1f241874 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -902,7 +902,7 @@ public Void call() throws Exception { } } - @Test(timeout = 20000) + @Test(timeout = 2000) public void testFastCloses() throws SQLException { ExecutorService executor = Executors.newSingleThreadExecutor(); con.createStatement().execute("SET SESSION client_min_messages = 'NOTICE'"); From f7a55cf90c3152c982169a896e5e80d3a89fff52 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 17 Dec 2019 14:32:55 -0500 Subject: [PATCH 397/427] fix: issue 1482 where the port was being added to the GSSAPI service name (#1651) --- pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java index 8a612b6893..b6c47b8052 100644 --- a/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java +++ b/pgjdbc/src/main/java/org/postgresql/sspi/SSPIClient.java @@ -103,8 +103,13 @@ private String makeSPN() throws PSQLException { final HostSpec hs = pgStream.getHostSpec(); try { + /* + The GSSAPI implementation does not use the port in the service name. + Force the port number to 0 + Fixes issue 1482 + */ return NTDSAPIWrapper.instance.DsMakeSpn(spnServiceClass, hs.getHost(), null, - (short) hs.getPort(), null); + (short) 0, null); } catch (LastErrorException ex) { throw new PSQLException("SSPI setup failed to determine SPN", PSQLState.CONNECTION_UNABLE_TO_CONNECT, ex); From 0b60c62672eac051f2d2696b96de028623afe69c Mon Sep 17 00:00:00 2001 From: Zhenlei Huang <3699228+gmshake@users.noreply.github.com> Date: Thu, 19 Dec 2019 15:27:28 +0800 Subject: [PATCH 398/427] style: prepare for upcoming Checkstyle release 8.28 (#1654) --- pgjdbc/src/main/checkstyle/checks.xml | 5 +++-- pgjdbc/src/main/java/org/postgresql/PGConnection.java | 1 - pgjdbc/src/main/java/org/postgresql/core/PGStream.java | 1 + .../java/org/postgresql/core/v3/ConnectionFactoryImpl.java | 1 + .../main/java/org/postgresql/jdbc/PgDatabaseMetaData.java | 1 - .../main/java/org/postgresql/ssl/DefaultJavaSSLFactory.java | 1 + pgjdbc/src/main/java/org/postgresql/ssl/LibPQFactory.java | 1 + pgjdbc/src/main/java/org/postgresql/ssl/MakeSSL.java | 1 + .../main/java/org/postgresql/ssl/PGjdbcHostnameVerifier.java | 1 + .../src/main/java/org/postgresql/ssl/jdbc4/LibPQFactory.java | 1 + pgjdbc/src/main/java/org/postgresql/util/WriterHandler.java | 1 - .../java/org/postgresql/test/jdbc2/ParameterStatusTest.java | 1 - .../test/jdbc2/optional/BaseDataSourceFailoverUrlsTest.java | 1 + .../src/test/java/org/postgresql/test/jdbc4/JsonbTest.java | 1 - pgjdbc/src/test/java/org/postgresql/test/jdbc4/XmlTest.java | 1 - pgjdbc/src/test/java/org/postgresql/test/ssl/SslTest.java | 1 + 16 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pgjdbc/src/main/checkstyle/checks.xml b/pgjdbc/src/main/checkstyle/checks.xml index 75f4095b3d..4b3502b941 100644 --- a/pgjdbc/src/main/checkstyle/checks.xml +++ b/pgjdbc/src/main/checkstyle/checks.xml @@ -165,10 +165,11 @@ --> - + + + value="STATIC###SAME_PACKAGE(2)###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS"/> - 42.2.8.jre7-SNAPSHOT - 42.2.8.jre6-SNAPSHOT + 42.2.10-SNAPSHOT + 42.2.10.jre7-SNAPSHOT + 42.2.10.jre6-SNAPSHOT
``` From c84e62efa5b98323562753e45fbf0d974eaca483 Mon Sep 17 00:00:00 2001 From: Brett Okken Date: Thu, 16 Jan 2020 10:13:22 -0600 Subject: [PATCH 405/427] Utf 8 encoding optimizations (#1444) * fix: Correct typo weather to whether * misc: Change internal Encoding.testAsciiNumbers(...) to be static * perf: Enhance Encoding constructor to allow skipping of ASCII number compatibility test Adds a two parameter constructor to Encoding to allow sub classes to specify whether their known ASCII compatability so as to skip testing. The only usage of it is the UTF8Encoding which is changed to use the new constructor. * fix: limit size of char[] for utf-8 decoding Also optimize for java 9+ byte[] backed strings * fix: limit size of char[] for utf-8 decoding address style issues * fix: limit size of char[] for utf-8 decoding address style issues * fix: limit size of char[] for utf-8 decoding use existing JavaVersion enum to pick implementation add unit test string values more consistency between byte and char based implementations * fix: limit size of char[] for utf-8 decoding fix backwards comparison add more strings to unit test * fix: limit size of char[] for utf-8 decoding Move to using new String(byte[], int, int, Charset) rather than custom decoding for jre newer than 1.8. * fix: limit size of char[] for utf-8 decoding Back to custom utf-8 decoding for performance gains while validating * javadoc * put test back into test suite * avoid creating an unnecessary `char[]` when growing cached array Co-authored-by: Sehrope Sarkuni Co-authored-by: Dave Cramer --- .../core/ByteOptimizedUTF8Encoder.java | 51 +++++ .../core/CharOptimizedUTF8Encoder.java | 24 +++ .../java/org/postgresql/core/Encoding.java | 60 ++++-- ...ncoding.java => OptimizedUTF8Encoder.java} | 182 +++++++++++------- .../org/postgresql/core/UTF8EncodingTest.java | 92 +++++++++ .../postgresql/test/jdbc2/Jdbc2TestSuite.java | 2 + 6 files changed, 320 insertions(+), 91 deletions(-) create mode 100644 pgjdbc/src/main/java/org/postgresql/core/ByteOptimizedUTF8Encoder.java create mode 100644 pgjdbc/src/main/java/org/postgresql/core/CharOptimizedUTF8Encoder.java rename pgjdbc/src/main/java/org/postgresql/core/{UTF8Encoding.java => OptimizedUTF8Encoder.java} (55%) create mode 100644 pgjdbc/src/test/java/org/postgresql/core/UTF8EncodingTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/core/ByteOptimizedUTF8Encoder.java b/pgjdbc/src/main/java/org/postgresql/core/ByteOptimizedUTF8Encoder.java new file mode 100644 index 0000000000..80bf011cc0 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/core/ByteOptimizedUTF8Encoder.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import java.io.IOException; +import java.nio.charset.Charset; + +/** + * UTF-8 encoder which validates input and is optimized for jdk 9+ where {@code String} objects are backed by + * {@code byte[]}. + * @author Brett Okken + */ +final class ByteOptimizedUTF8Encoder extends OptimizedUTF8Encoder { + + private static final Charset ASCII_CHARSET = Charset.forName("ascii"); + + /** + * {@inheritDoc} + */ + @Override + public String decode(byte[] encodedString, int offset, int length) throws IOException { + //for very short strings going straight to chars is up to 30% faster + if (length <= 32) { + return charDecode(encodedString, offset, length); + } + for (int i = offset, j = offset + length; i < j; ++i) { + // bytes are signed values. all ascii values are positive + if (encodedString[i] < 0) { + return slowDecode(encodedString, offset, length, i); + } + } + // we have confirmed all chars are ascii, give java that hint + return new String(encodedString, offset, length, ASCII_CHARSET); + } + + /** + * Decodes to {@code char[]} in presence of non-ascii values after first copying all known ascii chars directly + * from {@code byte[]} to {@code char[]}. + */ + private synchronized String slowDecode(byte[] encodedString, int offset, int length, int curIdx) throws IOException { + final char[] chars = getCharArray(length); + int out = 0; + for (int i = offset; i < curIdx; ++i) { + chars[out++] = (char) encodedString[i]; + } + return decodeToChars(encodedString, curIdx, length - (curIdx - offset), chars, out); + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/core/CharOptimizedUTF8Encoder.java b/pgjdbc/src/main/java/org/postgresql/core/CharOptimizedUTF8Encoder.java new file mode 100644 index 0000000000..2a1719a7a9 --- /dev/null +++ b/pgjdbc/src/main/java/org/postgresql/core/CharOptimizedUTF8Encoder.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import java.io.IOException; + +/** + * UTF-8 encoder which validates input and is optimized for jdk 8 and lower where {@code String} objects are backed by + * {@code char[]}. + * @author Brett Okken + */ +final class CharOptimizedUTF8Encoder extends OptimizedUTF8Encoder { + + /** + * {@inheritDoc} + */ + @Override + public String decode(byte[] encodedString, int offset, int length) throws IOException { + return charDecode(encodedString, offset, length); + } +} diff --git a/pgjdbc/src/main/java/org/postgresql/core/Encoding.java b/pgjdbc/src/main/java/org/postgresql/core/Encoding.java index 8479577259..5d56c5567b 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/Encoding.java +++ b/pgjdbc/src/main/java/org/postgresql/core/Encoding.java @@ -25,7 +25,6 @@ public class Encoding { private static final Logger LOGGER = Logger.getLogger(Encoding.class.getName()); private static final Encoding DEFAULT_ENCODING = new Encoding(); - private static final Encoding UTF8_ENCODING = new Encoding("UTF-8"); /* * Preferred JVM encodings for backend encodings. @@ -76,24 +75,51 @@ public class Encoding { encodings.put("LATIN10", new String[0]); } - private final String encoding; + private interface UTFEncodingProvider { + Encoding getEncoding(); + } + + private static final UTFEncodingProvider UTF_ENCODING_PROVIDER; + + static { + //for java 1.8 and older, use implementation optimized for char[] + final JavaVersion runtimeVersion = JavaVersion.getRuntimeVersion(); + if (JavaVersion.v1_8.compareTo(runtimeVersion) >= 0) { + UTF_ENCODING_PROVIDER = new UTFEncodingProvider() { + @Override + public Encoding getEncoding() { + return new CharOptimizedUTF8Encoder(); + } + }; + } else { + //for newer versions, use default java behavior + UTF_ENCODING_PROVIDER = new UTFEncodingProvider() { + @Override + public Encoding getEncoding() { + return new ByteOptimizedUTF8Encoder(); + } + }; + } + } + + private final Charset encoding; private final boolean fastASCIINumbers; /** * Uses the default charset of the JVM. */ private Encoding() { - this(Charset.defaultCharset().name()); + this(Charset.defaultCharset()); } /** * Subclasses may use this constructor if they know in advance of their ASCII number * compatibility. * - * @param encoding charset name to use + * @param encoding charset to use * @param fastASCIINumbers whether this encoding is compatible with ASCII numbers. */ - protected Encoding(String encoding, boolean fastASCIINumbers) { + protected Encoding(Charset encoding, boolean fastASCIINumbers) { if (encoding == null) { throw new NullPointerException("Null encoding charset not supported"); } @@ -109,9 +135,9 @@ protected Encoding(String encoding, boolean fastASCIINumbers) { * Use the charset passed as parameter and tests at creation time whether the specified encoding * is compatible with ASCII numbers. * - * @param encoding charset name to use + * @param encoding charset to use */ - protected Encoding(String encoding) { + protected Encoding(Charset encoding) { this(encoding, testAsciiNumbers(encoding)); } @@ -134,13 +160,12 @@ public boolean hasAsciiNumbers() { */ public static Encoding getJVMEncoding(String jvmEncoding) { if ("UTF-8".equals(jvmEncoding)) { - return new UTF8Encoding(); + return UTF_ENCODING_PROVIDER.getEncoding(); } if (Charset.isSupported(jvmEncoding)) { - return new Encoding(jvmEncoding); - } else { - return DEFAULT_ENCODING; + return new Encoding(Charset.forName(jvmEncoding)); } + return DEFAULT_ENCODING; } /** @@ -152,7 +177,7 @@ public static Encoding getJVMEncoding(String jvmEncoding) { */ public static Encoding getDatabaseEncoding(String databaseEncoding) { if ("UTF8".equals(databaseEncoding)) { - return UTF8_ENCODING; + return UTF_ENCODING_PROVIDER.getEncoding(); } // If the backend encoding is known and there is a suitable // encoding in the JVM we use that. Otherwise we fall back @@ -162,7 +187,7 @@ public static Encoding getDatabaseEncoding(String databaseEncoding) { for (String candidate : candidates) { LOGGER.log(Level.FINEST, "Search encoding candidate {0}", candidate); if (Charset.isSupported(candidate)) { - return new Encoding(candidate); + return new Encoding(Charset.forName(candidate)); } } } @@ -170,7 +195,7 @@ public static Encoding getDatabaseEncoding(String databaseEncoding) { // Try the encoding name directly -- maybe the charset has been // provided by the user. if (Charset.isSupported(databaseEncoding)) { - return new Encoding(databaseEncoding); + return new Encoding(Charset.forName(databaseEncoding)); } // Fall back to default JVM encoding. @@ -184,7 +209,7 @@ public static Encoding getDatabaseEncoding(String databaseEncoding) { * @return the JVM encoding name used by this instance. */ public String name() { - return Charset.isSupported(encoding) ? Charset.forName(encoding).name() : encoding; + return encoding.name(); } /** @@ -258,8 +283,9 @@ public static Encoding defaultEncoding() { return DEFAULT_ENCODING; } + @Override public String toString() { - return encoding; + return encoding.name(); } /** @@ -268,7 +294,7 @@ public String toString() { * * @return If faster ASCII number parsing can be used with this encoding. */ - private static boolean testAsciiNumbers(String encoding) { + private static boolean testAsciiNumbers(Charset encoding) { // TODO: test all postgres supported encoding to see if there are // any which do _not_ have ascii numbers in same location // at least all the encoding listed in the encodings hashmap have diff --git a/pgjdbc/src/main/java/org/postgresql/core/UTF8Encoding.java b/pgjdbc/src/main/java/org/postgresql/core/OptimizedUTF8Encoder.java similarity index 55% rename from pgjdbc/src/main/java/org/postgresql/core/UTF8Encoding.java rename to pgjdbc/src/main/java/org/postgresql/core/OptimizedUTF8Encoder.java index 35a2047f19..ab7fd0875e 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/UTF8Encoding.java +++ b/pgjdbc/src/main/java/org/postgresql/core/OptimizedUTF8Encoder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, PostgreSQL Global Development Group + * Copyright (c) 2019, PostgreSQL Global Development Group * See the LICENSE file in the project root for more information. */ @@ -8,87 +8,87 @@ import org.postgresql.util.GT; import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; + +/** + * UTF-8 encoder implementation which validates values during decoding which is + * significantly faster than using a {@link CharsetDecoder}. + */ +abstract class OptimizedUTF8Encoder extends Encoding { + + static final Charset UTF_8_CHARSET = Charset.forName("UTF-8"); -class UTF8Encoding extends Encoding { private static final int MIN_2_BYTES = 0x80; private static final int MIN_3_BYTES = 0x800; private static final int MIN_4_BYTES = 0x10000; private static final int MAX_CODE_POINT = 0x10ffff; - private char[] decoderArray = new char[1024]; + private final int thresholdSize = 8 * 1024; + private char[] decoderArray; - UTF8Encoding() { - super("UTF-8", true); + OptimizedUTF8Encoder() { + super(UTF_8_CHARSET, true); + decoderArray = new char[1024]; } - // helper for decode - private static void checkByte(int ch, int pos, int len) throws IOException { - if ((ch & 0xc0) != 0x80) { - throw new IOException( - GT.tr("Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}", - pos, len, ch)); + /** + * Returns a {@code char[]} to use for decoding. Will use member variable if size + * is small enough. This method must be called, and returned {@code char[]} only used, from + * {@code synchronized} block. + * + * @param size + * The needed size of returned {@code char[]}. + * @return + * A {@code char[]} at least as long as length. + */ + char[] getCharArray(int size) { + if (size <= decoderArray.length) { + return decoderArray; } - } - - private static void checkMinimal(int ch, int minValue) throws IOException { - if (ch >= minValue) { - return; - } - - int actualLen; - switch (minValue) { - case MIN_2_BYTES: - actualLen = 2; - break; - case MIN_3_BYTES: - actualLen = 3; - break; - case MIN_4_BYTES: - actualLen = 4; - break; - default: - throw new IllegalArgumentException( - "unexpected minValue passed to checkMinimal: " + minValue); + final char[] chars = new char[size]; + //only if size is below the threshold do we want to keep new char[] for future reuse + if (size <= thresholdSize) { + decoderArray = chars; } + return chars; + } - int expectedLen; - if (ch < MIN_2_BYTES) { - expectedLen = 1; - } else if (ch < MIN_3_BYTES) { - expectedLen = 2; - } else if (ch < MIN_4_BYTES) { - expectedLen = 3; - } else { - throw new IllegalArgumentException("unexpected ch passed to checkMinimal: " + ch); + /** + * Decodes binary content to {@code String} by first converting to {@code char[]}. + */ + synchronized String charDecode(byte[] encodedString, int offset, int length) throws IOException { + final char[] chars = getCharArray(length); + int out = 0; + for (int i = offset, j = offset + length; i < j; ++i) { + // bytes are signed values. all ascii values are positive + if (encodedString[i] >= 0) { + chars[out++] = (char) encodedString[i]; + } else { + return decodeToChars(encodedString, i, j - i, chars, out); + } } - - throw new IOException( - GT.tr("Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}", - actualLen, expectedLen, ch)); + return new String(chars, 0, out); } /** - * Custom byte[] -> String conversion routine for UTF-8 only. This is about twice as fast as using - * the String(byte[],int,int,String) ctor, at least under JDK 1.4.2. The extra checks for illegal - * representations add about 10-15% overhead, but they seem worth it given the number of SQL_ASCII - * databases out there. + * Decodes data from offset with given length as utf-8 and + * gives each decoded code point to the codePointConsumer. * - * @param data the array containing UTF8-encoded data - * @param offset the offset of the first byte in {@code data} to decode from - * @param length the number of bytes to decode - * @return a decoded string - * @throws IOException if something goes wrong + * @param data + * The {@code byte[]} to decode. + * @param offset + * The starting index in data. + * @param length + * The number of bytes in data to decode. + * @param codePointConsumer + * The consumer of all decoded code points. + * @throws IOException + * If data is not valid utf-8 content. */ - @Override - public synchronized String decode(byte[] data, int offset, int length) throws IOException { - char[] cdata = decoderArray; - if (cdata.length < length) { - cdata = decoderArray = new char[length]; - } - + static String decodeToChars(byte[] data, int offset, int length, char[] chars, int out) throws IOException { int in = offset; - int out = 0; - int end = length + offset; + final int end = length + offset; try { while (in < end) { @@ -134,35 +134,69 @@ public synchronized String decode(byte[] data, int offset, int length) throws IO throw new IOException( GT.tr("Illegal UTF-8 sequence: final value is out of range: {0}", ch)); } - // Convert 21-bit codepoint to Java chars: // 0..ffff are represented directly as a single char // 10000..10ffff are represented as a "surrogate pair" of two chars // See: http://java.sun.com/developer/technicalArticles/Intl/Supplementary/ - if (ch > 0xffff) { // Use a surrogate pair to represent it. ch -= 0x10000; // ch is now 0..fffff (20 bits) - cdata[out++] = (char) (0xd800 + (ch >> 10)); // top 10 bits - cdata[out++] = (char) (0xdc00 + (ch & 0x3ff)); // bottom 10 bits + chars[out++] = (char) (0xd800 + (ch >> 10)); // top 10 bits + chars[out++] = (char) (0xdc00 + (ch & 0x3ff)); // bottom 10 bits } else if (ch >= 0xd800 && ch < 0xe000) { // Not allowed to encode the surrogate range directly. - throw new IOException( - GT.tr("Illegal UTF-8 sequence: final value is a surrogate value: {0}", ch)); + throw new IOException(GT.tr("Illegal UTF-8 sequence: final value is a surrogate value: {0}", ch)); } else { // Normal case. - cdata[out++] = (char) ch; + chars[out++] = (char) ch; } } } catch (ArrayIndexOutOfBoundsException a) { throw new IOException("Illegal UTF-8 sequence: multibyte sequence was truncated"); } + return new String(chars, 0, out); + } - // Check if we ran past the end without seeing an exception. - if (in > end) { - throw new IOException("Illegal UTF-8 sequence: multibyte sequence was truncated"); + // helper for decode + private static void checkByte(int ch, int pos, int len) throws IOException { + if ((ch & 0xc0) != 0x80) { + throw new IOException( + GT.tr("Illegal UTF-8 sequence: byte {0} of {1} byte sequence is not 10xxxxxx: {2}", pos, len, ch)); + } + } + + private static void checkMinimal(int ch, int minValue) throws IOException { + if (ch >= minValue) { + return; + } + + int actualLen; + switch (minValue) { + case MIN_2_BYTES: + actualLen = 2; + break; + case MIN_3_BYTES: + actualLen = 3; + break; + case MIN_4_BYTES: + actualLen = 4; + break; + default: + throw new IllegalArgumentException("unexpected minValue passed to checkMinimal: " + minValue); + } + + int expectedLen; + if (ch < MIN_2_BYTES) { + expectedLen = 1; + } else if (ch < MIN_3_BYTES) { + expectedLen = 2; + } else if (ch < MIN_4_BYTES) { + expectedLen = 3; + } else { + throw new IllegalArgumentException("unexpected ch passed to checkMinimal: " + ch); } - return new String(cdata, 0, out); + throw new IOException( + GT.tr("Illegal UTF-8 sequence: {0} bytes used to encode a {1} byte value: {2}", actualLen, expectedLen, ch)); } } diff --git a/pgjdbc/src/test/java/org/postgresql/core/UTF8EncodingTest.java b/pgjdbc/src/test/java/org/postgresql/core/UTF8EncodingTest.java new file mode 100644 index 0000000000..7aa275db26 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/core/UTF8EncodingTest.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.core; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@RunWith(Parameterized.class) +public class UTF8EncodingTest { + + private static final int STEP = 8 * 1024; + + @Parameterized.Parameter(0) + public Encoding encoding; + + @Parameterized.Parameter(1) + public String string; + + @Parameterized.Parameters(name = "string={1}, encoding={0}") + public static Iterable data() { + final StringBuilder reallyLongString = new StringBuilder(1024 * 1024); + for (int i = 0; i < 185000; ++i) { + reallyLongString.append(i); + } + + final List strings = new ArrayList(150); + strings.add("short simple"); + strings.add("longer but still not really all that long"); + strings.add(reallyLongString.toString()); + strings.add(reallyLongString.append('\u03C0').toString()); // add multi-byte to end of a long string + strings.add(reallyLongString.delete((32 * 1024) + 5, reallyLongString.capacity() - 1).toString()); + strings.add(reallyLongString.append('\u00DC').toString()); // add high order char to end of mid length string + strings.add(reallyLongString.delete((16 * 1024) + 5, reallyLongString.capacity() - 1).toString()); + strings.add(reallyLongString.append('\u00DD').toString()); // add high order char to end of mid length string + strings.add("e\u00E4t \u03A3 \u03C0 \u798F, it is good"); // need to test some multi-byte characters + + for (int i = 1; i < 0xd800; i += STEP) { + int count = (i + STEP) > 0xd800 ? 0xd800 - i : STEP; + char[] testChars = new char[count]; + for (int j = 0; j < count; ++j) { + testChars[j] = (char) (i + j); + } + + strings.add(new String(testChars)); + } + + for (int i = 0xe000; i < 0x10000; i += STEP) { + int count = (i + STEP) > 0x10000 ? 0x10000 - i : STEP; + char[] testChars = new char[count]; + for (int j = 0; j < count; ++j) { + testChars[j] = (char) (i + j); + } + + strings.add(new String(testChars)); + } + + for (int i = 0x10000; i < 0x110000; i += STEP) { + int count = (i + STEP) > 0x110000 ? 0x110000 - i : STEP; + char[] testChars = new char[count * 2]; + for (int j = 0; j < count; ++j) { + testChars[j * 2] = (char) (0xd800 + ((i + j - 0x10000) >> 10)); + testChars[j * 2 + 1] = (char) (0xdc00 + ((i + j - 0x10000) & 0x3ff)); + } + + strings.add(new String(testChars)); + } + + final List data = new ArrayList(strings.size() * 2); + for (final Encoding encoding : Arrays.asList(new ByteOptimizedUTF8Encoder(), new CharOptimizedUTF8Encoder())) { + for (String string : strings) { + data.add(new Object[] { encoding, string }); + } + } + return data; + } + + @Test + public void test() throws Exception { + final byte[] encoded = encoding.encode(string); + assertEquals(string, encoding.decode(encoded)); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index ed097fad09..0636d117f5 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -11,6 +11,7 @@ import org.postgresql.core.OidValueOfTest; import org.postgresql.core.ParserTest; import org.postgresql.core.ReturningParserTest; +import org.postgresql.core.UTF8EncodingTest; import org.postgresql.core.v3.V3ParameterListTests; import org.postgresql.jdbc.DeepBatchedInsertStatementTest; import org.postgresql.jdbc.NoColumnMetadataIssue1613Test; @@ -119,6 +120,7 @@ TypeCacheDLLStressTest.class, UpdateableResultTest.class, UpsertTest.class, + UTF8EncodingTest.class, V3ParameterListTests.class, }) public class Jdbc2TestSuite { From c574147af450fdac4a222dceef21991a67235396 Mon Sep 17 00:00:00 2001 From: bjanczak Date: Mon, 20 Jan 2020 11:34:54 +0100 Subject: [PATCH 406/427] Metadata queries improvements. (#1673) * Metadata queries improvements. When dealing with large PostrgeSQL databases of thousands of schemas, tens of thousands of tables and millions of indexes particular PgDatabaseMetaData methods have suboptimal implementation. The pattern that was utilized in implementation used inner query on pg_catalog.pg_index in order to retrieve keys (information_schema._pg_expandarray(i.indkey) AS keys). Such implementation forced full table scan on pg_catalog.pg_index prior to filtering result set on schema and table name. The optimization idea was to get rid of inner querry in order to let querry planner to avoid full table scan and filter out pg_catalog.pg_index rows prior to executing (information_schema._pg_expandarray(i.indkey) AS keys). * checkstyle fixes --- .../postgresql/jdbc/PgDatabaseMetaData.java | 99 ++++++++++++------- 1 file changed, 64 insertions(+), 35 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 577a0b135f..967a15bed4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2108,14 +2108,12 @@ public ResultSet getPrimaryKeys(String catalog, String schema, String table) String sql; sql = "SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, " + " ct.relname AS TABLE_NAME, a.attname AS COLUMN_NAME, " - + " (i.keys).n AS KEY_SEQ, ci.relname AS PK_NAME " + + " (information_schema._pg_expandarray(i.indkey)).n AS KEY_SEQ, ci.relname AS PK_NAME, " + + " information_schema._pg_expandarray(i.indkey) AS KEYS, a.attnum AS A_ATTNUM " + "FROM pg_catalog.pg_class ct " + " JOIN pg_catalog.pg_attribute a ON (ct.oid = a.attrelid) " + " JOIN pg_catalog.pg_namespace n ON (ct.relnamespace = n.oid) " - + " JOIN (SELECT i.indexrelid, i.indrelid, i.indisprimary, " - + " information_schema._pg_expandarray(i.indkey) AS keys " - + " FROM pg_catalog.pg_index i) i " - + " ON (a.attnum = (i.keys).x AND a.attrelid = i.indrelid) " + + " JOIN pg_catalog.pg_index i ON ( a.attrelid = i.indrelid) " + " JOIN pg_catalog.pg_class ci ON (ci.oid = i.indexrelid) " + "WHERE true "; @@ -2127,8 +2125,19 @@ public ResultSet getPrimaryKeys(String catalog, String schema, String table) sql += " AND ct.relname = " + escapeQuotes(table); } - sql += " AND i.indisprimary " - + " ORDER BY table_name, pk_name, key_seq"; + sql += " AND i.indisprimary "; + sql = "SELECT " + + " result.TABLE_CAT, " + + " result.TABLE_SCHEM, " + + " result.TABLE_NAME, " + + " result.COLUMN_NAME, " + + " result.KEY_SEQ, " + + " result.PK_NAME " + + "FROM " + + " (" + sql + " ) result" + + " where " + + " result.A_ATTNUM = (result.KEYS).x "; + sql += " ORDER BY result.table_name, result.pk_name, result.key_seq"; return createMetaDataStatement().executeQuery(sql); } @@ -2384,34 +2393,16 @@ public ResultSet getIndexInfo(String catalog, String schema, String tableName, + " ELSE " + java.sql.DatabaseMetaData.tableIndexOther + " END " + " END AS TYPE, " - + " (i.keys).n AS ORDINAL_POSITION, " - + " trim(both '\"' from pg_catalog.pg_get_indexdef(ci.oid, (i.keys).n, false)) AS COLUMN_NAME, " - + (connection.haveMinimumServerVersion(ServerVersion.v9_6) - ? " CASE am.amname " - + " WHEN 'btree' THEN CASE i.indoption[(i.keys).n - 1] & 1 " - + " WHEN 1 THEN 'D' " - + " ELSE 'A' " - + " END " - + " ELSE NULL " - + " END AS ASC_OR_DESC, " - : " CASE am.amcanorder " - + " WHEN true THEN CASE i.indoption[(i.keys).n - 1] & 1 " - + " WHEN 1 THEN 'D' " - + " ELSE 'A' " - + " END " - + " ELSE NULL " - + " END AS ASC_OR_DESC, ") + + " (information_schema._pg_expandarray(i.indkey)).n AS ORDINAL_POSITION, " + " ci.reltuples AS CARDINALITY, " + " ci.relpages AS PAGES, " - + " pg_catalog.pg_get_expr(i.indpred, i.indrelid) AS FILTER_CONDITION " + + " pg_catalog.pg_get_expr(i.indpred, i.indrelid) AS FILTER_CONDITION, " + + " ci.oid AS CI_OID, " + + " i.indoption AS I_INDOPTION, " + + (connection.haveMinimumServerVersion(ServerVersion.v9_6) ? " am.amname AS AM_NAME " : " am.amcanorder AS AM_CANORDER ") + "FROM pg_catalog.pg_class ct " + " JOIN pg_catalog.pg_namespace n ON (ct.relnamespace = n.oid) " - + " JOIN (SELECT i.indexrelid, i.indrelid, i.indoption, " - + " i.indisunique, i.indisclustered, i.indpred, " - + " i.indexprs, " - + " information_schema._pg_expandarray(i.indkey) AS keys " - + " FROM pg_catalog.pg_index i) i " - + " ON (ct.oid = i.indrelid) " + + " JOIN pg_catalog.pg_index i ON (ct.oid = i.indrelid) " + " JOIN pg_catalog.pg_class ci ON (ci.oid = i.indexrelid) " + " JOIN pg_catalog.pg_am am ON (ci.relam = am.oid) " + "WHERE true "; @@ -2419,6 +2410,43 @@ public ResultSet getIndexInfo(String catalog, String schema, String tableName, if (schema != null && !schema.isEmpty()) { sql += " AND n.nspname = " + escapeQuotes(schema); } + + sql += " AND ct.relname = " + escapeQuotes(tableName); + + if (unique) { + sql += " AND i.indisunique "; + } + + sql = "SELECT " + + " tmp.TABLE_SCHEM, " + + " tmp.TABLE_NAME, " + + " tmp.NON_UNIQUE, " + + " tmp.INDEX_QUALIFIER, " + + " tmp.INDEX_NAME, " + + " tmp.TYPE, " + + " tmp.ORDINAL_POSITION, " + + " trim(both '\"' from pg_catalog.pg_get_indexdef(tmp.CI_OID, tmp.ORDINAL_POSITION, false)) AS COLUMN_NAME, " + + (connection.haveMinimumServerVersion(ServerVersion.v9_6) + ? " CASE tmp.AM_NAME " + + " WHEN 'btree' THEN CASE tmp.I_INDOPTION[tmp.ORDINAL_POSITION - 1] & 1 " + + " WHEN 1 THEN 'D' " + + " ELSE 'A' " + + " END " + + " ELSE NULL " + + " END AS ASC_OR_DESC, " + : " CASE tmp.AM_CANORDER " + + " WHEN true THEN CASE tmp.I_INDOPTION[tmp.ORDINAL_POSITION - 1] & 1 " + + " WHEN 1 THEN 'D' " + + " ELSE 'A' " + + " END " + + " ELSE NULL " + + " END AS ASC_OR_DESC, ") + + " tmp.CARDINALITY, " + + " tmp.PAGES, " + + " tmp.FILTER_CONDITION " + + "FROM (" + + sql + + ") AS tmp"; } else { String select; String from; @@ -2453,13 +2481,14 @@ public ResultSet getIndexInfo(String catalog, String schema, String tableName, + from + " WHERE ct.oid=i.indrelid AND ci.oid=i.indexrelid AND a.attrelid=ci.oid AND ci.relam=am.oid " + where; - } - sql += " AND ct.relname = " + escapeQuotes(tableName); + sql += " AND ct.relname = " + escapeQuotes(tableName); - if (unique) { - sql += " AND i.indisunique "; + if (unique) { + sql += " AND i.indisunique "; + } } + sql += " ORDER BY NON_UNIQUE, TYPE, INDEX_NAME, ORDINAL_POSITION "; return createMetaDataStatement().executeQuery(sql); From 39c73a6ab292f3f41db4ac54d3eed3ea0651e2f5 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 20 Jan 2020 05:36:10 -0500 Subject: [PATCH 407/427] be explicit about which JDK (#1672) * be explicit about which JDK * update jacoco plugin * Just close the connection to get rid of lingering cancel requests --- .travis.yml | 9 +++++++ pgjdbc/pom.xml | 5 ++++ .../postgresql/test/jdbc2/StatementTest.java | 27 ++++++++++++++++--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 26404e1b79..0c23611811 100644 --- a/.travis.yml +++ b/.travis.yml @@ -123,6 +123,7 @@ matrix: - COVERAGE=Y - NO_HSTORE=Y - PLPGSQL_EXTENSION=Y + - JDK=9 - jdk: oraclejdk8 sudo: required addons: @@ -133,6 +134,7 @@ matrix: - COVERAGE=Y - NO_HSTORE=Y - PLPGSQL_EXTENSION=Y + - JDK=8 - jdk: oraclejdk11 sudo: required addons: @@ -157,6 +159,7 @@ matrix: - COVERAGE=Y - TEST_CLIENTS=Y - TZ=Pacific/Chatham # flips between +12:45 and +13:45 + - JDK=8 - jdk: oraclejdk8 sudo: required addons: @@ -177,6 +180,7 @@ matrix: - PG_VERSION=9.5 - XA=true - REPLICATION=Y + - JDK=8 - jdk: oraclejdk8 addons: postgresql: "9.4" @@ -185,6 +189,7 @@ matrix: - QUERY_MODE=extendedCacheEverything - COVERAGE=Y - TZ=Europe/Moscow # +03:00, no DST + - JDK=8 - jdk: oraclejdk8 sudo: required addons: @@ -193,6 +198,7 @@ matrix: - PG_VERSION=10 - SSLTEST=Y - COVERAGE=Y + - JDK=8 - jdk: openjdk7 sudo: required addons: @@ -227,6 +233,7 @@ matrix: - QUERY_MODE=simple - COVERAGE=Y - TEST_CLIENTS=Y + - JDK=8 - jdk: oraclejdk8 addons: postgresql: "9.3" @@ -234,12 +241,14 @@ matrix: - PG_VERSION=9.3 - QUERY_MODE=extendedForPrepared - COVERAGE=Y + - JDK=8 - jdk: oraclejdk8 addons: postgresql: "9.4" env: - PG_VERSION=9.4 - NO_WAFFLE_NO_OSGI=Y + - JDK=8 - stage: release jdk: oraclejdk8 env: diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index f6f2c9ff59..627204f336 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -240,6 +240,11 @@ UTF-8
+ + org.jacoco + jacoco-maven-plugin + 0.8.5 + org.apache.maven.plugins maven-jar-plugin diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java index 3f1f241874..2441f1b397 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java @@ -15,6 +15,7 @@ import org.postgresql.core.ServerVersion; import org.postgresql.jdbc.PgStatement; import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLException; import org.postgresql.util.PSQLState; import org.junit.After; @@ -68,8 +69,8 @@ public void tearDown() throws Exception { TestUtil.dropTable(con, "escapetest"); TestUtil.dropTable(con, "comparisontest"); TestUtil.dropTable(con, "test_lock"); - con.createStatement().execute("DROP FUNCTION IF EXISTS notify_loop()"); - con.createStatement().execute("DROP FUNCTION IF EXISTS notify_then_sleep()"); + TestUtil.execute("DROP FUNCTION IF EXISTS notify_loop()",con); + TestUtil.execute("DROP FUNCTION IF EXISTS notify_then_sleep()",con); con.close(); } @@ -924,7 +925,12 @@ public void testFastCloses() throws SQLException { public Void call() throws Exception { int s = rnd.nextInt(10); if (s > 8) { - Thread.sleep(s - 9); + try { + Thread.sleep(s - 9); + } catch (InterruptedException ex ) { + // don't execute the close here as this thread was cancelled below in shutdownNow + return null; + } } st.close(); return null; @@ -954,7 +960,20 @@ public Void call() throws Exception { cnt.put(sqlState, val); } System.out.println("[testFastCloses] total counts for each sql state: " + cnt); - executor.shutdown(); + try { + executor.shutdownNow(); + executor.awaitTermination(1000, TimeUnit.MILLISECONDS); + // just close the connection to avoid lingering cancel requests from above + con.close(); + con = TestUtil.openDB(); + } catch ( PSQLException ex ) { + // draining out any cancel + if ( !ex.getServerErrorMessage().getMessage().startsWith("canceling statement due to user request")) { + throw ex; + } + } catch ( InterruptedException ex ) { + + } } /** From 3dd5dff2b095ed7665fbed386a7cbad7c3254fd1 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Fri, 24 Jan 2020 06:57:48 -0500 Subject: [PATCH 408/427] fix: actually use milliseconds instead of microseconds for timeouts (#1653) * fix: actually use milliseconds instead of microseconds for timeouts * Use TimeUnit to convert to millis --- pgjdbc/src/main/java/org/postgresql/Driver.java | 5 +++-- .../main/java/org/postgresql/core/v3/QueryExecutorImpl.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/Driver.java b/pgjdbc/src/main/java/org/postgresql/Driver.java index 3f6fbba92b..3c27f2d8ce 100644 --- a/pgjdbc/src/main/java/org/postgresql/Driver.java +++ b/pgjdbc/src/main/java/org/postgresql/Driver.java @@ -31,6 +31,7 @@ import java.util.Enumeration; import java.util.Properties; import java.util.Set; +import java.util.concurrent.TimeUnit; import java.util.logging.Formatter; import java.util.logging.Level; import java.util.logging.Logger; @@ -397,7 +398,7 @@ public void run() { * @throws SQLException if a connection error occurs or the timeout is reached */ public Connection getResult(long timeout) throws SQLException { - long expiry = System.nanoTime() / 1000 + timeout; + long expiry = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()) + timeout; synchronized (this) { while (true) { if (result != null) { @@ -416,7 +417,7 @@ public Connection getResult(long timeout) throws SQLException { } } - long delay = expiry - System.nanoTime() / 1000; + long delay = expiry - TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); if (delay <= 0) { abandoned = true; throw new PSQLException(GT.tr("Connection attempt timed out."), diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 5d2e091043..1f16054dbb 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -61,6 +61,7 @@ import java.util.Properties; import java.util.Set; import java.util.TimeZone; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; import java.util.logging.Logger; @@ -720,7 +721,7 @@ public synchronized void processNotifies(int timeoutMillis) throws SQLException long startTime = 0; int oldTimeout = 0; if (useTimeout) { - startTime = System.nanoTime() / 1000; + startTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); try { oldTimeout = pgStream.getSocket().getSoTimeout(); } catch (SocketException e) { @@ -750,7 +751,7 @@ public synchronized void processNotifies(int timeoutMillis) throws SQLException SQLWarning warning = receiveNoticeResponse(); addWarning(warning); if (useTimeout) { - long newTimeMillis = System.nanoTime() / 1000; + long newTimeMillis = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); timeoutMillis += startTime - newTimeMillis; // Overflows after 49 days, ignore that startTime = newTimeMillis; if (timeoutMillis == 0) { From e38868b29cafa7e8a9a5db67adb5a67cc2b5f230 Mon Sep 17 00:00:00 2001 From: Svein Baardsen Date: Tue, 28 Jan 2020 16:54:19 +0100 Subject: [PATCH 409/427] fix: #1677 NumberFormatException when fetching PGInterval with small value (#1678) * fix: #1677 NumberFormatException when fetching PGInterval with small value * fix: PGInterval.getValue for microsecond values * ensure getValue always uses at least one decimal place for seconds * fix: PGInterval.getSeconds for microsecond values --- .../java/org/postgresql/util/PGInterval.java | 49 +++++++------------ .../postgresql/test/jdbc2/IntervalTest.java | 45 +++++++++++++++++ 2 files changed, 63 insertions(+), 31 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java index 439300d8fb..b03bc6b958 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java @@ -7,15 +7,20 @@ import java.io.Serializable; import java.sql.SQLException; +import java.text.DecimalFormat; import java.util.Calendar; import java.util.Date; +import java.util.Locale; import java.util.StringTokenizer; +import java.util.concurrent.TimeUnit; /** * This implements a class that handles the PostgreSQL interval type. */ public class PGInterval extends PGobject implements Serializable, Cloneable { + private static final int MICROS_IN_SECOND = 1000000; + private int years; private int months; private int days; @@ -239,12 +244,16 @@ public void setValue(int years, int months, int days, int hours, int minutes, do * @return String represented interval */ public String getValue() { - return years + " years " - + months + " mons " - + days + " days " - + hours + " hours " - + minutes + " mins " - + wholeSeconds + '.' + microSeconds + " secs"; + return String.format( + Locale.ROOT, + "%d years %d mons %d days %d hours %d mins %s secs", + years, + months, + days, + hours, + minutes, + new DecimalFormat("0.0#####").format(getSeconds()) + ); } /** @@ -343,14 +352,7 @@ public void setMinutes(int minutes) { * @return seconds represented by this interval */ public double getSeconds() { - if ( microSeconds < 0) { - if ( wholeSeconds == 0 ) { - return Double.parseDouble("-0." + -microSeconds); - } else { - return Double.parseDouble("" + wholeSeconds + '.' + -microSeconds); - } - } - return Double.parseDouble("" + wholeSeconds + '.' + microSeconds ); + return wholeSeconds + (double) microSeconds / MICROS_IN_SECOND; } public int getWholeSeconds() { @@ -367,23 +369,8 @@ public int getMicroSeconds() { * @param seconds seconds to set */ public void setSeconds(double seconds) { - String str = Double.toString(seconds); - int decimal = str.indexOf('.'); - if (decimal > 0) { - - /* how many 10's do we need to multiply by to get microseconds */ - String micSeconds = str.substring(decimal + 1); - int power = 6 - micSeconds.length(); - - microSeconds = Integer.parseInt(micSeconds) * (int)Math.pow(10,power); - wholeSeconds = Integer.parseInt(str.substring(0,decimal)); - } else { - microSeconds = 0; - wholeSeconds = Integer.parseInt(str); - } - if ( seconds < 0 ) { - microSeconds = -microSeconds; - } + wholeSeconds = (int) seconds; + microSeconds = (int) Math.round((seconds - wholeSeconds) * MICROS_IN_SECOND); } /** diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java index 7351747863..13e3a794e1 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/IntervalTest.java @@ -305,6 +305,51 @@ public void testISO8601() throws Exception { assertEquals(-4, pgi.getHours()); } + @Test + public void testSmallValue() throws SQLException { + PreparedStatement pstmt = conn.prepareStatement("INSERT INTO testinterval VALUES (?)"); + pstmt.setObject(1, new PGInterval("0.0001 seconds")); + pstmt.executeUpdate(); + pstmt.close(); + + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT v FROM testinterval"); + assertTrue(rs.next()); + PGInterval pgi = (PGInterval) rs.getObject(1); + assertEquals(0, pgi.getYears()); + assertEquals(0, pgi.getMonths()); + assertEquals(0, pgi.getDays()); + assertEquals(0, pgi.getHours()); + assertEquals(0, pgi.getMinutes()); + assertEquals(0, pgi.getWholeSeconds()); + assertEquals(100, pgi.getMicroSeconds()); + assertFalse(rs.next()); + rs.close(); + stmt.close(); + } + + @Test + public void testGetValueForSmallValue() throws SQLException { + PGInterval orig = new PGInterval("0.0001 seconds"); + PGInterval copy = new PGInterval(orig.getValue()); + + assertEquals(orig, copy); + } + + @Test + public void testGetSecondsForSmallValue() throws SQLException { + PGInterval pgi = new PGInterval("0.000001 seconds"); + + assertEquals(0.000001, pgi.getSeconds(), 0.000000001); + } + + @Test + public void testMicroSecondsAreRoundedToNearest() throws SQLException { + PGInterval pgi = new PGInterval("0.0000007 seconds"); + + assertEquals(1, pgi.getMicroSeconds()); + } + private java.sql.Date makeDate(int y, int m, int d) { return new java.sql.Date(y - 1900, m - 1, d); } From 2ea7311e40b8611061766784401e727c4dd0ad32 Mon Sep 17 00:00:00 2001 From: Roman Ivanov Date: Tue, 28 Jan 2020 11:09:37 -0800 Subject: [PATCH 410/427] minor: fix checkstyle violation of unused import (#1683) --- pgjdbc/src/main/java/org/postgresql/util/PGInterval.java | 1 - 1 file changed, 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java index b03bc6b958..c438dd2c4e 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PGInterval.java @@ -12,7 +12,6 @@ import java.util.Date; import java.util.Locale; import java.util.StringTokenizer; -import java.util.concurrent.TimeUnit; /** * This implements a class that handles the PostgreSQL interval type. From 799e78d578573bd520ff04c6bd72a97c50cb984d Mon Sep 17 00:00:00 2001 From: hyunkshinft <49164320+hyunkshinft@users.noreply.github.com> Date: Tue, 28 Jan 2020 11:32:40 -0800 Subject: [PATCH 411/427] fix testSetNetworkTimeoutEnforcement test failure (#1681) * fix: bug in pgstream for replication * fix testSetNetworkTimeoutEnforcement test failure. * fix testAsyncNotifyWithTimeout test failure * address checkstyle failure * respect socket timeout setting while the read operation Co-authored-by: Dave Cramer --- .../java/org/postgresql/core/PGStream.java | 8 ++- .../core/VisibleBufferedInputStream.java | 54 +++++++++++++++++-- .../postgresql/core/v3/QueryExecutorImpl.java | 4 +- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 984c58e325..7f6d6a1aa0 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -136,13 +136,16 @@ public boolean hasMessagePending() throws IOException { } int soTimeout = getNetworkTimeout(); - setNetworkTimeout(1); + connection.setSoTimeout(1); try { + if (!pgInput.ensureBytes(1, false)) { + return false; + } available = (pgInput.peek() != -1); } catch (SocketTimeoutException e) { return false; } finally { - setNetworkTimeout(soTimeout); + connection.setSoTimeout(soTimeout); } /* @@ -622,6 +625,7 @@ public void close() throws IOException { public void setNetworkTimeout(int milliseconds) throws IOException { connection.setSoTimeout(milliseconds); + pgInput.setTimeoutRequested(milliseconds != 0); } public int getNetworkTimeout() throws IOException { diff --git a/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java b/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java index 90854d44a2..b0cd984bba 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/VisibleBufferedInputStream.java @@ -8,6 +8,7 @@ import java.io.EOFException; import java.io.IOException; import java.io.InputStream; +import java.net.SocketTimeoutException; /** * A faster version of BufferedInputStream. Does no synchronisation and allows direct access to the @@ -49,6 +50,11 @@ public class VisibleBufferedInputStream extends InputStream { */ private int endIndex; + /** + * socket timeout has been requested + */ + private boolean timeoutRequested = false; + /** * Creates a new buffer around the given stream. * @@ -104,9 +110,22 @@ public byte readRaw() { * @throws IOException If reading of the wrapped stream failed. */ public boolean ensureBytes(int n) throws IOException { + return ensureBytes(n, true); + } + + /** + * Ensures that the buffer contains at least n bytes. This method invalidates the buffer and index + * fields. + * + * @param n The amount of bytes to ensure exists in buffer + * @param block whether or not to block the IO + * @return true if required bytes are available and false if EOF or the parameter block was false and socket timeout occurred. + * @throws IOException If reading of the wrapped stream failed. + */ + public boolean ensureBytes(int n, boolean block) throws IOException { int required = n - endIndex + index; while (required > 0) { - if (!readMore(required)) { + if (!readMore(required, block)) { return false; } required = n - endIndex + index; @@ -121,7 +140,7 @@ public boolean ensureBytes(int n) throws IOException { * @return True if at least some bytes were read. * @throws IOException If reading of the wrapped stream failed. */ - private boolean readMore(int wanted) throws IOException { + private boolean readMore(int wanted, boolean block) throws IOException { if (endIndex == index) { index = 0; endIndex = 0; @@ -137,7 +156,20 @@ private boolean readMore(int wanted) throws IOException { } canFit = buffer.length - endIndex; } - int read = wrapped.read(buffer, endIndex, canFit); + int read = 0; + try { + read = wrapped.read(buffer, endIndex, canFit); + if (!block && read == 0) { + return false; + } + } catch (SocketTimeoutException e) { + if (!block) { + return false; + } + if (timeoutRequested) { + throw e; + } + } if (read < 0) { return false; } @@ -211,7 +243,15 @@ public int read(byte[] to, int off, int len) throws IOException { // then directly from wrapped stream do { - int r = wrapped.read(to, off, len); + int r; + try { + r = wrapped.read(to, off, len); + } catch (SocketTimeoutException e) { + if (read == 0 && timeoutRequested) { + throw e; + } + return read; + } if (r <= 0) { return (read == 0) ? r : read; } @@ -287,10 +327,14 @@ public int scanCStringLength() throws IOException { return pos - index; } } - if (!readMore(STRING_SCAN_SPAN)) { + if (!readMore(STRING_SCAN_SPAN, true)) { throw new EOFException(); } pos = index; } } + + public void setTimeoutRequested(boolean timeoutRequested) { + this.timeoutRequested = timeoutRequested; + } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 1f16054dbb..0536bbb4f1 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -780,9 +780,9 @@ private void setSocketTimeout(int millis) throws PSQLException { try { Socket s = pgStream.getSocket(); if (!s.isClosed()) { // Is this check required? - pgStream.getSocket().setSoTimeout(millis); + pgStream.setNetworkTimeout(millis); } - } catch (SocketException e) { + } catch (IOException e) { throw new PSQLException(GT.tr("An error occurred while trying to reset the socket timeout."), PSQLState.CONNECTION_FAILURE, e); } From c266b0885141f48912d7883ec17855c420641a72 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 29 Jan 2020 11:49:02 -0500 Subject: [PATCH 412/427] fix: Issue #1680 updating a boolean field requires special handling to set it to t or f instead of true or false (#1682) * fix: Issue #1680 updating a boolean field requries special handling to set it to t or f instead of true or false --- .../java/org/postgresql/jdbc/PgResultSet.java | 15 ++++++++++----- .../test/jdbc2/UpdateableResultTest.java | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java index f1b9fbf591..836c351756 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSet.java @@ -1674,11 +1674,16 @@ private void updateRowBuffer() throws SQLException { } else { switch (getSQLType(columnIndex + 1)) { - // - // toString() isn't enough for date and time types; we must format it correctly - // or we won't be able to re-parse it. - // - + // boolean needs to be formatted as t or f instead of true or false + case Types.BIT: + case Types.BOOLEAN: + rowBuffer[columnIndex] = + connection.encodeString(((Boolean)valueObject).booleanValue() ? "t" : "f"); + break; + // + // toString() isn't enough for date and time types; we must format it correctly + // or we won't be able to re-parse it. + // case Types.DATE: rowBuffer[columnIndex] = connection .encodeString( diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java index ac2ad1fb7e..892b366b0c 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/UpdateableResultTest.java @@ -7,6 +7,7 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -41,6 +42,8 @@ public void setUp() throws Exception { TestUtil.createTable(con, "second", "id1 int primary key, name1 text"); TestUtil.createTable(con, "stream", "id int primary key, asi text, chr text, bin bytea"); TestUtil.createTable(con, "multicol", "id1 int not null, id2 int not null, val text"); + TestUtil.createTable(con, "booltable", "id int not null primary key, b boolean default false"); + TestUtil.execute( "insert into booltable (id) values (1)", con); Statement st2 = con.createStatement(); // create pk for multicol table @@ -56,6 +59,7 @@ public void tearDown() throws SQLException { TestUtil.dropTable(con, "updateable"); TestUtil.dropTable(con, "second"); TestUtil.dropTable(con, "stream"); + TestUtil.dropTable(con, "booltable"); super.tearDown(); } @@ -572,4 +576,17 @@ public void simpleAndUpdateableSameQuery() throws Exception { } } + @Test + public void testUpdateBoolean() throws Exception { + + Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_UPDATABLE); + ResultSet rs = st.executeQuery("SELECT * FROM booltable WHERE id=1"); + assertTrue(rs.next()); + assertFalse(rs.getBoolean("b")); + rs.updateBoolean("b", true); + rs.updateRow(); + //rs.refreshRow(); //fetches the value stored + assertTrue(rs.getBoolean("b")); + } } From beb354eb4dd8196c72b6fa7780187d9f7a491a6d Mon Sep 17 00:00:00 2001 From: Russell Briggs Date: Thu, 30 Jan 2020 07:58:29 +1300 Subject: [PATCH 413/427] Fix Network Performance of PgDatabaseMetaData.getTypeInfo() method (#1668) * Write failing test for use of cache for PgDatabaseMetadata.getTypeInfo() * Implement cacheSQLTypes() and call from PgDatabaseMetaData.getTypeInfo() --- .../postgresql/jdbc/PgDatabaseMetaData.java | 6 + .../org/postgresql/jdbc/TypeInfoCache.java | 119 ++++++++++++------ .../test/jdbc2/DatabaseMetaDataCacheTest.java | 84 +++++++++++++ .../org/postgresql/util/TestLogHandler.java | 39 ++++++ 4 files changed, 207 insertions(+), 41 deletions(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataCacheTest.java create mode 100644 pgjdbc/src/test/java/org/postgresql/util/TestLogHandler.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 967a15bed4..092d30db6b 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -9,6 +9,7 @@ import org.postgresql.core.Field; import org.postgresql.core.Oid; import org.postgresql.core.ServerVersion; +import org.postgresql.core.TypeInfo; import org.postgresql.util.ByteConverter; import org.postgresql.util.GT; import org.postgresql.util.JdbcBlackHole; @@ -2301,6 +2302,11 @@ public ResultSet getTypeInfo() throws SQLException { byte[] bSearchable = connection.encodeString(Integer.toString(java.sql.DatabaseMetaData.typeSearchable)); + TypeInfo ti = connection.getTypeInfo(); + if (ti instanceof TypeInfoCache) { + ((TypeInfoCache) ti).cacheSQLTypes(); + } + while (rs.next()) { byte[][] tuple = new byte[19][]; String typname = rs.getString(1); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java index e0b6d1bc7d..a423c3a106 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java @@ -24,9 +24,13 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; public class TypeInfoCache implements TypeInfo { + private static final Logger LOGGER = Logger.getLogger(TypeInfoCache.class.getName()); + // pgname (String) -> java.sql.Types (Integer) private Map pgNameToSQLType; @@ -57,6 +61,7 @@ public class TypeInfoCache implements TypeInfo { private PreparedStatement getArrayElementOidStatement; private PreparedStatement getArrayDelimiterStatement; private PreparedStatement getTypeInfoStatement; + private PreparedStatement getAllTypeInfoStatement; // basic pg types info: // 0 - type name @@ -177,6 +182,74 @@ public Iterator getPGTypeNamesWithSQLTypes() { return pgNameToSQLType.keySet().iterator(); } + private String getSQLTypeQuery(boolean typnameParam) { + // There's no great way of telling what's an array type. + // People can name their own types starting with _. + // Other types use typelem that aren't actually arrays, like box. + // + // in case of multiple records (in different schemas) choose the one from the current + // schema, + // otherwise take the last version of a type that is at least more deterministic then before + // (keeping old behaviour of finding types, that should not be found without correct search + // path) + StringBuilder sql = new StringBuilder(); + sql.append("SELECT typinput='array_in'::regproc as is_array, typtype, typname "); + sql.append(" FROM pg_catalog.pg_type "); + sql.append(" LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r "); + sql.append(" from pg_namespace as ns "); + // -- go with older way of unnesting array to be compatible with 8.0 + sql.append(" join ( select s.r, (current_schemas(false))[s.r] as nspname "); + sql.append(" from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r "); + sql.append(" using ( nspname ) "); + sql.append(" ) as sp "); + sql.append(" ON sp.nspoid = typnamespace "); + if (typnameParam) { + sql.append(" WHERE typname = ? "); + } + sql.append(" ORDER BY sp.r, pg_type.oid DESC;"); + return sql.toString(); + } + + private int getSQLTypeFromQueryResult(ResultSet rs) throws SQLException { + Integer type = null; + boolean isArray = rs.getBoolean("is_array"); + String typtype = rs.getString("typtype"); + if (isArray) { + type = Types.ARRAY; + } else if ("c".equals(typtype)) { + type = Types.STRUCT; + } else if ("d".equals(typtype)) { + type = Types.DISTINCT; + } else if ("e".equals(typtype)) { + type = Types.VARCHAR; + } + if (type == null) { + type = Types.OTHER; + } + return type; + } + + public void cacheSQLTypes() throws SQLException { + LOGGER.log(Level.FINEST, "caching all SQL typecodes"); + if (getAllTypeInfoStatement == null) { + getAllTypeInfoStatement = conn.prepareStatement(getSQLTypeQuery(false)); + } + // Go through BaseStatement to avoid transaction start. + if (!((BaseStatement) getAllTypeInfoStatement) + .executeWithFlags(QueryExecutor.QUERY_SUPPRESS_BEGIN)) { + throw new PSQLException(GT.tr("No results were returned by the query."), PSQLState.NO_DATA); + } + ResultSet rs = getAllTypeInfoStatement.getResultSet(); + while (rs.next()) { + String typeName = rs.getString("typname"); + Integer type = getSQLTypeFromQueryResult(rs); + if (!pgNameToSQLType.containsKey(typeName)) { + pgNameToSQLType.put(typeName, type); + } + } + rs.close(); + } + public int getSQLType(int oid) throws SQLException { return getSQLType(getPGType(oid)); } @@ -190,32 +263,10 @@ public synchronized int getSQLType(String pgTypeName) throws SQLException { return i; } + LOGGER.log(Level.FINEST, "querying SQL typecode for pg type '{0}'", pgTypeName); + if (getTypeInfoStatement == null) { - // There's no great way of telling what's an array type. - // People can name their own types starting with _. - // Other types use typelem that aren't actually arrays, like box. - // - String sql; - // in case of multiple records (in different schemas) choose the one from the current - // schema, - // otherwise take the last version of a type that is at least more deterministic then before - // (keeping old behaviour of finding types, that should not be found without correct search - // path) - sql = "SELECT typinput='array_in'::regproc, typtype " - + " FROM pg_catalog.pg_type " - + " LEFT " - + " JOIN (select ns.oid as nspoid, ns.nspname, r.r " - + " from pg_namespace as ns " - // -- go with older way of unnesting array to be compatible with 8.0 - + " join ( select s.r, (current_schemas(false))[s.r] as nspname " - + " from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r " - + " using ( nspname ) " - + " ) as sp " - + " ON sp.nspoid = typnamespace " - + " WHERE typname = ? " - + " ORDER BY sp.r, pg_type.oid DESC LIMIT 1;"; - - getTypeInfoStatement = conn.prepareStatement(sql); + getTypeInfoStatement = conn.prepareStatement(getSQLTypeQuery(true)); } getTypeInfoStatement.setString(1, pgTypeName); @@ -228,23 +279,9 @@ public synchronized int getSQLType(String pgTypeName) throws SQLException { ResultSet rs = getTypeInfoStatement.getResultSet(); - Integer type = null; + Integer type = Types.OTHER; if (rs.next()) { - boolean isArray = rs.getBoolean(1); - String typtype = rs.getString(2); - if (isArray) { - type = Types.ARRAY; - } else if ("c".equals(typtype)) { - type = Types.STRUCT; - } else if ("d".equals(typtype)) { - type = Types.DISTINCT; - } else if ("e".equals(typtype)) { - type = Types.VARCHAR; - } - } - - if (type == null) { - type = Types.OTHER; + type = getSQLTypeFromQueryResult(rs); } rs.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataCacheTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataCacheTest.java new file mode 100644 index 0000000000..2382b6e717 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataCacheTest.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2020, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.test.jdbc2; + +import static org.junit.Assert.assertEquals; + +import org.postgresql.core.TypeInfo; +import org.postgresql.jdbc.PgConnection; +import org.postgresql.test.TestUtil; +import org.postgresql.util.TestLogHandler; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.sql.SQLException; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.LogManager; +import java.util.logging.LogRecord; +import java.util.logging.Logger; +import java.util.regex.Pattern; + +/* + * Tests for caching of DatabaseMetadata + * + */ +public class DatabaseMetaDataCacheTest { + private PgConnection con; + private TestLogHandler log; + private Logger driverLogger; + private Level driverLogLevel; + + private static final Pattern SQL_TYPE_QUERY_LOG_FILTER = Pattern.compile("querying SQL typecode for pg type"); + private static final Pattern SQL_TYPE_CACHE_LOG_FILTER = Pattern.compile("caching all SQL typecodes"); + + @Before + public void setUp() throws Exception { + con = (PgConnection)TestUtil.openDB(); + log = new TestLogHandler(); + driverLogger = LogManager.getLogManager().getLogger("org.postgresql"); + driverLogger.addHandler(log); + driverLogLevel = driverLogger.getLevel(); + driverLogger.setLevel(Level.ALL); + } + + @After + public void tearDown() throws Exception { + TestUtil.closeDB(con); + driverLogger.removeHandler(log); + driverLogger.setLevel(driverLogLevel); + log = null; + } + + @Test + public void testGetSQLTypeQueryCache() throws SQLException { + TypeInfo ti = con.getTypeInfo(); + + List typeQueries = log.getRecordsMatching(SQL_TYPE_QUERY_LOG_FILTER); + assertEquals(0, typeQueries.size()); + + ti.getSQLType("box"); // this must be a type not in the hardcoded 'types' list + typeQueries = log.getRecordsMatching(SQL_TYPE_QUERY_LOG_FILTER); + assertEquals(1, typeQueries.size()); + + ti.getSQLType("box"); // this time it should be retrieved from the cache + typeQueries = log.getRecordsMatching(SQL_TYPE_QUERY_LOG_FILTER); + assertEquals(1, typeQueries.size()); + } + + @Test + public void testGetTypeInfoUsesCache() throws SQLException { + con.getMetaData().getTypeInfo(); + + List typeCacheQuery = log.getRecordsMatching(SQL_TYPE_CACHE_LOG_FILTER); + assertEquals("PgDatabaseMetadata.getTypeInfo() did not cache SQL typecodes", 1, typeCacheQuery.size()); + + List typeQueries = log.getRecordsMatching(SQL_TYPE_QUERY_LOG_FILTER); + assertEquals("PgDatabaseMetadata.getTypeInfo() resulted in individual queries for SQL typecodes", 0, typeQueries.size()); + } +} diff --git a/pgjdbc/src/test/java/org/postgresql/util/TestLogHandler.java b/pgjdbc/src/test/java/org/postgresql/util/TestLogHandler.java new file mode 100644 index 0000000000..ecb41cc537 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/util/TestLogHandler.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Handler; +import java.util.logging.LogRecord; +import java.util.regex.Pattern; + +public class TestLogHandler extends Handler { + public List records = new ArrayList(); + + @Override + public void publish(LogRecord record) { + records.add(record); + } + + @Override + public void flush() { + } + + @Override + public void close() throws SecurityException { + } + + public List getRecordsMatching(Pattern messagePattern) { + ArrayList matches = new ArrayList(); + for (LogRecord r: this.records) { + if (messagePattern.matcher(r.getMessage()).find()) { + matches.add(r); + } + } + return matches; + } +} From b21f474c58f4be978310076d11bfaed6e8a8240f Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Wed, 29 Jan 2020 16:11:28 -0500 Subject: [PATCH 414/427] add DatabaseMetaDataCacheTest to test suite to run it (#1685) --- .../src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java index 0636d117f5..653512f820 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java @@ -60,6 +60,7 @@ CopyTest.class, CursorFetchTest.class, DatabaseEncodingTest.class, + DatabaseMetaDataCacheTest.class, DatabaseMetaDataPropertiesTest.class, DatabaseMetaDataTest.class, DateStyleTest.class, From 91d422d6fd7976fa740295bb398fbfd79cb01c65 Mon Sep 17 00:00:00 2001 From: draderaws <41007433+draderaws@users.noreply.github.com> Date: Wed, 29 Jan 2020 16:31:49 -0500 Subject: [PATCH 415/427] sync error message value with tested value (#1664) --- .../src/main/java/org/postgresql/jdbc/PgPreparedStatement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java index fd25a28018..58e71d829d 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java @@ -187,7 +187,7 @@ public void setNull(int parameterIndex, int sqlType) throws SQLException { if (parameterIndex < 1 || parameterIndex > preparedParameters.getParameterCount()) { throw new PSQLException( GT.tr("The column index is out of range: {0}, number of columns: {1}.", - parameterIndex, preparedParameters.getInParameterCount()), + parameterIndex, preparedParameters.getParameterCount()), PSQLState.INVALID_PARAMETER_VALUE); } From a7480d20370fefa70c5df30a402b952d1216b63c Mon Sep 17 00:00:00 2001 From: Frane Roje <39126829+franetw@users.noreply.github.com> Date: Wed, 29 Jan 2020 21:40:12 +0000 Subject: [PATCH 416/427] Fixing LocalTime rounding (losing precision) (#1570) * Fixing LocalTime rounding * added tests for toLocalTime as well --- .../org/postgresql/jdbc/TimestampUtils.java | 2 +- .../postgresql/jdbc/TimestampUtilsTest.java | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 pgjdbc/src/test/java/org/postgresql/jdbc/TimestampUtilsTest.java diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index d0effef697..4dc5b1d8b5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -54,7 +54,7 @@ public class TimestampUtils { private static final Duration ONE_MICROSECOND = Duration.ofNanos(1000); // LocalTime.MAX is 23:59:59.999_999_999, and it wraps to 24:00:00 when nanos exceed 999_999_499 // since PostgreSQL has microsecond resolution only - private static final LocalTime MAX_TIME = LocalTime.MAX.minus(Duration.ofMillis(500)); + private static final LocalTime MAX_TIME = LocalTime.MAX.minus(Duration.ofNanos(500)); private static final OffsetDateTime MAX_OFFSET_DATETIME = OffsetDateTime.MAX.minus(Duration.ofMillis(500)); private static final LocalDateTime MAX_LOCAL_DATETIME = LocalDateTime.MAX.minus(Duration.ofMillis(500)); // low value for dates is 4713 BC diff --git a/pgjdbc/src/test/java/org/postgresql/jdbc/TimestampUtilsTest.java b/pgjdbc/src/test/java/org/postgresql/jdbc/TimestampUtilsTest.java new file mode 100644 index 0000000000..efa5ecb8e4 --- /dev/null +++ b/pgjdbc/src/test/java/org/postgresql/jdbc/TimestampUtilsTest.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2019, PostgreSQL Global Development Group + * See the LICENSE file in the project root for more information. + */ + +package org.postgresql.jdbc; + +import static org.junit.Assert.assertEquals; + +import org.postgresql.core.Provider; + +import org.junit.Test; + +import java.sql.SQLException; +//#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" +import java.time.LocalTime; +//#endif +import java.util.TimeZone; + +public class TimestampUtilsTest { + + //#if mvn.project.property.postgresql.jdbc.spec >= "JDBC4.2" + @Test + public void testToStringOfLocalTime() { + TimestampUtils timestampUtils = createTimestampUtils(); + + assertEquals("00:00:00", timestampUtils.toString(LocalTime.parse("00:00:00"))); + assertEquals("00:00:00.1", timestampUtils.toString(LocalTime.parse("00:00:00.1"))); + assertEquals("00:00:00.12", timestampUtils.toString(LocalTime.parse("00:00:00.12"))); + assertEquals("00:00:00.123", timestampUtils.toString(LocalTime.parse("00:00:00.123"))); + assertEquals("00:00:00.1234", timestampUtils.toString(LocalTime.parse("00:00:00.1234"))); + assertEquals("00:00:00.12345", timestampUtils.toString(LocalTime.parse("00:00:00.12345"))); + assertEquals("00:00:00.123456", timestampUtils.toString(LocalTime.parse("00:00:00.123456"))); + + assertEquals("00:00:00.999999", timestampUtils.toString(LocalTime.parse("00:00:00.999999"))); + assertEquals("00:00:00.999999", timestampUtils.toString(LocalTime.parse("00:00:00.999999499"))); // 499 NanoSeconds + assertEquals("00:00:01", timestampUtils.toString(LocalTime.parse("00:00:00.999999500"))); // 500 NanoSeconds + + assertEquals("23:59:59", timestampUtils.toString(LocalTime.parse("23:59:59"))); + assertEquals("23:59:59.999999", timestampUtils.toString(LocalTime.parse("23:59:59.999999"))); // 0 NanoSeconds + assertEquals("23:59:59.999999", timestampUtils.toString(LocalTime.parse("23:59:59.999999499"))); // 499 NanoSeconds + assertEquals("24:00:00", timestampUtils.toString(LocalTime.parse("23:59:59.999999500")));// 500 NanoSeconds + assertEquals("24:00:00", timestampUtils.toString(LocalTime.parse("23:59:59.999999999")));// 999 NanoSeconds + } + + @Test + public void testToLocalTime() throws SQLException { + TimestampUtils timestampUtils = createTimestampUtils(); + + assertEquals(LocalTime.parse("00:00:00"), timestampUtils.toLocalTime("00:00:00")); + + assertEquals(LocalTime.parse("00:00:00.1"), timestampUtils.toLocalTime("00:00:00.1")); + assertEquals(LocalTime.parse("00:00:00.12"), timestampUtils.toLocalTime("00:00:00.12")); + assertEquals(LocalTime.parse("00:00:00.123"), timestampUtils.toLocalTime("00:00:00.123")); + assertEquals(LocalTime.parse("00:00:00.1234"), timestampUtils.toLocalTime("00:00:00.1234")); + assertEquals(LocalTime.parse("00:00:00.12345"), timestampUtils.toLocalTime("00:00:00.12345")); + assertEquals(LocalTime.parse("00:00:00.123456"), timestampUtils.toLocalTime("00:00:00.123456")); + assertEquals(LocalTime.parse("00:00:00.999999"), timestampUtils.toLocalTime("00:00:00.999999")); + + assertEquals(LocalTime.parse("23:59:59"), timestampUtils.toLocalTime("23:59:59")); + assertEquals(LocalTime.parse("23:59:59.999999"), timestampUtils.toLocalTime("23:59:59.999999")); // 0 NanoSeconds + assertEquals(LocalTime.parse("23:59:59.9999999"), timestampUtils.toLocalTime("23:59:59.9999999")); // 900 NanoSeconds + assertEquals(LocalTime.parse("23:59:59.99999999"), timestampUtils.toLocalTime("23:59:59.99999999")); // 990 NanoSeconds + assertEquals(LocalTime.parse("23:59:59.999999998"), timestampUtils.toLocalTime("23:59:59.999999998")); // 998 NanoSeconds + assertEquals(LocalTime.parse("23:59:59.999999999"), timestampUtils.toLocalTime("24:00:00")); + } + + private TimestampUtils createTimestampUtils() { + return new TimestampUtils(true, new Provider() { + @Override + public TimeZone get() { + return TimeZone.getDefault(); + } + }); + } + //#endif + +} From 1191076c8141ce796d4bae9bb7e8bc955aae528a Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 30 Jan 2020 09:39:40 -0500 Subject: [PATCH 417/427] fix: Fixes issue #1592 where one thread is reading the copy and another thread closes the connection (#1594) * fix: Fixes issue #1592 where one thread is reading the copy and another thread closes the connection --- pgjdbc/src/main/java/org/postgresql/core/PGStream.java | 4 ++++ .../java/org/postgresql/core/v3/QueryExecutorImpl.java | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 7f6d6a1aa0..43721d9ce9 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -668,4 +668,8 @@ private void increaseByteCounter(long value) throws SQLException { } } } + + public boolean isClosed() { + return connection.isClosed(); + } } diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 0536bbb4f1..4d38681562 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -1091,6 +1091,13 @@ synchronized void readFromCopy(CopyOperationImpl op, boolean block) throws SQLEx CopyOperationImpl processCopyResults(CopyOperationImpl op, boolean block) throws SQLException, IOException { + /* + * fixes issue #1592 where one thread closes the stream and another is reading it + */ + if (pgStream.isClosed()) { + throw new PSQLException(GT.tr("PGStream is closed", + op.getClass().getName()), PSQLState.CONNECTION_DOES_NOT_EXIST); + } /* * This is a hack as we should not end up here, but sometimes do with large copy operations. */ From 47e366ddfda40a136233bd79371cef8af001d38e Mon Sep 17 00:00:00 2001 From: Sehrope Sarkuni Date: Thu, 30 Jan 2020 10:32:06 -0500 Subject: [PATCH 418/427] Cleanup PGProperty, sort values, and add some missing to docs (#1686) * misc: Add PGProperty.getDescription() * misc: Remove variadic constructor for PGProperty values and split across multiple lines * perf: Cache PGProperty values in a map by name * misc: Add PGProperty.isRequired() * misc: Add PGProperty.isDeprecated() * docs: Correct receiveBufferSize and remove duplicate sendBufferSize * docs: Add missing binaryTransfer property to head docs * docs: Add missing databaseMetadataCacheFields and databaseMetadataCacheFieldsMiB to head docs * misc: Sort PGProperty enum values --- README.md | 2 +- docs/documentation/92/connect.md | 2 +- docs/documentation/93/connect.md | 2 +- docs/documentation/94/connect.md | 6 +- docs/documentation/head/connect.md | 28 +- .../main/java/org/postgresql/PGProperty.java | 782 +++++++++++------- 6 files changed, 522 insertions(+), 300 deletions(-) diff --git a/README.md b/README.md index a51514af4d..5f8e7bb415 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ In addition to the standard connection parameters the driver supports a number o | sslpasswordcallback | String | null | The name of a class (for use in [Class.forName(String)](https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#forName%28java.lang.String%29)) that implements javax.security.auth.callback.CallbackHandler and can handle PasswordCallback for the ssl password. | | sslpassword | String | null | The password for the client's ssl key (ignored if sslpasswordcallback is set) | | sendBufferSize | Integer | -1 | Socket write buffer size | -| recvBufferSize | Integer | -1 | Socket read buffer size | +| receiveBufferSize | Integer | -1 | Socket read buffer size | | loggerLevel | String | null | Logger level of the driver using java.util.logging. Allowed values: OFF, DEBUG or TRACE. | | loggerFile | String | null | File name output of the Logger, if set, the Logger will use a FileHandler to write to a specified file. If the parameter is not set or the file can't be created the ConsoleHandler will be used instead. | | allowEncodingChanges | Boolean | false | Allow for changes in client_encoding | diff --git a/docs/documentation/92/connect.md b/docs/documentation/92/connect.md index ed1a972f1f..cad511ea58 100644 --- a/docs/documentation/92/connect.md +++ b/docs/documentation/92/connect.md @@ -111,7 +111,7 @@ connection. * `sendBufferSize = int` Sets SO_SNDBUF on the connection stream -* `recvBufferSize = int` +* `receiveBufferSize = int` Sets SO_RCVBUF on the connection stream * `protocolVersion = String` diff --git a/docs/documentation/93/connect.md b/docs/documentation/93/connect.md index ed1a972f1f..cad511ea58 100644 --- a/docs/documentation/93/connect.md +++ b/docs/documentation/93/connect.md @@ -111,7 +111,7 @@ connection. * `sendBufferSize = int` Sets SO_SNDBUF on the connection stream -* `recvBufferSize = int` +* `receiveBufferSize = int` Sets SO_RCVBUF on the connection stream * `protocolVersion = String` diff --git a/docs/documentation/94/connect.md b/docs/documentation/94/connect.md index 8700f03531..87a9f97412 100644 --- a/docs/documentation/94/connect.md +++ b/docs/documentation/94/connect.md @@ -118,14 +118,10 @@ connection. Sets SO_SNDBUF on the connection stream -* `recvBufferSize = int` +* `receiveBufferSize = int` Sets SO_RCVBUF on the connection stream -* `receiveBufferSize = int` - - Sets SO_RCVBUF on the connection stream - * `protocolVersion = String` The driver supports both the V2 and V3 frontend/backend protocols. The diff --git a/docs/documentation/head/connect.md b/docs/documentation/head/connect.md index aba51f2b6f..b062c5f2d1 100644 --- a/docs/documentation/head/connect.md +++ b/docs/documentation/head/connect.md @@ -158,14 +158,6 @@ Connection conn = DriverManager.getConnection(url); If provided will be used by ConsoleCallbackHandler -* **sendBufferSize** = int - - Sets SO_SNDBUF on the connection stream - -* **recvBufferSize** = int - - Sets SO_RCVBUF on the connection stream - * **protocolVersion** = int The driver supports the V3 frontend/backend protocols. The V3 protocol was introduced in 7.4 and @@ -228,6 +220,12 @@ Connection conn = DriverManager.getConnection(url); The default is 'false' +* **binaryTransfer** = boolean + + Use binary format for sending and receiving data if possible. + + The default is 'true' + * **binaryTransferEnable** = String A comma separated list of types to enable binary transfer. Either OID numbers or names. @@ -237,6 +235,20 @@ Connection conn = DriverManager.getConnection(url); A comma separated list of types to disable binary transfer. Either OID numbers or names. Overrides values in the driver default set and values set with binaryTransferEnable. +* **databaseMetadataCacheFields** = int + + Specifies the maximum number of fields to be cached per connection. + A value of 0 disables the cache. + + Defaults to 65536. + +* **databaseMetadataCacheFieldsMiB** = int + + Specifies the maximum size (in megabytes) of fields to be cached per connection. + A value of 0 disables the cache. + + Defaults to 5. + * **prepareThreshold** = int Determine the number of `PreparedStatement` executions required before diff --git a/pgjdbc/src/main/java/org/postgresql/PGProperty.java b/pgjdbc/src/main/java/org/postgresql/PGProperty.java index 3088d8a580..2874f20082 100644 --- a/pgjdbc/src/main/java/org/postgresql/PGProperty.java +++ b/pgjdbc/src/main/java/org/postgresql/PGProperty.java @@ -12,6 +12,8 @@ import java.sql.Connection; import java.sql.DriverPropertyInfo; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; /** @@ -21,475 +23,652 @@ public enum PGProperty { /** - * Database name to connect to (may be specified directly in the JDBC URL). + * When using the V3 protocol the driver monitors changes in certain server configuration + * parameters that should not be touched by end users. The {@code client_encoding} setting is set + * by the driver and should not be altered. If the driver detects a change it will abort the + * connection. */ - PG_DBNAME("PGDBNAME", null, - "Database name to connect to (may be specified directly in the JDBC URL)", true), + ALLOW_ENCODING_CHANGES( + "allowEncodingChanges", + "false", + "Allow for changes in client_encoding"), /** - * Hostname of the PostgreSQL server (may be specified directly in the JDBC URL). + * The application name (require server version >= 9.0). */ - PG_HOST("PGHOST", null, - "Hostname of the PostgreSQL server (may be specified directly in the JDBC URL)", false), + APPLICATION_NAME( + "ApplicationName", + DriverInfo.DRIVER_NAME, + "Name of the Application (backend >= 9.0)"), /** - * Port of the PostgreSQL server (may be specified directly in the JDBC URL). + * Specifies what the driver should do if a query fails. In {@code autosave=always} mode, JDBC driver sets a savepoint before each query, + * and rolls back to that savepoint in case of failure. In {@code autosave=never} mode (default), no savepoint dance is made ever. + * In {@code autosave=conservative} mode, savepoint is set for each query, however the rollback is done only for rare cases + * like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries */ - PG_PORT("PGPORT", null, - "Port of the PostgreSQL server (may be specified directly in the JDBC URL)"), + AUTOSAVE( + "autosave", + "never", + "Specifies what the driver should do if a query fails. In autosave=always mode, JDBC driver sets a savepoint before each query, " + + "and rolls back to that savepoint in case of failure. In autosave=never mode (default), no savepoint dance is made ever. " + + "In autosave=conservative mode, safepoint is set for each query, however the rollback is done only for rare cases" + + " like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries", + false, + new String[] {"always", "never", "conservative"}), /** - * Username to connect to the database as. + * Assume the server is at least that version. */ - USER("user", null, "Username to connect to the database as.", true), + ASSUME_MIN_SERVER_VERSION( + "assumeMinServerVersion", + null, + "Assume the server is at least that version"), - /** - * Password to use when authenticating. - */ - PASSWORD("password", null, "Password to use when authenticating.", false), /** - * Force use of a particular protocol version when connecting, if set, disables protocol version - * fallback. + * Use binary format for sending and receiving data if possible. */ - PROTOCOL_VERSION("protocolVersion", null, - "Force use of a particular protocol version when connecting, currently only version 3 is supported.", - false, "3"), + BINARY_TRANSFER( + "binaryTransfer", + "true", + "Use binary format for sending and receiving data if possible"), /** - * Specify 'options' connection initialization parameter. - * The value of this parameter may contain spaces and other special characters or their URL representation. + * Comma separated list of types to disable binary transfer. Either OID numbers or names. + * Overrides values in the driver default set and values set with binaryTransferEnable. */ - OPTIONS("options", null, "Specify 'options' connection initialization parameter."), + BINARY_TRANSFER_DISABLE( + "binaryTransferDisable", + "", + "Comma separated list of types to disable binary transfer. Either OID numbers or names. Overrides values in the driver default set and values set with binaryTransferEnable."), /** - *

Logger level of the driver. Allowed values: {@code OFF}, {@code DEBUG} or {@code TRACE}.

- * - *

This enable the {@link java.util.logging.Logger} of the driver based on the following mapping - * of levels:

- *
    - *
  • FINE -> DEBUG
  • - *
  • FINEST -> TRACE
  • - *
- * - *

NOTE: The recommended approach to enable java.util.logging is using a - * {@code logging.properties} configuration file with the property - * {@code -Djava.util.logging.config.file=myfile} or if your are using an application server - * you should use the appropriate logging subsystem.

+ * Comma separated list of types to enable binary transfer. Either OID numbers or names */ - LOGGER_LEVEL("loggerLevel", null, "Logger level of the driver", false, "OFF", "DEBUG", "TRACE"), + BINARY_TRANSFER_ENABLE( + "binaryTransferEnable", + "", + "Comma separated list of types to enable binary transfer. Either OID numbers or names"), /** - *

File name output of the Logger, if set, the Logger will use a - * {@link java.util.logging.FileHandler} to write to a specified file. If the parameter is not set - * or the file can't be created the {@link java.util.logging.ConsoleHandler} will be used instead.

- * - *

Parameter should be use together with {@link PGProperty#LOGGER_LEVEL}

+ * Cancel command is sent out of band over its own connection, so cancel message can itself get + * stuck. + * This property controls "connect timeout" and "socket timeout" used for cancel commands. + * The timeout is specified in seconds. Default value is 10 seconds. */ - LOGGER_FILE("loggerFile", null, "File name output of the Logger"), + CANCEL_SIGNAL_TIMEOUT( + "cancelSignalTimeout", + "10", + "The timeout that is used for sending cancel command."), /** - * Sets the default threshold for enabling server-side prepare. A value of {@code -1} stands for - * forceBinary + * Determine whether SAVEPOINTS used in AUTOSAVE will be released per query or not */ - PREPARE_THRESHOLD("prepareThreshold", "5", - "Statement prepare threshold. A value of {@code -1} stands for forceBinary"), + CLEANUP_SAVEPOINTS( + "cleanupSavepoints", + "false", + "Determine whether SAVEPOINTS used in AUTOSAVE will be released per query or not", + false, + new String[] {"true", "false"}), /** - * Specifies the maximum number of entries in cache of prepared statements. A value of {@code 0} - * disables the cache. + *

The timeout value used for socket connect operations. If connecting to the server takes longer + * than this value, the connection is broken.

+ * + *

The timeout is specified in seconds and a value of zero means that it is disabled.

*/ - PREPARED_STATEMENT_CACHE_QUERIES("preparedStatementCacheQueries", "256", - "Specifies the maximum number of entries in per-connection cache of prepared statements. A value of {@code 0} disables the cache."), + CONNECT_TIMEOUT( + "connectTimeout", + "10", + "The timeout value used for socket connect operations."), /** - * Specifies the maximum size (in megabytes) of the prepared statement cache. A value of {@code 0} - * disables the cache. + * Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve + * unqualified object names used in statements over this connection. */ - PREPARED_STATEMENT_CACHE_SIZE_MIB("preparedStatementCacheSizeMiB", "5", - "Specifies the maximum size (in megabytes) of a per-connection prepared statement cache. A value of {@code 0} disables the cache."), + CURRENT_SCHEMA( + "currentSchema", + null, + "Specify the schema (or several schema separated by commas) to be set in the search-path"), /** * Specifies the maximum number of fields to be cached per connection. A value of {@code 0} disables the cache. */ - DATABASE_METADATA_CACHE_FIELDS("databaseMetadataCacheFields", "65536", - "Specifies the maximum number of fields to be cached per connection. A value of {@code 0} disables the cache."), + DATABASE_METADATA_CACHE_FIELDS( + "databaseMetadataCacheFields", + "65536", + "Specifies the maximum number of fields to be cached per connection. A value of {@code 0} disables the cache."), /** * Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of {@code 0} disables the cache. */ - DATABASE_METADATA_CACHE_FIELDS_MIB("databaseMetadataCacheFieldsMiB", "5", - "Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of {@code 0} disables the cache."), + DATABASE_METADATA_CACHE_FIELDS_MIB( + "databaseMetadataCacheFieldsMiB", + "5", + "Specifies the maximum size (in megabytes) of fields to be cached per connection. A value of {@code 0} disables the cache."), /** * Default parameter for {@link java.sql.Statement#getFetchSize()}. A value of {@code 0} means * that need fetch all rows at once */ - DEFAULT_ROW_FETCH_SIZE("defaultRowFetchSize", "0", - "Positive number of rows that should be fetched from the database when more rows are needed for ResultSet by each fetch iteration"), + DEFAULT_ROW_FETCH_SIZE( + "defaultRowFetchSize", + "0", + "Positive number of rows that should be fetched from the database when more rows are needed for ResultSet by each fetch iteration"), /** - * Use binary format for sending and receiving data if possible. + * Enable optimization that disables column name sanitiser. */ - BINARY_TRANSFER("binaryTransfer", "true", - "Use binary format for sending and receiving data if possible"), + DISABLE_COLUMN_SANITISER( + "disableColumnSanitiser", + "false", + "Enable optimization that disables column name sanitiser"), /** - * Puts this connection in read-only mode. + * Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11) + * In {@code escapeSyntaxCallMode=select} mode (the default), the driver always uses a SELECT statement (allowing function invocation only). + * In {@code escapeSyntaxCallMode=callIfNoReturn} mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement. + * In {@code escapeSyntaxCallMode=call} mode, the driver always uses a CALL statement (allowing procedure invocation only). */ - READ_ONLY("readOnly", "false", "Puts this connection in read-only mode"), + ESCAPE_SYNTAX_CALL_MODE( + "escapeSyntaxCallMode", + "select", + "Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11)" + + "In escapeSyntaxCallMode=select mode (the default), the driver always uses a SELECT statement (allowing function invocation only)." + + "In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement." + + "In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only).", + false, + new String[] {"select", "callIfNoReturn", "call"}), /** - * Comma separated list of types to enable binary transfer. Either OID numbers or names + * Force one of + *
    + *
  • SSPI (Windows transparent single-sign-on)
  • + *
  • GSSAPI (Kerberos, via JSSE)
  • + *
+ * to be used when the server requests Kerberos or SSPI authentication. */ - BINARY_TRANSFER_ENABLE("binaryTransferEnable", "", - "Comma separated list of types to enable binary transfer. Either OID numbers or names"), + GSS_LIB( + "gsslib", + "auto", + "Force SSSPI or GSSAPI", + false, + new String[] {"auto", "sspi", "gssapi"}), /** - * Comma separated list of types to disable binary transfer. Either OID numbers or names. - * Overrides values in the driver default set and values set with binaryTransferEnable. + * Enable mode to filter out the names of database objects for which the current user has no privileges + * granted from appearing in the DatabaseMetaData returned by the driver. */ - BINARY_TRANSFER_DISABLE("binaryTransferDisable", "", - "Comma separated list of types to disable binary transfer. Either OID numbers or names. Overrides values in the driver default set and values set with binaryTransferEnable."), + HIDE_UNPRIVILEGED_OBJECTS( + "hideUnprivilegedObjects", + "false", + "Enable hiding of database objects for which the current user has no privileges granted from the DatabaseMetaData"), - /** - * Bind String to either {@code unspecified} or {@code varchar}. Default is {@code varchar} for - * 8.0+ backends. - */ - STRING_TYPE("stringtype", null, - "The type to bind String parameters as (usually 'varchar', 'unspecified' allows implicit casting to other types)", - false, "unspecified", "varchar"), + HOST_RECHECK_SECONDS( + "hostRecheckSeconds", + "10", + "Specifies period (seconds) after which the host status is checked again in case it has changed"), /** - * Specifies the length to return for types of unknown length. + * Specifies the name of the JAAS system or application login configuration. */ - UNKNOWN_LENGTH("unknownLength", Integer.toString(Integer.MAX_VALUE), - "Specifies the length to return for types of unknown length"), + JAAS_APPLICATION_NAME( + "jaasApplicationName", + null, + "Specifies the name of the JAAS system or application login configuration."), /** - * When connections that are not explicitly closed are garbage collected, log the stacktrace from - * the opening of the connection to trace the leak source. + * Flag to enable/disable obtaining a GSS credential via JAAS login before authenticating. + * Useful if setting system property javax.security.auth.useSubjectCredsOnly=false + * or using native GSS with system property sun.security.jgss.native=true */ - LOG_UNCLOSED_CONNECTIONS("logUnclosedConnections", "false", - "When connections that are not explicitly closed are garbage collected, log the stacktrace from the opening of the connection to trace the leak source"), + JAAS_LOGIN( + "jaasLogin", + "true", + "Login with JAAS before doing GSSAPI authentication"), /** - * Whether to include full server error detail in exception messages. + * The Kerberos service name to use when authenticating with GSSAPI. This is equivalent to libpq's + * PGKRBSRVNAME environment variable. */ - LOG_SERVER_ERROR_DETAIL("logServerErrorDetail", "true", - "Include full server error detail in exception messages. If disabled then only the error itself will be included."), + KERBEROS_SERVER_NAME( + "kerberosServerName", + null, + "The Kerberos service name to use when authenticating with GSSAPI."), + + LOAD_BALANCE_HOSTS( + "loadBalanceHosts", + "false", + "If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates"), /** - * Enable optimization that disables column name sanitiser. + *

File name output of the Logger, if set, the Logger will use a + * {@link java.util.logging.FileHandler} to write to a specified file. If the parameter is not set + * or the file can't be created the {@link java.util.logging.ConsoleHandler} will be used instead.

+ * + *

Parameter should be use together with {@link PGProperty#LOGGER_LEVEL}

*/ - DISABLE_COLUMN_SANITISER("disableColumnSanitiser", "false", - "Enable optimization that disables column name sanitiser"), + LOGGER_FILE( + "loggerFile", + null, + "File name output of the Logger"), /** - * Control use of SSL: empty or {@code true} values imply {@code sslmode==verify-full} + *

Logger level of the driver. Allowed values: {@code OFF}, {@code DEBUG} or {@code TRACE}.

+ * + *

This enable the {@link java.util.logging.Logger} of the driver based on the following mapping + * of levels:

+ *
    + *
  • FINE -> DEBUG
  • + *
  • FINEST -> TRACE
  • + *
+ * + *

NOTE: The recommended approach to enable java.util.logging is using a + * {@code logging.properties} configuration file with the property + * {@code -Djava.util.logging.config.file=myfile} or if your are using an application server + * you should use the appropriate logging subsystem.

*/ - SSL("ssl", null, "Control use of SSL (any non-null value causes SSL to be required)"), + LOGGER_LEVEL( + "loggerLevel", + null, + "Logger level of the driver", + false, + new String[] {"OFF", "DEBUG", "TRACE"}), /** - * Parameter governing the use of SSL. The allowed values are {@code disable}, {@code allow}, - * {@code prefer}, {@code require}, {@code verify-ca}, {@code verify-full}. - * If {@code ssl} property is empty or set to {@code true} it implies {@code verify-full}. - * Default mode is "require" + * Specify how long to wait for establishment of a database connection. The timeout is specified + * in seconds. */ - SSL_MODE("sslmode", null, "Parameter governing the use of SSL", false, - "disable", "allow", "prefer", "require", "verify-ca", "verify-full"), + LOGIN_TIMEOUT( + "loginTimeout", + "0", + "Specify how long to wait for establishment of a database connection."), /** - * Classname of the SSL Factory to use (instance of {@code javax.net.ssl.SSLSocketFactory}). + * Whether to include full server error detail in exception messages. */ - SSL_FACTORY("sslfactory", null, "Provide a SSLSocketFactory class when using SSL."), + LOG_SERVER_ERROR_DETAIL( + "logServerErrorDetail", + "true", + "Include full server error detail in exception messages. If disabled then only the error itself will be included."), /** - * The String argument to give to the constructor of the SSL Factory. - * @deprecated use {@code ..Factory(Properties)} constructor. + * When connections that are not explicitly closed are garbage collected, log the stacktrace from + * the opening of the connection to trace the leak source. */ - @Deprecated - SSL_FACTORY_ARG("sslfactoryarg", null, - "Argument forwarded to constructor of SSLSocketFactory class."), + LOG_UNCLOSED_CONNECTIONS( + "logUnclosedConnections", + "false", + "When connections that are not explicitly closed are garbage collected, log the stacktrace from the opening of the connection to trace the leak source"), /** - * Classname of the SSL HostnameVerifier to use (instance of {@code - * javax.net.ssl.HostnameVerifier}). + * Specifies size of buffer during fetching result set. Can be specified as specified size or + * percent of heap memory. */ - SSL_HOSTNAME_VERIFIER("sslhostnameverifier", null, - "A class, implementing javax.net.ssl.HostnameVerifier that can verify the server"), + MAX_RESULT_BUFFER( + "maxResultBuffer", + null, + "Specifies size of buffer during fetching result set. Can be specified as specified size or percent of heap memory."), /** - * File containing the SSL Certificate. Default will be the file {@code postgresql.crt} in {@code - * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). + * Specify 'options' connection initialization parameter. + * The value of this parameter may contain spaces and other special characters or their URL representation. */ - SSL_CERT("sslcert", null, "The location of the client's SSL certificate"), + OPTIONS( + "options", + null, + "Specify 'options' connection initialization parameter."), /** - * File containing the SSL Key. Default will be the file {@code postgresql.pk8} in {@code - * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). + * Password to use when authenticating. */ - SSL_KEY("sslkey", null, "The location of the client's PKCS#8 SSL key"), + PASSWORD( + "password", + null, + "Password to use when authenticating.", + false), /** - * File containing the root certificate when validating server ({@code sslmode} = {@code - * verify-ca} or {@code verify-full}). Default will be the file {@code root.crt} in {@code - * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). + * Database name to connect to (may be specified directly in the JDBC URL). */ - SSL_ROOT_CERT("sslrootcert", null, - "The location of the root certificate for authenticating the server."), + PG_DBNAME( + "PGDBNAME", + null, + "Database name to connect to (may be specified directly in the JDBC URL)", + true), /** - * The SSL password to use in the default CallbackHandler. + * Hostname of the PostgreSQL server (may be specified directly in the JDBC URL). */ - SSL_PASSWORD("sslpassword", null, - "The password for the client's ssl key (ignored if sslpasswordcallback is set)"), + PG_HOST( + "PGHOST", + null, + "Hostname of the PostgreSQL server (may be specified directly in the JDBC URL)", + false), /** - * The classname instantiating {@code javax.security.auth.callback.CallbackHandler} to use. + * Port of the PostgreSQL server (may be specified directly in the JDBC URL). */ - SSL_PASSWORD_CALLBACK("sslpasswordcallback", null, - "A class, implementing javax.security.auth.callback.CallbackHandler that can handle PassworCallback for the ssl password."), + PG_PORT( + "PGPORT", + null, + "Port of the PostgreSQL server (may be specified directly in the JDBC URL)"), /** - * Enable or disable TCP keep-alive. The default is {@code false}. + *

Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), + * extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, + * extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.

+ * + *

This mode is meant for debugging purposes and/or for cases when extended protocol cannot be used (e.g. logical replication protocol)

*/ - TCP_KEEP_ALIVE("tcpKeepAlive", "false", - "Enable or disable TCP keep-alive. The default is {@code false}."), + PREFER_QUERY_MODE( + "preferQueryMode", + "extended", + "Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), " + + "extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, " + + "extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.", false, + new String[] {"extended", "extendedForPrepared", "extendedCacheEverything", "simple"}), /** - * Specify how long to wait for establishment of a database connection. The timeout is specified - * in seconds. + * Specifies the maximum number of entries in cache of prepared statements. A value of {@code 0} + * disables the cache. */ - LOGIN_TIMEOUT("loginTimeout", "0", - "Specify how long to wait for establishment of a database connection."), + PREPARED_STATEMENT_CACHE_QUERIES( + "preparedStatementCacheQueries", + "256", + "Specifies the maximum number of entries in per-connection cache of prepared statements. A value of {@code 0} disables the cache."), /** - *

The timeout value used for socket connect operations. If connecting to the server takes longer - * than this value, the connection is broken.

- * - *

The timeout is specified in seconds and a value of zero means that it is disabled.

+ * Specifies the maximum size (in megabytes) of the prepared statement cache. A value of {@code 0} + * disables the cache. */ - CONNECT_TIMEOUT("connectTimeout", "10", "The timeout value used for socket connect operations."), + PREPARED_STATEMENT_CACHE_SIZE_MIB( + "preparedStatementCacheSizeMiB", + "5", + "Specifies the maximum size (in megabytes) of a per-connection prepared statement cache. A value of {@code 0} disables the cache."), /** - * The timeout value used for socket read operations. If reading from the server takes longer than - * this value, the connection is closed. This can be used as both a brute force global query - * timeout and a method of detecting network problems. The timeout is specified in seconds and a - * value of zero means that it is disabled. + * Sets the default threshold for enabling server-side prepare. A value of {@code -1} stands for + * forceBinary */ - SOCKET_TIMEOUT("socketTimeout", "0", "The timeout value used for socket read operations."), + PREPARE_THRESHOLD( + "prepareThreshold", + "5", + "Statement prepare threshold. A value of {@code -1} stands for forceBinary"), /** - * Cancel command is sent out of band over its own connection, so cancel message can itself get - * stuck. - * This property controls "connect timeout" and "socket timeout" used for cancel commands. - * The timeout is specified in seconds. Default value is 10 seconds. + * Force use of a particular protocol version when connecting, if set, disables protocol version + * fallback. */ - CANCEL_SIGNAL_TIMEOUT("cancelSignalTimeout", "10", "The timeout that is used for sending cancel command."), + PROTOCOL_VERSION( + "protocolVersion", + null, + "Force use of a particular protocol version when connecting, currently only version 3 is supported.", + false, + new String[] {"3"}), /** - * Socket factory used to create socket. A null value, which is the default, means system default. + * Puts this connection in read-only mode. */ - SOCKET_FACTORY("socketFactory", null, "Specify a socket factory for socket creation"), + READ_ONLY( + "readOnly", + "false", + "Puts this connection in read-only mode"), /** - * The String argument to give to the constructor of the Socket Factory. - * @deprecated use {@code ..Factory(Properties)} constructor. + * Connection parameter to control behavior when + * {@link Connection#setReadOnly(boolean)} is set to {@code true}. */ - @Deprecated - SOCKET_FACTORY_ARG("socketFactoryArg", null, - "Argument forwarded to constructor of SocketFactory class."), + READ_ONLY_MODE( + "readOnlyMode", + "transaction", + "Controls the behavior when a connection is set to be read only, one of 'ignore', 'transaction', or 'always' " + + "When 'ignore', setting readOnly has no effect. " + + "When 'transaction' setting readOnly to 'true' will cause transactions to BEGIN READ ONLY if autocommit is 'false'. " + + "When 'always' setting readOnly to 'true' will set the session to READ ONLY if autoCommit is 'true' " + + "and the transaction to BEGIN READ ONLY if autocommit is 'false'.", + false, + new String[] {"ignore", "transaction", "always"}), /** * Socket read buffer size (SO_RECVBUF). A value of {@code -1}, which is the default, means system * default. */ - RECEIVE_BUFFER_SIZE("receiveBufferSize", "-1", "Socket read buffer size"), + RECEIVE_BUFFER_SIZE( + "receiveBufferSize", + "-1", + "Socket read buffer size"), /** - * Socket write buffer size (SO_SNDBUF). A value of {@code -1}, which is the default, means system - * default. + *

Connection parameter passed in the startup message. This parameter accepts two values; "true" + * and "database". Passing "true" tells the backend to go into walsender mode, wherein a small set + * of replication commands can be issued instead of SQL statements. Only the simple query protocol + * can be used in walsender mode. Passing "database" as the value instructs walsender to connect + * to the database specified in the dbname parameter, which will allow the connection to be used + * for logical replication from that database.

+ *

Parameter should be use together with {@link PGProperty#ASSUME_MIN_SERVER_VERSION} with + * parameter >= 9.4 (backend >= 9.4)

*/ - SEND_BUFFER_SIZE("sendBufferSize", "-1", "Socket write buffer size"), + REPLICATION( + "replication", + null, + "Connection parameter passed in startup message, one of 'true' or 'database' " + + "Passing 'true' tells the backend to go into walsender mode, " + + "wherein a small set of replication commands can be issued instead of SQL statements. " + + "Only the simple query protocol can be used in walsender mode. " + + "Passing 'database' as the value instructs walsender to connect " + + "to the database specified in the dbname parameter, " + + "which will allow the connection to be used for logical replication " + + "from that database. " + + "(backend >= 9.4)"), /** - * Assume the server is at least that version. + * Configure optimization to enable batch insert re-writing. */ - ASSUME_MIN_SERVER_VERSION("assumeMinServerVersion", null, - "Assume the server is at least that version"), + REWRITE_BATCHED_INSERTS( + "reWriteBatchedInserts", + "false", + "Enable optimization to rewrite and collapse compatible INSERT statements that are batched."), /** - * The application name (require server version >= 9.0). + * Socket write buffer size (SO_SNDBUF). A value of {@code -1}, which is the default, means system + * default. */ - APPLICATION_NAME("ApplicationName", DriverInfo.DRIVER_NAME, "Name of the Application (backend >= 9.0)"), + SEND_BUFFER_SIZE( + "sendBufferSize", + "-1", + "Socket write buffer size"), /** - * Flag to enable/disable obtaining a GSS credential via JAAS login before authenticating. - * Useful if setting system property javax.security.auth.useSubjectCredsOnly=false - * or using native GSS with system property sun.security.jgss.native=true + * Socket factory used to create socket. A null value, which is the default, means system default. */ - JAAS_LOGIN("jaasLogin", "true", "Login with JAAS before doing GSSAPI authentication"), + SOCKET_FACTORY( + "socketFactory", + null, + "Specify a socket factory for socket creation"), /** - * Specifies the name of the JAAS system or application login configuration. + * The String argument to give to the constructor of the Socket Factory. + * @deprecated use {@code ..Factory(Properties)} constructor. */ - JAAS_APPLICATION_NAME("jaasApplicationName", null, - "Specifies the name of the JAAS system or application login configuration."), + @Deprecated + SOCKET_FACTORY_ARG( + "socketFactoryArg", + null, + "Argument forwarded to constructor of SocketFactory class."), /** - * The Kerberos service name to use when authenticating with GSSAPI. This is equivalent to libpq's - * PGKRBSRVNAME environment variable. + * The timeout value used for socket read operations. If reading from the server takes longer than + * this value, the connection is closed. This can be used as both a brute force global query + * timeout and a method of detecting network problems. The timeout is specified in seconds and a + * value of zero means that it is disabled. */ - KERBEROS_SERVER_NAME("kerberosServerName", null, - "The Kerberos service name to use when authenticating with GSSAPI."), + SOCKET_TIMEOUT( + "socketTimeout", + "0", + "The timeout value used for socket read operations."), /** - * Use SPNEGO in SSPI authentication requests. + * Control use of SSL: empty or {@code true} values imply {@code sslmode==verify-full} */ - USE_SPNEGO("useSpnego", "false", "Use SPNEGO in SSPI authentication requests"), + SSL( + "ssl", + null, + "Control use of SSL (any non-null value causes SSL to be required)"), /** - * Force one of - *
    - *
  • SSPI (Windows transparent single-sign-on)
  • - *
  • GSSAPI (Kerberos, via JSSE)
  • - *
- * to be used when the server requests Kerberos or SSPI authentication. + * File containing the SSL Certificate. Default will be the file {@code postgresql.crt} in {@code + * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). */ - GSS_LIB("gsslib", "auto", "Force SSSPI or GSSAPI", false, "auto", "sspi", "gssapi"), + SSL_CERT( + "sslcert", + null, + "The location of the client's SSL certificate"), /** - * Specifies the name of the SSPI service class that forms the service class part of the SPN. The - * default, {@code POSTGRES}, is almost always correct. + * Classname of the SSL Factory to use (instance of {@code javax.net.ssl.SSLSocketFactory}). */ - SSPI_SERVICE_CLASS("sspiServiceClass", "POSTGRES", "The Windows SSPI service class for SPN"), + SSL_FACTORY( + "sslfactory", + null, + "Provide a SSLSocketFactory class when using SSL."), /** - * When using the V3 protocol the driver monitors changes in certain server configuration - * parameters that should not be touched by end users. The {@code client_encoding} setting is set - * by the driver and should not be altered. If the driver detects a change it will abort the - * connection. + * The String argument to give to the constructor of the SSL Factory. + * @deprecated use {@code ..Factory(Properties)} constructor. */ - ALLOW_ENCODING_CHANGES("allowEncodingChanges", "false", "Allow for changes in client_encoding"), + @Deprecated + SSL_FACTORY_ARG( + "sslfactoryarg", + null, + "Argument forwarded to constructor of SSLSocketFactory class."), /** - * Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve - * unqualified object names used in statements over this connection. + * Classname of the SSL HostnameVerifier to use (instance of {@code + * javax.net.ssl.HostnameVerifier}). */ - CURRENT_SCHEMA("currentSchema", null, "Specify the schema (or several schema separated by commas) to be set in the search-path"), - - TARGET_SERVER_TYPE("targetServerType", "any", "Specifies what kind of server to connect", false, - "any", "master", "slave", "secondary", "preferSlave", "preferSecondary"), + SSL_HOSTNAME_VERIFIER( + "sslhostnameverifier", + null, + "A class, implementing javax.net.ssl.HostnameVerifier that can verify the server"), - LOAD_BALANCE_HOSTS("loadBalanceHosts", "false", - "If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates"), + /** + * File containing the SSL Key. Default will be the file {@code postgresql.pk8} in {@code + * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). + */ + SSL_KEY( + "sslkey", + null, + "The location of the client's PKCS#8 SSL key"), - HOST_RECHECK_SECONDS("hostRecheckSeconds", "10", - "Specifies period (seconds) after which the host status is checked again in case it has changed"), + /** + * Parameter governing the use of SSL. The allowed values are {@code disable}, {@code allow}, + * {@code prefer}, {@code require}, {@code verify-ca}, {@code verify-full}. + * If {@code ssl} property is empty or set to {@code true} it implies {@code verify-full}. + * Default mode is "require" + */ + SSL_MODE( + "sslmode", + null, + "Parameter governing the use of SSL", + false, + new String[] {"disable", "allow", "prefer", "require", "verify-ca", "verify-full"}), /** - *

Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), - * extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, - * extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.

- * - *

This mode is meant for debugging purposes and/or for cases when extended protocol cannot be used (e.g. logical replication protocol)

+ * The SSL password to use in the default CallbackHandler. */ - PREFER_QUERY_MODE("preferQueryMode", "extended", - "Specifies which mode is used to execute queries to database: simple means ('Q' execute, no parse, no bind, text mode only), " - + "extended means always use bind/execute messages, extendedForPrepared means extended for prepared statements only, " - + "extendedCacheEverything means use extended protocol and try cache every statement (including Statement.execute(String sql)) in a query cache.", false, - "extended", "extendedForPrepared", "extendedCacheEverything", "simple"), + SSL_PASSWORD( + "sslpassword", + null, + "The password for the client's ssl key (ignored if sslpasswordcallback is set)"), /** - * Specifies what the driver should do if a query fails. In {@code autosave=always} mode, JDBC driver sets a savepoint before each query, - * and rolls back to that savepoint in case of failure. In {@code autosave=never} mode (default), no savepoint dance is made ever. - * In {@code autosave=conservative} mode, savepoint is set for each query, however the rollback is done only for rare cases - * like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries + * The classname instantiating {@code javax.security.auth.callback.CallbackHandler} to use. */ - AUTOSAVE("autosave", "never", - "Specifies what the driver should do if a query fails. In autosave=always mode, JDBC driver sets a savepoint before each query, " - + "and rolls back to that savepoint in case of failure. In autosave=never mode (default), no savepoint dance is made ever. " - + "In autosave=conservative mode, safepoint is set for each query, however the rollback is done only for rare cases" - + " like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries", false, - "always", "never", "conservative"), + SSL_PASSWORD_CALLBACK( + "sslpasswordcallback", + null, + "A class, implementing javax.security.auth.callback.CallbackHandler that can handle PassworCallback for the ssl password."), /** - * + * File containing the root certificate when validating server ({@code sslmode} = {@code + * verify-ca} or {@code verify-full}). Default will be the file {@code root.crt} in {@code + * $HOME/.postgresql} (*nix) or {@code %APPDATA%\postgresql} (windows). */ - CLEANUP_SAVEPOINTS("cleanupSavepoints", "false","Determine whether SAVEPOINTS used in AUTOSAVE will be released per query or not", - false, "true", "false"), + SSL_ROOT_CERT( + "sslrootcert", + null, + "The location of the root certificate for authenticating the server."), + /** - * Configure optimization to enable batch insert re-writing. + * Specifies the name of the SSPI service class that forms the service class part of the SPN. The + * default, {@code POSTGRES}, is almost always correct. */ - REWRITE_BATCHED_INSERTS("reWriteBatchedInserts", "false", - "Enable optimization to rewrite and collapse compatible INSERT statements that are batched."), + SSPI_SERVICE_CLASS( + "sspiServiceClass", + "POSTGRES", + "The Windows SSPI service class for SPN"), /** - * Enable mode to filter out the names of database objects for which the current user has no privileges - * granted from appearing in the DatabaseMetaData returned by the driver. + * Bind String to either {@code unspecified} or {@code varchar}. Default is {@code varchar} for + * 8.0+ backends. */ - HIDE_UNPRIVILEGED_OBJECTS("hideUnprivilegedObjects", "false", - "Enable hiding of database objects for which the current user has no privileges granted from the DatabaseMetaData"), + STRING_TYPE( + "stringtype", + null, + "The type to bind String parameters as (usually 'varchar', 'unspecified' allows implicit casting to other types)", + false, + new String[] {"unspecified", "varchar"}), + + TARGET_SERVER_TYPE( + "targetServerType", + "any", + "Specifies what kind of server to connect", + false, + new String[] {"any", "master", "slave", "secondary", "preferSlave", "preferSecondary"}), /** - *

Connection parameter passed in the startup message. This parameter accepts two values; "true" - * and "database". Passing "true" tells the backend to go into walsender mode, wherein a small set - * of replication commands can be issued instead of SQL statements. Only the simple query protocol - * can be used in walsender mode. Passing "database" as the value instructs walsender to connect - * to the database specified in the dbname parameter, which will allow the connection to be used - * for logical replication from that database.

- *

Parameter should be use together with {@link PGProperty#ASSUME_MIN_SERVER_VERSION} with - * parameter >= 9.4 (backend >= 9.4)

+ * Enable or disable TCP keep-alive. The default is {@code false}. */ - REPLICATION("replication", null, - "Connection parameter passed in startup message, one of 'true' or 'database' " - + "Passing 'true' tells the backend to go into walsender mode, " - + "wherein a small set of replication commands can be issued instead of SQL statements. " - + "Only the simple query protocol can be used in walsender mode. " - + "Passing 'database' as the value instructs walsender to connect " - + "to the database specified in the dbname parameter, " - + "which will allow the connection to be used for logical replication " - + "from that database. " - + "(backend >= 9.4)"), + TCP_KEEP_ALIVE( + "tcpKeepAlive", + "false", + "Enable or disable TCP keep-alive. The default is {@code false}."), /** - * Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11) - * In {@code escapeSyntaxCallMode=select} mode (the default), the driver always uses a SELECT statement (allowing function invocation only). - * In {@code escapeSyntaxCallMode=callIfNoReturn} mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement. - * In {@code escapeSyntaxCallMode=call} mode, the driver always uses a CALL statement (allowing procedure invocation only). + * Specifies the length to return for types of unknown length. */ - ESCAPE_SYNTAX_CALL_MODE("escapeSyntaxCallMode", "select", - "Specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. (backend >= 11)" - + "In escapeSyntaxCallMode=select mode (the default), the driver always uses a SELECT statement (allowing function invocation only)." - + "In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified, otherwise the driver uses a SELECT statement." - + "In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only).", - false, "select", "callIfNoReturn", "call"), + UNKNOWN_LENGTH( + "unknownLength", + Integer.toString(Integer.MAX_VALUE), + "Specifies the length to return for types of unknown length"), /** - * Connection parameter to control behavior when - * {@link Connection#setReadOnly(boolean)} is set to {@code true}. + * Username to connect to the database as. */ - READ_ONLY_MODE("readOnlyMode", "transaction", - "Controls the behavior when a connection is set to be read only, one of 'ignore', 'transaction', or 'always' " - + "When 'ignore', setting readOnly has no effect. " - + "When 'transaction' setting readOnly to 'true' will cause transactions to BEGIN READ ONLY if autocommit is 'false'. " - + "When 'always' setting readOnly to 'true' will set the session to READ ONLY if autoCommit is 'true' " - + "and the transaction to BEGIN READ ONLY if autocommit is 'false'.", - false, "ignore", "transaction", "always"), + USER( + "user", + null, + "Username to connect to the database as.", + true), /** - * Specifies size of buffer during fetching result set. Can be specified as specified size or - * percent of heap memory. + * Use SPNEGO in SSPI authentication requests. */ - MAX_RESULT_BUFFER("maxResultBuffer", null, - "Specifies size of buffer during fetching result set. Can be specified as specified size or percent of heap memory."); + USE_SPNEGO( + "useSpnego", + "false", + "Use SPNEGO in SSPI authentication requests"), + + ; private final String name; private final String defaultValue; private final boolean required; private final String description; private final String[] choices; + private final boolean deprecated; PGProperty(String name, String defaultValue, String description) { this(name, defaultValue, description, false); @@ -499,13 +678,26 @@ public enum PGProperty { this(name, defaultValue, description, required, (String[]) null); } - PGProperty(String name, String defaultValue, String description, boolean required, - String... choices) { + PGProperty(String name, String defaultValue, String description, boolean required, String[] choices) { this.name = name; this.defaultValue = defaultValue; this.required = required; this.description = description; this.choices = choices; + try { + this.deprecated = PGProperty.class.getField(name()).getAnnotation(Deprecated.class) != null; + } catch (NoSuchFieldException e) { + throw new RuntimeException(e); + } + } + + private static final Map PROPS_BY_NAME = new HashMap(); + static { + for (PGProperty prop : PGProperty.values()) { + if (PROPS_BY_NAME.put(prop.getName(), prop) != null) { + throw new IllegalStateException("Duplicate PGProperty name: " + prop.getName()); + } + } } /** @@ -527,6 +719,24 @@ public String getDefaultValue() { return defaultValue; } + /** + * Returns whether this parameter is required. + * + * @return whether this parameter is required + */ + public boolean isRequired() { + return required; + } + + /** + * Returns the description for this connection parameter. + * + * @return the description for this connection parameter + */ + public String getDescription() { + return description; + } + /** * Returns the available values for this connection parameter. * @@ -536,6 +746,15 @@ public String[] getChoices() { return choices; } + /** + * Returns whether this connection parameter is deprecated. + * + * @return whether this connection parameter is deprecated + */ + public boolean isDeprecated() { + return deprecated; + } + /** * Returns the value of the connection parameters according to the given {@code Properties} or the * default value. @@ -667,12 +886,7 @@ public DriverPropertyInfo toDriverPropertyInfo(Properties properties) { } public static PGProperty forName(String name) { - for (PGProperty property : PGProperty.values()) { - if (property.getName().equals(name)) { - return property; - } - } - return null; + return PROPS_BY_NAME.get(name); } /** From 997790e966e593d36a43c703e86de1134b520b8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 31 Jan 2020 16:51:01 -0500 Subject: [PATCH 419/427] chore(deps): bump checkstyle from 8.28 to 8.29 in /pgjdbc (#1691) Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.28 to 8.29. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.28...checkstyle-8.29) Signed-off-by: dependabot[bot] --- pgjdbc/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 627204f336..0178f892f0 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -33,7 +33,7 @@ 4.2 42 false - 8.28 + 8.29 From d8adfa5d0dd19d4a945d670503e4035331b7c6cc Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 3 Feb 2020 09:07:04 -0500 Subject: [PATCH 420/427] WIP release notes for 42.2.10 (#1688) * WIP release notes for 42.2.10 * add github coords to contributors * Added Russel Briggs --- CHANGELOG.md | 21 ++ contributors.json | 21 ++ docs/_posts/2020-01-30-42.2.10-release.md | 262 ++++++++++++++++++++++ 3 files changed, 304 insertions(+) create mode 100644 docs/_posts/2020-01-30-42.2.10-release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 734ac09570..1aead14066 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [42.2.10] (2020-01-30) +### Changed + +### Added + - Add maxResultBuffer property (#1657) + - add caller push of binary data (rebase of #953) (#1659) + +### Fixed + - Cleanup PGProperty, sort values, and add some missing to docs (#1686) + - Fixing LocalTime rounding (losing precision) (#1570) + - Network Performance of PgDatabaseMetaData.getTypeInfo() method (#1668) + - Issue #1680 updating a boolean field requires special handling to set it to t or f instead of true or false (#1682) + - bug in pgstream for replication (#1681) + - Issue #1677 NumberFormatException when fetching PGInterval with small value (#1678) + - Metadata queries improvements with large schemas. (#1673) + - Utf 8 encoding optimizations (#1444) + - interval overflow (#1658) + - Issue #1482 where the port was being added to the GSSAPI service name (#1651) + - remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) (#1641) + - Unable to register out parameter Issue #1646 (#1648) + ## [42.2.9] (2019-12-06) ### Changed diff --git a/contributors.json b/contributors.json index bbe3dcd624..b4223054ff 100644 --- a/contributors.json +++ b/contributors.json @@ -18,15 +18,20 @@ "Daniel Migowski" : "https://github.com/dmigowski", "Dave Cramer" : "davec@postgresintl.com", "Dmitriy Tseyler" : "https://github.com/tseylerd", + "Dongming" : "https://github.com/Dongming", "Doug Mayer" : "https://github.com/doxavore", "Eric McCormack" : "https://github.com/ericmack", "Florin Asăvoaie" : "https://github.com/FlorinAsavoaie", + "Frane Roje" : "https://github.com/franetw", "George Kankava" : "https://github.com/georgekankava", + "GregN" : "https://github.com/gregn123", "Hajar Razip" : "https://github.com/mshajarrazip", "Hari Babu Kommi" : "https://github.com/kommiharibabu", "Harry Chan" : "https://github.com/hc-codersatlas", "Hugh Cole-Baker" : "https://github.com/sigmaris", + "Igor Volkov" : "https://github.com/virtual-machinist", "Ivan Leskin" : "https://github.com/leskin-in", + "IvyDev0" : "https://github.com/IvyDev0", "JCzogalla" : "https://github.com/JCzogalla", "Jacques Fuentes" : "https://github.com/jpfuentes2", "James" : "https://github.com/jamesthomp", @@ -42,11 +47,14 @@ "Kazuhiro Sera" : "https://github.com/seratch", "Kevin Wooten" : "https://github.com/kdubb", "KimBisgaardDmi" : "https://github.com/KimBisgaardDmi", + "Knut Wannheden" : "https://github.com/knutwannheden", "Krzysztof Szafrański" : "https://github.com/kszafran", "Kyotaro Horiguchi" : "https://github.com/horiguti", "Laurenz Albe" : "https://github.com/laurenz", + "Lőrinc Pap" : "https://github.com/paplorinc", "Magnus" : "https://github.com/magJ", "Magnus Hagander" : "https://github.com/mhagander", + "Mahmoud Bahaa" : "https://github.com/mahmoudbahaa", "Marc Dean" : "https://github.com/deanmarc25", "Marc Petzold" : "https://github.com/dosimeta", "Marc Slemko" : "https://github.com/znep", @@ -56,6 +64,7 @@ "Matteo Melli" : "https://github.com/teoincontatto", "Michael Glaesemann" : "https://github.com/grzm", "MichaelZg" : "https://github.com/michaelzg", + "Michail Nikolaev" : "https://github.com/michail-nikolaev", "Michele Mancioppi" : "https://github.com/michele-mancioppi", "Minglei Tu" : "https://github.com/tminglei", "Mykola Nikishov" : "https://github.com/manandbytes", @@ -71,6 +80,7 @@ "Robert 'Bobby' Zenz" : "https://github.com/RobertZenz", "Robert Zenz" : "https://github.com/RobertZenz", "Roman Ivanov" : "https://github.com/romani", + "Russell Briggs" : "https://github.com/dupski", "Sebastian Utz" : "https://github.com/seut", "Sehrope Sarkuni" : "https://github.com/sehrope", "Selene Feigl" : "https://github.com/sfeigl", @@ -80,25 +90,34 @@ "Stephen Nelson" : "https://github.com/lordnelson", "Steve Ungerer" : "https://github.com/scubasau", "Sualeh Fatehi" : "https://github.com/sualeh", + "Svein Baardsen" : null, "Tanya Gordeeva" : "https://github.com/tmgordeeva", "Thach Hoang" : "https://github.com/thachhoang", "Tim Ward" : "https://github.com/timothyjward", + "Tom Eicher" : "https://github.com/teicher", + "Torsten Brodbeck" : "https://github.com/tbrodbeck-adc", "Trygve Laugstøl" : "https://github.com/trygvis", "Tyson Andre" : "https://github.com/TysonAndre", "Vladimir Gordiychuk" : "https://github.com/Gordiychuk", "Vladimir Sitnikov" : "https://github.com/vlsi", "Vsevolod Kaimashnikov" : "https://github.com/vsevolodk", + "Yuriy Yudin" : "https://github.com/junixar", "Zemian Deng" : "https://github.com/zemian", + "Zhenlei Huang" : "https://github.com/gmshake", + "adrklos" : "https://github.com/adrklos", "aryabukhin" : "https://github.com/aryabukhin", "bazzargh" : "https://github.com/bazzargh", "bd-infor" : "https://github.com/bd-infor", "benbenw" : "https://github.com/benbenw", "benoit" : "https://github.com/benbenw", + "bjanczak" : "https://github.com/bjanczak", "bpd0018" : "https://github.com/bpd0018", "chalda" : "https://github.com/ochaloup", "djydewang" : "https://github.com/djydewang", + "draderaws" : "https://github.com/draderaws", "eperez" : "https://github.com/eperez", "goeland86" : "https://github.com/goeland86", + "hyunkshinft" : "https://github.com/hyunkshinft", "itchyny" : "https://github.com/itchyny", "jajalvipul" : "https://github.com/jajalvipul", "kaiwangchen" : "https://github.com/kaiwangchen", @@ -106,10 +125,12 @@ "maltalex" : "https://github.com/maltalex", "mjanczykowski" : "https://github.com/mjanczykowski", "pbillen" : "https://github.com/pbillen", + "reibitto" : "https://github.com/reibitto", "rnveach" : "https://github.com/rnveach", "slmsbrhgn" : "https://github.com/slmsbrhgn", "trtrmitya" : "https://github.com/trtrmitya", "zapov" : "https://github.com/zapov", "Álvaro Hernández Tortosa" : "https://github.com/ahachete", + "Árpád Magosányi" : "https://github.com/magwas", "Étienne BERSAC" : "https://github.com/bersace" } diff --git a/docs/_posts/2020-01-30-42.2.10-release.md b/docs/_posts/2020-01-30-42.2.10-release.md new file mode 100644 index 0000000000..ca8f4117a3 --- /dev/null +++ b/docs/_posts/2020-01-30-42.2.10-release.md @@ -0,0 +1,262 @@ +--- +title: PostgreSQL JDBC Driver 42.2.10 Released +date: 2020-01-30 20:12:11 +0000 +categories: + - new_release +version: 42.2.10 +--- +**Notable changes** + + +## [42.2.10] (2020-01-30) +### Changed + +### Added + - Add maxResultBuffer property (#1657) + - add caller push of binary data (rebase of #953) (#1659) + +### Fixed + - Cleanup PGProperty, sort values, and add some missing to docs (#1686) + - Fixing LocalTime rounding (losing precision) (#1570) + - Network Performance of PgDatabaseMetaData.getTypeInfo() method (#1668) + - Issue #1680 updating a boolean field requires special handling to set it to t or f instead of true or false (#1682) + - bug in pgstream for replication (#1681) + - Issue #1677 NumberFormatException when fetching PGInterval with small value (#1678) + - Metadata queries improvements with large schemas. (#1673) + - Utf 8 encoding optimizations (#1444) + - interval overflow (#1658) + - Issue #1482 where the port was being added to the GSSAPI service name (#1651) + - remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) (#1641) + - Unable to register out parameter Issue #1646 (#1648) + +## [42.2.9] (2019-12-06) +### Changed + +### Added + - read only transactions [PR 1252](https://github.com/pgjdbc/pgjdbc/pull/1252) + - pkcs12 key functionality [PR 1599](https://github.com/pgjdbc/pgjdbc/pull/1599) + - new "escapeSyntaxCallMode" connection property [PR 1560](https://github.com/pgjdbc/pgjdbc/pull/1560) + - connection property to limit server error detail in exception exceptions [PR 1579](https://github.com/pgjdbc/pgjdbc/pull/1579) + - cancelQuery() to PGConnection public interface [PR 1157](https://github.com/pgjdbc/pgjdbc/pull/1157) + - support for large update counts (JDBC 4.2) [PR 935](https://github.com/pgjdbc/pgjdbc/pull/935) + - Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY [PR 1636](https://github.com/pgjdbc/pgjdbc/pull/1636) + +### Fixed + - issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation [PR 1506](https://github.com/pgjdbc/pgjdbc/pull/1506) + - PgSQLXML setCharacterStream() results in null value [PR 1608](https://github.com/pgjdbc/pgjdbc/pull/1608) + - get correct column length for simple domains [PR 1605](https://github.com/pgjdbc/pgjdbc/pull/1605) + - NPE as a result of calling executeQuery twice on a statement fixes issue [#684](https://github.com/pgjdbc/pgjdbc/issues/684) [PR 1610] (https://github.com/pgjdbc/pgjdbc/pull/1610) + - handle numeric domain types [PR 1611](https://github.com/pgjdbc/pgjdbc/pull/1611) + - pginterval to take iso8601 strings [PR 1612](https://github.com/pgjdbc/pgjdbc/pull/1612) + - remove currentTimeMillis from code, tests are OK [PR 1617](https://github.com/pgjdbc/pgjdbc/pull/1617) + - NPE when calling setNull on a PreparedStatement with no parameters [PR 1620](https://github.com/pgjdbc/pgjdbc/pull/1620) + - allow OUT parameter registration when using CallableStatement native CALL [PR 1561](https://github.com/pgjdbc/pgjdbc/pull/1561) + - add release save point into execute with batch [PR 1583](https://github.com/pgjdbc/pgjdbc/pull/1583) + - Prevent use of extended query protocol for BEGIN before COPY [PR 1639](https://github.com/pgjdbc/pgjdbc/pull/1639) + + + + +**Commits by author** + +Brett Okken (2): + +* feat: read only transactions [PR 1252](https://github.com/pgjdbc/pgjdbc/pull/1252) [05079793](https://github.com/pgjdbc/pgjdbc/commit/050797934a8a9c0ce2dff068eba14931988370ca) +* Utf 8 encoding optimizations [PR 1444](https://github.com/pgjdbc/pgjdbc/pull/1444) [c84e62ef](https://github.com/pgjdbc/pgjdbc/commit/c84e62efa5b98323562753e45fbf0d974eaca483) + +Craig Ringer (1): + +* Prevent use of extended query protocol for BEGIN before COPY [PR 1639](https://github.com/pgjdbc/pgjdbc/pull/1639) [b3711537](https://github.com/pgjdbc/pgjdbc/commit/b37115373935732b1ab5e59b56837ac49942718a) + +Dave Cramer (33): + +* Add simple test to make sure we can load a key [PR 1588](https://github.com/pgjdbc/pgjdbc/pull/1588) [7c591262](https://github.com/pgjdbc/pgjdbc/commit/7c591262792b8ff8f6139f67a98c16d41f2adf4f) +* Update prepare.md [PR 1601](https://github.com/pgjdbc/pgjdbc/pull/1601) [5e48eaa4](https://github.com/pgjdbc/pgjdbc/commit/5e48eaa4c9f6fc07904944bd98ad45fbb4aefd10) +* fix: issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation [PR 1506](https://github.com/pgjdbc/pgjdbc/pull/1506) [9b8a3ffd](https://github.com/pgjdbc/pgjdbc/commit/9b8a3ffd8a952a55be28d14cb80a23fdbb955133) +* chore: Document how to use unix domain sockets. [PR 1607](https://github.com/pgjdbc/pgjdbc/pull/1607) [e64b0a2d](https://github.com/pgjdbc/pgjdbc/commit/e64b0a2df8dd5e94a24fbb2e2e197f6d7fed7d9a) +* fix: PgSQLXML setCharacterStream() results in null value [PR 1608](https://github.com/pgjdbc/pgjdbc/pull/1608) [1e370263](https://github.com/pgjdbc/pgjdbc/commit/1e370263d2f59da04fd1f8fe55bb83afdc0a51dc) +* add test for table name with values in it [PR 1609](https://github.com/pgjdbc/pgjdbc/pull/1609) [47f756fa](https://github.com/pgjdbc/pgjdbc/commit/47f756fa926f7c78a7f55f030aadf7be82195e52) +* fix: get correct column length for simple domains [PR 1605](https://github.com/pgjdbc/pgjdbc/pull/1605) [8abf3161](https://github.com/pgjdbc/pgjdbc/commit/8abf3161d17fef3783c0c597e91c1fe455efc2e8) +* fix: NPE as a result of calling executeQuery twice on a statement fixes issue [PR 684](https://github.com/pgjdbc/pgjdbc/pull/684) (#1610) [00fa4485](https://github.com/pgjdbc/pgjdbc/commit/00fa448587532cc219977679bb8c573a1dcae11c) +* fix:handle numeric domain types [PR 1611](https://github.com/pgjdbc/pgjdbc/pull/1611) [7f1752a1](https://github.com/pgjdbc/pgjdbc/commit/7f1752a1f2853c88333b3ac75c2dc0212272b254) +* add checks for null results [PR 1616](https://github.com/pgjdbc/pgjdbc/pull/1616) [69320c7a](https://github.com/pgjdbc/pgjdbc/commit/69320c7a7dc065f44db5ddeec8143c606298b382) +* fix: pginterval to take iso8601 strings [PR 1612](https://github.com/pgjdbc/pgjdbc/pull/1612) [7b454355](https://github.com/pgjdbc/pgjdbc/commit/7b454355939aebd995b1b79598a1e945c168eb68) +* fix: remove currentTimeMillis from code, tests are OK [PR 1617](https://github.com/pgjdbc/pgjdbc/pull/1617) [ff4a66d2](https://github.com/pgjdbc/pgjdbc/commit/ff4a66d29d863cb4a6d2aecee2faec424f8d51d7) +* fix: NPE when calling setNull on a PreparedStatement with no parameters [PR 1620](https://github.com/pgjdbc/pgjdbc/pull/1620) [6899a43d](https://github.com/pgjdbc/pgjdbc/commit/6899a43dff735ab14a02bedea853266de768da50) +* doc: correct documentation about last applied message fixes [PR 760](https://github.com/pgjdbc/pgjdbc/pull/760) (#1621) [fdf898c7](https://github.com/pgjdbc/pgjdbc/commit/fdf898c781c00839210936d668d2341ca6c08406) +* docs: fix documentation about oids [PR 1624](https://github.com/pgjdbc/pgjdbc/pull/1624) [4edca517](https://github.com/pgjdbc/pgjdbc/commit/4edca517bfdc0bffb2141369394d611803b43523) +* fix: javadoc requires throws annotation [PR 1625](https://github.com/pgjdbc/pgjdbc/pull/1625) [4258e0d0](https://github.com/pgjdbc/pgjdbc/commit/4258e0d0cfdc50aaec3d31301fd793e221740bda) +* fix: Add pkcs12 key functionality [PR 1599](https://github.com/pgjdbc/pgjdbc/pull/1599) [82c2008f](https://github.com/pgjdbc/pgjdbc/commit/82c2008f83dd687e80b1e3acdeeb618dccc2fb5c) +* Actually test cleanSavePoints [PR 1509](https://github.com/pgjdbc/pgjdbc/pull/1509) [97d32caa](https://github.com/pgjdbc/pgjdbc/commit/97d32caad1f72c11d3e89ffaf16a17a22c6b9790) +* fix: DatabaseMetaData.getFunctions should not limit the search to the search_path if the schema is provided [PR 1633](https://github.com/pgjdbc/pgjdbc/pull/1633) [8106d3df](https://github.com/pgjdbc/pgjdbc/commit/8106d3df5c3f6ea3cbc3e621977df5542b182b56) +* feat: WIP Filter DatabaseMetaData using privileges for the user [PR 1630](https://github.com/pgjdbc/pgjdbc/pull/1630) [ec76bace](https://github.com/pgjdbc/pgjdbc/commit/ec76bace1d4e3c02a7bf235f726a6c6d7feb6ee3) +* new pr for release notes [PR 1640](https://github.com/pgjdbc/pgjdbc/pull/1640) [fa69e7e9](https://github.com/pgjdbc/pgjdbc/commit/fa69e7e951d6f7dc48a605ac1c44393645512aa3) +* Update [03fdf75d](https://github.com/pgjdbc/pgjdbc/commit/03fdf75d7b3be54aa6b47c37c1c7fbdf57bda4ab) +* use TestUtil to find path of certdir [PR 1643](https://github.com/pgjdbc/pgjdbc/pull/1643) [4a8a8544](https://github.com/pgjdbc/pgjdbc/commit/4a8a85445a739bc9bdaa9660f1d9b9a17d129267) +* fix: Unable to register out parameter Issue [PR 1646](https://github.com/pgjdbc/pgjdbc/pull/1646) (#1648) [ea2ca87c](https://github.com/pgjdbc/pgjdbc/commit/ea2ca87c326dfc793df133d6cf39777e3c8da177) +* remove more currentTimeMillis in order to get tests to be more reliable [PR 1647](https://github.com/pgjdbc/pgjdbc/pull/1647) [617f0487](https://github.com/pgjdbc/pgjdbc/commit/617f0487adddb6601e681e25006e5555bc644c3e) +* fix unstable test. Originally this would loop creating many statements, now it should timeout properly [PR 1650](https://github.com/pgjdbc/pgjdbc/pull/1650) [aaccf431](https://github.com/pgjdbc/pgjdbc/commit/aaccf431f444df80cfed7633a12bd77d63a4b1fc) +* fix: issue 1482 where the port was being added to the GSSAPI service name [PR 1651](https://github.com/pgjdbc/pgjdbc/pull/1651) [f7a55cf9](https://github.com/pgjdbc/pgjdbc/commit/f7a55cf90c3152c982169a896e5e80d3a89fff52) +* Update README to reflect version 42.2.9 [2972add8](https://github.com/pgjdbc/pgjdbc/commit/2972add8e47d747655585fc423ac75c609f21c11) +* be explicit about which JDK [PR 1672](https://github.com/pgjdbc/pgjdbc/pull/1672) [39c73a6a](https://github.com/pgjdbc/pgjdbc/commit/39c73a6ab292f3f41db4ac54d3eed3ea0651e2f5) +* fix: actually use milliseconds instead of microseconds for timeouts [PR 1653](https://github.com/pgjdbc/pgjdbc/pull/1653) [3dd5dff2](https://github.com/pgjdbc/pgjdbc/commit/3dd5dff2b095ed7665fbed386a7cbad7c3254fd1) +* fix: Issue [PR 1680](https://github.com/pgjdbc/pgjdbc/pull/1680) updating a boolean field requires special handling to set it to t or f instead of true or false (#1682) [c266b088](https://github.com/pgjdbc/pgjdbc/commit/c266b0885141f48912d7883ec17855c420641a72) +* add DatabaseMetaDataCacheTest to test suite to run it [PR 1685](https://github.com/pgjdbc/pgjdbc/pull/1685) [b21f474c](https://github.com/pgjdbc/pgjdbc/commit/b21f474c58f4be978310076d11bfaed6e8a8240f) +* fix: Fixes issue [PR 1592](https://github.com/pgjdbc/pgjdbc/pull/1592) where one thread is reading the copy and another thread closes the connection (#1594) [1191076c](https://github.com/pgjdbc/pgjdbc/commit/1191076c8141ce796d4bae9bb7e8bc955aae528a) + +Dongming (1): + +* Adjust the default port to 5432. [PR 1619](https://github.com/pgjdbc/pgjdbc/pull/1619) [9a193de7](https://github.com/pgjdbc/pgjdbc/commit/9a193de71d3e834a231f8f5027fb887e00e903d2) + +Frane Roje (1): + +* Fixing LocalTime rounding (losing precision) [PR 1570](https://github.com/pgjdbc/pgjdbc/pull/1570) [a7480d20](https://github.com/pgjdbc/pgjdbc/commit/a7480d20370fefa70c5df30a402b952d1216b63c) + +GregN (2): + +* feat: add new "escapeSyntaxCallMode" connection property [PR 1560](https://github.com/pgjdbc/pgjdbc/pull/1560) [d7559138](https://github.com/pgjdbc/pgjdbc/commit/d75591385538cd704a066c4ed026f767ce3784ab) +* fix: allow OUT parameter registration when using CallableStatement native CALL [PR 1561](https://github.com/pgjdbc/pgjdbc/pull/1561) [ed74670f](https://github.com/pgjdbc/pgjdbc/commit/ed74670fae932935a156eccfb4b1ff16758f5693) + +Igor Volkov (1): + +* Fix exception on PGCopyOutputStream.close() after endCopy() [PR 1574](https://github.com/pgjdbc/pgjdbc/pull/1574) (#1575) [539a0925](https://github.com/pgjdbc/pgjdbc/commit/539a09258f6009581785474fe5f15a46992ade6f) + +IvyDev0 (1): + +* fix: null pointer exception from PgResultSetMetaData when there's no column metadata [PR 1615](https://github.com/pgjdbc/pgjdbc/pull/1615) [08bd46bf](https://github.com/pgjdbc/pgjdbc/commit/08bd46bfccc9c9481650e4ee09c943ec78d77895) + +Jorge Solorzano (1): + +* feat: support for large update counts (JDBC 4.2) [PR 935](https://github.com/pgjdbc/pgjdbc/pull/935) [0888e935](https://github.com/pgjdbc/pgjdbc/commit/0888e9355ca065ac2eae4e3085442ffd54f6dec6) + +Knut Wannheden (1): + +* Fix Markdown formatting issue [PR 1576](https://github.com/pgjdbc/pgjdbc/pull/1576) [69edc0b8](https://github.com/pgjdbc/pgjdbc/commit/69edc0b8f0985465af0ba0ee258f6b2564240232) + +Lőrinc Pap (1): + +* feat: add caller push of binary data (rebase of [PR 953](https://github.com/pgjdbc/pgjdbc/pull/953) (#1659) [db228a4f](https://github.com/pgjdbc/pgjdbc/commit/db228a4ffd8b356a9028363b35b0eb9055ea53f0) + +Mahmoud Bahaa (4): + +* Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY [PR 1636](https://github.com/pgjdbc/pgjdbc/pull/1636) [c85b149d](https://github.com/pgjdbc/pgjdbc/commit/c85b149d68c30ede0559d4bff6bc616ec03b2517) +* Only allow binary transfer for those Oids that the pgjdbc currently supports [PR 1637](https://github.com/pgjdbc/pgjdbc/pull/1637) [ad83cb33](https://github.com/pgjdbc/pgjdbc/commit/ad83cb332058f0a891b89f47ceefb538cbf031db) +* Fix test case by changing executeQuery to execute [PR 1642](https://github.com/pgjdbc/pgjdbc/pull/1642) [1d47c3cc](https://github.com/pgjdbc/pgjdbc/commit/1d47c3cc7c8abe18b72012a1c0bb4bfb3b7b5dc7) +* fix: remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) [PR 1641](https://github.com/pgjdbc/pgjdbc/pull/1641) [23cce8ad](https://github.com/pgjdbc/pgjdbc/commit/23cce8ad35d9af6e2a1cb97fac69fdc0a7f94b42) + +Michail Nikolaev (1): + +* fix: do ssl handshake after socket timeout and buffer size settings [PR 1584](https://github.com/pgjdbc/pgjdbc/pull/1584) [e39a0be0](https://github.com/pgjdbc/pgjdbc/commit/e39a0be0739d016f524e7aef567f95e6ea59fd54) + +Pavel Raiskup (1): + +* rpm: drop BR on properties-maven-plugin [91186c08](https://github.com/pgjdbc/pgjdbc/commit/91186c08968f15b11b7338f1a565124abedcbfae) + +Roman Ivanov (1): + +* minor: fix checkstyle violation of unused import [PR 1683](https://github.com/pgjdbc/pgjdbc/pull/1683) [2ea7311e](https://github.com/pgjdbc/pgjdbc/commit/2ea7311e40b8611061766784401e727c4dd0ad32) + +Russell Briggs (1): + +* Fix Network Performance of PgDatabaseMetaData.getTypeInfo() method [PR 1668](https://github.com/pgjdbc/pgjdbc/pull/1668) [beb354eb](https://github.com/pgjdbc/pgjdbc/commit/beb354eb4dd8196c72b6fa7780187d9f7a491a6d) + +Sehrope Sarkuni (7): + +* Clean up some tests and fix IsValidTest race condition [PR 1581](https://github.com/pgjdbc/pgjdbc/pull/1581) [ad734574](https://github.com/pgjdbc/pgjdbc/commit/ad734574726eb0decf5178071c87a1b513e484f2) +* Fix test suite order [PR 1593](https://github.com/pgjdbc/pgjdbc/pull/1593) [003ea835](https://github.com/pgjdbc/pgjdbc/commit/003ea8352dab2b49b4734cdf7338befb4d9b9ed4) +* fix: Update error message for COPY commands executed using JDBC API [PR 1300](https://github.com/pgjdbc/pgjdbc/pull/1300) [c99ed121](https://github.com/pgjdbc/pgjdbc/commit/c99ed1213410872915930bea4471df6b1bdc503e) +* Add connection property to limit server error detail in exception exceptions [PR 1579](https://github.com/pgjdbc/pgjdbc/pull/1579) [cd0b555c](https://github.com/pgjdbc/pgjdbc/commit/cd0b555c8045fc71e6f4d0fb0f24a2deb726301e) +* feat: Add cancelQuery() to PGConnection public interface [PR 1157](https://github.com/pgjdbc/pgjdbc/pull/1157) [f0af538f](https://github.com/pgjdbc/pgjdbc/commit/f0af538f59924fd9d692627102c94517e5f6008e) +* Add disallow multiple empty lines [PR 1427](https://github.com/pgjdbc/pgjdbc/pull/1427) [be5c9f43](https://github.com/pgjdbc/pgjdbc/commit/be5c9f434c3ce68b9140f3ff929023e69cb2f984) +* Cleanup PGProperty, sort values, and add some missing to docs [PR 1686](https://github.com/pgjdbc/pgjdbc/pull/1686) [47e366dd](https://github.com/pgjdbc/pgjdbc/commit/47e366ddfda40a136233bd79371cef8af001d38e) + +Svein Baardsen (1): + +* fix: [PR 1677](https://github.com/pgjdbc/pgjdbc/pull/1677) NumberFormatException when fetching PGInterval with small value (#1678) [e38868b2](https://github.com/pgjdbc/pgjdbc/commit/e38868b29cafa7e8a9a5db67adb5a67cc2b5f230) + +Tom Eicher (1): + +* fix: DataSources broken by connection failover urls [PR 1039](https://github.com/pgjdbc/pgjdbc/pull/1039) (#1457) [bd9485ef](https://github.com/pgjdbc/pgjdbc/commit/bd9485ef7b889ec7397b1e39f77f5d396f06ed05) + +Torsten Brodbeck (1): + +* fix camel case writing of 'cleanupSavepoints' [PR 1587](https://github.com/pgjdbc/pgjdbc/pull/1587) [0fd45353](https://github.com/pgjdbc/pgjdbc/commit/0fd45353e504ed7821af69c8053814918212b8d7) + +Vladimir Sitnikov (1): + +* style: use fixed checkstyle version so the build does not depend on user machine [d164cba2](https://github.com/pgjdbc/pgjdbc/commit/d164cba20e7df21d1ac060bdabff20f08fb8e7cf) + +Yuriy Yudin (1): + +* fix: add release save point into execute with batch [PR 1583](https://github.com/pgjdbc/pgjdbc/pull/1583) [504bb316](https://github.com/pgjdbc/pgjdbc/commit/504bb316b91fdbc6506a2e9870453fb75fbbb083) + +Zhenlei Huang (2): + +* style: prepare for upcoming Checkstyle release 8.28 [PR 1654](https://github.com/pgjdbc/pgjdbc/pull/1654) [0b60c626](https://github.com/pgjdbc/pgjdbc/commit/0b60c62672eac051f2d2696b96de028623afe69c) +* chore: upgrade checkstyle to 8.28 [PR 1660](https://github.com/pgjdbc/pgjdbc/pull/1660) [63316802](https://github.com/pgjdbc/pgjdbc/commit/6331680298db5e65503c31bc89c000111675a8ea) + +adrklos (1): + +* feat: Add maxResultBuffer property [PR 1657](https://github.com/pgjdbc/pgjdbc/pull/1657) [557e2de4](https://github.com/pgjdbc/pgjdbc/commit/557e2de462b0f52ddc0b151971a9aa6e2d553622) + +bjanczak (1): + +* Metadata queries improvements. [PR 1673](https://github.com/pgjdbc/pgjdbc/pull/1673) [c574147a](https://github.com/pgjdbc/pgjdbc/commit/c574147af450fdac4a222dceef21991a67235396) + +draderaws (2): + +* Stored procedure with transaction control test case and doc. [PR 1645](https://github.com/pgjdbc/pgjdbc/pull/1645) [d10ab8d6](https://github.com/pgjdbc/pgjdbc/commit/d10ab8d68229b691d9492c942d2cb9183ee9fe32) +* sync error message value with tested value [PR 1664](https://github.com/pgjdbc/pgjdbc/pull/1664) [91d422d6](https://github.com/pgjdbc/pgjdbc/commit/91d422d6fd7976fa740295bb398fbfd79cb01c65) + +hyunkshinft (1): + +* fix testSetNetworkTimeoutEnforcement test failure [PR 1681](https://github.com/pgjdbc/pgjdbc/pull/1681) [799e78d5](https://github.com/pgjdbc/pgjdbc/commit/799e78d578573bd520ff04c6bd72a97c50cb984d) + +reibitto (1): + +* Fix interval overflow [PR 1658](https://github.com/pgjdbc/pgjdbc/pull/1658) [a44ab4be](https://github.com/pgjdbc/pgjdbc/commit/a44ab4becd9e5c198bfbce84fc87da6d01e5f25a) + +rnveach (1): + +* upgrade maven-checkstyle-plugin to 3.1.0 [PR 1573](https://github.com/pgjdbc/pgjdbc/pull/1573) [831115c1](https://github.com/pgjdbc/pgjdbc/commit/831115c1e8ede27d6a0434022b11edab7082721a) + +Árpád Magosányi (2): + +* fix documentation on generating the pk8 key. closes: [PR 1585](https://github.com/pgjdbc/pgjdbc/pull/1585) (#1586) [635cc865](https://github.com/pgjdbc/pgjdbc/commit/635cc86562aebc223dcc0d163639c5039a6b54c0) +* security notice and clarifications on choosing the right cipher suite for client key [PR 1591](https://github.com/pgjdbc/pgjdbc/pull/1591) [c67b0b0b](https://github.com/pgjdbc/pgjdbc/commit/c67b0b0b667a6b9f1b13ed5359687f3bc20ac61b) + + +### Contributors to this release + +We thank the following people for their contributions to this release. + +[adrklos](https://github.com/adrklos) +[Árpád Magosányi](https://github.com/magwas) +[bjanczak](https://github.com/bjanczak) +[Brett Okken](https://github.com/bokken) +[Craig Ringer](https://github.com/ringerc) +[Dave Cramer](davec@postgresintl.com) +[Dongming](https://github.com/Dongming) +[draderaws](https://github.com/draderaws) +[Frane Roje](https://github.com/franetw) +[GregN](https://github.com/gregn123 +[hyunkshinft](https://github.com/hyunkshinft) +[Igor Volkov](https://github.com/virtual-machinist) +[IvyDev0](https://github.com/IvyDev0) +[Jorge Solorzano](https://github.com/jorsol) +Knut Wannheden +[Lőrinc Pap](https://github.com/paplorinc) +[Mahmoud Bahaa](https://github.com/mahmoudbahaa) +[Michail Nikolaev](https://github.com/michail-nikolaev) +[Pavel Raiskup](https://github.com/praiskup) +[reibitto](https://github.com/reibitto) +[rnveach](https://github.com/rnveach) +[Roman Ivanov](https://github.com/romani) +[Russell Briggs](https://github.com/dupski) +[Sehrope Sarkuni](https://github.com/sehrope) +Svein Baardsen +[Tom Eicher](https://github.com/teicher) +[Torsten Brodbeck](https://github.com/tbrodbeck-adc) +[Vladimir Sitnikov](https://github.com/vlsi) +[Yuriy Yudin](https://github.com/junixar) +[Zhenlei Huang](https://github.com/gmshake) From ad8232d7e320f7ffc43dd13d8c933e134396396d Mon Sep 17 00:00:00 2001 From: bjanczak Date: Tue, 4 Feb 2020 11:57:55 +0100 Subject: [PATCH 421/427] Metadata queries improvment (#1694) * Metadata queries improvements. When dealing with large PostrgeSQL databases of thousands of schemas, tens of thousands of tables and millions of indexes particular PgDatabaseMetaData methods have suboptimal implementation. The pattern that was utilized in implementation used inner query on pg_catalog.pg_index in order to retrieve keys (information_schema._pg_expandarray(i.indkey) AS keys). Such implementation forced full table scan on pg_catalog.pg_index prior to filtering result set on schema and table name. The optimization idea was to get rid of inner querry in order to let querry planner to avoid full table scan and filter out pg_catalog.pg_index rows prior to executing (information_schema._pg_expandarray(i.indkey) AS keys). * Add test for column order. --- .../postgresql/jdbc/PgDatabaseMetaData.java | 1 + .../test/jdbc2/DatabaseMetaDataTest.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 092d30db6b..5e49070ee4 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2424,6 +2424,7 @@ public ResultSet getIndexInfo(String catalog, String schema, String tableName, } sql = "SELECT " + + " tmp.TABLE_CAT, " + " tmp.TABLE_SCHEM, " + " tmp.TABLE_NAME, " + " tmp.NON_UNIQUE, " diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 53bc9c55e0..df5495e751 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -658,6 +658,32 @@ public void testIndexInfo() throws SQLException { rs.close(); } + /** + * Order defined at + * https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getIndexInfo-java.lang.String-java.lang.String-java.lang.String-boolean-boolean- + */ + @Test + public void testIndexInfoColumnOrder() throws SQLException { + DatabaseMetaData dbmd = con.getMetaData(); + assertNotNull(dbmd); + ResultSet rs = dbmd.getIndexInfo(null, null, "metadatatest", false, false); + assertEquals(rs.findColumn("TABLE_CAT"), 1); + assertEquals(rs.findColumn("TABLE_SCHEM"), 2); + assertEquals(rs.findColumn("TABLE_NAME"), 3); + assertEquals(rs.findColumn("NON_UNIQUE"), 4); + assertEquals(rs.findColumn("INDEX_QUALIFIER"), 5); + assertEquals(rs.findColumn("INDEX_NAME"), 6); + assertEquals(rs.findColumn("TYPE"), 7); + assertEquals(rs.findColumn("ORDINAL_POSITION"), 8); + assertEquals(rs.findColumn("COLUMN_NAME"), 9); + assertEquals(rs.findColumn("ASC_OR_DESC"), 10); + assertEquals(rs.findColumn("CARDINALITY"), 11); + assertEquals(rs.findColumn("PAGES"), 12); + assertEquals(rs.findColumn("FILTER_CONDITION"), 13); + + rs.close(); + } + @Test public void testNotNullDomainColumn() throws SQLException { DatabaseMetaData dbmd = con.getMetaData(); From cad7ec4fa437dee4957d12d0ea2860d38740eedf Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Wed, 5 Feb 2020 18:39:15 +0300 Subject: [PATCH 422/427] chore: update signing key --- .travis/secrets.tar.enc | Bin 13344 -> 0 bytes .travis/secrets.tar.gpg | Bin 0 -> 12939 bytes .travis/travis_release.sh | 3 ++- 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 .travis/secrets.tar.enc create mode 100644 .travis/secrets.tar.gpg diff --git a/.travis/secrets.tar.enc b/.travis/secrets.tar.enc deleted file mode 100644 index 762d50887d415b6f2da98b1ea4f6a4fecc49cc06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13344 zcmV+*G~dfpVQh3|WM5yKgp`9~Is*bpy)pwwP<#jDx%0TEB5>TiCwXy@2j$k)UeK|%*njQFFTg# zhK(%QlO^)}PTMFePaVvG?BJ7bx!Pf3YdcD%hghU2>+)GD@-rXqYf9uUIwBKHNRuCd zCnufyt)FORT}6&<05GO2sOHXu)oS%QpV#Y(vLaplXN#l+BIPnwCAM&Cl%+VtOhP7S z+umZ9E~8P7!P)-fGo^3}%7ENSA+lAhEa*R09}m(C`X}B5qCBAaKm`kSMBMBLx2i|# z0jLG)MX30l=!;*B(metjHO9V8he1VpIv2qqcFfwYLaO6oq16i2TOaESm;*)erWC43 zb8&3gQyqFgGh|W|aH^(S@xC;_5Ma4sYZ``w+}R!?&4KY1`S#3SmT%2};Hmy#g=deITAjatKW{<<`iiUus7;_vdi1VSm82cz0U*nq|OFkPM> zx{dHBF{XCcTTokUhkje(Nw#ZQw`|p!(3!JiP4YqpBQlJpH>eQTN$tX=i{r9WNH_p~ z8l0U#xMuyyl->$WDXQHrs(DBT?FsBb^rNm=MO;bq*ZWDC2LAKgoDb+^{D z%2znO1-sMIvVuKgg0?5)LT$uLp~&H*;+fOwj%t$M^7+V>_mn&TLcg~jf>caRL3uMw zHtjTY3_E{t%-RBB)mIv)nYA3xeFprF1N5}RDW1-q|cGgaK^d-ip2KDx~F8toQCSyAU$vp@v ztpo#b-wJWCX<>~DZRI?A*<`E#Ef_{Ib<4^tQr)UrHEIfD%8!HsQ{a6!wUxg~BA3Of zJ`A$QE|Y61d?<+(f=)PfXB6^sXi7mt|7XOX-Yq%pp^IFkMmd8sMCYW*q=V3%xCd@S zBnaZ`KXivmzZ5}cyjz1&X3p#A*MOg;3YQ&F@`Qc^(}V2P;LJlm=6Eb9c!@ozczCF% zapK`ql9zPIIjOrz8e|6M{dpLA^pBIw)VTffcNJuwdhtrVh(HDs>3R{M?BayRW;iGP z?Dg90eQplt^p|~ru}(+05JBR%m6XPhwzJ60Js`D7phjIo>6jTKb1l~}aOT(D7nWfr zaE8TE!66aBSd^SFAbaAXid1KFq)ze;t$NU@IdY3e8HTsIvd(aeK)tySF2ojcW z9fZ%FhKEQT zByZC=Oh9Op!we|#hoSoP=g{Ri2oDSp&|Tt=^mD^#rB`;Y#{X8)i~AP3FU>RG{fRq> zjb$XQ;S~?1G(G%KDIT}Y*A}acg7L+lWJyizb2Cl2(xdjFFl6#gxNG&yDPwjJw*JZE zs3Gc__<4IG>3K?{@)D*i9G-|f=9mOV$(cK)7kis?ykI-t@^akz0+$^~WNTMetOvy& zpmX^5`#?d5(?AVQXiRswABCjJL~cHKp6;~<;v;%|VxnwGpou_iLMe1?KzDo}{@Ap4 z%%9z_jdyg}3BzX)qN@(eCuq4ALS7FrwpOHvKPZ%WY9F2CeD)6r*DlwV(X-QBW2Lzj z!$IC7SntTrmj#xcuK@W3Qnp>a|U&%rjW13-S3iI8OCHVqvnu>YM z_OnbVX^145so5Z6Xuq4PiajyD1!k#8h}>VodJnc#QxF{=8$=Y)Za?EQg-OD^p`QR_Vsbs_NO2VV$OSieTntEAKK^h2HM8+iizuBi=TUQ#$@# zP1v`qYYj^(h{)rVi&Zxp*yl$?@+yXyi7g4f1<^4jQRD9^M7-M%l5W^jc(@Tp%veg> zPl3@<(bhy6qj1@3qt)E^e|Pr%;)-%L)0K24zvUx8>E!6x#UFAC-TGc2xA>@I3IsP- zt0M?1k_OQ7^Dwq>o#y__j~}nr-M{g=;4~HOlf7wkCiGf9*IyW_S(irB9AFSMtU$^U z+b*(Y8uI&cvkA3~Cj4uH={{PTP|$mt-mJ693UX^?EZbO%lUqCHMF-0^Q>@cd>|DDP zI%i)v>$jWhfF1*2rR0^rAmpE`j+cK!ah*Pn?bd_m)tq_TZgj0W zKp+X-I9L60*qvH7Fb)dXVA^0-TXz|T! z2ByrwmA$wZWJA^_|JCDSR-BzYICx~;@m0;<5$1sdC6lPaAaYkP5qGH$+es~|H(I!Z zyht27yMWx(G5`yK|0E_Ad_|upf#|G4$r5G}j}8{-ZrsT+LBXd>6awg8L=XB`3zYxn);9~V?8+=W}Eui{?-eLWlk zG=69Ka%}mzzB=;{?Ta{6h}=8JbuZ(=W_B1-QMTh`)Jq1zZOK)f<&3?>sDOSuPfLQJ z|0^r1fqS^ajPa|e?_qEJhgCXQx&kgyLh_ux6Z*$c?*~>fIt)81MITMZ{)$h7Kv{NR zMhPmc3t0B3@0MhMp~%3~Yvw=!QV+mMw|d<*_V#tAp-tWzX67BvSGj~eEAut0hrQQI zZ|6NeFBSai)dtP}v!?ide+|)y%^IpWndidtjwE7!4nrvD)VD!kpp@$-SV@e2KUvOQ zsUGcCH$#yXJ@Kbt^kp{)`9~kD00|{h7*Zbf(fW{2uBs|4PuwX;9JTQjIR#`X4nb<- zPnYDe`QxyB>OtnK8v>ysO+Onjx!G~C&w?8d%Vrygj7#;fU7d*>Ys)5DDF3`Q73293 z0?cycau+W|WjqF*ljt8#3M(-JcZ959QM}Jk^|`{Fj(tn-z5FV4Sc4CfjrX|R@C1`) z{tPwl_tWjEI)?qdv@xvI9P!+dCF9X-Gb#Mqh^Y424>4PUJ$+Vlv*$}j>()}C#JmIi z+dT0#JvndMXvw`KWurwVYW^kR$NT+C$E;;ET*+@WO+bpKEtbTYqfwG6hw}I*q z|0{Y8lA1iU#n6)~1z1oh^LX?6kVMhe;O0blkVybLzj!;zxg%nTTaN!s>OruyAYV_D z>Sd9EtPQionFd_6(V1m@Q>HX9OQwA z((=3-m$%HvB8_Plf*2b37nit^`!)q_pWvk{mda72{^;~2W;7tz0~Lj>}WXrPCTy!jX7ZU#K6FY0!A6DYmJBpZhU zTbWHO3-lBafdc_lqj(k^3YDx;o(kO9IGEaKEvh>+2rlODmWA5HF~2>RR{0VetCe*;I+P?&SL|c;D|egS?4M7c|=h-(%glyVm%bT3zcc9+~NW zjUS!SH2b(M9pTBtp^?h+@Mxrf>MP=^qV9OK0dU}9I3*pJkP23w=`8s{#~}4#>PWOS z6kdvIGVAfR3Mb6V4_;K?t!`LF8k~ndGTv`kt5Luu2G(HEY?K1x!Y;NDP=$? zi^Y1PWD0A%bltvurjiq=-%iw}A(h@FQ!WLBaA{WOMAw&9+}45pZGta97-x(Ojchm(gv$tPDv`-PQyX2#ae(;pEm@;>D|9(K88x*;tOsGK=N83oiuE&j8rJ(! zcGb^}GKG1?p~Rpn@#9S&-kHa=xyFeqI39P3XU0)0m)>8}zB0a=)Q`_pm77*#^3(G7 zSBQ9peg0pXD-2s=1QLPn^%Iq)4J@NFXq?msC#!5e*7-oO5k4&3^wKb;NZyN%xyF4T zp*4SnE~v;EnVv9brpR;tQyn&Xxu(oTVi~m`>b|6Q%#;Tm;xzvA^KBI=y813dwHioL z`5))HTn+K``7qRxsj!>jxJ{ZhXqWq@O~-R%0|OuPd;ZMV)qD$;$lCtP+^) zbb;5l3^ewxDx`xZT*H{97@;(X>V(zuho(u46L7CCj%L*mF;%1@fN+#86(Sd+dv`AY zR@ON}fMmfn4$Nt;vy^g`^-~3?!Fg9_t{Sj2ZV*ZuRccWqDz9ryWA7x*~)nA=q9v5A#UT zg0!~5KhQP8j0CZNZ6FT5*}0o{mG&neiUrl}^UhJR_oQidN(dkg;Uo3_m5x@n!uXcQ zM}ju5MXVgWvSF|0kG8VOhS)XTAg}=~e#HcyS`p_6(_@BR@pjn~6}fEHdY(eYpoVW&5Wd8Rvb2 zYkKn4>*6QVm0mvYMV(Uss)Yray1lVgCGuoC@h?pmB&?G&iuCGrSh5@fp5RYAm#Ll) z`hDLBC!NA%tyIq>YAUWAZEU$2_wAI${nVUj_tjh&N=3UbR)uWF zJsPUlPPMgp0$5pgm;O{Q)e?h>Sxm0}1m^;KzX58n(CeNbq_XMXt0WC;c5Ju#P;zM? zt<8-8VX;{4$qYjnP%^W;H#jLtPMTxAiXY59HVG#c#vRiiw%Fl8b_47OFCreR%${fv z*0%|+GWSU96;o=%MmM;8MYN^}3M$$SgI+vZ>Ox--zOT*)fbDLoLPy}XZ96~Sno;Z4 zmng|E`Q=koPRiq{k!jj;QOT&^(zFK9ZpZYih%UwVDL8#m0{9orZYb_`>oUL=ueDm8 zUZuatyc_Jvn8L{sppZ%#n`^_VdmwAa>%{orE8m*1@H%bFbCWl)FxG; zYW8dhwdcf`wrk9Lk*k&VM*jqO8Hw^mk9!F)jUk}#>aZTv2W2JIHMx% z8d@-)%;tUAQ#1JbAsuRGUm2$x$=%K7>p6RJO6&ot#`h0i%xQVn z(f0wD-w1-nccB=CV)={zQZ2Y**heBJzE`f+yzc=xg5nGBh#IJ_Z_WLvaoUTf;o@N1 zZVGc^Grtk_JU}}eV@hq_PXpGIjr!*rve8yKT7pmNh*1%4k#Ry!7FpFI-p!&7hm(Hs z`-u9**N7)?QsGqa`4bc!>o>9{VyfjVSqN{)$mCMX6{$zlg3GG6AIy%COi*JGmNo8i ziQ1I`F94xX@?6gbbf6#u6)z5(Kg0$^1Quh3mIo@l!qU%*U~*CyCg0{>pSFH3;zp`~ zygT95mQ7#?O6^;N>g8nER+BsDZY?X}7#fZuSk>}y+A59ptAk>cNnmnNo*hkbJ%mOV zg1ho9Ou;z!cAedeK_&sROs@Vw{TvTUiVE*a=dff&87Ed(QDL=ZA=C-I2&KJ~Qr9F< zz4zZ!<8}O7t(jsp_7KSFUmaVfFoWIjJBXG*@B4~SYT6^oJYf%tMM9>kJXY|v$f-y; z9mv!kK+{le+PZ5$T7k6JV^*)D_uY3I;Bfo?REQ%iYH*YvgY8zxLrhm*AroPAy+4US zYUeGyxTMg&GDvge#!|e-`5@m@%jh|0=(PQf0A?f}(DuNdP35~Zs8@W$X*ORVR?C+l z#2Nc0a5P(wS5k}xdfYDk4}d~o4_KD-I9OIr11O+LV#eX1lok1bR)*(f6O*yPGeo3+r*ZTBD~accYk%;U4fP3yRkC>d@@$brWRu?w zWFpw5lv~Kzl6ezZh$;P=ezZ+2AHfmr#93e?CVWl@3)+r$Z= zU`Rt3PiXP`7*Rl`tAK}LqCi1fLulf91{({`+BB-H5tw1Ed3Nx~lf(GJ1Mbud75#;U z-P|61?r|~^UuF@JR)%F*LmV(Ye-0Gs>I@Yle)L$2&4h1ql#!nv1&a~#rTPRW;>%C2 z{cBIw&6;=vtpR2J(Ra!oyyl~VPpBl3d=e0(kNyr?=6pZlnzZ;|xy%PA zL#@*e4_BEIU0Oo{&e?9fKz1diqNWH%6dmxL{6O_1hZtU_w2iW)9yFkqqW*c>68jrw*VZSf(a zi@{ECa4q`VS_qEcqiw1>8d*Pm+yN+VJO zhmBKx^hU*1?Ct6kJsxfy^mSz9MxlNsFe3L_l4}7}%Y~X4W2_5{|rFNg;+1F=xEnHtg&xBplF zQPQO?nAkjHJf5EXPUgTq9q#K=C%eSe9mpSlP+8x}Xw=7-*p}HF6%iI`{j7)Y`nZy^ z#N*A7kRU~QZhuxU5GOc5J+66s@w(FX-((%_eq8PsT^d|jx0S|u#t6?deAGrr*yMp3 zL!hO8Jok{G03C^kRrOLr*R501(T-+?e$rGdoEFX8K=HsC)4h7mLrR6KwJSEaX7u0Y z-`tn;c0Qr5YrEyCCunI7Ke8}51&JP@6#5bulQ@TO$Sy1^O4$Ntko?XJBE2LEtbvsL?^Q7;YJ_CvN)eJ_D4LVhM^aTjJj@&d6C*osxIQ_?T=4l!^vul`Ss z`}X_8J^0rL2+l0=3vKd%4qbNSb*LlDhc_E4<_8~jQ*^1$7S2ulyCMpTbu6Wn_-l8( z-CskfG)YuHX1Pi>uI-)7A*@GimtwmBLvaYD!rsB7lK9=OwT#y*qA9Mpa%`cy>`UCp zI?q&p%6!iS3u$IT8PSW{?VBMwvmMVY>YuDU* zgs!YNJ(X5pM`t(Xs~=XqJ=cskw(tPPMnzzIAH%eV!sdeLOg{OD1$das=#NQ)>9zWi ztVOKx5fD1r)YbquqDGA;U8}N*5E^Y1_%-G%;#@-=g^d9&vuji6uCtSX%eE6It<@H@ z_vMOPf*;rDx{;n5(4`0lMLQHpL7;A7LPhA1Mi2uyKSVM1VPJUUZXsQH;+#>5f^YAZ9g9~d!H#Kzme?Zyk7dJOc+6@7> zjNGmY<+OHwp+@bSh|h^o#Gg9bkc{>qDLNn;d^A`#Z5qJN%yar_y2p!3IKHmCfZFf5 z=eURfns1z4ESGEiHu}X~beqq=e^`60H>yQ~JH8)y*(|A#ZGO)G0pE|`G7IAQGWpSr*=qZLkL`kMA+rub-`X z0Tbz+e!W80%%6uHu1Ytw>7u!bnC&vbc4xSTRyIqC6rAVM^>6GBaq(?CXqptu!MhOQ zPK=hyQm}e|C0JQbm$N8yP95%nfJ36_M1<{4!=dr_Hq)ufEX?)E_*DuEU7Q=d)Dd&& z%T8VHv0a&+Tk#y+=!Zq=?4d^bwp>NE-k2bzNGwbucUh3;q=gn&Xo;AdHhj~kabGtbm7N^RKvLd$prYChad3njcWjeeMtnHd@t{L3i_IeO0O% zkk5O{N}Y<390gAGt2wr3z{|w@l>nM=`MQ*PdVS&`{$p$vfO9duxrBxlGf7<U=2F1o|@}rtxPI)Q@>rqHMR(zh>DOk68`~ zHbEup*GVH|fDhbQ+wOL(r)UnKaw}P&;S35qycSCt#@&sniUza9zHWO0*%4wCbpa8- ztb7sfF-VEJJF}|~q`yl2Mu<$5H^XCJAmrcpCAT$`ho;g^K?T)S7XsT)HJ_ig6Pff1 zzax+t`$E=@T~izY66vB$EEsV$%DQj_>%f08hC)t&;TB|oz0%Nd6fkQ^isb>iH`)h0 z0nlrsz5~x?Rh-ti3LM$LILJ>-=Q)*xjNxN|p8Br3a&C%apQ2G51qPfx1ZsHV1$sQT zGuf%$(V3(i47>S+@jIm5kjk)eaPyn5a6|rZO4SKLK^i_$Qi2atF&z{?NsZ)F_7F7R z&P~5462xhn1?1Q)Q4E(G8UQ{{mnXzNT_Lq=GhfO;fC;->5})O2TgI<}1YCXWow6}B z^*?+BfX1%rnOKjud~Eowaa=?u?phh-Gon|pQ*MG4EMJa~!aCBLe$*(@9jubz-Wp$= z7@Cb;2$RQlbU$ zPaj%dDd%b=ov$>d$mD4|CXO?6B&r>vSaH}K#&UhDdWvjtB<9ik)Gv05FlpTv@m1)o z1WwxUFi5XMzZbF5Do&9?(MB01jCxXf}2V_H6Eb;{ANSEC|*5iE#(c3R!X^Qhh zNOo%xUM1Du1eH2_>-|eQ6|5oT4i0aaITHb*LLf3+14hoshK-_a3KVmA<{CCUL`z% zzzx|X1I{evXDW9ip}3ER!<{j}E^2$aX+WX~&0^Bm(erlfbj3zC6B zpuP{yFf&KDU9<9x#B$Jb{F$wpB&_YgNRi|*~E)7P1 zYz};LCeH7-1pXI3CP2WHS|sC6z8nsGJr#b}?a)Ery6f1?hC~cLgmRO9S!t_`dZ$N) zI+oQ(2O%uQ7%&S!_`pJDbsSGqZQrmTcRvn#ZJ3ds+wm?L-6R)Cn3@^haC!VKjf#6}r$dOjW;L?$B^vf|iTR?i2U zmNN8fNIvqxSw~T0-3X=$o!<}(B&5A1pMuGEoxsgD#De*)t_n-<^0=RYxe$chIztVT zc6mR{3bI7x&Fm`}d z-C4>$CeiI;7H0pZK}tz(#zlZsV>cQ=Qn2 zDGzbOWa3(~ZJF6feZzj1ZGXoINIi2CQ1%~~I?%KKx&(K`IslZ3<7sZ51_&r81X+69 z-NI#^=af%NbR5v(&o&eRa@ONf_e?F6)b*4k>d?#WnjL$Q6Jw1~s6PBt$^Hs)y zXSOY&NX=a*Hb~K2`6sb{N|hKsw0Lt&TSC(<_*^=~yf@jhJ8F&H0v7;6rKvAK{M3L+6X29_K8(ut&f=}iFCCA< z4pwUqY1~alVRCXyx73h{MTXr#RC~*8 zD#ddMP@199*Z@bVxflg0WI?FCnEN%h#IrJIyfqUugh&Lrshe^S>xaSTbAMYL!~>nd zjhG_BvX8pC0GbBVvJMfWFNj^Q6FE8)1$}W)cniRMeUXNeX6ZFYQ!_qSjc}5C!&HQ^ zvO&yAG2SwHTl#)rhpOhXcV}u-k+UKrUQ{SHbvdRt1>_aloZ()iKk2YSDu&nwl6(&A zHWqJJie=hajo!nRU(G6|3?JOOQ%Ejzs(BEdZ~_+)QgAn39u|J@|0w@5dTk+M&;FQM zx!FaTu4RSXP&KTP8jvUpmjZY-JY@c{@QpsUVOM(-LG_-{6>-z1m4${$`x$(k1bQ`~ z0=Yu=P#$pyYJn8ythe;_#{$$&adW1ZQFjIg1sgN}ei%aj3k+rwo7n7hk3L)79tz4% zSRI8$0$fTCXT5H}^wwl7v*4$HYumT5sdcuz$jTjT$}6y9%WvdJP8`h^>usktzYHW$ zK4O~a^K(I30Vn=z@RU^gVx^~x88)&mm>Zs6@%{U!xK!ra?r8)VJ3dAnqvO~JkaH|z zV`S)PX3WhN#(PLtX6%JOoz~Hf%bt0@p)YtMp?F7frThY)9Af@yU_cbOIu-+h_+42h z$dt+wPEr3GfwNt0OZySlduD9~uIq>z zkL97f&X&~;-)_>8h$^uwdRMT$&Qor>PtDmQHBk+PI>KOvPc+SqEtzMCzP(-sA;9;S zx|l2(?Qvq{Bb8e!C#QzT#9SSRdd)g0J7ZkTE`TcNW=&lubk-#y9nGjkAPcc?G1bjp zG5b-!h%nn>Ekdu4kN&^;;#ohu5BtZGI*-bPYEPJ7*esQN{|`T2Xqs9@dTPi_3W>5p67e%A+Pyf1GdC zB!pUmN@}J`$z`e`K~eh<{1vE9laF`nURJ7%yqcIp6Ko({F&aFT^^MwSR0bvx=K0U} za_E;lJ55McK<{OpcHXa?^KVV^CG2Pp!9kJ5>gioW5V zC??$41FdEAv~d=<=d(b0X)miW%BMjB!mw`K(&B7-#Z<5B3VhtU=~_Pfts1@PL9R{}!%&wH z-UY#*kY&Xa>Wx4UBy&L&W7Na(3=JU-?Qm{n#4P8~E#vw;4u`C53$(nM4H)1I$$}tG zy`RRY8!#USiz;uzrlzgQIFYzMCoRzfR{AVy84M^m&t9DW2U@1iQ2WS`+~a`CZmawR z^1}(b7bvdc9&hWf-(kDNkCsbC%(B1E0MyzWtfp~B$3tD97G&gEIru4;z2kp)Y#Gxf zi0^O5>7{lr!tBp85+1oYK!p=b9{dPgxs}hK#-_Pmpljv!ndELAJ$oX09J%}@2p+~JrwFeU;;poQazbgoZ?3JWk~cnuwtO>F9#JY{s76~y7c1ge3Wxi zx1K+b?vXUrHT5py8<`oFrsFp`_~fR4CoFzY_dYZa(TuF%a3LI_XPpc z8oNtD2~kND=_5(s_)2{eY!G!Mq&8VligwA1gV?2!ko0W3F8qWx#HHdbu6Fr`Mj@dH zCX`0_yp&-Ub6Zl>$9ulBTa>8#KPtBzhuM4Uun$MA@~j8mdeJ4HWiOqA(wBQB0>1Sh zJ4U0h!b#$+FWW>O6(Q{6miEA_AtC~4YM^pW>Q1}>+d%$zF_w7*W&Fnm$Ae{!Y=DcU zQrdVRXg&d(2Fuc>qW?@9sj;J*Fi=Q|FzR@zVv?U0XD=USD}OW0g06qjNpBkQO}=wr zyfC3A%t(C}z-aUO2VW6(#+G~LTu1gZlmqAbrV8Rs%9YDDn^z?a>fTAz>WF{?c&?>A zvQz^Sd7;cIyth5#naXr6+(qYK8|)rTLD`U(F&DOBug5!lxHkCoih0&~^<2F{pcqYNv3MB(*61E3~1l#T5n;9az@=#t5VBgQw=#g#ksV6Npwt?%?P)ExWd4bPx{>W7z3BTB38lV*WwqnfFq z`D5ajmb&2f`0|aFP_NbY{yoy$mFdZ)>v@1RqxE;*uFBl)TtuRr|NQ!K+L?OJEj$6H zfs1HQrj}9GhmcB^jPP%9M9c)!-LGpG~;9t}YuF%KccgXeeAQdg9s1-nrv+-ai>gZuWiV z$|EsSY|=Zk@cKnxP??F#y|`lDmMJw?}?_AS*Jj=kf#Qs~l6@ zZ6wG*&LD!NdCB;2rnCJ6)zslxwaI}01NYKda)#)1t<`nc16z~YtxC*l7&9R#0IGem zt3=ni6c0TtRroOwN*DH84^Gwe%$XNHoEilX3ylpw2r)U38vMY|?9`Bd%#nwb;{rgtKXDkQMiU^5*&-nC11)r6T8H3>W6CQhoL<(kfiwzuIL`Gd z2J2xj0}W;eM*Lg3l_2>pfZLP(8_3GHIP^rbn!<#P{Lqg? zc$1`_=AlR{$@lrUKzvzG+=36Q+)gH@FY|6&DBP1N{KYJMcJ`M~6c90EpA zD)JZ#oQBWeOWH?a1!R@Ow5b?!|Eb+A=-Ya|s~+|B+-}9j(6Pt-ksm~okRDu-l^Jg9 z0QK;`xP_N6UsY^#mt*conpq-BhB>4B?iBHN7a7WWwiy`&G0$cG+`52ZmZSLmwD-(S zx3rYnYE!;!)jXVV+iH=XT6|ym7zwy_fUb1@dYQV3krOp8Kk&G#*C%v%N>mP92TIoH qF7V3!DySsZ#l`T#tJ1H|sT@`>R)lYNI@0xxQ}J^CJ|tW$M`ddb#NQVH diff --git a/.travis/secrets.tar.gpg b/.travis/secrets.tar.gpg new file mode 100644 index 0000000000000000000000000000000000000000..24b67de4c323a22525f0b9fa78a9293b2b0538a6 GIT binary patch literal 12939 zcmV;6GIY(14Fm@R0u`_2D(DNC?&;F)0oQE)OC9zN;IG5lLvm<%_8|*>JAMif)B2DW z3s-u}-P>jUqdTDH5@MB}6*W4sCg|`a5v$9L<~6z`{Jo_hXffK-!K)upT}Gtmy_eY4 zNY13#Bwa6p48JY5jb@;)?vuJlUTJ_YzrxaikcNSs^_(y+>Ok<@; zH9C6`FLRZB5a(tDXV@xfKWGZ5A?{lWHBW8Y!`ha`cYLz?yt6qj12sf(>;_~iYs8uA zF$od!+cg1J0CTZ7N>%X&Bxf&slhkHuS-&F1&dnk?*0eJl!yQh3)moNJWg&P^mg{xg z`)&ye>zm{|^u(n?b-Jfo-2#f#t6Ps!kkNq#S08x|zCdwJkaF|dv;-weZ{)=4)s=T) z)@_8q2d%!mn+Jd~26)u@t1Uxk*SJD_jz_I&&jHO$+J|y8$G3_a5_?(Fx=G^|hFT?# z!39{I+uR+Co`y?B4<#VL{X)kgRAfFm_Ya81NIj?HN~?RFD^~6ZzP2$x5knB0I}s@7 zIcn|WnQah$mV(w`hDnr&Z5AEJ=42;nznw9P0*JYx7xQF%MaDYj9F!Md*BuE?Yr};Y z0WGE;C<%X{;W;}@4FBVR2`gmlD-{u=Ph`u!^9xa~^hb7p!0d}$xmJ4Famaxw`?f`Ikrv*hM9ZGMqUPcbijP1kid3kE zzyRl+==?A_&xx@I=lf?NZzwjIl3G}yxIMey{kx7XA}F0AW`A7%5IGbIq^Y0{>?S!m z6P1}nMS0|uiOZqF`;L>=4cN=2MfCt#k~D(HDEKq)qDN~L{?OF#`YpH;?mDp>Bt{%k z2ZN!OK8F|wm<24f&YNb3ArlD_x2F73<>^7TKo3W~czA3R+(zayHdL10!Sn^U5D`*j zlE)oy<%%{R@hmhA8G7ruPN16B1RLwrx!O-YgRveYl}RQ;GyXhth;kO$XoZB$>gP{yM+~NHcr{T3@l2ddsUTP7p(A$dIKLrAd@7=;|Q(#NPUmf+DB;i2xq9*RJis zFOCfKW7H>{S!zY>Y53Xi0&4X=zd7+Fq;^kend4VPv^pD-642{pyZ1Ik2!}(%r~fsg z-d-3e8bgWIgrl1)P<&r6W|L$V0&dns^LQV2F_^8*r8-@{H;n2W?Ka$gJeaQ)_D%hD zQMiQrS$OphyNUsh3_)WC)rK!rX|i4SHA_3%sK)9-ZMY>~b zdF!|>d?c0X!})P&xnxC zAFk+e)WZ=BNhB=!j}dJpz1$|;xIYqM0VM=0oc)Rv+m&fW(cMn!wUE6#dSaxDb0 zzNlA9LCFsKL)>B-8Czts8-co#Whd~58~IuD%@p0GTQ)gw`TR&Nfta?!r7IeWu1{hF z`2Jme0D~>0=N6mn1Bt!GYfHeP33)DS9!MXnRdrv=urlT)-#3` zWGy_jktfMBsim3dlLW|%+>ojipfC0*B(SGFo=PanzlKfTO2;KYLEIm#y_HF;;X}=g z`t-}i^y-#&S@B!;2v|a!f{m^-6820=O42YW*R)sXE$i<~-l>n+>sS~$`6+->w9O4W zEy^708E4|F>*L{(!QeU_Ax?$fO{8GrBTgQlTv^598D%PG^CT@iU6YkX4d1(LT^Qk2 zwmyieKIbN(`Y*W_&p&7^gC*mQi%`Gqrp$6nJn6AXJbz@I_OKhnNp4$rfaDIG*TA>} zRug$n!hc+Z)!U7HdTrB0!Ox3TKeP$w9^wU+1_|<%65qAh zYJ@mWbeTPEPP(_i^j1qH6E%uQ=j1(bu?dnCI|Q(6%(ab@EStrH`hPY)Cr!0Dc~Nj+ zNDj+!!5x}hCyoOG3Wm}^T+ak`tk2RG&lXmHD6@@PM3mJO!4!+(hJAMes+1gNAB>KD zi=Q69bpH8H7<9x~m&a5Q(;73%vYzXe-Z{djSbJscH6b~1Z|?S_sY`18th4mKw@Mb* z(V!+juo^Q#y)=xQ*?)1l4Pu0bMfeZLr6(zujs~Y+^-rSHtD9(l^NEZn*iOBHi@iWF z_rH_ER96+g_c%EYdeFb6!u}ijLQ(o(sJ_p!nhxcMU?++-T8XTR4DX=~x={}-jbsWP zN-dT3n=V({6z?i>!%i+ZGs|CDm`a5n376%tqd|;V%Mse2EPL#2sON5NCy#d&$#7KX z**sOBEU5P?I$Ea-z*;X78m!P@+R%!+lVV|}MeYAkLR>S3x46S&H0OpA)_U`3;n&{> zk!AWUJLT#754V=;@2`odMPw0R0al%v;ssZ+%F=oc>`;Ld2aG5#dk)AMiWToF!9NLF zvv$9R_ws{JMe-<@{ZP>q&$u;WqAS6i5{{*0X9h1?77AzdRt8$ozZdDHIgn-%X5EfR zYGtnjeo^v%>Y48sb!s|sdo=CSH3_Vw6r8wjUQF2q+j4JvQ|*htvrzvq?@bZixG{ZL zc!STFm=P|VxuQZvI7Dfx&^45Y`y9r~=qi-j0tM~9J%bcU|W!7KMuOdLT1_DC2)i!v! zQh17BGN>5SBt~^gDe#Nyc(4M*_1|Nbsmay$Y86<1n=D*1eN{{+@U3N&konjrV{MF@ zV{4PBG_PrMKeKh2MnE}R?V9yB5Q88-k4AZU_N&+nPc2U$T1xSY=pX9nais<&1pY^# zI_`Q6H8cdQ#Fn8opIy|~wC@z*8NqnkWS=2gKZs(vh@Vtx0a9PIA{+8RToo#OJ=%s0 zfdPtzqt_T0jl|S_A^53ls-JW;^TNX`WSsZ%bm;$6&w#~Yyn@(%B_fz81y)wnaEMbr z%t=K6@aEvL;r#uM1oMiDNiCRS#F8C_G3&9}Fj4k*qu3|W2!`RXBGjx5Oe!cJt` zI!Tc0l?dShxXtLfuk!f$k{Pxb_XsXI>|fMx_|m_<>^;A z016j3t1&7P4+cBgUdnw-TZ8-5dauo(TWx4M(Wf;Xu8EGCya_RUktx6P1xievB0@3H zKU*8v8XRpVTK=EVpvLy2M6ELdnhrRT@=bb)c5+FH5s-x7C)2$Bl9%(xpSwA0+q&*T4+Pq zPhRCmI2wx049BAstL%)$QxvFCb^p3PN%qOwu5vlKr1zyRig|f5T}8vIo4YF1E}&F- z^?ST@FY4g;{L^9>@exlf+bvb(ppG#OCc+n+wn1rwq{*w~hd0GZE{(nkh~Esxj%y}6 zGe^UZ&xICB!8m&Vt>1cF+GFv%1iBN_$hy4FIj)k3@Oa-%^2%sOH$Z;hBS!<*H+i>@ zJhJAtqPN@PO!SiyHx~>cwoV#%EDE7KZ+!Tog;j#74xG_&aAm7vs{x2KTmZ-9TFTP? zq1KW9wY_SLzpw9{pd!*14$W(;VXld<-L7Pu6$qwLZ+*d1DfNI7uQTJ>z3?bQ;ML1)(jeTKdAr(47$eqJrbV?*_CD0E*u1j>YYPb;q zE!Lv1(65{Uex!QMLqsD4{?TTO0IANSI5d)#O^?F}ft%8*YQuW8esY9Ky9Q)=BtLgb z?4+Ot)&Rk>Dr+;@3EsK#RvFKzHiVyx1tAK9bU*H@%Vc*_T_7{Sc{WcfP)fqnNJ;^X z35U^I&is7a43@*^D>C-pTC>^P^om5(-M(8#-#On`pKAPx`p;xlkZ@3~trQ*M&=Un@ zud_}M_WzFR>!u{dJ%D2&wmR5=vLNjuDC7g8ku~7mmQe#cBbW__nL;u29wsMdUdAr_w6zt<6 zO04RAz+K-94N9&`)&t`4y!h*$JZLneQ>;%AU4WqVt;n=8=L)7u))3_FrSbNlp_8y- zbqO3>K>S3U2c|JchNR4@1T#5t)YxhWy0d~s46Z%Xr4@QKnrUB|UEH zIiSq+awPZik6hn4=V=KHlY^)u?u$kDifbPKxI2b%)(~$&h51JH0b8M~dgmV!HOu}< zJtt$h&wUk}3Wdh8o=0qe-;lC^`ttrWURQWf2vrK?l$`Ty^_u=8nI3i-LGL%GU%#l# zt}O`z3c}cA#ahWP&)m0#{&B$7+t&-wwmw1pUq(VP(qVRQrNcos>C=$&`5kMvnJ|1g z9r%+MN*V$;QJd=gDQhkI#hL~8pmM8pJ@6t_mE-H!;Hl!wBbefPb80F>xM_hLRid7j zGO+iJHshNLZ;+)rqJ35+=H2F?!NjTb5LBEQF}ySPC*`L0y@wGZZjavy+?fu?kkDGG z0TZZOy_A(`!+;Iv1WY`u)^FFK#X|~=0a5ivZUB}+$0BFCJjy44ekT^k@HV`8QvckH z76HAu3rWvmjR6v}Bg{YGr1Rwsqx9Kf0pt34>rW>>8@vB2V-ZZa9O0rSL+9tS&KX^P z$xlJ>MQTt2zlI1D^7@elSH*kWQpUp$IHYtX2;O>(Bt5yj-IYg`LkgmoxFv||jh`~M z!2K9!#v(M=Svh3y;#dx=uCv+z^hgV^&~Z0JVUvtq5lbTfO8Oa%G1x60%w zQ4a|;4}@>TdO%vFhN&Zh1lwla^3?x9&=L)*3|-2xR`9YC3j68DyNVd^tx{WIBZ298 z-3>5j%Thbfuukb4W)k}$7RQm zLNF@vUVZcnxZHv@>mhLoVDEJj&Ib!0no-Vv)St^f`6B`bQbBgR_ok^uuOPW?pm?>2 zt+5KXcV6v)3S-9k&+puewpCl_zS8f|b$>yhc_1kmGMnhd5f;~@O8jV^(5X$`b-+uN z3)|c|@#&&l4TO1e=stMWkH5Af1LqF1NRL({x}-MYSw+J9JC>$asI{i zXho-&eegTAG4g1mtio8h3yaQ>A*X~GpEQVBB_hBH8Z96=_C1Mel(w z2rkzzSc1H1L~IoJsbj8!NP>%%o{=lmVDKumA8^BWHIO2MY;DyHrodcvF-GXOf8j>q z=u*2oCFB7q1)_mA2w{||7fLdkz!q}_be$l#;X!eBQ#1UO;LAyOM3TZ2KxqK%^}0V| zHP*Y6Esk7iM8Z8TNjIrV(mv8SV-huVBiDieq2yqjoGPaJ0y`f?Q#?1!K2MReW<17?@fGfba#uLnjzz^+x8GGyJC?3pAI?8BQW!3zH;>xM13w7?x*O^M$KhF6;UT<SVE^iK#6E6_dg>o)5aJDX-Y_}?|4(9t7goUBQS6u4$(5B?X_?;?mp~Wwc4ig$ zDqtzw1!2uz-)9!s7tnV1s$s&qVqtJmOBnLhrz8Hzs>|%r#~hIX{FqRXZ3V zIm8Cn#7gcClDUfA-)4eKTB_FKEAA#ToTbp}j$^oG0p}Pqg?6446opZk_00j19=(tO z?5m6}9)lI7VyUO#oO{(+qZ$tBO7p7OI@1w0BaCHAIC|xjgCo3!$onqw$ZA)-NQ)KF=_W$i93K%NvP zSF;JM76pab+_|~uthTlvvAp?)YQfZvv~_`y-oSj+DW5HOTBYb8yRu73?aBUnJQVgb zZbRu6qHvJ)+6xfe*BY!tiPjdd%~!-~$5rJTS08q_S{mhjIap01am5@A{UYwST&0v} zQ|-{MrmXht=4Z{mxhg4dq=VB?^ly|yKzp6;-3ByxC82m_9o#yjI>%a|h0D?gxh0JD zo~Zt&jN55xzlaSg$g_gcC&7h!>zt#h0L?fQvFcQ$O)uGPr)Hqd;x@v2O;7k}N`Znv zb}QP~?9r3~m{0k@EaV)-ZUx5rpVY!hg&*C)O1!iWWA1V{%Jb{ub|LHV(Z$zxS1K(-*>nfeV=)iM!0kyY~uD@3uSNqto@|0|m*+%1$H;cEAqpT|+tT z{VmkRgf}aRJQj{eogC6@fMyD3fz4eQiTp#X(!{@G4~#TL{6I`?UviJq0>5&7=2;AMGdYceZk;Xg#Zj$x7Z&s$v^@$S*v zqkEVy8qLKLWTkSHI{Yrp@;z;^V(t1x>Mc=_jr`J=w{xG@LQ>n)R7~nF_E=>;)S4Jf z#FT>pIRxCpSi))X)Ug8=^up*Z&Bh;uCWuYHi!v8E=x{4XVzI;j%ak;QP!pajvSf2Z zWGY`c{C`+_aPXU?ui&+UScrF60Tq9bD=KM&vmdQXWt|k%ap^^5v(2ERYRuV?lcxFj z(ThbXfe{!={3&C`?M2yQSu}DA8~hxW#eU{d6sHO<5RFyZgi)_agX;CGXWz-tB)5mT zlg#KO6M1k=;cfJ&aAdH@xXWTRDec&zK=x&x`wDzX)MK##Tdi5y`G4PquyeQNHlkFq z**$dM^Y6x9&~fZ_B&*BCMkBYT-PGRiH=Mu<`_xkIh!hL^Y~?m z{rLE`p_3SA^drRbtF4}f%GxJ)`Ekm>eB#uC2DB8#SJ5g98+7JajL>8v(mSmK=(G!A z2nHa$y)IE$qvtuB$)FxkEP0mU!1W0sPE>@uOh}Uic(t>?Vzc+x`LN?lj2`RMbE&GgK;nCs(F#O&WT0qUf_yFEM z4IeZ-kbu{YKS)*X$UX%uE@9(K6sAaZ7_nO)EMHE#czoqky$a^*J|^Ns6EXRFVT1I8 zbdTR&wTk*EY?rsTULMwzF*S2je1(Z$nH)MhU9);=L^B7w)hMhRc_520-!~uzvcinh z+z8}mEQh9|~cf$QjE3pLcQVoMxj7-d(k z687{S3db;##AWS$;UOS# zI777?3q=oVdEk_@#F!u9N2c2@&qY8eO%I;^N+v8;f2lUvSuFvXSuO(Ir(GK~f@S z5Czv3eoFS}T{ECrM;A*bST5fcsI+9*+KQ@N)iXplW+IaF9p` zk_r)b9Gk^vWM}Czuo`J$dWxot%Rq!zh?JAymNa}kDMu`Fi=_x#z@}(7&quye_WLj= zQ2NxeGmnyNX*8I>bz^)rQQ+F$g|`_m-x0ovIRCH#vdxL1zlv{CTA|sohS92$(I8Oh zgTg`31Y#DomX7}tKX7#{jE)yB3nEE7%o*CbBrA8cgURdY)K8~PR5VspLA=QT%|wHZ zOGmC3dA3 zBxt~Ie_zCtF6_KnX2SJ%2R6P1xVbM!qh>^G{q%te)J+)M@#3c2 z?1o8}I&@SV)#trRPnzk9mTgukHDBR`+GiYC`ZO@n7Q zwN4C%Lm+pTXIC-z{)VsbLA5K2?@LAJ1Q+O_ ze6zk(QI~T<8!-Pn*vCcq_q@{YylyTAd@avt6xwLB6S?Xy{WL8)xc^3D9kczqA zB!W0jsSlqL-VI6O+QO^^m@N;PY^0g>s0^GVyd#OKv)c#g!FOdr%{cn4c}}lzgp4po z^rh_h8avFRf++N;a2sJ2?s`WDND>enz&g2+4=>lUZlK=f zkE4qW$kpCDyuiz6;h>DEZK3H9O+`?LnoJ!?8+k!K-k67uNmB$i;wY!mHZf$U%#+`BA2eXflq*ZDa@Lx{k--v}_@FuxU@WsSWO%TFpw zL_c$T*SdE&+ovKW>wEpEkc=yap-oZ2=cp$%j-@N%{Gt)V#5EB$C_TE0Pj`d7p1wm%c%1c zY0RD|*#eeOwM{z<&5v*-UGL2^fm|Y!i@cK10=Rivo-FRHT0!|8nv?b&!;D>W*>iBb zds9h~$dSJOz9(c%y39($!gClS+~1)hy}IV0zJOt7$@z>~T; zrOxN+_AVX>%>F4GFs(O%7&=(XTGqEwB}QDSzq<`0bof{peZlY@NJH(TlS4 zf4b|NygByhDs-<%;$s-fQ_nXzlLnw$ZFqv93{AAlco1uiqE(fD=`*xilZKq=ps%IX zT*clQ8~UP(J{eGpsK-0p{v<5-Lym>S2EG|d+x^H*)tolMKOjRj%%vDAac+3|>bQswMOL~O!I(c}kw!-kDOQG_&k`jBU~JOyKEFO2145obLRLGNYI+1u*2JYI31EY%-d>O7YOAAaO`H$%GJeE|B=uc{z1!*!UpK16V8>uOlzd=ht{+7v@trt?$NyGaKp+}8 zfQ4~W7`{G+SUAPEytMUv_j#Y^$AXuIsMEMZ!342t>cRJ+MP_v#mn1I}j}OZu+W6b~ zDG8T8bTo~eNNC-tj)}YAlkMclg*1{L;?2cyp*X#AP+--vtJV9C&pY0(IO23GZ}8BV zbpYQMSdF;_L*c*Lz%EC#^hFbxkC^;t6pfg7z{lyCL_;!$Z~l6VKPBwlFE>pbF)kVr zj~XXjFVgGJ+{+=>V`d_n{{5S%9`~Rk_clEQ(n0s87^0Q$kCXMTA&y>c4(Bq+`^Bg9 zEwni!6m?+hK+mVKBsX0!2sSYjG(Y|a4Ye|`qjtGL=2AHr1s^|e#p`hGD#k{s%9|A! zC+gzXf~H??+wlDyCb-&NAZ#!GDX*>}*bUG4@?OWisE&!7)0cD%le2O9Ar!^WAEu_X z;|KZ%8`oWbnJ|E>+@S>Nb_3z*t#Z*RXkuN=6Swwe-CFWdqg&cbO zjErkM>M3(xzM8UPGePcGCy^=bN-Y)R4qz0<{L!Ykr{U#Tqj~VpOiYSW5-(XLPAHr} zXV&zd7&eiWc2O;@i{r<3d=qMYTgQ z*;~F&D*DQPVlu1Hd{V@P3_1OAOn=xHL7g^CL0CZSFn-E7R6jJY5bG@9P;(wpYNE6( z_)K=O&^p;PdChJ_?>xre(q~by>Pfr<@qfwXl&@CHSMn;`_G+amW3LMj7M2`2L);V8 z>JL55?obgzsC1SSU=L&o;{-|FPK7atM)Ak9TGTf)Gz@*QbR`iH!nRcJQ4MUJW5Q4o zNq1kxn2yvl4+@hq?|-Z_2^+s=IdUb-AFiR!QvbN)R8N32(kz{@lJJB4b*)!LwyD-& zXG^Pnk1mxvnu8)`ENg(0GpVJ-sk;J4gt{fasXanDR>!})7>YeI@bAc%Yfzc&efM^! zrv+!RGzNiL0e_=@6sji}O2zdM9^PXkqn>yAvQWYQI%nw$Rq4IMge+~?KMit3a8f4T zdq9;0#|WldoxV%65KSzNkZXP`<2Gc=&P)AiSYd;m`I~SPviSKwc)+_A~COjR{ z)mv^mFrRoMmVwBfh*mR@Uu-!b;e~=jZtU1+6q@c@#UYb}QTEOOT8g#RKKR{4nh=`OOuj18Jk_ucl%H zwrc*R(c-NzNaKC}Qm{elt!}>31n-Gjf69{UajqB@n9|cKWL&yBnQRYfgZ&h4ji09` zT$}h(#4iS+D1``d#889yjq_T6%s8gY;6`LPWY{EuU`?bPo_!kJl;U47yKN#KP<4!5 zTpZoT?n-lk!Tux0scK_we;?69=Vx9caAkznl7o^1QKEQWmRIP={|8I9d~~|jo_dV? z*0A;CKPSx*kn4&O9pq_dBl-23i&Z^-HFkS;;8Ebs$fG5Nrp-_}0+|EmPa+PK zjOvkI?fd#H8W{61$IAH8nghu}v2x2WIp@s%<%2)>6Oe40jB z*)$h=N*gF*_P%4$GFH$27-%O41^WWRj?q=$M5K_wV`7^r+p*(u-Hhi-D~m4Ocq9ee zXI60eEW_uET(4VJ=}bHw*FdkS54MastL2icPOfI_8G1kcp5*T{j?zJ62h4BKds!of zy&IYB$WV%P%?@WCF{402#8*aed4`2g`&bnvX6$?301n3#K8edI;=&|JpF?%%fFzTP`|?*IU`uz8 zE4+TdD@z-?5X9vUr%=u}8w;Ayc2)s<5l`6$XCk=^eR*YK8w zp8@PdOMnWwh$(4ucRksoggb?Rc3cVc4F?-yzjxVH071I~lz+j%^Us^?V{41QEcZlG z;(RzDjFojq$z1QV_=DeKnQ5TjzPlfa?Q+N&DN45S>YHXYOG{Je&paig-a}R!H4gTn zag>I3Yt5Z)xbiHq(|mH{ZP+lWxV_B0H3+zXJ`5*6zej6AhmfI{P|ICmuGi>w#aLKO z@X?=-7}T%-e3PMvHNs~;i^kYN8ZvWR`QFyZFO}r%`Q;&)Qy@IGTePH1$g+KRz^Lbe zbXzMSO@d0wCJHaoxt2*LLONPLJI|vGQaH(>^M#CW%;FJm68rQm{1r6c9Rg_c%l7K{k^3R> zZAEj-8#pRR)A%#|Y|q!~OYWZUSSAq)lDvS5(F7s)=lbK|dKlKun(GjjnuFb}BMxR- zTTEUJC#s$%)O#irL)7w@@vqDu2AVv*Aho^0rfji4tU(BTTffo{- zRBTltg-=t~QOW-wc=H<^-rnPtncNMVfxf6cu*aw%#fr1VLmGu+{BpKRv)bz7g%%tV z$mb^^b&I0iKZw}RiAE=BCAMW7Esg49p3FPg`Qsx5jsX$V$1W_P!W+u`IXCwg~aK zL9NAkQY77dvi7IlCjL7P;KvP&qi!-SV%E`-~VEXbPlHfxq_ASy{ygyqcXNYHN4};yF z>cEcCw(tviepp*!es`doh6vziV>q^+n0k;r?$9aCTl#l1f7*?1uxOSk@+!2*OrolE z6*zw5=`&fVGkB9|OQgThfUQfktH#pES?*?ik+LU+Df1tH*zaoDUMGeUw|9E%*5K${ea+ BFuec( literal 0 HcmV?d00001 diff --git a/.travis/travis_release.sh b/.travis/travis_release.sh index f8a531b6ac..b9992e0f76 100755 --- a/.travis/travis_release.sh +++ b/.travis/travis_release.sh @@ -7,8 +7,9 @@ cd .travis mkdir secrets # GPG is required for artifact signing -openssl aes-256-cbc -k "$SUPER_SECRET_KEY" -in secrets.tar.enc -out secrets/secrets.tar -d +echo $SUPER_SECRET_KEY | gpg --passphrase-fd 0 secrets.tar.gpg +mv secrets.tar secrets cd secrets tar xvf secrets.tar From 791cb85e62aada6137206678d99357ca4849340c Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 6 Feb 2020 09:06:30 -0500 Subject: [PATCH 423/427] add passphrase to release mvn task --- .travis/travis_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/travis_release.sh b/.travis/travis_release.sh index b9992e0f76..e9fca0fb7d 100755 --- a/.travis/travis_release.sh +++ b/.travis/travis_release.sh @@ -95,7 +95,7 @@ git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git :$RELEASE_TAG || true # -Darguments here is for maven-release-plugin MVN_SETTINGS=$(pwd)/settings.xml -mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}' -Dskip.unzip-jdk-src=false" -Dskip.unzip-jdk-src=false release:prepare release:perform +mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}' -Dskip.unzip-jdk-src=false" -Dskip.unzip-jdk-src=false release:prepare release:perform -Dgpg.passphrase=$GPG_PASSPHRASE # Point "master" branch to "next development snapshot commit" git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git "HEAD:$ORIGINAL_BRANCH" From 3ce4360da515c75980ae55907eadcb08e63cfe48 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Thu, 6 Feb 2020 13:00:13 -0500 Subject: [PATCH 424/427] pass gpg key through arguments --- .travis/travis_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/travis_release.sh b/.travis/travis_release.sh index e9fca0fb7d..53d5801470 100755 --- a/.travis/travis_release.sh +++ b/.travis/travis_release.sh @@ -95,7 +95,7 @@ git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git :$RELEASE_TAG || true # -Darguments here is for maven-release-plugin MVN_SETTINGS=$(pwd)/settings.xml -mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}' -Dskip.unzip-jdk-src=false" -Dskip.unzip-jdk-src=false release:prepare release:perform -Dgpg.passphrase=$GPG_PASSPHRASE +mvn -B --settings settings.xml -Darguments="--settings '${MVN_SETTINGS}' -Dskip.unzip-jdk-src=false" -Dskip.unzip-jdk-src=false release:prepare release:perform -Darguments=-Dgpg.passphrase=$GPG_PASSPHRASE # Point "master" branch to "next development snapshot commit" git push git@github.com:$TRAVIS_REPO_SLUG$JRE.git "HEAD:$ORIGINAL_BRANCH" From c81913658858c623ebc4582eb703c2d8e21212ee Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 6 Feb 2020 18:49:56 +0000 Subject: [PATCH 425/427] [maven-release-plugin] prepare release REL42.2.10 --- pgjdbc/pom.xml | 6 +++++- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 0178f892f0..7a718eb027 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.10-SNAPSHOT + 42.2.10 Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -362,4 +362,8 @@ + + + REL42.2.10 + diff --git a/pom.xml b/pom.xml index 977729725a..c638b85012 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.10-SNAPSHOT + 42.2.10 PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - HEAD + REL42.2.10 From a95b3e5b3eef9caaf04148e44afba6f9566ee39f Mon Sep 17 00:00:00 2001 From: pgjdbc CI Date: Thu, 6 Feb 2020 18:50:01 +0000 Subject: [PATCH 426/427] [maven-release-plugin] prepare for next development iteration --- pgjdbc/pom.xml | 6 +----- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pgjdbc/pom.xml b/pgjdbc/pom.xml index 7a718eb027..8efd579a6b 100644 --- a/pgjdbc/pom.xml +++ b/pgjdbc/pom.xml @@ -10,7 +10,7 @@ postgresql bundle PostgreSQL JDBC Driver - JDBC 4.2 - 42.2.10 + 42.2.11-SNAPSHOT Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database https://github.com/pgjdbc/pgjdbc @@ -362,8 +362,4 @@ - - - REL42.2.10 - diff --git a/pom.xml b/pom.xml index c638b85012..a878e8ae93 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ pgjdbc-aggregate pom PostgreSQL JDBC Driver aggregate - 42.2.10 + 42.2.11-SNAPSHOT PgJDBC aggregate project https://github.com/pgjdbc/pgjdbc @@ -22,7 +22,7 @@ https://github.com/pgjdbc/pgjdbc scm:git:https://github.com/pgjdbc/pgjdbc.git scm:git:git@github.com:pgjdbc/pgjdbc.git - REL42.2.10 + HEAD From cc31c13f7810e171c54729a29f494d69b7f1550a Mon Sep 17 00:00:00 2001 From: Mike Goodman Date: Fri, 7 Feb 2020 09:58:11 -0500 Subject: [PATCH 427/427] refactor: make PSQLState enum consts for integrity constraint violations (#1699) * refactor: make PSQLState enum consts for integrity constraint violations Previously the PSQLState enum did not include values for any of the integrity constraint violation error codes mentioned in the PostgreSQL docs (as seen under Class 25 here: https://www.postgresql.org/docs/current/errcodes-appendix.html); this required hardcoding or the creation of consts wherever they were needed (as seen in LogServerMessagePropertyTest.java). This commit adds all of them (except restrict_violation which doesn't seem to appear in the wild) and creates a test checking for each of them. --- .../java/org/postgresql/util/PSQLState.java | 6 ++ .../core/LogServerMessagePropertyTest.java | 4 +- .../test/jdbc2/ServerErrorTest.java | 80 +++++++++++++++++++ 3 files changed, 88 insertions(+), 2 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java index 21ff5c8565..4e68d67b05 100644 --- a/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java +++ b/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java @@ -58,6 +58,12 @@ public enum PSQLState { MOST_SPECIFIC_TYPE_DOES_NOT_MATCH("2200G"), INVALID_PARAMETER_VALUE("22023"), + NOT_NULL_VIOLATION("23502"), + FOREIGN_KEY_VIOLATION("23503"), + UNIQUE_VIOLATION("23505"), + CHECK_VIOLATION("23514"), + EXCLUSION_VIOLATION("23P01"), + INVALID_CURSOR_STATE("24000"), TRANSACTION_STATE_INVALID("25000"), diff --git a/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java b/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java index daab69354b..e5de8f248d 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/core/LogServerMessagePropertyTest.java @@ -8,6 +8,7 @@ import org.postgresql.PGProperty; import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; +import org.postgresql.util.PSQLState; import org.junit.Assert; import org.junit.Assume; @@ -27,7 +28,6 @@ public class LogServerMessagePropertyTest { private static final String SECRET_VALUE = "some_secret_value"; private static final String INSERT_SQL = "INSERT INTO pg_temp.lms_test (id) VALUES ('" + SECRET_VALUE + "')"; - private static final String UNIQUE_VIOLATION_SQL_STATE = "23505"; /** * Creates a connection with the additional properties, use it to @@ -44,7 +44,7 @@ private static String testViolatePrimaryKey(Properties props) throws SQLExceptio // Second insert should throw a duplicate key error TestUtil.execute(INSERT_SQL, conn); } catch (SQLException e) { - Assert.assertEquals("SQL state must be for a unique violation", UNIQUE_VIOLATION_SQL_STATE, e.getSQLState()); + Assert.assertEquals("SQL state must be for a unique violation", PSQLState.UNIQUE_VIOLATION.getState(), e.getSQLState()); return e.getMessage(); } finally { conn.close(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerErrorTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerErrorTest.java index df03bfa903..9f06d462b7 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerErrorTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/ServerErrorTest.java @@ -12,6 +12,7 @@ import org.postgresql.core.ServerVersion; import org.postgresql.test.TestUtil; import org.postgresql.util.PSQLException; +import org.postgresql.util.PSQLState; import org.postgresql.util.ServerErrorMessage; import org.junit.Test; @@ -57,6 +58,7 @@ public void testPrimaryKey() throws Exception { assertEquals("public", err.getSchema()); assertEquals("testerr", err.getTable()); assertEquals("testerr_pk", err.getConstraint()); + assertEquals(PSQLState.UNIQUE_VIOLATION.getState(), err.getSQLState()); assertNull(err.getDatatype()); assertNull(err.getColumn()); } @@ -95,4 +97,82 @@ public void testDatatype() throws Exception { stmt.close(); } + @Test + public void testNotNullConstraint() throws Exception { + Statement stmt = con.createStatement(); + try { + stmt.executeUpdate("INSERT INTO testerr (val) VALUES (1)"); + fail("Should have thrown a not-null exception."); + } catch (SQLException sqle) { + ServerErrorMessage err = ((PSQLException) sqle).getServerErrorMessage(); + assertEquals("public", err.getSchema()); + assertEquals("testerr", err.getTable()); + assertEquals("id", err.getColumn()); + assertEquals(PSQLState.NOT_NULL_VIOLATION.getState(), err.getSQLState()); + assertNull(err.getDatatype()); + } + stmt.close(); + } + + @Test + public void testForeignKeyConstraint() throws Exception { + TestUtil.createTable(con, "testerr_foreign", "id int not null, testerr_id int," + + "CONSTRAINT testerr FOREIGN KEY (testerr_id) references testerr(id)"); + Statement stmt = con.createStatement(); + stmt.executeUpdate("INSERT INTO testerr (id, val) VALUES (1, 1)"); + try { + stmt.executeUpdate("INSERT INTO testerr_foreign (id, testerr_id) VALUES (1, 2)"); + fail("Should have thrown a foreign key exception."); + } catch (SQLException sqle) { + ServerErrorMessage err = ((PSQLException) sqle).getServerErrorMessage(); + assertEquals("public", err.getSchema()); + assertEquals("testerr_foreign", err.getTable()); + assertEquals(PSQLState.FOREIGN_KEY_VIOLATION.getState(), err.getSQLState()); + assertNull(err.getDatatype()); + assertNull(err.getColumn()); + } + TestUtil.dropTable(con, "testerr_foreign"); + stmt.close(); + } + + @Test + public void testCheckConstraint() throws Exception { + TestUtil.createTable(con, "testerr_check", "id int not null, max10 int CHECK (max10 < 11)"); + Statement stmt = con.createStatement(); + stmt.executeUpdate("INSERT INTO testerr_check (id, max10) VALUES (1, 5)"); + try { + stmt.executeUpdate("INSERT INTO testerr_check (id, max10) VALUES (2, 11)"); + fail("Should have thrown a check exception."); + } catch (SQLException sqle) { + ServerErrorMessage err = ((PSQLException) sqle).getServerErrorMessage(); + assertEquals("public", err.getSchema()); + assertEquals("testerr_check", err.getTable()); + assertEquals(PSQLState.CHECK_VIOLATION.getState(), err.getSQLState()); + assertNull(err.getDatatype()); + assertNull(err.getColumn()); + } + TestUtil.dropTable(con, "testerr_check"); + stmt.close(); + } + + @Test + public void testExclusionConstraint() throws Exception { + TestUtil.createTable(con, "testerr_exclude", "id int, EXCLUDE (id WITH =)"); + Statement stmt = con.createStatement(); + stmt.executeUpdate("INSERT INTO testerr_exclude (id) VALUES (1108)"); + try { + stmt.executeUpdate("INSERT INTO testerr_exclude (id) VALUES (1108)"); + fail("Should have thrown an exclusion exception."); + } catch (SQLException sqle) { + ServerErrorMessage err = ((PSQLException) sqle).getServerErrorMessage(); + assertEquals("public", err.getSchema()); + assertEquals("testerr_exclude", err.getTable()); + assertEquals(PSQLState.EXCLUSION_VIOLATION.getState(), err.getSQLState()); + assertNull(err.getDatatype()); + assertNull(err.getColumn()); + } + TestUtil.dropTable(con, "testerr_exclude"); + stmt.close(); + } + }