Commit graph

2427 commits

Author SHA1 Message Date
Tom Lane
ecafa828c3 Fix mis-backport of libpq memory leak fix. Per Michael Fuhr. 2005-07-14 14:07:41 +00:00
Tom Lane
57bdab7d35 Fix libpq memory leak during PQreset() --- closePGconn() was not
freeing all transient state of the PGconn object.
2005-07-13 15:26:16 +00:00
Tom Lane
a5d10d66d1 Make libpq_gettext save and restore errno in a Windows-compatible way.
Also, back-patch fix into back branches.
2005-07-08 15:25:19 +00:00
Michael Meskes
e0632407aa Fixed memory leak in ecpglib by adding some missing free() commands. 2005-06-02 12:50:30 +00:00
Kris Jurka
43418e8702 In Blob.getBytes(long position, int length) position is an offset
starting at 1, not zero as the driver was previously doing.

Thanks to Emmanuel Bernard for the report.
2005-05-08 23:16:58 +00:00
Tom Lane
26f64e4c7a Stamp release 7.4.8. 2005-05-05 20:08:35 +00:00
Bruce Momjian
6067403326 Add WSACleanup() for Win32 socket cleanup.
Backpatch to 7.4.X.

Jason Erickson
2005-05-05 16:37:04 +00:00
Kris Jurka
5eed8ce382 Release build 216. 2005-04-22 15:10:52 +00:00
Kris Jurka
a44f99024c Updatable ResultSets need to check for an empty ResultSet because
isBeforeFirst and isAfterLast both return false for an empty result
so the checking to make sure the user is on a valid row wasn't
working.

Also don't allow an insert without specifying at least one column
value because INSERT INTO tab() values() is a syntax error.
2005-04-22 14:48:18 +00:00
Kris Jurka
f5517ddbda When moveToCurrentRow is called and the current row is off the
end of the ResultSet we can't try to load that row because it
doesn't exist and will throw an Exception.

Reported by Prasanth.
2005-04-22 14:36:48 +00:00
Kris Jurka
e1d55f7917 When positioned before the start of a ResultSet issuing relative(0)
results in an exception being thrown when it really should be a
no-op.
2005-04-18 18:25:11 +00:00
Tom Lane
9c1bb68356 Stamp release 7.4.7. 2005-01-30 19:32:22 +00:00
Kris Jurka
ce69fa9768 Fix mapping infinite timestamp values to arbitrary dates.
Report from Oliver Siegmar.
2005-01-13 14:22:23 +00:00
Tom Lane
0c8b52bf8b interval_out failed to mention 'ago' for negative intervals in SQL and
GERMAN datestyles.  Ancient bug reported by Terry Lee Tucker.
2005-01-11 18:34:01 +00:00
Michael Meskes
143d152b1f List VALUE as a keyword. 2004-11-10 13:49:17 +00:00
Dave Cramer
5a57beccc3 fixed bug in REVOKE statement cat_str only has 8 arguments 2004-11-01 13:35:54 +00:00
Peter Eisentraut
5328b5ef6b New translations 2004-10-30 08:22:17 +00:00
Tom Lane
7447537803 Stamp release 7.4.6. 2004-10-22 00:26:24 +00:00
Kris Jurka
d06384c6d7 Correctly cast the return value of a CallableStatement when getShort
is called.  getByte presents a can't happen situation as no function
can return a TINYINT because pg doesn't have an equivalent type.
Make this throw an exception if we get to this point.

Thanks to Christian Niles.
2004-10-21 19:13:55 +00:00
Michael Meskes
3ff8e83231 '::' is no longer interpreted as a variable in a prepare statement. 2004-10-05 10:48:45 +00:00
Kris Jurka
c65066a190 Protected access to variable m_preparedCount via synchronized
function to prevent multiple threads using automatic cursors on
the same connection from stomping over each others cursor.

Originally Jan Wieck, re-reported by Jack Orenstein after
accidental removal.
2004-09-13 08:02:41 +00:00
Kris Jurka
5e8046cbc9 ResultSet.moveToCurrentRow was checking the cached updateability flag
assuming it had been set instead of correctly calling the
isUpdateable() method which sets the flag if needed.  This usually
worked because moveToCurrentRow is only useful after a
moveToInsertRow call which would set the flag, but this is not
required.

