Commit graph

1588 commits

Author SHA1 Message Date
Hiroshi Inoue
6852741c18 [2002-03-28]
1) Prepare to separate 4 kinds of Descriptor handles.
2) Detect the transaction status more naturally.
3) Improve Parse Statement functionality for the use
   of updatable cursors.
4) Improve updatable cursors.
5) Implement SQLGetDescField() and improve SQLColAttribute().
6) etc.
2002-03-28 08:08:07 +00:00
Barry Lind
2442e79e32 applied patch from Liam Stewart fixing a message in the properties file
also fixed a NPE when calling the next() method on a result set after the
connection or resultset has been closed. (bug reported by Hans Deragon)
2002-03-27 05:33:27 +00:00
Barry Lind
da631e931f applied patch submitted by Florian (mailing-list@urbanet.ch) for BigDecimal support 2002-03-26 06:33:21 +00:00
Barry Lind
ef7d791074 Changed QueryExecutor.java to correctly read responses from the backend.
Fixed NPE when database name was not passed on the jdbc connection URL
Fixed Connection.isClosed() to not hit the DB for every call
2002-03-26 05:52:50 +00:00
D'Arcy J.M. Cain
102fe3f845 Further changes following discussion on INTERFACES mailing list:
- Use PyObject_Del() rather than macro version
  - Check version and drop back to PyMem_Del() for older systems.
2002-03-26 01:50:14 +00:00
Bruce Momjian
51b55730ae Fix for ODBC compile warnings. 2002-03-25 01:53:55 +00:00
Tom Lane
5eed835b9a Indenting #if commands is not portable, is it? 2002-03-24 18:22:21 +00:00
Tom Lane
6137ed1b59 Fix minor syntax error. 2002-03-21 18:28:07 +00:00
Michael Meskes
73b92d10c6 Added typedef patches and a new option '-c' to automatically create C typedefs from SQL ones. 2002-03-21 09:42:52 +00:00
Dave Cramer
78d40a2a2f Two versions of QueryExecutor, currently only version 2 works 100%
these versions adhere to the backend protocol better than previous version
fixes problem when an error occurs on the backend, and the connection is still used
previous versions were throwing an exception half way through the protocol, leaving it
indeterminate.
also removes empty query code, should speed things up a bit
2002-03-21 03:20:30 +00:00
Dave Cramer
54cc549d8f modifications to the way the protocol is handled to be consistent with
QueryExecutor. This includes:
1) only exit after we receive a 'Z' packet
2) append error messages to a buffer and throw the exception at the end
2002-03-21 02:52:37 +00:00
Dave Cramer
00923229c2 Part of Anders Bengtsson's patch to clean up Connection.java 2002-03-21 02:40:03 +00:00
Dave Cramer
d96c29ab30 Applied Anders patch to move the startup code out of Connection into StartupPacket
* Introduces a new class, StartupPacket.
* Moves a lot of constants from Connection to StartupPacket.
* Makes two instance variables in Connection into locals.
2002-03-21 02:39:06 +00:00
Michael Meskes
8e9b215fdf Just one more test case. 2002-03-20 21:00:24 +00:00
D'Arcy J.M. Cain
861c336b51 PyGreSQL causes a segfault when used with a Python executable that was
compiled with --with-pymalloc.  This change fixes that.  Thanks to
Dave Wallace <dwallace@udel.edu>
2002-03-20 14:36:06 +00:00
D'Arcy J.M. Cain
b752788510 Bump version number to match tree. 2002-03-19 13:21:14 +00:00
D'Arcy J.M. Cain
d6b4153f93 Fix name in comments and add info about this module's place in PyGreSQL. 2002-03-19 13:20:52 +00:00
Bruce Momjian
f5810bb8a5 Add missing trailing semicolons to ecpg rules.
Neil Conway
2002-03-19 12:56:38 +00:00
Bruce Momjian
eb1fb8650f >Added ServerEncoding
>       Korean (JOHAB), Thai (WIN874),
>       Vietnamese (TCVN), Arabic (WIN1256)
>
>Added ClientEncoding
>       Simplified Chinese (GBK), Korean (UHC)
>
>Add PsqlODBC and document ...etc patch.


"JDBC patch" is delivered, too. :-)



Eiji Tokuya
2002-03-19 02:48:45 +00:00
Bruce Momjian
d3337c6e3f > I am backing out this patch. Please resubmit with this corrected. Thanks.
>
> I am running Python 1.5.

Therein lies the problem... :)

Since it appears you have the requirement of supporting old python
versions, attached is just the pgdb.py part of the patch (with a fix for
DateTime handling). It has the same functionality but certainly won't be
quite as fast. Given the absence of _PyString_Join in python1.5, it's a
pain to get the C variants working for all versions. The pgdb.py patch
does leaves the hooks in, should someone wish to do the optimization at a
later point.

