Commit Graph

2702 Commits

Author SHA1 Message Date
Alvaro Herrera 645adf5de8 Translation updates forward-port to HEAD. 2005-11-07 02:40:38 +00:00
Peter Eisentraut 8959e9b9d3 Translation updates 2005-11-04 23:31:12 +00:00
Alvaro Herrera 76c9ac8ebb Translation updates. 2005-11-03 17:00:54 +00:00
Peter Eisentraut 9b0a164833 Translation updates 2005-10-29 00:41:37 +00:00
Bruce Momjian 819159709f I have applied the following patch to document PQinitSSL() and
PQregisterThreadLock().

I also remove the crypt() mention in the libpq threading section and
added a single sentence in the client-auth manual page under crypt().
Crypt authentication is so old now that a separate paragraph about it
seemed unwise.

I also added a comment about our use of locking around pqGetpwuid().
2005-10-24 15:38:37 +00:00
Tom Lane 5aad28a104 Add missing PQinitSSL and PQregisterThreadLock to exports.txt. 2005-10-21 15:21:21 +00:00
Tom Lane d330f1554d Clean up libpq's pollution of application namespace by renaming the
exported routines of ip.c, md5.c, and fe-auth.c to begin with 'pg_'.
Also get rid of the vestigial fe_setauthsvc/fe_getauthsvc routines
altogether.
2005-10-17 16:24:20 +00:00
Bruce Momjian 1dc3498251 Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
Bruce Momjian a93bf4503f Allow times of 24:00:00 to match rounding behavior:
regression=# select '23:59:59.9'::time(0);
	   time
	----------
	 24:00:00
	(1 row)

	This is bad because:

	regression=# select '24:00:00'::time(0);
	ERROR:  date/time field value out of range: "24:00:00"

The last example now works.
2005-10-14 11:47:57 +00:00
Peter Eisentraut b473d7adc4 Translation update 2005-10-10 19:36:36 +00:00
Tom Lane d7527540f2 <limits.h> is now needed here, for INT_MAX. Per Michael Fuhr. 2005-10-10 01:34:00 +00:00
Tom Lane 313ed1ed94 Fix (hopefully for the last time) problems with datetime values displaying
like '23:59:60' because of fractional-second roundoff problems.  Trying
to control this upstream of the actual display code was hopeless; the right
way is to explicitly round fractional seconds in the display code and then
refigure the results if the fraction rounds up to 1.  Per bug #1927.
2005-10-09 17:21:47 +00:00
Tom Lane 18d0ca2d1b Fix Kerberos authentication in wake of virtual-hosts changes --- need
to call krb5_sname_to_principal() always.  Also, use krb_srvname rather
than the hardwired string 'postgres' as the appl_version string in the
krb5_sendauth/recvauth calls, to avoid breaking compatibility with PG
8.0.  Magnus Hagander
2005-10-08 19:32:58 +00:00
Bruce Momjian adeca513f7 Add spacing around operators. 2005-10-08 02:39:27 +00:00
Bruce Momjian 77d1de3c89 Minor parentheses cleanup. 2005-10-07 20:26:41 +00:00
Michael Meskes a5fecda550 Also synced the ecpg lexer with the backend lexer. 2005-10-05 14:58:36 +00:00
Michael Meskes ffa156bb5b Somehow I missed some parser changes, so this commit comes pretty late. I just synced the parser of ecpg against the backend version, but still have to sync the lexer.
Also I fixed a bug in a bug fix I committed a few weeks ago. he check for a varchar pointer was incomplete.
2005-10-04 13:28:21 +00:00
Peter Eisentraut 7fe1f9a2c2 Don't need gettext calls around debug messages. 2005-09-26 17:49:09 +00:00
Tom Lane 303e089df5 Clean up possibly-uninitialized-variable warnings reported by gcc 4.x. 2005-09-24 22:54:44 +00:00
Tom Lane 8889685555 Suppress signed-vs-unsigned-char warnings. 2005-09-24 17:53:28 +00:00
Bruce Momjian 1d734b79a3 Adjust bcc to work for thread changes. 2005-09-16 19:00:05 +00:00
Bruce Momjian eab3e9b80d This correction is required of nmake of Windows.
Hiroshi Saito
2005-09-16 18:58:48 +00:00
Michael Meskes c959d370bf Fixed transaction command handling to not ignore savepoints and to correctly check for errors. 2005-09-12 11:57:53 +00:00
Tom Lane 6b44d796c7 Fix misspelled error message. 2005-08-29 01:32:00 +00:00
Bruce Momjian 1a6fe83011 Allow Win32 libpq will use it's minimal pthread implementation, and ecpg
will use pthreadGC2.

