Commit Graph

989 Commits

Author SHA1 Message Date
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
Bruce Momjian
1808ce7865 Try to get Borland CC to compile.
Backpatch to 8.0.X which doesn't work right now.
2005-02-21 21:22:32 +00:00
Tom Lane
889f038129 Use SHGetFolderPath instead of SHGetSpecialFolderPath to find the
APPDATA directory on Windows.  Magnus Hagander
2005-01-26 19:24:03 +00:00
Bruce Momjian
31197bbdf5 Update version stamps for 8.1 as listed in RELEASE_CHANGES. 2005-01-18 05:00:35 +00:00
Peter Eisentraut
83ef003f2c Translation updates 2005-01-17 02:41:50 +00:00
Peter Eisentraut
75112d4b5d Translation updates 2005-01-14 08:57:06 +00:00
Bruce Momjian
29e58330a6 Change Win32 client configuration files from *.txt to *.conf. 2005-01-14 00:25:56 +00:00
Peter Eisentraut
66d8165a8b Translation updates 2005-01-13 21:24:40 +00:00
Tom Lane
40f32f351a Add conditional inclusion of <com_err.h> to support old 'heimdal'
version of Kerberos.  Per report from Reinhard Max.
2005-01-12 21:37:54 +00:00
Tom Lane
a54ea1f75e Comment out check for substitution of private key file on Windows,
since st_ino can't be trusted on that platform.  Per report from T.J.
2005-01-10 00:37:12 +00:00
Tom Lane
8e4f4078d8 Un-break MSVC build, per Andrew Dunstan. 2005-01-10 00:19:51 +00:00
Peter Eisentraut
a58e738cd7 Translation updates 2005-01-09 17:32:05 +00:00
Tom Lane
8afe005f42 Consistently use geteuid() not getuid(); there were a few places deviating
from our long-established standard.
2005-01-08 22:51:15 +00:00
Tom Lane
bbeeea1437 Minor mop-up for Windows home-directory stuff, per Magnus. 2005-01-06 21:41:45 +00:00
Tom Lane
4717992b4e Instead of a bare recv() to read the server's response to an SSL
request packet, use pqReadData().  This has the same effect since
conn->ssl isn't set yet and we aren't expecting more than one byte.
The advantage is that we will correctly detect loss-of-connection
instead of going into an infinite loop.  Per report from Hannu Krosing.
2005-01-06 20:06:58 +00:00
Tom Lane
a3f98d5795 Adjust lookup of client-side profile files (.pgpass and so on) as per
discussion on pgsql-hackers-win32 list.  Documentation still needs to
be tweaked --- I'm not sure how to refer to the APPDATA folder in
user documentation.
2005-01-06 18:29:11 +00:00
Dennis Bjorklund
b8139ea397 Translation updates 2005-01-06 12:23:33 +00:00
Peter Eisentraut
381de28eb0 Translation updates 2005-01-06 09:07:17 +00:00
Tom Lane
d97ae8230e Make the various places that determine the user's "home directory"
consistent.  On Unix we now always consult getpwuid(); $HOME isn't used
at all.  On Windows the code currently consults $USERPROFILE, or $HOME
if that's not defined, but I expect this will change as soon as the win32
hackers come to a consensus.  Nothing done yet about changing the file
names used underneath $USERPROFILE.
2005-01-06 01:00:12 +00:00
Tom Lane
edf3832b5c Clean up code in libpq that obtains user's home directory: make a single
subroutine that can hide platform dependencies.  The WIN32 path is still
a stub, but I await a fix from one of the win32 hackers.
Also clean up unnecessary #ifdef WIN32 ugliness in a couple of places.
2005-01-04 23:18:25 +00:00
Tom Lane
a17e589046 Adjust a few more copyright notices to match the format expected by
the src/tools/copyright script.
2005-01-01 22:14:33 +00:00
Tom Lane
7e1c8ef4fc Some more missed copyright notices. Many of these look like they
should have been caught by the src/tools/copyright script ... why
weren't they?
2005-01-01 20:44:34 +00:00
PostgreSQL Daemon
2ff501590b Tag appropriate files for rc3
Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...
2004-12-31 22:04:05 +00:00
Tom Lane
d9236a69fc Make libpq default to localhost connections on machines without Unix-domain
sockets, rather than failing as it formerly did.  Revert the
thereby-obsoleted patch to make psql supply the localhost default.
2004-12-28 23:17:54 +00:00
Tom Lane
f0cbfcd399 Patch to make libpq.rc be a built-for-distribution file was a few
bricks shy of a load.
2004-12-21 02:14:41 +00:00
Tom Lane
da59a70c09 Remove direct inclusions of <com_err.h> as well as configure test for
its presence.  This amounts to desupporting Kerberos 5 releases 1.0.*,
which is small loss, and simplifies use of our Kerberos code on platforms
with Red-Hat-style include file layouts.  Per gripe from John Gray and
followup discussion.
2004-12-20 17:13:41 +00:00
Bruce Momjian
9af9320750 Add Win32 version stamps that increment each day for proper SYSTEM32
DLL pginstaller installs.
2004-12-19 02:16:31 +00:00
Peter Eisentraut
5483936ed3 New translations 2004-12-13 16:30:53 +00:00
Peter Eisentraut
373825c9cd Translation updates 2004-12-12 18:09:18 +00:00
Peter Eisentraut
4de679c710 Translation updates 2004-12-11 19:45:34 +00:00
Peter Eisentraut
10e960fb39 Translation updates 2004-12-11 19:09:08 +00:00
Peter Eisentraut
022a00b5f3 Translation updates 2004-12-11 19:03:49 +00:00
Bruce Momjian
9ef75bb21c Fix compile breakage from SIGPIPE fix for threading. 2004-12-03 01:58:43 +00:00
Tom Lane
5d7a555d0f Code review for recent libpq changes. Be more careful about error
handling in SIGPIPE processing; avoid unnecessary pollution of application
link-symbol namespace; spell 'pointer to function' in the conventional
way.
2004-12-02 23:20:21 +00:00
Bruce Momjian
8408f65252 Rework libpq threaded SIGPIPE handling to avoid interference with
calling applications.  This is done by blocking sigpipe in the libpq
thread and using sigpending/sigwait to possibily discard any sigpipe we
generated.
2004-12-02 15:32:54 +00:00
Bruce Momjian
ee9007a2e1 Allow libpq to build on MS Visual Studio .NET 2003 on Windows XP. 2004-12-01 23:42:26 +00:00
Tom Lane
a34d76ef65 Fix up makefile dependencies for pg_config_paths.h. 2004-11-20 21:13:06 +00:00
Tom Lane
e719591ea3 Make sure we produce a useful error message for the case where the
postgresql.crt file simply isn't there, too.
2004-11-20 00:35:13 +00:00
Tom Lane
7506677b62 Improve error reporting for SSL connection failures. Remove redundant
free operations in client_cert_cb --- openssl will also attempt to free
these structures, resulting in core dumps.
2004-11-20 00:18:18 +00:00
Tom Lane
5d72ef83fd Miscellaneous Cygwin build fixes from Reini Urban. 2004-11-17 17:46:24 +00:00
Peter Eisentraut
8a1821ab5b Translation update 2004-11-16 22:58:44 +00:00
Bruce Momjian
1c5125adf3 Not entirely sure when this broke, but libpq's VC++ build is currently
lacking pqsignal which is now required. This was found and fixed for
VC++ by Shachar Shemesh, I simply duplicated the fix for the Borland
makefile (untested, as I don't have that compiler).

Dave Page
2004-11-13 03:18:50 +00:00
Peter Eisentraut
e9c05281b5 Get rid of perror(), substitute some better phrased error messages.
malloc() doesn't set errno, so most uses were buggy anyway.
2004-11-09 15:57:57 +00:00
Peter Eisentraut
1813d94664 Translation updates 2004-11-09 14:46:37 +00:00
Peter Eisentraut
58b33f2e85 Translation updates 2004-11-07 23:28:20 +00:00
Peter Eisentraut
bb2d1ce8f1 Translation updates 2004-11-02 09:28:41 +00:00
Peter Eisentraut
005b1b5fc8 Translation updates 2004-11-02 09:20:22 +00:00
Tom Lane
44e8a968e3 Invent a new, more thread-safe version of PQrequestCancel, called PQcancel.
Use this new function in psql.  Implement query cancellation in psql for
Windows.  Code by Magnus Hagander, documentation and minor editorialization
by Tom Lane.
2004-10-30 23:11:27 +00:00
Peter Eisentraut
e5ac8db035 Translation update 2004-10-30 08:23:32 +00:00
Bruce Momjian
4eb1165ff3 No need to set errorMessage length --- already set in goto target. 2004-10-29 19:30:02 +00:00
Bruce Momjian
08510856a4 Set errorMessage length in PQrequestCancel() in all places. 2004-10-29 17:53:13 +00:00
Peter Eisentraut
94c502f1db Translation updates 2004-10-28 09:01:06 +00:00
Peter Eisentraut
fc4cfc366d Translation updates 2004-10-28 08:54:09 +00:00
Peter Eisentraut
ad6b3975c9 Translation updates 2004-10-27 11:22:18 +00:00
Peter Eisentraut
cd92d85d11 Translation updates 2004-10-27 11:09:33 +00:00
Peter Eisentraut
979b0be4c3 Translation updates 2004-10-27 10:22:47 +00:00
Peter Eisentraut
eb7fc3eb1f Translation updates 2004-10-27 10:13:49 +00:00
Dennis Bjorklund
26149e9738 Translation updates 2004-10-22 13:49:15 +00:00
Tom Lane
7627b91cd5 Set the close-on-exec flag for libpq's socket to the backend, to avoid
any possible problems from child programs executed by the client app.
Per suggestion from Elliot Lee of Red Hat.
2004-10-21 20:23:19 +00:00
Tom Lane
380bd04c16 Standardize on using the Min, Max, and Abs macros that are in our c.h file,
getting rid of numerous ad-hoc versions that have popped up in various
places.  Shortens code and avoids conflict with Windows min() and max()
macros.
2004-10-21 19:28:36 +00:00
Tom Lane
9d9cfb1ad7 Add PQprepare/PQsendPrepared functions to libpq to support preparing
statements without necessarily specifying the datatypes of their parameters.
Abhijit Menon-Sen with some help from Tom Lane.
2004-10-18 22:00:42 +00:00
Peter Eisentraut
2f2121ffbe Translation updates 2004-10-17 21:05:03 +00:00
Tom Lane
cc6a90e4af Remove dllist.c from libpq. It's overkill for what libpq needs; we can
just stick a list-link into struct PGnotify instead.  Result is a smaller
faster and more robust library (mainly because we reduce the number of
malloc's and free's involved in notify processing), plus less pollution
of application link-symbol namespace.
2004-10-16 22:52:55 +00:00
Tom Lane
2a63c1602d Generate the various .def files for libpq DLLs from a single list of
exportable functions.  The .def files are removed from CVS, but will
still be present in distribution tarballs, since we can't assume that
Windows boxes will have sed.
2004-10-16 20:10:57 +00:00
Bruce Momjian
c7add816f5 Export only required symbols in libpq on Win32.
Magnus Hagander
2004-10-16 03:26:43 +00:00
Bruce Momjian
88fd162ef6 Allow pg_ctl to determine the server is up when getting a request for a
password.

Make password error message a #define and use it consistently.

Sean Chittenden
2004-10-16 03:10:17 +00:00
Peter Eisentraut
0fd37839d9 Message style revisions 2004-10-12 21:54:45 +00:00
Neil Conway
0b112045b7 Fix vpath build break, induced by Bruce's recent commit. 2004-10-12 04:48:36 +00:00
Bruce Momjian
29e7dc420a Add some pg_config_path.h dependencies for places that include
pg_config_paths.h outside of /src/port.
2004-10-12 01:04:11 +00:00
Bruce Momjian
48018da7ce The Win32 (mingw) build of libpq seems to have lost it's SSL libs from
the link step resulting in a build failure. The attached patch fixes
that.

Dave Page
2004-10-06 16:42:01 +00:00
Bruce Momjian
a992bd8c6d Another tightening of Win32 typedefs. 2004-10-05 15:09:41 +00:00
Bruce Momjian
ee7de3d662 Make sure no libs use libpgport by removing it from the link line. 2004-10-04 20:36:12 +00:00
Peter Eisentraut
8d5ff6bad1 Translation update 2004-10-03 20:29:24 +00:00
Peter Eisentraut
0654f0f669 Translation updates 2004-10-03 20:24:26 +00:00
Bruce Momjian
1ad6878276 Revert patch that removed BUFSIZ usage. The memory has to hold the
structures plus pointers used by the structure.
2004-09-28 00:07:01 +00:00
Bruce Momjian
b534a5605f Remove use of large BUFSIZ for buffers and use the proper struct sizes.
This greatly helps threaded libpq programs.
2004-09-27 23:39:14 +00:00
Bruce Momjian
e1c8b37afb Add new macro as shorthand for MS VC and Borland C++:
+ #if   defined(_MSC_VER) || defined(__BORLANDC__)
+ #define       WIN32_CLIENT_ONLY
+ #endif
2004-09-27 23:24:45 +00:00
Peter Eisentraut
353b70aef3 Translation updates 2004-09-27 20:26:03 +00:00
Tom Lane
7ac258c2f3 Fix multiple breakages in our support for SSL certificates. 2004-09-26 22:51:49 +00:00
Bruce Momjian
786f3d147d Here is a patch that adds the version info from libpq.rc to the DLL
build in mingw. The MSVC build already did this, but it was not linked
into the mingw one.

This is not the same as the versioninfo patch that's in the queue.
Please apply this one before beta-3 if at all possible.

Magnus Hagander
2004-09-26 02:14:47 +00:00
Bruce Momjian
e9ec10494e Use <> not "" for include of pthread.h. 2004-09-26 01:40:55 +00:00
Tom Lane
fb147dc30e If we're going to print unrecognized result codes from SSL_get_error
in open_client_SSL, surely we should do it everywhere.  Also make
message formatting conform to style guide.
2004-09-23 20:27:50 +00:00
Bruce Momjian
fb755b6dd4 This patch logs the error code in the default case, so that the user
stands a chance of looking it up.  "Unrecognised error" is always
disheartening.  :-)