Elliot Lee
2002-03-19 02:47:57 +00:00
Dave Cramer
525b19399c applied patch from Liam Stewart
If one is trying to compile a JDBC 1 driver and junit.jar is in the
CLASSPATH, then the build fails as ant tries to build the JDBC 2 test
classes. This patch fixes this problem by excluding the jdbc 2 files
unless the jdk1.2+ property is set.
2002-03-19 01:32:48 +00:00
Dave Cramer
202a19e47b Fixes bug where query hangs if there is an error in the query, went back to
code before QueryExecutor class was created and copied behaviour
2002-03-18 04:16:33 +00:00
Dave Cramer
134fe5ec61 fixed QueryExecuter to deal with multiple errors
previously it was throwing a SQLException as soon as the error message was
received from the backend. This did not allow the protocol to finish properly
now, simply collects error messages from the backend until the query is done
and throws exception at the end
Also added setLogLevel to Driver.java, and made the log levels public
2002-03-16 02:15:23 +00:00
Bruce Momjian
efd45bc68f Manually clean up indenting of ecpg lex/yacc files, OK'ed by Michael
Meskes.  These files are not touched by pgindent so this has to be
manually done.
2002-03-15 21:46:59 +00:00
Dave Cramer
a2b5512929 patch from Alexey Slynko
This patch solve problems with arrays in latest development JDBC driver
2002-03-15 04:11:49 +00:00
Hiroshi Inoue
01e322652b 1) Internal improvements to handle updatable cursors(1st cut).
2) Fix a bug in SQLColAttribute().
2002-03-14 05:42:04 +00:00
Bruce Momjian
80bbfe76d5 Inlined a patch to add the libpq setNoticeProcessor capability to
libpq++.

Ofir Reichenberg
2002-03-11 15:08:18 +00:00
Michael Meskes
9f9e3c9803 Changed the version numbers, but did not commit the Makefiles. 2002-03-11 12:56:02 +00:00
Hiroshi Inoue
dadb718b10 Bug fixes for the 2002-03-08 change.
1) Put back the error message for SQLError().
2) Change Disallow premature to handle the SELECTed
   result.
3) Put back the behavior of AUTUCOMMIT mode change.
4) Fix SQLColumns for ODBC3.0.

5) Improve the handling of variable bookmark in ODBC3.0.
6) Enable Recognize Unique Index Button.
2002-03-11 10:25:57 +00:00
Michael Meskes
7f7fb4e64c Fixed two bugs in define command in pgc.l 2002-03-10 12:09:54 +00:00
Bruce Momjian
ee27436f6c Disable brackets in multi-statement rules, as discussed. 2002-03-10 06:00:15 +00:00
Dave Cramer
ee2154829e Added a check for not calling next() before getting objects from the result set,
moved the check for columnIndex into same call
check at the top of all getXXX
added appropriate error
2002-03-09 17:36:14 +00:00
Dave Cramer
1eb31d197d Here is a small patch that cleans up some error reporting in the JDBC driver. PSQLExceptions are thrown instead of SQLExceptions and if a warning is received while waiting for the backend secret key, that warning is chained to the new Connection object instead of generating an exception. A couple new error messages have been added. 2002-03-09 17:08:39 +00:00
Hiroshi Inoue
fc70104725 Remove compile errors. 2002-03-08 09:50:39 +00:00
Hiroshi Inoue
4b47467a6b 1) Implement SQLParamOptions().
2) Handle Multiple results and implement SQLMoreResult().
3) Improve multibyte handling thanks to Eiji Tokuya.
4) Add new options.
   LF <-> CR/LF converion.
   TRUE is -1 (for VB).
5) Introduce unicode(UCS-2) support.
6) Reduce the length of connection strings.
7) Improve SQLError, SQLGetDiagRec(ODBC 3.0).
8) Implement SQLTablePrivileges().
9) Miscellaneous changes for ODBC 3.0 support.
2002-03-08 08:52:55 +00:00
Bruce Momjian
9956c566e3 Add libpgeasy example file. 2002-03-06 14:40:05 +00:00
Michael Meskes
5ca7c8e314 Synced parser with backend. 2002-03-06 10:10:52 +00:00
Bruce Momjian
92288a1cf9 Change made to elog:
o  Change all current CVS messages of NOTICE to WARNING.  We were going
to do this just before 7.3 beta but it has to be done now, as you will
see below.

o Change current INFO messages that should be controlled by
client_min_messages to NOTICE.

o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
to always go to the client.

o Remove INFO from the client_min_messages options and add NOTICE.

Seems we do need three non-ERROR elog levels to handle the various
behaviors we need for these messages.