David Bucciarelli
2004-09-13 07:14:26 +00:00
Tom Lane
0bdacf50f1 Brand 7.4.5 ... now that was our shortest-lived release ever ... 2004-08-18 03:11:25 +00:00
Tom Lane
17663e1aeb Stamp 7.4.4. 2004-08-15 00:24:04 +00:00
Kris Jurka
c595a438bc New build for the 7.4.4 release. 2004-08-13 05:18:45 +00:00
Kris Jurka
8120dc536a Decode V3 notice messages instead of leaving them in raw form.
From Donald Fraser.
2004-08-11 06:56:00 +00:00
Kris Jurka
af8e9a44fe DatabaseMetaData.getSearchString escape was a \ short of working
because both Java's String constructor and pg's input parser strip
off backslashes.
2004-08-11 06:40:16 +00:00
Michael Meskes
a7d68b42f0 Fixed handling of cyclic defines. 2004-07-20 18:22:53 +00:00
Kris Jurka
7b2c575d4e When retrieving an array of numerics it attempted to set the scale on
the retrieved data to zero, which doesn't work for non-integer values.

Oliver Dauben
2004-07-15 10:00:20 +00:00
Michael Meskes
e5a806bb29 Added free() calls against memory leak in interval.c. 2004-07-05 18:54:01 +00:00
Michael Meskes
a3c695d0c2 - Only use typedefs inside their scope.
- Variables that are out of scope, were not removed all the time.
- Make a varchar NULL set everything to 0 when not using indicators.
2004-06-27 12:32:47 +00:00
Kris Jurka
46f2ee852b Fix apparently harmless typo. {$srcdir} -> ${srcdir}
Markus Schaber
2004-06-24 09:51:44 +00:00
Kris Jurka
15a932c50f Close the existing socket connection when reverting to the V2
protocol, or encountering other connection failures.

Laurent Sylvain
2004-06-22 09:37:03 +00:00
Kris Jurka
bb95de1f2a Fix some problems with result sets positioned before the start or
after the end of results.  You could still call a number of methods
on them like getXXX, updateXXX, and updateRow().
2004-06-21 03:12:01 +00:00
Kris Jurka
922c2638e4 Fix updatable ResultSets stream methods (ascii, character, binary).
The existing code didn't correctly allocate data arrays, and it
failed to loop when a stream didn't provide the full amount of
data requested of it.

Reported by Jan de Visser.
2004-06-21 02:01:12 +00:00
Kris Jurka
3cec5b804d Foreign key information results should have column name FKTABLE_CAT
instead of FK_TABLE_CAT.

From jeff@bonevich.com.
2004-06-18 05:29:11 +00:00
Michael Meskes
f9589d4acb Added patch by ISHIDA Akio to allow indicators in execute statements. 2004-06-17 11:52:59 +00:00
Kris Jurka
d9a44efc25 Don't throw an Exception in locatorsUpdateCopy() even though the
ability to update LOBs is unimplemented.  The 1.5 JDK's CachedRowSet
implementation calls this method regardless of whether large objects
are used or not.
2004-06-16 18:28:45 +00:00
Kris Jurka
94fdcc052a Bump the build number to relase a new version. 2004-06-16 05:23:33 +00:00
Kris Jurka
7e95c30953 When deleteRow() is called on an updateable ResultSet the ResultSet
should be positioned on the previous row.

Reported by Bob Messenger and Chris Pesarchick.
2004-06-16 05:12:13 +00:00
Kris Jurka
0bd656e407 Fix DatabaseMetaData results for determining foreign key
relationships.  Resulting columns from getImportedExportedKeys should
be FKTABLE_SCHEM and PKTABLE_SCHEM, not _SCHEMA.