Dominic Mitchell
2004-09-23 13:20:45 +00:00
Peter Eisentraut
fbbdfa413e Translation update 2004-09-20 08:15:29 +00:00
Peter Eisentraut
398d4822a4 Translation updates 2004-09-20 07:57:14 +00:00
Peter Eisentraut
cb2a8a9e00 Translation updates 2004-09-20 07:49:54 +00:00
Peter Eisentraut
fa942e8010 Translation updates 2004-09-20 07:44:42 +00:00
Peter Eisentraut
95c034e311 Translation updates 2004-09-13 12:35:18 +00:00
Dennis Bjorklund
877aa19211 Translation updates 2004-09-09 06:46:57 +00:00
Dennis Bjorklund
65f35065f4 Some source files was not scanned for translatable strings. 2004-09-09 06:32:13 +00:00
Bruce Momjian
8cef6ae522 Remove pg_config_paths.h from libpq *.mak builds so later MinGW builds
will succeed.
2004-09-02 02:02:02 +00:00
Bruce Momjian
4fa8b44749 Realign libpq and psql for need for path.c under Win32 VC and BCC. 2004-09-01 23:35:16 +00:00
Bruce Momjian
15d3f9f6b7 Another pgindent run with lib typedefs added. 2004-08-30 02:54:42 +00:00
Bruce Momjian
b6b71b85bc Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
Bruce Momjian
da9a8649d8 Update copyright to 2004. 2004-08-29 04:13:13 +00:00
Bruce Momjian
84f878f5cd Don't use get_home_path so libpq doesn't pull path.c into the library. 2004-08-19 00:00:34 +00:00
Tom Lane
76dd2333d5 Clean up some random departures from project's standard declaration style. 2004-08-18 19:27:13 +00:00
Bruce Momjian
1abf13db3c Add get_home_path() to use USERPROFILE on Win32 and HOME on Unix. 2004-08-18 02:59:12 +00:00
Bruce Momjian
3f0fa93cfc Chain on to SIGPIPE handler rather than just do action on default.
Always create thread-specific variable.
2004-08-17 16:54:47 +00:00
Tom Lane
109d7aff73 Fix linking problem when enabling thread safety on Darwin: uninitialized
global variables are problematic on this platform.  Simplest solution
seems to be to initialize pthread key variable to 0.  Also, rename this
variable and check_sigpipe_handler to something involving "pq" to
avoid gratuitous pollution of application namespace.
2004-08-17 04:24:23 +00:00
Bruce Momjian
26fc9b655b Move io.h include higher in the file so it doesn't conflict with
rename/unlink defined later.  Problem exists on MS VC.