Regression passed.
2002-03-06 06:10:59 +00:00
Dave Cramer
39c58b9065 changed Cancel to cancel 2002-03-06 03:07:45 +00:00
Dave Cramer
ffe356b5dd backed out changes for cancel, no need to look for two 'Z' responses 2002-03-05 20:11:57 +00:00
Dave Cramer
29ea8ff9b1 Patch by Nicolas Verger to correctly propogate SQLWarning to the Statement and ResultSet 2002-03-05 18:02:44 +00:00
Dave Cramer
ff2f9b663f fixed cancel query bug introduced by patch 2002-03-05 18:01:27 +00:00
Bruce Momjian
0416641baa At this moment, --enable-debug adds debugging information to most of the
parts o f postgresql. The jdbc drivers are never compiled with debugging
support. This p atch make sure that debugging information is added to
the jdbc jar when the --en able-debug is added. This was usefull for me
for debugging some java jdbc poolin g objects but this might perhaps be
usefull for other people too?

Dries Verachtert
2002-03-05 17:55:23 +00:00
Bruce Momjian
6024ac1ba0 Back out old version and update with newer patch of:
Fix for non-blocking connections in libpq

Bernhard Herzog
2002-03-05 06:07:27 +00:00
Bruce Momjian
a8bd7e1c6e > Tatsuo Ishii wrote:
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2.
> > > >
> > > > Added ServerEncoding
> > > >         Korean (JOHAB), Thai (WIN874),
> > > >         Vietnamese (TCVN), Arabic (WIN1256)
> > > >
> > > > Added ClientEncoding
> > > >         Simplified Chinese (GBK), Korean (UHC)
> > > >
> > > >
> > > >
> http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz
> > > > (608K)
> > >
> > > Looks good.  I need some people to review this for me.
> >
> > For me they look good too. The only missing part is a
> > documentation. I will ask him to write it up. If he couldn't, I will
> > do it for him.
> > > The diff is 3mb
> > > but appears to address only additions to multibyte.  I have attached a
> > > list of files it modifies.  Also, look at the sizes of the mb/
> > > directory.  It is getting large:
> > >
> > >   4       ./CVS
> > >   6       ./Unicode/CVS
> > >   3433    ./Unicode
> > >   6197    .
> >
> > Yes. We definitely need the on-the-fly encoding addition capability:
> > i.e. CREATE CHRACTER SET in the future...
> > --
> > Tatsuo Ishii
> >
> >

Address chainge.

http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz

Add PsqlODBC and document ...etc patch.

Eiji Tokuya
2002-03-05 05:52:50 +00:00
Bruce Momjian
33766e680d Here's a patch against 7.1.3 that fixes a problem with sending larger
queries over non-blocking connections with libpq. "Larger" here
basically means that it doesn't fit into the output buffer.

The basic strategy is to fix pqFlush and pqPutBytes.

The problem with pqFlush as it stands now is that it returns EOF when an
error occurs or when not all data could be sent. The latter case is
clearly not an error for a non-blocking connection but the caller can't
distringuish it from an error very well.

The first part of the fix is therefore to fix pqFlush. This is done by
to renaming it to pqSendSome which only differs from pqFlush in its
return values to allow the caller to make the above distinction and a
new pqFlush which is implemented in terms of pqSendSome and behaves
exactly like the old pqFlush.

The second part of the fix modifies pqPutBytes to use pqSendSome instead
of pqFlush and to either send all the data or if not all data can be
sent on a non-blocking connection to at least put all data into the
output buffer, enlarging it if necessary. The callers of pqPutBytes
don't have to be changed because from their point of view pqPutBytes
behaves like before. It either succeeds in queueing all output data or
fails with an error.

I've also added a new API function PQsendSome which analogously to
PQflush just calls pqSendSome. Programs using non-blocking queries
should use this new function. The main difference is that this function
will have to be called repeatedly (calling select() properly in between)
until all data has been written.

AFAICT, the code in CVS HEAD hasn't changed with respect to non-blocking
queries and this fix should work there, too, but I haven't tested that
yet.

Bernhard Herzog
2002-03-05 05:20:12 +00:00
Dave Cramer
17b6baf17d Doug Fields patch to prevent exception being thrown on zero length arrays 2002-03-05 03:46:03 +00:00
Dave Cramer
fe4e95f682 patch from Zhenbang Wei
The errors_zh_TW.properties must be translated using native2ascii or it
will raise an exception. Please replace the old file.
2002-03-05 03:33:29 +00:00
Dave Cramer
8f83590aa1 Patch from Ryouichi Matsuda
An attached patch corrects problem of this bug and fractional second.


 The handling of time zone was as follows:

   (a) with time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
   (b) without time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss")


 About problem of fractional second,
 Fractional second was changed from milli-second to nano-second
2002-03-05 03:29:30 +00:00
Dave Cramer
7aa6270fc7 patch from Mitchel Friedman to fix getTables 2002-03-05 03:02:52 +00:00