summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)Author
2002-11-23Transaction safe TruncateBruce Momjian
Rod Taylor
2002-11-23This patch implements FOR EACH STATEMENT triggers, per my email toBruce Momjian
-hackers a couple days ago. Notes/caveats: - added regression tests for the new functionality, all regression tests pass on my machine - added pg_dump support - updated PL/PgSQL to support per-statement triggers; didn't look at the other procedural languages. - there's (even) more code duplication in trigger.c than there was previously. Any suggestions on how to refactor the ExecXXXTriggers() functions to reuse more code would be welcome -- I took a brief look at it, but couldn't see an easy way to do it (there are several subtly-different versions of the code in question) - updated the documentation. I also took the liberty of removing a big chunk of duplicated syntax documentation in the Programmer's Guide on triggers, and moving that information to the CREATE TRIGGER reference page. - I also included some spelling fixes and similar small cleanups I noticed while making the changes. If you'd like me to split those into a separate patch, let me know. Neil Conway
2002-11-22Redesign internal logic of nodeLimit so that it does not need to fetchTom Lane
one more row from the subplan than the COUNT would appear to require. This costs a little more logic but a number of people have complained about the old implementation.
2002-11-22TAS code originally written for s390 (32-bit) does not work for s390xTom Lane
(64-bit). Fix it. Per report from Permaine Cheung.
2002-11-21Finish implementation of hashed aggregation. Add enable_hashagg GUCTom Lane
parameter to allow it to be forced off for comparison purposes. Add ORDER BY clauses to a bunch of regression test queries that will otherwise produce randomly-ordered output in the new regime.
2002-11-19Add an at-least-marginally-plausible method of estimating the numberTom Lane
of groups produced by GROUP BY. This improves the accuracy of planning estimates for grouped subselects, and is needed to check whether a hashed aggregation plan risks memory overflow.
2002-11-18Put back error test for DECLARE CURSOR outside a transaction block ...Tom Lane
but do it correctly now.
2002-11-15New version attached. The following is implemented:Bruce Momjian
- CLUSTER ALL clusters all the tables that have some index with indisclustered set and the calling user owns. - CLUSTER tablename clusters the named table, using the index with indisclustered set. If no index has the bit set, throws elog(ERROR). - The multi-relation version (CLUSTER ALL) uses a multitransaction approach, similar to what VACUUM does. Alvaro Herrera
2002-11-15Add DOMAIN check constraints.Bruce Momjian
Rod Taylor
2002-11-15Add checkpoint_warning to warn of excessive checkpoints caused by tooBruce Momjian
few WAL files.
2002-11-15Rename hostname_lookup to log_hostname.Bruce Momjian
2002-11-15Rename show_source_port to log_source_port.Bruce Momjian
2002-11-15Rename:Bruce Momjian
! #show_parser_stats = false ! #show_planner_stats = false ! #show_executor_stats = false ! #show_statement_stats = false TO: ! #log_parser_stats = false ! #log_planner_stats = false ! #log_executor_stats = false ! #log_statement_stats = false
2002-11-14Rename server_min_messages to log_min_messages. Part of consolidationBruce Momjian
of log_ settings.
2002-11-13Update xact.c comments for clarity.Bruce Momjian
2002-11-13Make MOVE/FETCH 0 actually move/fetch 0. Add MOVE LAST to move to endBruce Momjian
of cursor.
2002-11-13Split MemSet into three parts to constant comparisons can be optimizedBruce Momjian
away by the compiler; used by palloc0.
2002-11-12Remove NO_MKTIME_BEFORE_1970. I had speculated that it was not neededTom Lane
anymore given the mktime() workaround now done in DetermineLocalTimeZone. This has now been confirmed by Robert Bruccoleri for Irix, and I'm going to extrapolate to AIX as well.
2002-11-11Code review for ON COMMIT patch. Make the actual on-commit action happenTom Lane
before commit, not after :-( --- the original coding is not only unsafe if an error occurs while it's processing, but it generates an invalid sequence of WAL entries. Resurrect 7.2 logic for deleting items when no longer needed. Use an enum instead of random macros. Editorialize on names used for routines and constants. Teach backend/nodes routines about new field in CreateTable struct. Add a regression test.
2002-11-11Back out use of palloc0 in place if palloc/MemSet. Seems constant lenBruce Momjian
to MemSet is a performance boost.
2002-11-10Add palloc0 function to inline MemSet for newNode call.Bruce Momjian
2002-11-10This trivial patch removes 2 unused defines from pg_config.h.in:Bruce Momjian
FASTBUILD and DATEDEBUG weren't referenced by any other code. Neil Conway
2002-11-10> > I'll re-check that with the ppc architecture guy here.Bruce Momjian
> > ... he is now about to write an inlined version that can go into > s_lock.h . I'll send the new patch later on... OK, here it comes: An inlined version of tas(), that works for both, powerpc and powerpc64. The patch is against 7.3b5 and passes the test suite on both architectures. Reinhard Max
2002-11-09Add code to handle [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP }]Bruce Momjian
for temp tables. Gavin Sherry
2002-11-08Add extra_float_digits GUC parameter to allow adjustment of displayedTom Lane
precision for float4, float8, and geometric types. Set it in pg_dump so that float data can be dumped/reloaded exactly (at least on platforms where the float I/O support is properly implemented). Initial patch by Pedro Ferreira, some additional work by Tom Lane.
2002-11-08The "Allow easy display of usernames in a group (pg_hba.conf uses groupsBruce Momjian
now)" item on the open items, and subsequent plpgsql function I sent in, made me realize it was too hard to get the upper and lower bound of an array. The attached creates two functions that I think will be very useful when combined with the ability of plpgsql to return sets. array_lower(array, dim_num) - and - array_upper(array, dim_num) They return the value (as an int) of the upper and lower bound of the requested dim in the provided array. Joe Conway
2002-11-07Add #define _GNU_SOURCE to work around what seems to be Perl 5.8.0'sTom Lane
problem. Per recent discussions about plperl failing to build on Linux.
2002-11-07Move substitute extern declarations to end of file, so that they areTom Lane
not read until after we've read the port-specific header file. In particular this should make it safer to #include system headers for inet_aton; in general it seems that the port header file ought to be in a position to set definitions before we do stuff based on having a definition or not.
2002-11-06Phase 2 of hashed-aggregation project. nodeAgg.c now knows how to doTom Lane
hashed aggregation, but there's not yet planner support for it.
2002-11-06First phase of implementing hash-based grouping/aggregation. An AGG planTom Lane
node now does its own grouping of the input rows, and has no need for a preceding GROUP node in the plan pipeline. This allows elimination of the misnamed tuplePerGroup option for GROUP, and actually saves more code in nodeGroup.c than it costs in nodeAgg.c, as well as being presumably faster. Restructure the API of query_planner so that we do not commit to using a sorted or unsorted plan in query_planner; instead grouping_planner makes the decision. (Right now it isn't any smarter than query_planner was, but that will change as soon as it has the option to select a hash- based aggregation step.) Despite all the hackery, no initdb needed since only in-memory node types changed.
2002-11-02Remove encoding lookups from grammar stage, push them back to placesTom Lane
where it's safe to do database access. Along the way, fix core dump for 'DEFAULT' parameters to CREATE DATABASE. initdb forced due to change in pg_proc entry.
2002-11-02Fix permissions-checking bugs and namespace-search-path bugs inTom Lane
CONVERSION code. Still need to figure out what to do about inappropriate coding in parsing.
2002-10-31Code review for statement_timeout patch. Fix some race conditionsTom Lane
between signal handler and enable/disable code, avoid accumulation of timing error due to trying to maintain remaining-time instead of absolute-end-time, disable timeout before commit not after.
2002-10-25Add dummy variable declaration to PG_FUNCTION_INFO_V1() to preventTom Lane
'empty declaration' warnings from compilers that care about such things. Per discussion back before 7.2 release; we didn't do it then because we'd already missed all the beta cycle ...
2002-10-25Remove #warning directive, which is nonstandard and isn't reallyTom Lane
buying us anything to make it worth the porting risk. Per discussion quite some time ago.
2002-10-24Function-call-style type coercions should be treated as explicitTom Lane
coercions, not implicit ones. For example, 'select abstime(1035497293)' should succeed because there is an explicit binary coercion from int4 to abstime.
2002-10-24Add fseeko for NetBSD.Bruce Momjian
2002-10-23Add fseeko/ftello prototypes for BSD/OS only to c.h.Bruce Momjian
2002-10-22Add DLLIMPORT declarations required by contrib with asserts enabled.Peter Eisentraut
2002-10-21Fix places that were using IsTransactionBlock() as an (inadequate) checkTom Lane
that they'd get to commit immediately on finishing. There's now a centralized routine PreventTransactionChain() that implements the necessary tests.
2002-10-21Fix ALTER TABLE ... ADD COLUMN for inheritance cases.Bruce Momjian
Alvaro Herrera
2002-10-21Make CREATE/ALTER/DROP USER/GROUP transaction-safe, or at least prettyTom Lane
nearly so, by postponing write of flat password file until transaction commit.
2002-10-21Add DLLIMPORT declarations needed by contrib modules.Peter Eisentraut
2002-10-20Rule rewriter was doing the wrong thing with conditional INSTEAD rulesTom Lane
whose conditions might yield NULL. The negated qual to attach to the original query is properly 'x IS NOT TRUE', not 'NOT x'. This fix produces correct behavior, but we may be taking a performance hit because the planner is much stupider about IS NOT TRUE than it is about NOT clauses. Future TODO: teach prepqual, other parts of planner how to cope with BooleanTest clauses more effectively.
2002-10-19Fix range-query estimation to not double-exclude NULLs, per gripe fromTom Lane
Ray Ontko 28-June-02. Also, fix prefix_selectivity for NAME lefthand variables (it was bogusly assuming binary compatibility), and adjust make_greater_string() to not call pg_mbcliplen() with invalid multibyte data (this last per bug report that I can't find at the moment, but it was in July '02).
2002-10-19This patch adds some missing functions for float8 math operations,Bruce Momjian
specifically ceil(), floor(), and sign(). There may be other functions that need to be added, but this is a start. I've included some simple regression tests. Neil Conway
2002-10-18Make 'dummy' declarations in header files be 'extern int no_such_variable'Tom Lane
instead of 'extern int errno'; the latter is unsafe according to the ANSI C standard, as well as in practice on some platforms.
2002-10-14Make SPI's execution of querystrings follow the rules agreed to forTom Lane
command status at the interactive level. SPI_processed, etc are set in the same way as the returned command status would have been set if the same querystring were issued interactively. Per gripe from Michael Paesold 25-Sep-02.
2002-10-14Adjust handling of command status strings in the presence of rules,Tom Lane
as per recent pghackers discussions. initdb forced due to change in fields of stored Query nodes.
2002-10-14Add missing entries for bit<->int4 and bit<->int8 conversions.Tom Lane