Andrew Francis
2004-08-17 02:44:13 +00:00
Tom Lane
2820f05ef9 Specify SA_NOCLDSTOP when enabling SIGCHLD, per suggestion from
Oliver Jowett.
2004-08-15 05:25:10 +00:00
Tom Lane
f79fbb2bec Add PQserverVersion() to libpq to provide more-convenient access to
the server version number.  This commit also removes bogus DOS line
endings from libpqddll.def.

Greg Sabino Mullane
2004-08-11 18:06:01 +00:00
Peter Eisentraut
f781ed4ed8 Translation updates 2004-08-10 19:06:21 +00:00
Peter Eisentraut
742781bdab Translation updates 2004-08-10 18:42:22 +00:00
Bruce Momjian
b942e8700f Stamp libpq.rc with 8.0 version. 2004-08-09 01:55:42 +00:00
Tom Lane
fcbc438727 Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments
and documentation to reference 8.0 instead of 7.5.
2004-08-04 21:34:35 +00:00
Peter Eisentraut
630bfcd10c Translation updates 2004-08-02 15:17:21 +00:00
Peter Eisentraut
ee2bfaa3aa Translation updates (zh_TW converted to UTF-8) 2004-08-01 17:54:22 +00:00
Bruce Momjian
d2b7f511da >OK, if you look at the last few commits to interfaces/libpq/win32.mak,
>you will see changes for pg_config_paths.h and for thread safety.  Can
>you look at those changes, merge them into bcc.mak.  There might be
>other changes in there you want to add to bcc.mak too.
>
>
>
OK, having no M$ diff, I attach files src\interfaces\libpq\bcc32.mak and
src\interfaces\libpq\win32.h