Per report from jeff@bonevich.com.
2004-06-16 03:36:56 +00:00
Tom Lane
da736b79e7 Suppress compile warnings on machines where the INT64CONST() decoration
is actually needed.  Backport of Oliver Elphick's recent patch.
2004-06-13 17:17:49 +00:00
Bruce Momjian
ba57e33d7f Stamp 7.4.3. Still need release notes. 2004-06-11 18:17:54 +00:00
Bruce Momjian
257a8feb60 ECPG preprocessor for PostgreSQL 7.4.1, 7.4.2 doubles const,
volatile, static, and register keywords before variables,
declared as VARCHAR.

Sergey N. Yatskevich
2004-06-11 17:32:55 +00:00
Michael Meskes
962c362495 Fixed DEALLOCATE PREPARE to use correct function call 2004-05-21 13:50:59 +00:00
Kris Jurka
10a8cc5cc5 Fix setting timestamp values with very early year values, like 2, by
formatting all years with four digits.  Previously 0002-10-30 was
being sent as 2-10-30 which got turned into 2030-02-10.

Per report from oneway_111.
2004-05-17 20:38:56 +00:00
Tom Lane
fedfc5d363 Propagate enlargeStringInfo() fixes into the equivalent code in
pqexpbuffer.c.  While a client-side failure doesn't seem like a
security issue, it's still a bug.
2004-05-14 00:20:51 +00:00
Michael Meskes
006987781d Just another bug in adjust_informix. 2004-05-10 13:46:39 +00:00
Michael Meskes
86ac85b6ae - Fixed bug that reversed string length in typedefs. 2004-05-07 13:43:29 +00:00
Kris Jurka
e6e814c2b1 Allow public access to radius field to match other geometric types
behavior.

Per report from Declan Lynch.
2004-05-07 05:28:22 +00:00
Michael Meskes
d57af54ffa Fixed bug in adjust_informix that treated arrays as simple variables. 2004-05-05 15:06:21 +00:00
Kris Jurka
79e42a6eb2 Update the build.xml file to support building with the new 1.5 jdk
and ant 1.6.
2004-04-26 08:28:32 +00:00
Kris Jurka
1a60128573 Allow updateable ResultSets to support types that aren't directly
mappable to Java types, for example cidr.

Per report from Moray Taylor.
2004-04-24 01:54:45 +00:00
Michael Meskes
d8e53bd6c0 Fixed memory misusage in variable handling. 2004-04-23 06:17:27 +00:00
Barry Lind
28455721ff Fix for bug with the jdbc driver not properly working with binary cursors and
the V3 protocol.
 Modified Files:
  Tag: REL7_4_STABLE
 	jdbc/org/postgresql/Driver.java.in
 	jdbc/org/postgresql/core/BaseResultSet.java
 	jdbc/org/postgresql/core/BaseStatement.java
 	jdbc/org/postgresql/core/Field.java
 	jdbc/org/postgresql/core/PGStream.java
 	jdbc/org/postgresql/core/QueryExecutor.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/jdbc1/Jdbc1CallableStatement.java
 	jdbc/org/postgresql/jdbc1/Jdbc1PreparedStatement.java
 	jdbc/org/postgresql/jdbc1/Jdbc1RefCursorResultSet.java
 	jdbc/org/postgresql/jdbc1/Jdbc1ResultSet.java
 	jdbc/org/postgresql/jdbc1/Jdbc1Statement.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
 	jdbc/org/postgresql/jdbc2/Array.java
 	jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java
 	jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java
 	jdbc/org/postgresql/jdbc2/Jdbc2RefCursorResultSet.java
 	jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java
 	jdbc/org/postgresql/jdbc2/Jdbc2Statement.java
 	jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java
 	jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java
 	jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java
 	jdbc/org/postgresql/jdbc3/Jdbc3RefCursorResultSet.java
 	jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java
 	jdbc/org/postgresql/jdbc3/Jdbc3Statement.java
 	jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
 	jdbc/org/postgresql/test/jdbc2/OID74Test.java
 Added Files:
  Tag: REL7_4_STABLE
 	jdbc/org/postgresql/test/jdbc2/ServerCursorTest.java