Dave Page
2005-08-29 00:47:35 +00:00
Bruce Momjian 3b85fc3a52 Update pthread_self() on Win32 to return DWORD. 2005-08-28 21:42:28 +00:00
Bruce Momjian 8046c1c7e6 Use GetCurrentThreadId, per Magnus. 2005-08-28 18:49:01 +00:00
Bruce Momjian 0c172b215a Add comment about pthread_self() cast. 2005-08-28 16:37:48 +00:00
Michael Meskes f417ebf03a - Check for NULL before checking whether argument is an array.
- Remove stary character from string quoting.
        - Fixed check to report missing varchar pointer implementation.
2005-08-24 10:34:19 +00:00
Bruce Momjian 9cf18ee386 Add new file for win32 threading. 2005-08-23 21:11:22 +00:00
Bruce Momjian 43bf3a6bc6 The attached patch updates the thread test program to run stand-alone on
Windows. The test itself is bypassed in configure as discussed, and
libpq has been updated appropriately to allow it to build in thread-safe
mode.

Dave Page
2005-08-23 21:02:05 +00:00
Bruce Momjian a970a8cb95 Back out incorrect commit. 2005-08-23 20:48:47 +00:00
Bruce Momjian eef7e30cc1 Fix function name. 2005-08-23 20:45:11 +00:00
Bruce Momjian 9bddb5c8c7 Back out incorrect use of E'' escape addition. 2005-08-22 20:25:03 +00:00
Bruce Momjian f810cfb291 Disable strtoul() ERANGE check on Win32, because it isn't thread safe,
and it isn't really required.
2005-08-13 01:34:30 +00:00
Tom Lane 8e9c52e427 EINTR return from connect() should be treated exactly the same as
EINPROGRESS, according to Florian Hars.  I'm not completely convinced
but the spec does seem to read that way.
2005-08-11 22:53:41 +00:00
Bruce Momjian d359facb05 Remove unintended file change. 2005-08-09 05:14:26 +00:00
Bruce Momjian 487b757b7a Clarify wal_sync_method options in documentation. 2005-08-09 04:50:44 +00:00
Bruce Momjian 3758affc9b More removal of unneeded parentheses. 2005-07-22 19:00:55 +00:00
Bruce Momjian 75e5aba7fe Update date/time comments. 2005-07-22 05:08:26 +00:00
Bruce Momjian d5f1e08c0c Code spacing improvement, particularly *tm spacing. 2005-07-22 03:46:34 +00:00
Bruce Momjian e9c44bd382 More comment update of time macros. 2005-07-21 20:37:21 +00:00
Bruce Momjian e6b72d6af6 Update DAYS_PER_MONTH comment.
Add SECS_PER_YEAR and MINS_PER_HOUR macros.
2005-07-21 18:06:13 +00:00
Bruce Momjian a0407f508a Add comment about void* use in MemSet. 2005-07-21 15:16:30 +00:00
Bruce Momjian b4bdab8105 Fix integer timestamp build for macro changes. 2005-07-21 05:18:26 +00:00
Bruce Momjian aa0f6e8d06 Add comment marking non-exact time conversion macros. 2005-07-21 04:48:42 +00:00
Bruce Momjian a536b2dd80 Add time/date macros for code clarity:
#define DAYS_PER_YEAR   365.25
	#define MONTHS_PER_YEAR 12
	#define DAYS_PER_MONTH  30
	#define HOURS_PER_DAY   24
2005-07-21 03:56:25 +00:00
Bruce Momjian db05f4a7eb Add 'day' field to INTERVAL so 1 day interval can be distinguished from
24 hours. This is very helpful for daylight savings time:

	select '2005-05-03 00:00:00 EST'::timestamp with time zone + '24 hours';
	      ?column?
	----------------------
	2005-05-04 01:00:00-04

	select '2005-05-03 00:00:00 EST'::timestamp with time zone + '1 day';
	      ?column?
	----------------------
	2005-05-04 01:00:00-04