Steve Holdoway
2004-07-31 06:19:23 +00:00
Peter Eisentraut
5bd458c89a Translation update 2004-07-29 14:54:09 +00:00
Tom Lane
9df3086972 Cause libpq and ecpg libraries to be built as proper shared libraries
(.dylib format) on Mac OS X, while not messing up loadable modules for
the backend (which are the same kind of animal as a shared library on
every other platform, but not here).  Also get the naming convention
to match OS X practice, viz libFOO.version.so not libFOO.so.version.
In support of that last, refactor code in Makefile.shlib to make it
easier to have platform-specific shlib naming conventions.
This patch is loosely based on the Fink project's current postgresql.patch.
Tested by yours truly on OS X 10.3.4; does anyone have 10.2.* to check
it on?
2004-07-13 00:06:46 +00:00
Bruce Momjian
f4c5e06edf > win32 doesn't support a static initializer for mutexes, thus the first
> user must initialize the lock. The problem are concurrent "first" users
> - the pthread_mutex_t initialization must be synchronized.
> The current implementation is broken, the attached patches fixes that:
> mutex_initlock is a spinlock. If the pthread_mutex_t mutex is not
> initialized, then the spinlock is acquired, if the pthread_mutex_t is
> initialized if it's not yet initialized and then the spinlock is dropped.

