1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-18 12:22:09 +03:00
Commit Graph

3051 Commits

Author SHA1 Message Date
Michael Meskes
f496eb31b2 Check for non-existant connection in prepare statement handling.
Do not close files that weren't opened.
2008-05-12 16:30:17 +00:00
Magnus Hagander
2804eb27ad Add more dependencies from libpgport required by
standalone msvc build of libpq.

Hiroshi Saito
2008-05-05 19:31:45 +00:00
Andrew Dunstan
547f61f028 Avoid using unnecessary pgwin32_safestat in libpq. 2008-04-16 14:21:23 +00:00
Michael Meskes
4fcff62991 Fixed bug in PGTYPEStimestamp_sub that used pointers instead of the values to substract. 2008-04-10 10:46:22 +00:00
Michael Meskes
e5fab267c5 added ECPGget_PGconn to exports.txt 2008-03-25 12:45:33 +00:00
Michael Meskes
4866b529f3 Corrected version number. 2008-03-21 16:10:10 +00:00
Michael Meskes
94a710563e Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury.
Bumped library version to 6.1.
2008-03-20 16:30:14 +00:00
Michael Meskes
6a78d754d0 Changed statement escaping to not escape continuation line markers.
Bumped precompiler patchlevel.
2008-03-20 16:04:52 +00:00
Tom Lane
eb66892ed6 Stamp version 8.3.1, except for configure.in/configure. 2008-03-13 23:57:34 +00:00
Tom Lane
267d90b82c Include -lgss in libpq link, if available. Bjorn Munch 2008-03-05 05:39:17 +00:00
Michael Meskes
8a7c17d0ee Fixed bug that caused arrays of varchar to be output with incomplete name. 2008-03-02 10:57:21 +00:00
Tom Lane
0b173a6e8d Fix unportable usages of tolower(). On signed-char machines, it is necessary
to explicitly cast the output back to char before comparing it to a char
value, else we get the wrong result for high-bit-set characters.  Found by
Rolf Jentsch.  Also, fix several places where <ctype.h> functions were being
called without casting the argument to unsigned char; this is likewise
unportable, but we keep making that mistake :-(.  These found by buildfarm
member salamander, which I will desperately miss if it ever goes belly-up.
2008-03-01 03:26:44 +00:00
Peter Eisentraut
07e58204ed Fix uninstall target. 2008-02-26 13:49:14 +00:00
Michael Meskes
0ab0607949 Changed INFORMIX mode symbol definition yet again because the old way didn't work on NetBSD. 2008-02-17 18:42:23 +00:00
Michael Meskes
a50a313c1d Updated expected result for regression test. 2008-02-15 18:51:57 +00:00
Michael Meskes
0a96951017 Fixed conflicting commit. 2008-02-15 16:28:47 +00:00
Michael Meskes
bea0466d9d Changed the way symbols are defined in C in INFORMIX mode.
Added SQLSTATE macro closing bug #3961.
EXECUTE can return NOT FOUND so it should be checked here too.
2008-02-15 12:11:02 +00:00
Michael Meskes
fa0dc92fd8 - Fixed segfault in ecpg when using an array element.
- Free all memory in auto-prepare mode.
2008-02-07 11:09:13 +00:00
Tom Lane
cf82aee7ea Fix pg_GSS_error to use conn->errorMessage more sanely, ie, actually
work with the PQExpBuffer code instead of fighting it.  This avoids an
unnecessary limit on message length and fixes the latent bug that
errorMessage.len wasn't getting set.
2008-01-31 18:58:30 +00:00
Peter Eisentraut
3c9ae7300d Translation updates 2008-01-31 18:04:52 +00:00
Peter Eisentraut
6dfa40d69f Translation updates 2008-01-30 11:05:41 +00:00
Tom Lane
5037ed834d Fix up closePGconn() so that PQreset() will work on GSSAPI/SSPI connections;
the patch for those features put its cleanup code into freePGconn() which is
really the wrong place.  Remove redundant code from freePGconn() and add
comments in hopes of preventing similar mistakes in future.
Noticed while trying (futilely) to reproduce bug #3902.
2008-01-29 02:06:30 +00:00
Tom Lane
fad2b99523 Arrange to ignore SIGPIPE during SSL_read() and SSL_shutdown(), as these
are known to write on the socket sometimes and thus we are vulnerable to
being killed by the signal if the server happens to go away unexpectedly.
Noticed while trying (futilely) to reproduce bug #3902.

This bug has been there all along, but since the situation is usually
only of interest to developers, I chose not to back-patch the changes.
2008-01-29 02:03:39 +00:00
Tom Lane
70066eb1a1 Insert into getCopyDataMessage() the same logic that already existed in the
main code path for enlarging libpq's input buffer in one swoop when needing to
read a long data message.  Without this, the code will double the buffer size,
read more data, notice it still hasn't got the whole message, and repeat till
it finally has a large enough buffer.  Which wastes a lot of data-moving
effort and also memory (since malloc probably can't do anything very useful
with the freed-up smaller buffers).  Not sure why this wasn't there already;
certainly the COPY data path is a place where we're quite likely to see long
data messages.  I'm not backpatching though, since this is just a marginal
performance issue rather than a real bug.
2008-01-17 21:21:50 +00:00
Tom Lane
0153c4c466 Be less wishy-washy in the documentation and comments about whether a
ParameterStatus message can be sent during COPY OUT: it's definitely
possible, since COPY from a SELECT subquery can trigger any user-defined
function.
2008-01-15 22:18:20 +00:00
Michael Meskes
dbdc2e52a0 Re-enabled variables in fetch/move command. 2008-01-15 10:31:47 +00:00
Tom Lane
5c7671425f Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
we need to be able to swallow NOTICE messages, and potentially also
ParameterStatus messages (although the latter would be a bit weird),
without exiting COPY OUT state.  Fix it, and adjust the protocol documentation
to emphasize the need for this.  Per off-list report from Alexander Galler.
2008-01-14 18:46:17 +00:00
Michael Meskes
1460c82151 Set valid return values even in case of an error to prevent segfaults. 2008-01-14 09:43:42 +00:00
Michael Meskes
149db6b6b7 Changed prototype for ECPGdo because some compilers don't like int/enum aliasing in there. 2008-01-13 11:53:16 +00:00
Michael Meskes
da758c266c Fixed lexer to correctly parse C quotes. 2008-01-11 15:19:16 +00:00
Magnus Hagander
21a00dc6fd Generate and include manifest in standalone libpq build on Windows.
Hiroshi Saito
2008-01-10 16:03:00 +00:00
Tom Lane
867ff0727f informix.c was violating the coding rule about not including any
system headers before c.h.  Per report from J6M.
2008-01-08 01:14:52 +00:00
Tom Lane
ce9baa06f0 Fix some missed copyright updates. 2008-01-01 20:31:21 +00:00
Bruce Momjian
9098ab9e32 Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
Michael Meskes
332bed8c6b Sorry, hit the wrong button with my last commit. Here's the correct changelog:
Applied patch send by ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> to fix bug in connect statement if user name is a variable.
Also fixed test case that didn't detect this.
2007-12-28 11:30:54 +00:00
Michael Meskes
2f86ab7733 *** empty log message *** 2007-12-28 11:25:21 +00:00
Michael Meskes
51a5921dcc Fixed a few minor glitches pointed out by splint. 2007-12-21 14:33:20 +00:00
Magnus Hagander
3f7f9f594b libpq needs pgsleep on win32 because of the changes to port/open.c. 2007-12-21 09:03:31 +00:00
Tom Lane
4f9bf7fc5a Fix up the PQconnectionUsedPassword mess: create a separate
PQconnectionNeedsPassword function that tells the right thing for whether to
prompt for a password, and improve PQconnectionUsedPassword so that it checks
whether the password used by the connection was actually supplied as a
connection argument, instead of coming from environment or a password file.
Per bug report from Mark Cave-Ayland and subsequent discussion.
2007-12-09 19:01:40 +00:00
Magnus Hagander
024014a448 Don't send an empty SSPI negotiation packet at the end of the negotiation.
Fixes bug #3750
2007-12-04 13:02:53 +00:00
Magnus Hagander
7c43106db2 Add win32error.c to libpq, needed to resolve _dosmaperr. 2007-11-30 16:21:19 +00:00
Peter Eisentraut
42a0c88ead Translation updates 2007-11-29 08:50:36 +00:00
Bruce Momjian
d65b42b85b Fix build of libpq for Borland CC. 2007-11-21 23:03:44 +00:00
Bruce Momjian
f6e8730d11 Re-run pgindent with updated list of typedefs. (Updated README should
avoid this problem in the future.)
2007-11-15 22:25:18 +00:00
Bruce Momjian
fdf5a5efb7 pgindent run for 8.3. 2007-11-15 21:14:46 +00:00
Michael Meskes
e9d7bd2650 Fixed two parser bugs. 2007-11-06 08:32:08 +00:00
Tom Lane
bcb3852c33 Fix deprecated-by-C-spec usage: storage class should come before const
decoration.  Zdenek Kotala
2007-11-05 20:57:24 +00:00
Peter Eisentraut
8a8bcb447a Translation updates 2007-10-27 00:13:43 +00:00
Tom Lane
462227dc00 Avoid having backend-only code compiled into ecpg. Per Zdenek Kotala 2007-10-26 14:17:53 +00:00
Tom Lane
8468146b03 Fix the inadvertent libpq ABI breakage discovered by Martin Pitt: the
renumbering of encoding IDs done between 8.2 and 8.3 turns out to break 8.2
initdb and psql if they are run with an 8.3beta1 libpq.so.  For the moment
we can rearrange the order of enum pg_enc to keep the same number for
everything except PG_JOHAB, which isn't a problem since there are no direct
references to it in the 8.2 programs anyway.  (This does force initdb
unfortunately.)

Going forward, we want to fix things so that encoding IDs can be changed
without an ABI break, and this commit includes the changes needed to allow
libpq's encoding IDs to be treated as fully independent of the backend's.
The main issue is that libpq clients should not include pg_wchar.h or
otherwise assume they know the specific values of libpq's encoding IDs,
since they might encounter version skew between pg_wchar.h and the libpq.so
they are using.  To fix, have libpq officially export functions needed for
encoding name<=>ID conversion and validity checking; it was doing this
anyway unofficially.

It's still the case that we can't renumber backend encoding IDs until the
next bump in libpq's major version number, since doing so will break the
8.2-era client programs.  However the code is now prepared to avoid this
type of problem in future.

Note that initdb is no longer a libpq client: we just pull in the two
source files we need directly.  The patch also fixes a few places that
were being sloppy about checking for an unrecognized encoding name.
2007-10-13 20:18:42 +00:00