Michael Glaesemann
2005-07-20 16:42:32 +00:00
Tom Lane faea3db958 Fix libpq memory leak during PQreset() --- closePGconn() was not
freeing all transient state of the PGconn object.
2005-07-13 15:25:55 +00:00
Bruce Momjian 7f0b690334 Improve comments for AdjustIntervalForTypmod.
Blank line adjustments.
2005-07-12 16:05:12 +00:00
Tom Lane 70f7da3e6e Make libpq_gettext save and restore errno in a Windows-compatible way.
Also, back-patch fix into back branches.
2005-07-08 15:24:41 +00:00
Tom Lane 99382f4581 Save and restore errno across bindtextdomain call, per discussion. 2005-07-06 16:25:59 +00:00
Bruce Momjian 8a79451152 I have to admit that I got the case of the preprocessor symbol on amd64
wrong. __AMD64__ is not defined, __amd64__ is.

Christof Petig
2005-07-04 19:05:45 +00:00
Bruce Momjian 74b49a8129 Add E'' to internally created SQL strings that contain backslashes.
Improve code clarity by using macros for E'' processing.
2005-07-02 17:01:59 +00:00
Neil Conway 555f5139e0 Adds some missing error handling to PGTYPESnumeric_div() in ecpg's
pgtypeslib: (1) we need to check the return value of sub_abs() (2) we
need to check the return value of 4 calls to digitbuf_alloc().

