summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-06-28Improve planner estimates for size of tuple hash tables.Tom Lane
2006-06-28Fix hash aggregation to suppress unneeded columns from being stored inTom Lane
tuple hash table entries. This addresses the problem previously noted that use of a 'physical tlist' in the input scan node could bloat the hash table entries far beyond what the planner expects. It's a better answer than my previous thought of undoing the physical tlist optimization, because we can also remove columns that are needed to compute the aggregate functions but aren't part of the grouping column set.
2006-06-28Adjust TupleHashTables to use MinimalTuple format for contained tuples.Tom Lane
2006-06-28Forget to add new file :((Teodor Sigaev
2006-06-28ChangesTeodor Sigaev
* new split algorithm (as proposed in http://archives.postgresql.org/pgsql-hackers/2006-06/msg00254.php) * possible call pickSplit() for second and below columns * add spl_(l|r)datum_exists to GIST_SPLITVEC - pickSplit should check its values to use already defined spl_(l|r)datum for splitting. pickSplit should set spl_(l|r)datum_exists to 'false' (if they was 'true') to signal to caller about using spl_(l|r)datum. * support for old pickSplit(): not very optimal but correct split * remove 'bytes' field from GISTENTRY: in any case size of value is defined by it's type. * split GIST_SPLITVEC to two structures: one for using in picksplit and second - for internal use. * some code refactoring * support of subsplit to rtree opclasses TODO: add support of subsplit to contrib modules
2006-06-27Remove embedded newline in string literal --- seems to make newer gccTom Lane
versions very unhappy, and shouldn't be there anyway.
2006-06-27Add GUC update_process_title to control whether 'ps' display is updatedBruce Momjian
for every command, default to on.
2006-06-27Convert hash join code to use MinimalTuple format in tuple hash tableTom Lane
and batch files. Should reduce memory and I/O demands for such joins.
2006-06-27Default stats_command_string to 'on', now that its overhead is minimal.Bruce Momjian
2006-06-27Put #ifdef NOT_USED around posix_fadvise call. We may want to resurrectTom Lane
this someday, but right now it seems that posix_fadvise is immature to the point of being broken on many platforms ... and we don't have any benchmark evidence proving it's worth spending time on.
2006-06-27Revert patch, doesn't do what it should:Bruce Momjian
* %Disallow changing default expression of a SERIAL column Dhanaraj M
2006-06-27Extend the MinimalTuple concept to tuplesort.c, thereby reducing theTom Lane
per-tuple space overhead for sorts in memory. I chose to replace the previous patch that tried to write out the bare minimum amount of data when sorting on disk; instead, just dump the MinimalTuples as-is. This wastes 3 to 10 bytes per tuple depending on architecture and null-bitmap length, but the simplification in the writetup/readtup routines seems worth it.
2006-06-27Clamp last_anl_tuples to n_live_tuples, in case we vacuum a table withoutAlvaro Herrera
analyzing, so that future analyze threshold calculations don't get confused. Also, make sure we correctly track the decrease of live tuples cause by deletes. Per report from Dylan Hansen, patches by Tom Lane and me.
2006-06-27Add INCLUDING CONSTRAINTS to CREATE TABLE LIKE.Bruce Momjian
Greg Stark
2006-06-27Disallow changing/dropping default expression of a SERIAL columnBruce Momjian
Dhanaraj M
2006-06-27Fix for recent Win32 pg_dump tar temp file patch.Bruce Momjian
Hiroshi Saito
2006-06-27Create infrastructure for 'MinimalTuple' representation of in-memoryTom Lane
tuples with less header overhead than a regular HeapTuple, per my recent proposal. Teach TupleTableSlot code how to deal with these. As proof of concept, change tuplestore.c to store MinimalTuples instead of HeapTuples. Future patches will expand the concept to other places where it is useful.
2006-06-27On Win32, use loop to create pg_dump temporary tar file in the currentBruce Momjian
directory, not in device root, for permission reasons. Backpatch to 8.1.X.
2006-06-27Add PQescapeIdentifier() to libpqBruce Momjian
Christopher Kings-Lynne
2006-06-26Fix blank line.Bruce Momjian
2006-06-26Add comment about the use of pg_config_paths.h.Bruce Momjian
2006-06-26Change the row constructor syntax (ROW(...)) so that list elements foo.*Tom Lane
will be expanded to a list of their member fields, rather than creating a nested rowtype field as formerly. (The old behavior is still available by omitting '.*'.) This syntax is not allowed by the SQL spec AFAICS, so changing its behavior doesn't violate the spec. The new behavior is substantially more useful since it allows, for example, triggers to check for data changes with 'if row(new.*) is distinct from row(old.*)'. Per my recent proposal.
2006-06-26Added missing braces to prevent a segfault after usage of an undeclared cursor.Michael Meskes
2006-06-26Use Unix line endings instead of DOS ones, per Magnus.Bruce Momjian
2006-06-26Update include files to Unix newline format, per report from Magnus.Bruce Momjian
2006-06-26Update comment description of geo routines and move comment to moreBruce Momjian
relevant location.
2006-06-26Added some more coverity report patches send in by Joachim Wieland ↵Michael Meskes
<joe@mcknight.de>.
2006-06-25Tweak dynahash.c to avoid wasting memory space in non-shared hash tables.Tom Lane
palloc() will normally round allocation requests up to the next power of 2, so make dynahash choose allocation sizes that are as close to a power of 2 as possible. Back-patch to 8.1 --- the problem exists further back, but a much larger patch would be needed and it doesn't seem worth taking any risks.
2006-06-25Moved some free() calls that coverity correctly complains about.Michael Meskes
2006-06-25Our version of getopt_long does not set optarg upon detecting an error, asAlvaro Herrera
opposed to what other versions apparently do, so it's not safe to print an error message. Besides, getopt_long itself already did, so it's redundant anyway.
2006-06-25Remove individual user copyright because the code is contributed toBruce Momjian
PGDG: > Yes. In fact the copyright belongs to credativ GmbH the company that > paid Carsten for his work. As you may or may not know I'm the CEO of > that company and can assure you that his work was contributed to the > PostgreSQL project.
2006-06-25Fix GEVHDRSZ for Win32.Bruce Momjian
Magnus Hagander
2006-06-25Fix Win32/Cygwin problems:Bruce Momjian
After updating to the latest cvs, and also building most of the addons (like PLs), the following patch is neededf for win32 + Visual C++. * Switch to use the new win32 semaphore code * Rename win32_open to pgwin32_open. win32_open collides with symbols defined in Perl. MingW didn't detect ig, MSVC did. And it's a bit too generic a name to export globally, imho... * Python defines some partially broken #pragmas in the headers when doing a debug build. Workaround. Magnus Hagander
2006-06-24Fix re-inclusion of port header file on Windows, per Magnus.Tom Lane
2006-06-23Clarified copyright noticeMichael Meskes
2006-06-22Remove dllinit.c; it was only needed for long-obsolete Cygwin versions,Tom Lane
and there was some question about its copyright status.
2006-06-22pg_stop_backup was calling XLogArchiveNotify() twice for the newly createdTom Lane
backup history file. Bug introduced by the 8.1 change to make pg_stop_backup delete older history files. Per report from Masao Fujii.
2006-06-22Standalone backends need pgstat_bestart() too, per Qingqing Zhou.Tom Lane
2006-06-21Move setup_cancel_handler() up near start of psql main(), where theTom Lane
setup_win32_locks() call formerly was, to ensure that cancelConnLock is valid when it needs to be. Per Yoshiyuki Asaba.
2006-06-21Remove ancient kluge that kept nodeAgg.c from crashing on UPDATEs involvingTom Lane
aggregates. We just disallowed that, and AFAICS there should be no other cases where direct (non-aggregated) references to input columns are allowed in a query with aggregation and no GROUP BY.
2006-06-21Disallow aggregate functions in UPDATE commands (unless within a sub-SELECT).Tom Lane
This is disallowed by the SQL spec because it doesn't have any very sensible interpretation. Historically Postgres has allowed it but behaved strangely. As of PG 8.1 a server crash is possible if the MIN/MAX index optimization gets applied; rather than try to "fix" that, it seems best to just enforce the spec restriction. Per report from Josh Drake and Alvaro Herrera.
2006-06-21Eliminate a gratuitously different wording of the 'cannot use aggregate ↵Tom Lane
function in check constraint' error message.
2006-06-21Clean up psql variable code a little: eliminate unnecessary tests inTom Lane
GetVariable() and be consistent about treatment of the list header. Motivated by noticing strspn() taking an unreasonable percentage of runtime --- the call removed from GetVariable() was the only one that could be in a high-usage path ...
2006-06-21Added some more coverity report patches send in by Martijn van Oosterhout ↵Michael Meskes
<kleptog@svana.org>.
2006-06-21Fixed small typo in changelogMichael Meskes
2006-06-21Added fixed from the coverity report send in by Joachim Wieland ↵Michael Meskes
<joe@mcknight.de> Added missing error handling in a few functions in ecpglib
2006-06-20Remove redundant gettimeofday() calls to the extent practical withoutTom Lane
changing semantics too much. statement_timestamp is now set immediately upon receipt of a client command message, and the various places that used to do their own gettimeofday() calls to mark command startup are referenced to that instead. I have also made stats_command_string use that same value for pg_stat_activity.query_start for both the command itself and its eventual replacement by <IDLE> or <idle in transaction>. There was some debate about that, but no argument that seemed convincing enough to justify an extra gettimeofday() call.
2006-06-20Split definitions for md5.c out of crypt.h and into their own headerTom Lane
libpq/md5.h, so that there's a clear separation between backend-only definitions and shared frontend/backend definitions. (Turns out this is reversing a bad decision from some years ago...) Fix up references to crypt.h as needed. I looked into moving the code into src/port, but the headers in src/include/libpq are sufficiently intertwined that it seems more work than it's worth to do that.
2006-06-19Do not use already free'ed errmsg, bug found by Joachim WielandMichael Meskes
<joachim.wieland@credativ.de>
2006-06-19Take the statistics collector out of the loop for monitoring backends'Tom Lane
current commands; instead, store current-status information in shared memory. This substantially reduces the overhead of stats_command_string and also ensures that pg_stat_activity is fully up to date at all times. Per my recent proposal.