summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2004-05-26Reimplement the linked list data structure used throughout the backend.Neil Conway
In the past, we used a 'Lispy' linked list implementation: a "list" was merely a pointer to the head node of the list. The problem with that design is that it makes lappend() and length() linear time. This patch fixes that problem (and others) by maintaining a count of the list length and a pointer to the tail node along with each head node pointer. A "list" is now a pointer to a structure containing some meta-data about the list; the head and tail pointers in that structure refer to ListCell structures that maintain the actual linked list of nodes. The function names of the list API have also been changed to, I hope, be more logically consistent. By default, the old function names are still available; they will be disabled-by-default once the rest of the tree has been updated to use the new API names.
2004-05-25Add FRONTEND to ecpglib.Bruce Momjian
2004-05-25Allow relative paths as long as the hardcoded path matches the bin pathBruce Momjian
up to the last bin directory name.
2004-05-25Tweaks per discussion with Magnus: suppress chatter on unpatched MinGWTom Lane
systems, add verbose logging (at DEBUG4) to help identify why a given time zone is not matched.
2004-05-25Fix erroneous error message printout when a configuration file containsTom Lane
an overlength token. Printout was always garbage and could dump core entirely :-(. Per report from Martin Pitt.
2004-05-25Fix set_pglocale to properly pass my_exec_path to get_locale_path instead of ↵Bruce Momjian
argv0.
2004-05-25Add code to identify_system_timezone() to try all zones in the zicTom Lane
database, not just ones that we cons up POSIX names for. This looks grim but it seems to take less than a second even on a relatively slow machine, and since it only happens once during postmaster startup, that seems acceptable.
2004-05-25Add exec.c to ecpg library because path.c now uses it.Bruce Momjian
2004-05-25Skip settting LC_ALL in the backend.Bruce Momjian
2004-05-25Make the locale location relocatable.Bruce Momjian
Adjust get_*_path functions to be limited to MAXPGPATH.
2004-05-24Remove pstrdup() call from exec.c because DLLIMPORT flag onBruce Momjian
CurrentMemoryContext caused compile problems. Recode to not make a copy of the PATH but copy parts out into MAXPGPATH variables.
2004-05-24Make validate_exec take a const char *, for gcc 3.4, which is moreBruce Momjian
strict.
2004-05-24This patch fixes the find_my_exec code for pgstat backends. Required forBruce Momjian
TZ stuff (and possibly others) to work in the pgstat backends. Magnus Hagander
2004-05-24Rewrite identify_system_timezone() to give it better-than-chance oddsTom Lane
of correctly identifying the system's daylight-savings transition rules. This still begs the question of how to look through the zic database to find a matching zone definition, but at least now we'll have some chance of recognizing the match when we find it.
2004-05-24Remove a few $filter() calls that were not needed.Bruce Momjian
2004-05-23Seems we had the wrong sign convention for the default Etc/GMTx zoneTom Lane
names. Per report from Alvaro.
2004-05-23Avoid calling select_default_timezone() when backing out an unwanted TZTom Lane
setting. This is a temporary kluge to keep Alvaro happy; eventually we should fix the TZ library API to make the problem really go away.
2004-05-23Use case-insensitive comparison so that explicitly setting timezone=unknownTom Lane
in postgresql.conf does the right thing. variable.c got this right, but not pgtz.c ...
2004-05-23A few cosmetic fixes and code cleanup.Neil Conway
2004-05-23New two-stage sampling method for ANALYZE, as per discussions a few weeksTom Lane
ago. This should give significantly better results when the density of live tuples is not uniform throughout a table. Manfred Koizar, with minor kibitzing from Tom Lane.
2004-05-23Still another place to make the world safe for zero-column tables:Tom Lane
remove the ancient (and always pretty dodgy) assumption in parse_clause.c that a query can't have an empty targetlist.
2004-05-23Make --without-docdir configure option actually work, per Manfred.Tom Lane
2004-05-23Handle impending sinval queue overflow by means of a separate signalTom Lane
(SIGUSR1, which we have not been using recently) instead of piggybacking on SIGUSR2-driven NOTIFY processing. This has several good results: the processing needed to drain the sinval queue is a lot less than the processing needed to answer a NOTIFY; there's less contention since we don't have a bunch of backends all trying to acquire exclusive lock on pg_listener; backends that are sitting inside a transaction block can still drain the queue, whereas NOTIFY processing can't run if there's an open transaction block. (This last is a fairly serious issue that I don't think we ever recognized before --- with clients like JDBC that tend to sit with open transaction blocks, the sinval queue draining mechanism never really worked as intended, probably resulting in a lot of useless cache-reset overhead.) This is the last of several proposed changes in response to Philip Warner's recent report of sinval-induced performance problems.
2004-05-22For multi-table ANALYZE, use per-table transactions when possibleTom Lane
(ie, when not inside a transaction block), so that we can avoid holding locks longer than necessary. Per trouble report from Philip Warner.
2004-05-22Reduce pg_listener lock taken by NOTIFY et al from AccessExclusiveLockTom Lane
to ExclusiveLock. This still serializes the operations of this module, but doesn't conflict with concurrent ANALYZE operations. Per trouble report from Philip Warner a few weeks ago.
2004-05-22Fix to install correctly in vpath build case.Tom Lane
2004-05-22Fix for vpath builds.Tom Lane
2004-05-22Clean up failure to remove exec.o on 'make clean'.Tom Lane
2004-05-22Use wide-character library routines, if available, for upper/lower/initcapTom Lane
functions. This allows these functions to work correctly with Unicode and other multibyte encodings. Per prior discussion. Also, revert my earlier change to move installation path mashing from Makefile.global to configure. Turns out not to work well because configure script is working with unexpanded variables, and so fails to match in cases where it should match.
2004-05-21Handle inclusion of port modules 'correctly', viz the same way libpqTom Lane
does it. Fixes OS X, which needs path.c. It may be that Win32 needs some more port modules, but they are easily added.
2004-05-21pgindent did a pretty awful job on the timezone code, particularly withTom Lane
respect to doubly-starred comment blocks. Do some manual cleanup.
2004-05-21Put path configuration information into a .h file instead of clutteringTom Lane
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-21Probably need sys/time.h here too to be safe.Tom Lane
2004-05-21Put back #include <sys/time.h> in files that seem to need it on Linux.Tom Lane
2004-05-21Fix random breakage in exec.c for platforms where strdup is a macro.Tom Lane
2004-05-21- Fixed DEALLOCATE PREPARE to use correct function callMichael Meskes
- Made sure connect statement does not accept single char variable, but only strings.
2004-05-21Pgindent timezone file, per request from Tom.Bruce Momjian
2004-05-21Integrate src/timezone library for all platforms. There is more we canTom Lane
and should do now that we control our own destiny for timezone handling, but this commit gets the bulk of the picayune diffs in place. Magnus Hagander and Tom Lane.
2004-05-21Add mention of why -lpgport is needed in ecpglib (dllwrap).Bruce Momjian
2004-05-21Add -lpgport to ecpglib link only on win32. Other platforms haveBruce Momjian
problems with it.
2004-05-21Revert addition of -lpgport, which breaks the build on platforms thatTom Lane
are sticky about non-PIC code in shared libraries. Windows will have to find another solution (probably similar to the way libpq does it).
2004-05-20Rename static variables to avoid possible name conflicts on systems withTom Lane
dirty standard headers (eg AIX).
2004-05-20Small variable rename in exec.c.Bruce Momjian
2004-05-20Clean up find_my_exec to work cleaner.Bruce Momjian
Add Win32 code to look in the current directory before the path. Add code so memory is allocated using palloc in backend object files.
2004-05-20Fix speling.Tom Lane
2004-05-20Add ctype.h include for new macro in port.h.Bruce Momjian
2004-05-20Add $libdir to mingw and cygwin for installcheck too.Bruce Momjian
2004-05-19Improve error reporting behavior in parse_hba(): give more completeTom Lane
error report for getaddrinfo failures, point at correct token for syntax errors in all cases, don't log redundant messages.
2004-05-19Rename another irix file.Bruce Momjian
2004-05-19Rename irix5 port to irix.Bruce Momjian