Manfred Spraul
2004-07-12 14:23:28 +00:00
Bruce Momjian
a29d26a3cd Back out thread fix until I get clarification. 2004-07-12 14:16:28 +00:00
Bruce Momjian
a41463e31c win32 doesn't support a static initializer for mutexes, thus the first
user must initialize the lock. The problem are concurrent "first" users
- the pthread_mutex_t initialization must be synchronized.
The current implementation is broken, the attached patches fixes that:
mutex_initlock is a spinlock. If the pthread_mutex_t mutex is not
initialized, then the spinlock is acquired, if the pthread_mutex_t is
initialized if it's not yet initialized and then the spinlock is
dropped.

Manfred Spraul
2004-07-12 14:11:17 +00:00
Bruce Momjian
57d2665108 Fix Makefile syntax. Forgot to test this. 2004-06-19 15:14:17 +00:00
Bruce Momjian
3101181e9e Add changes to support threads on Win32 native port at some point in the future. 2004-06-19 04:43:18 +00:00
Bruce Momjian
af70d57825 Enable thread safety for win32.mak build of PostgreSQL.
Andreas Pflug
2004-06-19 04:22:17 +00:00
Bruce Momjian
6cc4175b25 Attached is a patch that takes care of the PATHSEP issue. I made a more
extensive change then what was suggested. I found the file path.c that
contained a lot of "Unix/Windows" agnostic functions so I added a function
there instead and removed the PATHSEP declaration in exec.c altogether. All
to keep things from scattering all over the code.

I also took the liberty of changing the name of the functions
"first_path_sep" and "last_path_sep". Where I come from (and I'm apparently
not alone given the former macro name PATHSEP), they should be called
"first_dir_sep" and "last_dir_sep". The new function I introduced, that
actually finds path separators, is now the "first_path_sep". The patch
contains changes on all affected places of course.

I also changed the documentation on dynamic_library_path to reflect the
chagnes.

Thomas Hallgren
2004-06-10 22:26:24 +00:00
Bruce Momjian
cd8b0fc5f1 Change PGETC to PGSYSCONFDIR and PGLOCALE to PGLOCALEDIR, per Peter. 2004-06-08 13:49:23 +00:00
Bruce Momjian
af44cac6ef The attached patch will create a dummy pg_config_paths.h. Additionally,
ENABLE_THREAD_SAFETY is supported by the makefile (but not by the
sources, which need some rework)

Andreas Pflug
2004-06-04 13:30:04 +00:00
Bruce Momjian
3c45d348db init_ssl_system will return 0 on success and -1 on failure, which will
be interpreted just the other way round in initialize_SSL.

Andreas Pflug
2004-06-03 00:13:19 +00:00
Bruce Momjian
1881c8f3c5 Add new Win32 file with adjustments for recent code changes.
Andreas Pflug
2004-06-03 00:11:13 +00:00
Bruce Momjian
6870843339 Add PGETC (for pg_service.conf) and PGLOCALE (for locale dir)
environment variable processing to libpq.

The patch also adds code to our client apps so we set the environment
variable directly based on our binary location, unless it is already
set. This will allow our applications to emit proper locale messages
that are generated in libpq.
2004-06-03 00:07:38 +00:00
Tom Lane
8b1ae8fa3f Too few parens for my taste in this macro. 2004-05-31 18:42:40 +00:00
Bruce Momjian
97d625dd1c *) inet_(client|server)_(addr|port)() and necessary documentation for
the four functions.


> Also, please justify the temp-related changes.  I was not aware that we
> had any breakage there.

patch-tmp-schema.txt contains the following bits:

*) Changes pg_namespace_aclmask() so that the superuser is always able
to create objects in the temp namespace.
*) Changes pg_namespace_aclmask() so that if this is a temp namespace,
objects are only allowed to be created in the temp namespace if the
user has TEMP privs on the database.  This encompasses all object
creation, not just TEMP tables.
*) InitTempTableNamespace() checks to see if the current user, not the
session user, has access to create a temp namespace.

The first two changes are necessary to support the third change.  Now
it's possible to revoke all temp table privs from non-super users and
limiting all creation of temp tables/schemas via a function that's
executed with elevated privs (security definer).  Before this change,
it was not possible to have a setuid function to create a temp
table/schema if the session user had no TEMP privs.

patch-area-path.txt contains:

*) Can now determine the area of a closed path.


patch-dfmgr.txt contains:

*) Small tweak to add the library path that's being expanded.

