1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-31 03:21:24 +03:00

140 Commits

Author SHA1 Message Date
Bruce Momjian
97c7db2e15 Mention failure of ANT to delete directories on clean. 2001-05-25 16:29:17 +00:00
Bruce Momjian
74068dfed6 The following patch corrects a make install problem when building
under Cygwin.  The root cause of this problem is that (Sun) java is a
native Win32 app and hence does not understand Cygwin Posix style paths.
The solution is to use Cygwin's cygpath utility to convert the Posix style
JDBC installation directory path into a Win32 one before invoking ant.

I'm not sure if my patch is the best way to correct this issue but
my goal was to confine the Cygwin specific constructs to

Jason Tishler
2001-05-25 14:28:58 +00:00
Bruce Momjian
6f101c806b There are a number of changes. The main ones are:
return oid on insert
 handle all primitive data types
 handle single quotes and newlines in Strings
 handle null variables
 deal with non public and final variables (not very
   well, though)

Ken K
2001-05-24 15:48:32 +00:00
Bruce Momjian
0995a5103f Fix ANT for *.properties files. 2001-05-23 20:54:12 +00:00
Bruce Momjian
7c2916a9ee Fix ANT so it only has '*.class' files, not the 'tags' file. 2001-05-23 19:30:35 +00:00
Bruce Momjian
18b02b9673 Back out timezone fix. Not needed in jdbc1. 2001-05-22 19:19:55 +00:00
Bruce Momjian
a008109d05 Prevent ANT from recreating the JAR files just because the
errors.properties files were being copied.
2001-05-19 02:48:54 +00:00
Bruce Momjian
a8a487df9f Fix pg_index statistics query to join proper relation. 2001-05-17 11:54:04 +00:00
Bruce Momjian
f107174e8c Included is a patch that fixes a bug introduced in the lastest version
(1.22) of interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java.  That
change removed a line that set the variable s to the value of the
stringbuffer.   This fix changes the following if checks to check the
length of the stringbuffer instead of s, since s no longer contains the
string the if conditions are expecting.

The bug manifests itself in getTimestamp() loosing the timezone
information of timestamps selected from the database, thereby causing
the time to be incorrect.

Barry Lind
2001-05-17 04:10:02 +00:00
Bruce Momjian
2e3c56a0ea Cleanup of backpatch of jdbc2 improvements to jdbc1:
Here's what I came up with. The biggest difference api between JDK1.x and
later versions is the support for collections. The problem was with the
Vector class; in jdk1.x there is no method called add, so I changed the
calls to addElement. Also no addAll, so I rewrote the method slightly to not
require addAll. While reviewing this I notices some System.out.println
statements that weren't commented out. So I commented them out in both
versions.