2004-03-29 17:47:47 +00:00
Michael Meskes
d9a1b2548f Fixed possible segfault in type.c (by Juergen Cappel) 2004-03-29 15:12:08 +00:00
Tom Lane
0175b6d101 Fix error in termination of COPY IN mode when using V2 protocol.
Report and fix per ljb, 8-Mar-04.
2004-03-14 22:01:01 +00:00
Michael Meskes
e6bc372174 Committed Informix compat bug fix to 7.4 as well. 2004-03-14 12:18:35 +00:00
Bruce Momjian
49bc9c45c9 Brand 7.4.2. Release notes still need work. 2004-03-05 19:57:22 +00:00
Tom Lane
5b6d0a4df7 libpq's query to get the OIDs of large-object support functions was not
schema-safe.  Make it so, and improve the internal support for knowledge
of server version.
2004-03-05 01:54:13 +00:00
Michael Meskes
ea41a8cc5f - Fixed segfault due to missing check for variable declaration.
- Added check for multidimensional array usage.
2004-03-04 07:38:50 +00:00
Kris Jurka
926fd43d77 Update build number in anticipation of 7.4.2 release. With no
currently outstanding issues we'll flag now, so the release doesn't
slip out the door without it.
2004-03-04 03:25:10 +00:00
Bruce Momjian
fee9629cf1 Add missing sprompt.obj psql usage for Borland compiler, per private
report from krizsan.

Backpatch to 7.4.X.
2004-03-02 15:17:32 +00:00
Michael Meskes
f7a9dbce8d Added the missing rules for VOLATILE. 2004-03-02 06:52:18 +00:00
Michael Meskes
bc0476f9c8 - Corrected error handling in PGTYPEStimestamp_from_asc.
- Set pgtypeslib version to 1.2.
2004-02-24 16:09:16 +00:00
Kris Jurka
935e6e502d Closing a Connection or Statement object twice should be a no-op
instead of throwing an Exception.

Per report from Victor Sergienko.
2004-02-24 13:11:45 +00:00
Michael Meskes
fd7d98a271 Fixed incorrect output of indicator structs using the name of the data struct. 2004-02-23 18:14:30 +00:00
Michael Meskes
fe92ed8b78 - Allowed some C keywords to be used as SQL column names. This used to work in 7.3.* 2004-02-15 15:40:54 +00:00
Michael Meskes
67893da1c1 - Added missing braces to array parsing.
- Set ecpg version to 3.1.1.
        - Removed that old debugging output that I forgot the last time.
2004-02-15 13:50:02 +00:00
Tom Lane
18b8cb5a9e Repair missing inclusions of -lintl for shared libraries. 2004-02-10 07:26:48 +00:00
Kris Jurka
24bd490369 Don't try to turn the random bytes from a md5 salt into a String
because it may not be a valid String depending on the encoding.

Per report from Nadeem Bitar.
2004-02-10 01:58:48 +00:00
Kris Jurka
932001350b V3 NotificationResonse messages were trying to be received as V2
messages.  Also the PID was being read in the wrong byte order.
Finally add a test case for listen/notify.

Per report from Hans Nather.
2004-02-03 05:43:24 +00:00
Kris Jurka
d71188860e ConnectionPool and SimpleDataSource are marked Serializable, but their
superclass (which contains a number of state variables) is not.  To
correctly serialize these objects we need to manually implement
writeObject and readObject.

Per report from R. Lemos
2004-02-03 05:28:17 +00:00
Kris Jurka
1a92a4c10c ResultSet.next() and previous() incremented or decremented the
internal current_row variable regardless of wether they succeeded or
not.  This generated some ArrayIndexOutOfBoundsExceptions when the
errorneous adjustment current_row led to out of range values.

Per report from Fischer Krisztian.
2004-02-03 05:25:38 +00:00
Kris Jurka
9287630fbc Fix the setXXXStream methods. If passed a null InputStream, convert
this to a setNull call.  The code originally would try to read the
whole stream in one call to read(), but this doesn't work.  The
InputStream API makes it clear you must be prepared to loop and
continue reading if you didn't get the whole request on the first
try.