I was using $lib/foo.so and couldn't easily figure out what the error
message, "invalid macro name in dynamic library path" meant without
looking through the source code.  With the path in there, at least I
know where to start looking in my config file.

Sean Chittenden
2004-05-26 18:35:51 +00:00
Bruce Momjian
228897774c Make the locale location relocatable.
Adjust get_*_path functions to be limited to MAXPGPATH.
2004-05-25 01:00:30 +00:00
Bruce Momjian
82695df3b7 Remove a few $filter() calls that were not needed. 2004-05-24 01:01:38 +00:00
Tom Lane
13f96c4b6b Put path configuration information into a .h file instead of cluttering
several different module Makefiles with it.  Also, do any adjustment
of installation paths during configure, rather than every time Makefile.global
is read.
2004-05-21 20:56:50 +00:00
Bruce Momjian
f16874c23d Win32 can't have the same function coming from two library object files,
so we make is_absolute_path a macro so libpq doesn't use path.o.
2004-05-19 04:21:49 +00:00
Bruce Momjian
3febb477e6 Reorganize code to allow path-relative installs.
Create new get_* functions to access compiled-in paths and adjust if
relative installs are to be used.

Clean up substitute_libpath_macro() code.
2004-05-17 14:35:34 +00:00
Tom Lane
02409a4813 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:38 +00:00
Bruce Momjian
608b85a23c Clean up indenting of Makefile filenames. 2004-05-10 23:09:04 +00:00
Tom Lane
0bd61548ab Solve the 'Turkish problem' with undesirable locale behavior for case
conversion of basic ASCII letters.  Remove all uses of strcasecmp and
strncasecmp in favor of new functions pg_strcasecmp and pg_strncasecmp;
remove most but not all direct uses of toupper and tolower in favor of
pg_toupper and pg_tolower.  These functions use the same notions of
case folding already developed for identifier case conversion.  I left
the straight locale-based folding in place for situations where we are
just manipulating user data and not trying to match it to built-in
strings --- for example, the SQL upper() function is still locale
dependent.  Perhaps this will prove not to be what's wanted, but at
the moment we can initdb and pass regression tests in Turkish locale.
2004-05-07 00:24:59 +00:00
Bruce Momjian
45fbab2933 Make thread flags CFLAGS, not CPPFLAGS. 2004-04-25 20:57:32 +00:00
Bruce Momjian
7a66015e98 Add new auto-detection of thread flags.
Allow additional thread flags to be added via port templates.

Change thread flag names to PTHREAD_CFLAGS and PTHREAD_LIBS to match new
configure script.
2004-04-23 18:15:55 +00:00
Bruce Momjian
31338352bd * Most changes are to fix warnings issued when compiling win32
* removed a few redundant defines
* get_user_name safe under win32
* rationalized pipe read EOF for win32 (UPDATED PATCH USED)
* changed all backend instances of sleep() to pg_usleep

    - except for the SLEEP_ON_ASSERT in assert.c, as it would exceed a
32-bit long [Note to patcher: If a SLEEP_ON_ASSERT of 2000 seconds is
acceptable, please replace with pg_usleep(2000000000L)]

I added a comment to that part of the code:

    /*
     *  It would be nice to use pg_usleep() here, but only does 2000 sec
     *  or 33 minutes, which seems too short.
     */
    sleep(1000000);

Claudio Natoli
2004-04-19 17:42:59 +00:00
Peter Eisentraut
fc43abaccf Translation updates 2004-04-05 09:13:43 +00:00
Bruce Momjian
422d4819ee Corrects issues recently posted by Dann Corbit, allowing libpq/psql to
be built under VC++. Moves a pgstat win32 #def to port.h

Claudio Natoli
2004-04-05 03:16:21 +00:00
Tom Lane
513bbf4046 Fix brain-dead placement of global variable declaration. 2004-03-27 03:08:42 +00:00
Bruce Momjian
dbd5390ad4 Fix for SSL compile. 2004-03-25 21:48:59 +00:00
Bruce Momjian
b8fd6756e2 Allow unlink/rename of files open by another process on Win32, using a
special Win32 open flag FILE_SHARE_DELETE.

Claudio Natoli
2004-03-24 03:54:16 +00:00
Bruce Momjian
6daf396879 Add thread locking to SSL and Kerberos connections.
I have removed the docs mentioning that SSL and Kerberos are not
thread-safe.

