| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
up to the last bin directory name.
|
|
|
|
|
| |
systems, add verbose logging (at DEBUG4) to help identify why a given
time zone is not matched.
|
|
|
|
|
| |
an overlength token. Printout was always garbage and could dump core
entirely :-(. Per report from Martin Pitt.
|
|
|
|
| |
argv0.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Adjust get_*_path functions to be limited to MAXPGPATH.
|
|
|
|
|
|
|
| |
CurrentMemoryContext caused compile problems.
Recode to not make a copy of the PATH but copy parts out into MAXPGPATH
variables.
|
|
|
|
| |
strict.
|
|
|
|
|
|
| |
TZ stuff (and possibly others) to work in the pgstat backends.
Magnus Hagander
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
names. Per report from Alvaro.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
in postgresql.conf does the right thing. variable.c got this right, but
not pgtz.c ...
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
remove the ancient (and always pretty dodgy) assumption in parse_clause.c
that a query can't have an empty targetlist.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
| |
(ie, when not inside a transaction block), so that we can avoid holding
locks longer than necessary. Per trouble report from Philip Warner.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
does it. Fixes OS X, which needs path.c. It may be that Win32 needs
some more port modules, but they are easily added.
|
|
|
|
| |
respect to doubly-starred comment blocks. Do some manual cleanup.
|
|
|
|
|
|
| |
several different module Makefiles with it. Also, do any adjustment
of installation paths during configure, rather than every time Makefile.global
is read.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- Made sure connect statement does not accept single char variable,
but only strings.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
problems with it.
|
|
|
|
|
| |
are sticky about non-PIC code in shared libraries. Windows will have
to find another solution (probably similar to the way libpq does it).
|
|
|
|
| |
dirty standard headers (eg AIX).
|
| |
|
|
|
|
|
|
| |
Add Win32 code to look in the current directory before the path.
Add code so memory is allocated using palloc in backend object files.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
error report for getaddrinfo failures, point at correct token for syntax
errors in all cases, don't log redundant messages.
|
| |
|
| |
|