Per report from Martin Holz.
2004-02-03 05:13:56 +00:00
Kris Jurka
7ca2bff95f Newer versions of the 1.4.2 jdk give warnings about having return in a
finally clause.
2004-02-03 05:00:21 +00:00
Neil Conway
a2b5cc81df Use Tcl_PutEnv() in place of putenv() in libpgtcl, as the latter can
apparently corrupt the Tcl runtime. Per suggestion from Michael
Brusser <michael@synchronicity.com>
2004-02-02 01:00:58 +00:00
Michael Meskes
94189c9fc9 - Fixed prototype for ECPGprepared_statement to not moan about "const char"
- Fixed parsing of nested structures.
2004-01-28 09:55:53 +00:00
Michael Meskes
6932861e86 Added WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE. 2004-01-21 14:11:03 +00:00
Peter Eisentraut
31fc448196 Translation update 2004-01-13 18:58:42 +00:00
Peter Eisentraut
6a78eecf6f Translation updates 2004-01-07 17:44:07 +00:00
Peter Eisentraut
0658e7905d Translation updates 2004-01-05 19:15:55 +00:00
Michael Meskes
630f23962b Fixed bug in GRANT OPTION FOR parsing. 2004-01-04 14:50:13 +00:00
Tom Lane
cd632c983e Fix portability bugs: char values passed to <ctype.h> functions must
be cast to unsigned char.  We have learned this the hard way before.
2004-01-04 04:17:14 +00:00
Michael Meskes
386258d3e5 Added missing whitespaces to array argument parsing. 2003-12-29 13:53:17 +00:00
Tom Lane
9c08d8fe56 Fix sanity-check code that mistakenly assumed error and notice messages
could never exceed 30K.  Per report from Andreas Pflug.
2003-12-28 17:44:05 +00:00
Tom Lane
2315548ed7 Avoid infinite loop if connection is lost during PQexecStart() or
PQexecFinish().  Per report from Andreas Pflug.
2003-12-28 17:29:51 +00:00
Michael Meskes
a8c003ea9d Fixed segfault in parsing of EXEC SQL SELECT * FROM foo() AS TBL( c int, i int); 2003-12-24 22:05:06 +00:00
Tom Lane
1661b86bca Dept. of third thoughts: in fact, libpq should support SCM_CREDS challenge
even when HAVE_GETPEEREID is defined, else it will be unable to connect to
pre-7.4 backends that are using IDENT authentication.
2003-12-20 18:46:02 +00:00
Tom Lane
7133152c5b Fix broken IDENT support for FreeBSD (appears to have been broken by
ill-considered conditional logic in getpeereid patch of 3-Dec-2002).
Per bug #1021.
2003-12-20 18:25:02 +00:00
Bruce Momjian
41f60b20fd Backpatch pg_service.conf file change to not default dbname to match
service name.
2003-12-19 23:32:36 +00:00
Bruce Momjian
cdbfbcf987 Supress ecpg thread test if configure didn't enable threads. Fix
tools/thread to run even if configure didn't enable threads because this
test is used before enabling threads for the OS.
2003-12-19 23:29:29 +00:00
Tom Lane
7748c5ee29 Fix memory leak with SSL connections due to missing X509_free() calls.
Per Neil Conway.
2003-12-18 22:49:34 +00:00
Peter Eisentraut
3434f9e4df Forgot to change one compatlib.h. 2003-12-18 20:25:57 +00:00
Peter Eisentraut
716a3d6cff Move Informix compatibility include files out of the way. compatlib.h
was integrated into ecpg_informix.h, the other ones go into their own
subdirectory that is automatically considered by the embedded preprocessor
when in Informix mode.
2003-12-18 18:55:06 +00:00
Dave Cramer
757a328d0e patch for new OID74Test 2003-12-18 04:18:15 +00:00
Dave Cramer
1d37f8e288 backpatch for OID74Test to conform with jdbc tests 2003-12-18 04:10:12 +00:00
Dave Cramer
6096a72a54 backpatch for rs.previous from Kris Jurka, reported by Andrew Fyfe 2003-12-18 03:35:55 +00:00
Dave Cramer
2864c18ee5 patch for building for an alternate port 2003-12-18 03:32:05 +00:00
Dave Cramer
b304212560 back patch by Kris Jurka to get the correct protocol version from the server 2003-12-18 03:29:12 +00:00