Manfred Spraul
2004-03-24 03:45:00 +00:00
Tom Lane
f938c2b91b Revise syntax-error reporting behavior to give pleasant results for
errors in internally-generated queries, such as those submitted by
plpgsql functions.  Per recent discussions with Fabien Coelho.
2004-03-21 22:29:11 +00:00
Tatsuo Ishii
e8c3205037 Add PQmbdsplen() which returns the "display length" of a character.
Still some works needed:
- UTF-8, MULE_INTERNAL always returns 1
2004-03-15 10:41:26 +00:00
Tom Lane
e1d08faf04 Fix error in termination of COPY IN mode when using V2 protocol.
Report and fix per ljb, 8-Mar-04.
2004-03-14 22:00:54 +00:00
Bruce Momjian
1c89c51b9e Rename incorrect references to nonblock.c to noblock.c. Claudio. 2004-03-12 04:33:41 +00:00
Bruce Momjian
60a068b389 Move non-blocking code into its own /port file, for code clarity. 2004-03-10 21:12:49 +00:00
Bruce Momjian
53cd7cd8a9 Make a separate win32 debug DLL along with the non-debug version:
Currently, src/interfaces/libpq/win32.mak builds a statically-linked
library "libpq.lib", a debug dll "libpq.dll", import library for the
debug dll "libpqdll.lib", a release dll "libpq.dll", import library for
the release dll "libpqdll.lib".  To avoid naming clashes, I would make
the debug dll and import libraries "libpqd.dll" and "libpqddll.lib".

Basically, the debug build uses the cl flags: "/MDd /D _DEBUG", and the
release build uses the cl flags "/MD /D NDEBUG".  Usually the debug
build has a "D" suffix on the file name, so for example:

libpqd.dll     libpq, debug build
libpqd.lib     libpq, debug build, import library
libpq.dll      libpq, release build
libpq.lib      libpq, release build, import library

David Turner
2004-03-09 04:53:37 +00:00
Tom Lane
44611f6e6d 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:53:59 +00:00
Peter Eisentraut
4b8f125973 New translation 2004-02-15 19:38:29 +00:00
Bruce Momjian
feed7cf1c1 More clearly describe why PQinSend returns false for non-threaded libpq. 2004-02-10 15:21:24 +00:00
Bruce Momjian
e5e5a323ca Briefly,
* configure + Makefile changes
 * shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
cygwin bug under cygwin/EXEC_BACKEND case only)
 * PATH env var separator differences
 * missing win32 rand functions added
 * placeholder replacements for sync etc under port.h


To those who are really interested, and there are a few of you: the attached
patch + file will allow the source base to be compiled (and, for some
definition, "run") under MingW, with the following caveats (I wanted to
first properly fix all but the last of these, but y'all won't quit asking
for a patch :-):

        * child death: SIGCHLD not yet sent, so as a minimum, you'll need to
put in some sort of delay after StartupDatabase, and handle setting
StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
to do)

        * dirmod.c: comment out the elog calls

        * dfmgr.c: some hackage required to substitute_libpath_macro

        * slru/xact.c: comment out the errno checking after the readdir
(fixed by next version of MingW)

Again, this is only if you *really* want to see postgres compile and start,
and is a nice leg-up for working on the other Win32 TODO list items. Just
don't expect too much else from it at this point...


Claudio Natoli
2004-02-02 00:11:31 +00:00
Tom Lane
c77f363384 Ensure that close() and fclose() are checked for errors, at least in
cases involving writes.  Per recent discussion about the possibility
of close-time failures on some filesystems.  There is a TODO item for
this, too.
2004-01-26 22:35:32 +00:00
Peter Eisentraut
ace92cef35 Translation update 2004-01-13 18:58:41 +00:00
Bruce Momjian
59182d9901 Add comment about synchronous signals. 2004-01-09 02:17:15 +00:00
Bruce Momjian
0150dbdce5 Allow libpq to do thread-safe SIGPIPE handling. This allows it to
ignore SIGPIPE from send() in libpq, but terminate on any other SIGPIPE,
unless the user installs their own signal handler.

This is a minor fix because the only time you get SIGPIPE from libpq's
send() is when the backend dies.
2004-01-09 02:02:43 +00:00
Neil Conway
192ad63bd7 More janitorial work: remove the explicit casting of NULL literals to a
pointer type when it is not necessary to do so.