Per Coverity static analysis performed by EnterpriseDB.
2005-07-01 05:13:58 +00:00
Neil Conway 9fad4cb604 Fix some minor infelicities in ecpg's pgtypeslib: (1) `pstr' must be
non-NULL in this function, so there is no need to check for it (2) we
should check the return value of pgtypes_strdup(). Patch from Eric
Astor at EnterpriseDB, with slight cleanup by myself, per a report
from the Coverity tool.
2005-07-01 05:12:06 +00:00
Neil Conway 117fde2d17 Minor ecpg tweak: the return value of calloc() is guaranteed to be NULL
or zero-filled; therefore zero-filling it via memset() is pointless.
(I think setting `errno' is probably a waste of cycles as well, but I
haven't changed that.)
2005-06-30 07:27:31 +00:00
Neil Conway 4802bb57a6 Warning cleanups for ecpg tests. Avoid doing pointer arithmetic on void *,
remove old-style function declarations, and mark a function "static".
There are some remaining warnings, but this fixes most of them, anyway.
2005-06-30 07:08:59 +00:00
Neil Conway 175c25a404 Fix ecpg's test/ Makefile for out-of-tree (vpath) builds. 2005-06-30 07:01:57 +00:00
Neil Conway 4714984149 Fix a theoretical memory leak in pg_password_sendauth(). If the first
malloc() succeeded but the second failed, the buffer allocated by the
first malloc() would be leaked. Fix this by allocating both buffers
via a single malloc(), as suggested by Tom.

Per Coverity static analysis performed by EnterpriseDB.
2005-06-30 01:59:20 +00:00
Neil Conway a159ad3048 Remove support for Kerberos V4. It seems no one is using this, it has
some security issues, and upstream has declared it "dead". Patch from
Magnus Hagander, minor editorialization from Neil Conway.
2005-06-27 02:04:26 +00:00
Tom Lane 6f7fc0bade Cause initdb to create a third standard database "postgres", which
unlike template0 and template1 does not have any special status in
terms of backend functionality.  However, all external utilities such
as createuser and createdb now connect to "postgres" instead of
template1, and the documentation is changed to encourage people to use
"postgres" instead of template1 as a play area.  This should fix some
longstanding gotchas involving unexpected propagation of database
objects by createdb (when you used template1 without understanding
the implications), as well as ameliorating the problem that CREATE
DATABASE is unhappy if anyone else is connected to template1.
Patch by Dave Page, minor editing by Tom Lane.  All per recent
pghackers discussions.
2005-06-21 04:02:34 +00:00
Bruce Momjian ba90268e2b Add comment about \# in bcc makefiles. 2005-06-19 13:14:20 +00:00
Bruce Momjian 624789d191 Cleanup for Win32 compile.
Andreas Pflug
2005-06-19 13:10:56 +00:00
Bruce Momjian e046b3ddd7 Add \x hex support to ecpg strings. This just passes them to the backend. 2005-06-16 01:43:48 +00:00
Tom Lane a2fb7b8a1f Adjust lo_open() so that specifying INV_READ without INV_WRITE creates
a descriptor that uses the current transaction snapshot, rather than
SnapshotNow as it did before (and still does if INV_WRITE is set).
This means pg_dump will now dump a consistent snapshot of large object
contents, as it never could do before.  Also, add a lo_create() function
that is similar to lo_creat() but allows the desired OID of the large
object to be specified.  This will simplify pg_restore considerably
(but I'll fix that in a separate commit).
2005-06-13 02:26:53 +00:00
Neil Conway 294505e2b1 This patch removes some old code from libpq that implements a URI-like
syntax for database connection parameters. It has been inside an
#ifdef NOT_USED block since 2001 or so and is marked as "broken", so
I don't think it is likely to be rehabilitated any time soon.
2005-06-12 00:07:07 +00:00
Neil Conway 72a5db15d1 libpq was not consistently checking for memory allocation failures. This
patch adds missing checks to the call sites of malloc(), strdup(),
PQmakeEmptyPGresult(), pqResultAlloc(), and pqResultStrdup(), and updates
the documentation. Per original report from Volkan Yazici about
PQmakeEmptyPGresult() not checking for malloc() failure.
2005-06-12 00:00:21 +00:00
Bruce Momjian c1e4869467 Remove unneeded variable test, per Tom. 2005-06-10 04:01:36 +00:00
Bruce Momjian 453d74b99c Add the "PGPASSFILE" environment variable to specify to the password
file.

Andrew Dunstan
2005-06-10 03:02:30 +00:00
Tom Lane 3ace84594e Defend against omitted paramLengths[] array in PQsendQueryParams.
Per Volkan Yazici.
2005-06-09 20:01:16 +00:00
Bruce Momjian 72c53ac3a7 Allow kerberos name and username case sensitivity to be specified from
postgresql.conf.

---------------------------------------------------------------------------


Here's an updated version of the patch, with the following changes:

1) No longer uses "service name" as "application version". It's instead
hardcoded as "postgres". It could be argued that this part should be
backpatched to 8.0, but it doesn't make a big difference until you can
start changing it with GUC / connection parameters. This change only
affects kerberos 5, not 4.

2) Now downcases kerberos usernames when the client is running on win32.

3) Adds guc option for "krb_caseins_users" to make the server ignore
case mismatch which is required by some KDCs such as Active Directory.
Off by default, per discussion with Tom. This change only affects
kerberos 5, not 4.

4) Updated so it doesn't conflict with the rendevouz/bonjour patch
already in ;-)

Magnus Hagander
2005-06-04 20:42:43 +00:00
Michael Meskes 2d5d691d15 - Fixed memory leak in ecpglib by adding some missing free() commands.
- Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware.
2005-06-02 12:35:11 +00:00
Bruce Momjian d4b50caf25 Display only 9 subsecond digits instead of 10 for time values, for
consistency and to prevent rounding for days < 30.  Also round off all
trailing zeros, rather than leaving an even number of digits.
2005-05-27 21:31:23 +00:00
Bruce Momjian fbdb203a39 Back out part of patch that should be applied later. 2005-05-27 15:16:45 +00:00
Bruce Momjian 22f0303023 Fix compile of entab to use stdarg.h. Clean up includes.
Marko Kreen
2005-05-27 15:15:31 +00:00
Bruce Momjian 1b3bb23cc8 Use Abs() macro to replace ? :. 2005-05-26 16:44:05 +00:00
Bruce Momjian f35d493d16 Back out:
Display only 9 not 10 digits of precision for timestamp values when
using non-integer timestamps.  This prevents the display of rounding
errors for common values like days < 32.
2005-05-26 15:26:00 +00:00
Bruce Momjian 4c862b18f9 Display only 9 not 10 digits of precision for timestamp values when
using non-integer timestamps.  This prevents the display of rounding
errors for common values like days < 32.
2005-05-26 03:48:25 +00:00
Bruce Momjian b492c3accc Add parentheses to macros when args are used in computations. Without
them, the executation behavior could be unexpected.
2005-05-25 21:40:43 +00:00
Bruce Momjian 09ff9dbe2b Remove more extraneous parentheses in date/time functions. 2005-05-24 02:09:45 +00:00
Bruce Momjian 4550c1e519 More macro cleanups for date/time. 2005-05-23 21:54:02 +00:00
Bruce Momjian 5ebaae801c Add datetime macros for constants, for clarity:
#define SECS_PER_DAY  86400
#define USECS_PER_DAY INT64CONST(86400000000)
#define USECS_PER_HOUR    INT64CONST(3600000000)
#define USECS_PER_MINUTE INT64CONST(60000000)
#define USECS_PER_SEC INT64CONST(1000000)
2005-05-23 18:56:55 +00:00
Neil Conway f38e413b20 Code cleanup: in C89, there is no point casting the first argument to
memset() or MemSet() to a char *. For one, memset()'s first argument is
a void *, and further void * can be implicitly coerced to/from any other
pointer type.
2005-05-11 01:26:02 +00:00
Bruce Momjian bd9b2fa84b Add comments on WSAStartup usage. 2005-05-05 16:40:42 +00:00
Bruce Momjian 3731a400b4 Add WSACleanup() for Win32 socket cleanup.
Jason Erickson
2005-05-05 16:36:12 +00:00
Bruce Momjian 16d4418bf5 Fix BCC to not define compiler location. 2005-04-30 04:00:07 +00:00
Bruce Momjian 930dd70992 Improve cleanup from win32 client-only build. 2005-04-29 14:07:27 +00:00
Bruce Momjian 7cebfdf211 Backpatch BCC compile changes to 8.0.X for psql. 2005-04-29 13:42:21 +00:00
Michael Meskes 9dc2e6deaf Added patch by Philip Yarra <philip.yarra@internode.on.net> for a bug in thread support. 2005-04-14 10:08:57 +00:00
Tom Lane e6befdc9d1 Kerberos fixes from Magnus Hagander --- in theory Kerberos 5 auth
should work on Windows now.  Also, rename set_noblock to pg_set_noblock;
since it is included in libpq, the former name polluted application
namespace.
2005-03-25 00:34:31 +00:00
Michael Meskes 1f418555cf Added patch by Christof Petig <christof@petig-baender.de> to work around gcc bug on powerpc and amd64. 2005-03-18 10:00:43 +00:00
Bruce Momjian 2b0bb797ec Bump minor version numbers for 8.1 compared to 8.0. 2005-03-14 17:27:50 +00:00
Bruce Momjian caad817d1c Add fprintf() custom version to libpgport.
Document use of macros for pg_printf functions.

Bump major versions of all interfaces to handle movement of get_progname
from libpq to libpgport in 8.0, and probably other libpgport changes in 8.1.
2005-03-11 19:13:43 +00:00
Neil Conway 30c1aa06bc Replace an instance of $Id$ and an instance of $Header$ with $PostgreSQL$ 2005-03-07 22:59:43 +00:00
Bruce Momjian 61b640e35c Properly implement "Response files" for bcc. Add URL's to describe the
feature for Win32 and bcc.
2005-03-07 21:10:58 +00:00
Bruce Momjian 517872c566 Because the change to gettext. Needs a bunch of new includes. Patch
follows:

Magnus Hagander
2005-02-27 22:57:17 +00:00
Bruce Momjian c5a7a6a3dc Tab indent all actions in bcc32.mak, and do it on win32.mak too for
consistency.  Backpatch only bcc32.mak to 8.0.X.
2005-02-27 22:39:52 +00:00
Bruce Momjian 33b92a78da Add linking from /port to bcc makefile. 2005-02-25 15:57:33 +00:00
Bruce Momjian 0542b1e2fe Use _() macro consistently rather than gettext(). Add translation
macros around strings that were missing them.
2005-02-22 04:43:23 +00:00