aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Reimplement the linked list data structure used throughout the backend.Neil Conway2004-05-26
| | | | | | | | | | | | | | | | 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.
* Add FRONTEND to ecpglib.Bruce Momjian2004-05-25
|
* Allow relative paths as long as the hardcoded path matches the bin pathBruce Momjian2004-05-25
| | | | up to the last bin directory name.
* Tweaks per discussion with Magnus: suppress chatter on unpatched MinGWTom Lane2004-05-25
| | | | | systems, add verbose logging (at DEBUG4) to help identify why a given time zone is not matched.
* Fix erroneous error message printout when a configuration file containsTom Lane2004-05-25
| | | | | an overlength token. Printout was always garbage and could dump core entirely :-(. Per report from Martin Pitt.
* Fix set_pglocale to properly pass my_exec_path to get_locale_path instead of ↵Bruce Momjian2004-05-25
| | | | argv0.
* Add code to identify_system_timezone() to try all zones in the zicTom Lane2004-05-25
| | | | | | | 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.
* Add exec.c to ecpg library because path.c now uses it.Bruce Momjian2004-05-25
|
* Skip settting LC_ALL in the backend.Bruce Momjian2004-05-25
|
* Make the locale location relocatable.Bruce Momjian2004-05-25
| | | | Adjust get_*_path functions to be limited to MAXPGPATH.
* Remove pstrdup() call from exec.c because DLLIMPORT flag onBruce Momjian2004-05-24
| | | | | | | CurrentMemoryContext caused compile problems. Recode to not make a copy of the PATH but copy parts out into MAXPGPATH variables.
* Make validate_exec take a const char *, for gcc 3.4, which is moreBruce Momjian2004-05-24
| | | | strict.
* This patch fixes the find_my_exec code for pgstat backends. Required forBruce Momjian2004-05-24
| | | | | | TZ stuff (and possibly others) to work in the pgstat backends. Magnus Hagander
* Rewrite identify_system_timezone() to give it better-than-chance oddsTom Lane2004-05-24
| | | | | | | 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.
* Remove a few $filter() calls that were not needed.Bruce Momjian2004-05-24
|
* Seems we had the wrong sign convention for the default Etc/GMTx zoneTom Lane2004-05-23
| | | | names. Per report from Alvaro.
* Avoid calling select_default_timezone() when backing out an unwanted TZTom Lane2004-05-23
| | | | | 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.
* Use case-insensitive comparison so that explicitly setting timezone=unknownTom Lane2004-05-23
| | | | | in postgresql.conf does the right thing. variable.c got this right, but not pgtz.c ...
* A few cosmetic fixes and code cleanup.Neil Conway2004-05-23
|
* New two-stage sampling method for ANALYZE, as per discussions a few weeksTom Lane2004-05-23
| | | | | | 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.
* Still another place to make the world safe for zero-column tables:Tom Lane2004-05-23
| | | | | remove the ancient (and always pretty dodgy) assumption in parse_clause.c that a query can't have an empty targetlist.
* Make --without-docdir configure option actually work, per Manfred.Tom Lane2004-05-23
|
* Handle impending sinval queue overflow by means of a separate signalTom Lane2004-05-23
| | | | | | | | | | | | | | | | | (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.
* For multi-table ANALYZE, use per-table transactions when possibleTom Lane2004-05-22
| | | | | (ie, when not inside a transaction block), so that we can avoid holding locks longer than necessary. Per trouble report from Philip Warner.
* Reduce pg_listener lock taken by NOTIFY et al from AccessExclusiveLockTom Lane2004-05-22
| | | | | | 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.
* Fix to install correctly in vpath build case.Tom Lane2004-05-22
|
* Fix for vpath builds.Tom Lane2004-05-22
|
* Clean up failure to remove exec.o on 'make clean'.Tom Lane2004-05-22
|
* Use wide-character library routines, if available, for upper/lower/initcapTom Lane2004-05-22
| | | | | | | | | | 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.
* Handle inclusion of port modules 'correctly', viz the same way libpqTom Lane2004-05-21
| | | | | does it. Fixes OS X, which needs path.c. It may be that Win32 needs some more port modules, but they are easily added.
* pgindent did a pretty awful job on the timezone code, particularly withTom Lane2004-05-21
| | | | respect to doubly-starred comment blocks. Do some manual cleanup.
* Put path configuration information into a .h file instead of clutteringTom Lane2004-05-21
| | | | | | several different module Makefiles with it. Also, do any adjustment of installation paths during configure, rather than every time Makefile.global is read.
* Probably need sys/time.h here too to be safe.Tom Lane2004-05-21
|
* Put back #include <sys/time.h> in files that seem to need it on Linux.Tom Lane2004-05-21
|
* Fix random breakage in exec.c for platforms where strdup is a macro.Tom Lane2004-05-21
|
* - Fixed DEALLOCATE PREPARE to use correct function callMichael Meskes2004-05-21
| | | | | - Made sure connect statement does not accept single char variable, but only strings.
* Pgindent timezone file, per request from Tom.Bruce Momjian2004-05-21
|
* Integrate src/timezone library for all platforms. There is more we canTom Lane2004-05-21
| | | | | | 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.
* Add mention of why -lpgport is needed in ecpglib (dllwrap).Bruce Momjian2004-05-21
|
* Add -lpgport to ecpglib link only on win32. Other platforms haveBruce Momjian2004-05-21
| | | | problems with it.
* Revert addition of -lpgport, which breaks the build on platforms thatTom Lane2004-05-21
| | | | | are sticky about non-PIC code in shared libraries. Windows will have to find another solution (probably similar to the way libpq does it).
* Rename static variables to avoid possible name conflicts on systems withTom Lane2004-05-20
| | | | dirty standard headers (eg AIX).
* Small variable rename in exec.c.Bruce Momjian2004-05-20
|
* Clean up find_my_exec to work cleaner.Bruce Momjian2004-05-20
| | | | | | Add Win32 code to look in the current directory before the path. Add code so memory is allocated using palloc in backend object files.
* Fix speling.Tom Lane2004-05-20
|
* Add ctype.h include for new macro in port.h.Bruce Momjian2004-05-20
|
* Add $libdir to mingw and cygwin for installcheck too.Bruce Momjian2004-05-20
|
* Improve error reporting behavior in parse_hba(): give more completeTom Lane2004-05-19
| | | | | error report for getaddrinfo failures, point at correct token for syntax errors in all cases, don't log redundant messages.
* Rename another irix file.Bruce Momjian2004-05-19
|
* Rename irix5 port to irix.Bruce Momjian2004-05-19
|