For future reference, casting NULL to a pointer type is only necessary
when (a) invoking a function AND either (b) the function has no prototype
OR (c) the function is a varargs function.
2004-01-07 18:56:30 +00:00
Tom Lane
d167fb1015 Fix sanity-check code that mistakenly assumed error and notice messages
could never exceed 30K.  Per report from Andreas Pflug.
2003-12-28 17:43:57 +00:00
Tom Lane
36c9a01acf Avoid infinite loop if connection is lost during PQexecStart() or
PQexecFinish().  Per report from Andreas Pflug.
2003-12-28 17:29:41 +00:00
Tom Lane
fb8ac3fcb6 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:45:49 +00:00
Tom Lane
b8f2980209 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:24:52 +00:00
Bruce Momjian
580cae7567 Prevent service dbname from defaulting to service name, per bug report
from Michael Fuhr
2003-12-19 21:50:54 +00:00
Tom Lane
e0cd175212 Fix memory leak with SSL connections due to missing X509_free() calls.
Per Neil Conway.
2003-12-18 22:49:26 +00:00
Joe Conway
b8f40ced2f Make PQescapeBytea and byteaout consistent with each other, and
octal escape all octets outside the range 0x20 to 0x7e. This fixes
the problem pointed out by Sergey Yatskevich here:
http://archives.postgresql.org/pgsql-bugs/2003-11/msg00140.php
2003-11-30 20:55:09 +00:00
Bruce Momjian
32abf0e781 Bump all version numbers and version stamps mentioned in RELEASE_CHANGES. 2003-11-30 06:09:54 +00:00
Bruce Momjian
38887379a2 Reorder win32/bcc makefile mentions of thread.c for sanity. 2003-11-30 06:01:15 +00:00
Bruce Momjian
edfccd3d32 Add thread.c to Borland CC build. 2003-11-30 05:54:33 +00:00
PostgreSQL Daemon
55b113257c make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Peter Eisentraut
9a8b7c0f69 Cast field-length variables used in printf to int, because sometimes
they might be of a wider type.
2003-11-26 15:55:01 +00:00
Tom Lane
bcf4d35699 Minor cleanup of PQunescapeBytea(). Avoid unportable assumptions about
behavior of malloc and realloc when request size is 0.  Fix escape
sequence recognizer so that only valid 3-digit octal sequences are
treated as escape sequences ... isdigit() is not a correct test.
2003-10-31 17:43:10 +00:00
Peter Eisentraut
002e7b3789 Translation updates 2003-10-25 18:03:21 +00:00
Bruce Momjian
6db0a6b035 Remove socket credentials defines not referenced. 2003-10-25 03:48:47 +00:00
Tom Lane
9dfdbef345 Adjust libpq to avoid deadlock when both client and server want to send
data, and both have filled the transmission buffers.  One scenario where
this can happen was illustrated here:
http://archives.postgresql.org/pgsql-hackers/2003-04/msg00979.php
2003-10-19 21:36:41 +00:00
Tom Lane
f2f7107024 Must free the pgParameterStatus chain in freePGconn(). My fault,
well spotted by Neil Conway.
2003-10-18 05:02:06 +00:00
Peter Eisentraut
578774d5f5 Translation update 2003-10-15 09:45:34 +00:00
Peter Eisentraut
037468eff2 New translation 2003-10-12 19:16:36 +00:00
Peter Eisentraut
108f371769 Translation updates 2003-10-10 08:01:44 +00:00
Peter Eisentraut
f98cbb76a0 Translation updates 2003-10-06 17:37:39 +00:00
Peter Eisentraut
a0ab31dcc6 New Slovene translations 2003-10-06 16:31:16 +00:00
Peter Eisentraut
5e3aaf5402 Translation updates 2003-10-06 06:20:11 +00:00
Peter Eisentraut
eceff4cc55 Translation updates 2003-10-05 21:52:37 +00:00
Tom Lane
fa09ee6026 Document the always-true-but-previously-undocumented fact that PQfnumber()
will downcase the supplied field name unless it is double-quoted.  Also,
upgrade the routine's handling of double quotes to match the backend,
in particular support doubled double quotes within quoted identifiers.
Per pgsql-interfaces discussion a couple weeks ago.
2003-10-04 21:05:21 +00:00
Peter Eisentraut
0a14ffe5b5 Translation updates 2003-10-04 18:13:16 +00:00
Peter Eisentraut
75e76e1cf5 Translation updates 2003-10-04 01:07:05 +00:00
Peter Eisentraut
beb935148a New translation 2003-10-03 22:39:34 +00:00
Tom Lane
251033186f Cause PQescapeString to stop processing at a null character, rather
than generating an invalid output string.  Per observation and patch
from Igor Shevchenko.  Further code cleanup and documentation by
Tom Lane.
2003-10-03 18:26:14 +00:00
Tom Lane
b4966453f6 Do not return from PQrequestCancel until postmaster has finished
processing the request; this ensures that the request won't be taken
to cancel a subsequently-issued query.  Race condition originally
noted by Oliver Jowett in the context of JDBC, but libpq has it too.
2003-10-02 19:52:44 +00:00
Tom Lane
bf2f5d9463 Don't use 0 as a spelling of NULL. 2003-10-02 14:47:44 +00:00
Peter Eisentraut
55fbc98b3f Adjust the new Norwegian translation for some of the easier message
changes between 7.3 and 7.4, for example quoting and function names.
2003-09-29 16:41:33 +00:00
Peter Eisentraut
f4d5d620f2 Make message fit guidelines. 2003-09-29 16:38:04 +00:00
Peter Eisentraut
a776bd9b69 New Norwegian translation by Trond Endrestøl, actually made for 7.3, but
this should help people get started in 7.4 as well.
2003-09-29 10:57:06 +00:00
Bruce Momjian
227dd9b427 Rename thread compile flag. Move thread test program to tools/thread,
and improve tests.
2003-09-27 15:32:48 +00:00
Peter Eisentraut
278a13fe47 Translation updates 2003-09-22 00:27:01 +00:00
Peter Eisentraut
6f57d63cb4 Message wording improvements 2003-09-22 00:23:35 +00:00