The upshot of all of this is that I have clean compile, but no idea if the
code works ;(

Dave Cramer
2001-05-17 03:55:04 +00:00
Bruce Momjian
1ef5c99c85 Fix 'make clean' with jdbc and ant by using filesets. 2001-05-17 03:22:53 +00:00
Bruce Momjian
6c183005d3 Mark column as not used. 2001-05-17 00:29:52 +00:00
Bruce Momjian
5abaa779c4 Fix for HASH for index lookups in ODBC. 2001-05-16 17:47:27 +00:00
Bruce Momjian
7934c93cbe This patch fixes a bug which occurs when setObject(1,obj) is called and obj
is of type Object, and is null

Dave Cramer
2001-05-16 17:22:25 +00:00
Bruce Momjian
37b006e074 Add NUMERIC tests to jdbc code.
David Esposito
2001-05-16 17:09:26 +00:00
Bruce Momjian
863c9d11f1 I was trying to get a very nice FREE graphical db tool called DbVisualizer
(http://www.ideit.com/products/dbvis/) to work with Postgresql and I found
out the following bug: if database has views then getTables() gets the null
pointer exception ('order by relname' makes the listing tree in
DbVisualizer a lot useful !!)

This patch should propably be applied to the the jdbc1's
DatabaseMetaData.java, too.

Panu Outinen
2001-05-16 16:42:31 +00:00
Bruce Momjian
01cc344011 Change the line:
return ((c == 't') || (c == 'T'));
int the getBoolean function on line 184:ish to:
 return ((c == 't') || (c == 'T') (c == '1'));

Hunter Hillegas
2001-05-16 16:30:38 +00:00
Bruce Momjian
9cdf723142 Backpatch jdbc2 fixes to jdbc1, ANT fixes, from Peter Eisentraut 2001-05-16 16:20:53 +00:00
Bruce Momjian
1292467db1 Backpatch getImportedKeys to jdbc1. 2001-05-16 04:08:50 +00:00
Bruce Momjian
aad93fb433 Backpatch ORDER BY fix to jdbc1. 2001-05-16 04:01:04 +00:00
Bruce Momjian
c5039e059e Here's an easy patch for todays snapshot to sort the result of the
public ResultSet getTables(String catalog, String schemaPattern, String

Jeroen van Vianen
2001-05-16 03:50:08 +00:00
Bruce Momjian
41a20bbbdf jdbc2 implementation of getImportedKeys.
Ola Sundell
2001-05-16 03:40:25 +00:00
Bruce Momjian
e046e1dfab The current implementation of BlobInputStream does
not properly handle 8-bit unsigned data as it blindly
casts the byte to an int, which java most helpfully
promotes to a signed type.  This causes problems when
you can only return -1 to indicated EOF.

The following patch fixes the bug and has been tested
locally on image data.

Chad David
2001-05-16 03:29:01 +00:00
Bruce Momjian
54d9099596 Stamp CVS as 7.2. Update all interface version numbers. This is the
time to do it, not during beta because people are using this stuff in
production sometimes.
2001-05-11 01:46:33 +00:00
Bruce Momjian
999a4d48d3 that's just me again, here's normal patch for KOI8_U to
jdbc/Connection.java

Andy
P.S. in Connection.java if encoding=="WIN" then dbEncoding is set to
"Cp1252".
What if it's Cyrillic "WIN"? Than it should be "Cp1251". Is there any
way to fix that without making different "WIN" encodings in
PostgreSQL?

Andy Rysin
2001-05-09 21:11:26 +00:00
Bruce Momjian
766a44f77f Mention new jdbc mailing list instead of interfaces list. 2001-05-09 15:51:37 +00:00
Bruce Momjian
0b68b89b02 Fix paren typo in java. 2001-05-08 15:29:14 +00:00
Bruce Momjian
c41536ea56 Update Peter Mount's email address in README. 2001-03-19 21:57:09 +00:00
Peter Eisentraut
fbc69e29af We're way past 6.3 ... 2001-03-14 20:47:24 +00:00
Peter Eisentraut
c785e1e3b0 Update. Things are now build through 'make'. 2001-03-14 20:44:40 +00:00
Peter Eisentraut
671be61916 Add uninstall target to Java build.
Respect default port setting in JDBC driver.
Pick up version number from Makefile.global.
Change installation directory to share/java/.
Document.
2001-03-11 11:07:01 +00:00
Peter Mount
b562c62b5d Tue Mar 06 12:05:00 GMT 2001 peter@retep.org.uk
- Removed org.postgresql.xa.Test from the JDBC EE driver as it's an old
          test class and prevented it from compiling.
2001-03-06 12:04:46 +00:00
Peter Mount
c18bb990d3 Ok, I've split todays commit into three, the first two already done had some
bits in JDBC & the first set of tools into contrib.

This is the third, and deals with enabling JDBC to be compiled with the main
source.

What it does is add a new option to configure: --with-java

This option tells configure to look for ant (our build tool of choice) and
if found, it then compiles both the JDBC driver and the new tools as part
of the normal make.

Also, when the postgresql install is done, all the .jar files are also
installed into the ${PGLIB}/java directory (thought best to keep then separate)

Now I had some conflicts when this applied so could someone please double check
that everything is ok?

Peter
2001-03-05 09:40:02 +00:00
Peter Mount
9142ca2faf Minor fixes... 2001-03-05 09:17:43 +00:00
Peter Mount
cdbd27cb23 Some more updates...
Fri Feb 17 15:11:00 GMT 2001 peter@retep.org.uk
        - Reduced the object overhead in PreparedStatement by reusing the same
          StringBuffer object throughout. Similarly SimpleDateStamp's are alse
          reused in a thread save manner.
        - Implemented in PreparedStatement: setNull(), setDate/Time/Timestamp
          using Calendar, setBlob(), setCharacterStream()
        - Clob's are now implemented in ResultSet & PreparedStatement!
        - Implemented a lot of DatabaseMetaData & ResultSetMetaData methods.
          We have about 18 unimplemented methods left in JDBC2 at the current
          time.
2001-02-16 16:45:01 +00:00
Peter Mount
bb7b71826d Web Feb 14 17:29:00 GMT 2001 peter@retep.org.uk
- Fixed bug in LargeObject & BlobOutputStream where the stream's output
          was not flushed when either the stream or the blob were closed.
        - Fixed PreparedStatement.setBinaryStream() where it ignored the length
2001-02-14 17:45:17 +00:00
Peter Mount
3d21bf82c3 Some more including the patch to DatabaseMetaData backed out by Bruce.
Tue Feb 13 16:33:00 GMT 2001 peter@retep.org.uk
        - More TestCases implemented. Refined the test suite api's.
        - Removed need for SimpleDateFormat in ResultSet.getDate() improving
          performance.
        - Rewrote ResultSet.getTime() so that it uses JDK api's better.

Tue Feb 13 10:25:00 GMT 2001 peter@retep.org.uk
        - Added MiscTest to hold reported problems from users.
        - Fixed PGMoney.
        - JBuilder4/JDBCExplorer now works with Money fields. Patched Field &
          ResultSet (lots of methods) for this one. Also changed cash/money to
          return type DOUBLE not DECIMAL. This broke JBuilder as zero scale
          BigDecimal's can't have decimal places!
        - When a Statement is reused, the previous ResultSet is now closed.
        - Removed deprecated call in ResultSet.getTime()

Thu Feb 08 18:53:00 GMT 2001 peter@retep.org.uk
        - Changed a couple of settings in DatabaseMetaData where 7.1 now
          supports those features
        - Implemented the DatabaseMetaData TestCase.

Wed Feb 07 18:06:00 GMT 2001 peter@retep.org.uk
        - Added comment to Connection.isClosed() explaining why we deviate from
          the JDBC2 specification.
        - Fixed bug where the Isolation Level is lost while in autocommit mode.
        - Fixed bug where several calls to getTransactionIsolationLevel()
          returned the first call's result.
2001-02-13 16:39:06 +00:00
Bruce Momjian
2410963e8c Remove postgresql jdbc files, per Peter. 2001-02-13 16:18:15 +00:00
Bruce Momjian
934c5b841e Remove postgresql jdbc files, per Peter Mount. 2001-02-13 16:14:40 +00:00
Bruce Momjian
d766693b0a Back out *inv* changes for this file. Peter want to handle it. 2001-02-13 15:43:08 +00:00
Bruce Momjian
5c8055e41f Remove last code that assumed xinv/xinx are large object files. 2001-02-09 22:23:47 +00:00
Peter Mount
ca5d71cd07 Some updates prior to retrieving a fresh cvs copy:
Tue Feb 06 19:00:00 GMT 2001 peter@retep.org.uk
        - Completed first two TestCase's for the test suite. JUnit is now
          recognised by ant.
2001-02-07 09:13:20 +00:00
Peter Mount
234599e943 Wed Jan 31 08:46:00 GMT 2001 peter@retep.org.uk
- Some minor additions to Statement to make our own extensions more
          portable.
        - Statement.close() will now call ResultSet.close() rather than just
          dissasociating with it.
2001-01-31 09:23:45 +00:00
Peter Mount
8439a83d84 Tue Jan 30 22:24:00 GMT 2001 peter@retep.org.uk
- Fixed bug where Statement.setMaxRows() was a global setting. Now
          limited to just itself.
        - Changed LargeObject.read(byte[],int,int) to return the actual number
          of bytes read (used to be void).
        - LargeObject now supports InputStream's!
        - PreparedStatement.setBinaryStream() now works!
        - ResultSet.getBinaryStream() now returns an InputStream that doesn't
          copy the blob into memory first!
        - Connection.isClosed() now tests to see if the connection is still alive
          rather than if it thinks it's alive.
2001-01-31 08:26:02 +00:00
Peter Mount
f118c36a78 Added an alternative constructor to PGSQLException so that debugging
some more osteric bugs is easier. If only 1 arg is supplied and it's
          of type Exception, then that Exception's stacktrace is now included.

This was done as there's been a report of an unusual bug during connection.
This will make this sort of bug hunting easier from now on.
2001-01-25 09:16:36 +00:00
Bruce Momjian
4e45005ffb This patch fixes an arrayindexoutofbounds exception that was just
introduced into the code.  The fix is a fix to
org.postgresql.core.ByteArrayDim1.java.

Barry Lind
2001-01-25 00:02:58 +00:00
Bruce Momjian
26e566446f Attached is a revised patch that removes the static SimpleDateFormat
objects that Thomas pointed out might be a problem.

PPS.  I have included and updated the comments from the original patch
request to reflect the changes made in this revised patch.

> Attached is a set of patches for a couple of bugs dealing with
> timestamps in JDBC.
>
> Bug#1) Incorrect timestamp stored in DB if client timezone different
> than DB.
> The buggy implementation of setTimestamp() in PreparedStatement simply
> used the toString() method of the java.sql.Timestamp object to convert
> to a string to send to the database.  The format of this is yyyy-MM-dd
> hh:mm:ss.SSS which doesn't include any timezone information.  Therefore
> the DB assumes its timezone since none is specified.  That is OK if the
> timezone of the client and server are the same, however if they are
> different the wrong timestamp is received by the server.  For example if
> the client is running in timezone GMT and wants to send the timestamp
> for noon to a server running in PST (GMT-8 hours), then the server will
> receive 2000-01-12 12:00:00.0 and interprete it as 2000-01-12
> 12:00:00-08 which is 2000-01-12 04:00:00 in GMT.  The fix is to send a
> format to the server that includes the timezone offset.  For simplicity
> sake the fix uses a SimpleDateFormat object with its timezone set to GMT
> so that '+00' can be used as the timezone for postgresql.  This is done
> as SimpleDateFormat doesn't support formating timezones in the way
> postgresql expects.
>
> Bug#2) Incorrect handling of partial seconds in getting timestamps from
> the DB
>
> When the SimpleDateFormat object parses a string with a format like
> yyyy-MM-dd hh:mm:ss.SS it expects the fractional seconds to be three
> decimal places (time precision in java is miliseconds = three decimal
> places).  This seems like a bug in java to me, but it is unlikely to be
> fixed anytime soon, so the postgresql code needed modification to
> support the java behaviour.  So for example a string of '2000-01-12
> 12:00:00.12-08' coming from the database was being converted to a
> timestamp object with a value of 2000-01-12 12:00:00.012GMT-08:00.  The
> fix was to check for a '.' in the string and if one is found append on
> an extra zero to the fractional seconds part.
>
>
> I also did some cleanup in ResultSet.getTimestamp().  This method has
> had multiple patches applied some of which resulted in code that was no
> longer needed.  For example the ISO timestamp format that postgresql
> uses specifies the timezone as an offset like '-08'.  Code was added at
> one point to convert the postgresql format to the java one which is
> GMT-08:00, however the old code was left around which did nothing.  So
> there was code that looked for yyyy-MM-dd hh:mm:sszzzzzzzzz and
> yyyy-MM-dd hh:mm:sszzz.  This second format would never be encountered
> because zzz (i.e. -08) would be converted into the former (also note
> that the SimpleDateFormat object treats zzzzzzzzz and zzz the same, the
> number of z's does not matter).
>
>
> There was another problem/fix mentioned on the email lists today by
> mcannon@internet.com which is also fixed by this patch:
>
> Bug#3) Fractional seconds lost when getting timestamp from the DB
> A patch by Jan Thomea handled the case of yyyy-MM-dd hh:mm:sszzzzzzzzz
> but not the fractional seconds version yyyy-MM-dd hh:mm:ss.SSzzzzzzzzz.
> The code is fixed to handle this case as well.

Barry Lind
2001-01-24 23:41:04 +00:00
Peter Mount
b869f45d1e Removed the 8k row limit reported by DatabaseMetaData 2001-01-24 09:22:01 +00:00
Peter Mount
be281916f9 Fri Jan 19 08:47:00 GMT 2001 peter@retep.org.uk
- Applied patch submitted by John Schutz <schutz@austin.rr.com> that
          fixed a bug with ANT's SQL functions (not needed for building but nice
          to have fixed).
2001-01-19 08:49:06 +00:00
Peter Mount
af8630f26a Forgot to cvs add UpdateableResultSet.java ;-) 2001-01-18 17:38:50 +00:00