summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2002-11-29Tighten selection of equality and ordering operators for groupingTom Lane
operations: make sure we use operators that are compatible, as determined by a mergejoin link in pg_operator. Also, add code to planner to ensure we don't try to use hashed grouping when the grouping operators aren't marked hashable.
2002-11-29Repair prehistoric logic error in lseg_eq and lseg_ne.Tom Lane
2002-11-29Suppress compiler warning from newer gcc.Tom Lane
2002-11-29This patch fixes two tiny memory leaks in pg_dump and two in pg_dumpall.Bruce Momjian
Neil Conway
2002-11-27Improve some comments.Tom Lane
2002-11-27Synced parser with backendMichael Meskes
2002-11-26Add -cmdTuples to tcl interface.Bruce Momjian
2002-11-26Use Params, rather than run-time-modified Const nodes, to handleTom Lane
sublink results and COPY's domain constraint checking. A Const that isn't really constant is just a Bad Idea(tm). Remove hacks in parse_coerce and other places that were needed because of the former klugery.
2002-11-26Guard against 0 length string encoding conversion case.Tatsuo Ishii
2002-11-25Remove check for pg_group file as part of initdb -W password assignmentBruce Momjian
--- not needed.
2002-11-25Remove unused constisset and constiscast fields of Const nodes. CleanTom Lane
up code and documentation associated with Param nodes.
2002-11-25Restructure outfuncs and readfuncs to use macros in the same style asTom Lane
just done for copyfuncs/equalfuncs. Read functions in particular get a lot shorter than before, and it's much easier to compare an out function with the corresponding read function to make sure they agree. initdb forced due to small changes in nodestring format (regularizing a few cases that were formerly idiosyncratic).
2002-11-25Un-break triggers declared for INSERT OR DELETE OR UPDATE. This workedTom Lane
okay in 7.3, so I think it must have been busted in the recent triggers patch.
2002-11-25Restructure the code in copyfuncs and equalfuncs to put much heavierTom Lane
reliance on macros, in hopes of eliminating silly typos (like copying to the wrong field) and just generally making it easier to see the forest instead of the trees. As an example, here is the new code for A_Indices: static A_Indices * _copyAIndices(A_Indices *from) { A_Indices *newnode = makeNode(A_Indices); COPY_NODE_FIELD(lidx); COPY_NODE_FIELD(uidx); return newnode; } static bool _equalAIndices(A_Indices *a, A_Indices *b) { COMPARE_NODE_FIELD(lidx); COMPARE_NODE_FIELD(uidx); return true; } I plan to redo outfuncs/readfuncs in a similar style, but am committing what I've got.
2002-11-25I'm sending you a small patch to pgdb.py module. ThisD'Arcy J.M. Cain
raises pgdb.DatabaseError when any of the fetch* methods was invoked but previous call to execute* did not produce any result set or no call was issued yet. Also, raises pgdb.NotSupportedError when .nextset() is invoked, instead of NameError. This behaviour complies with DB-API 2.0. Thanks for your work! Timur Irmatov.
2002-11-25Change the pkey method so that the caller can optionally set the dictionaryD'Arcy J.M. Cain
used for the primary key lookup. This will prevent a database lookup for each connection object that gets created. This could be a significant optimization on a busy system. Similarly, the get_attnames method allows for the attributes dictionary to be installed directly.
2002-11-25Change the debug variable to allow better control by the caller over howD'Arcy J.M. Cain
debug output is managed. The user can continue to use the current method of passing a formatting string to have a replacement done and output will be sent to the standard output exactly as it did before. In addition they can set it to a file object, sys.stderr for example, and the query string will be printed to it. Thay can also set it to a method (function) and the query string will be passed to that method giving them the maximum flexibility to do whatever they want with the query string. I will be working with the PyGreSQL documentation shortly and at that time will properly document this feature.
2002-11-24Restructure planning of nestloop inner indexscans so that the set of usableTom Lane
joinclauses is determined accurately for each join. Formerly, the code only considered joinclauses that used all of the rels from the outer side of the join; thus for example FROM (a CROSS JOIN b) JOIN c ON (c.f1 = a.x AND c.f2 = b.y) could not exploit a two-column index on c(f1,f2), since neither of the qual clauses would be in the joininfo list it looked in. The new code does this correctly, and also is able to eliminate redundant clauses, thus fixing the problem noted 24-Oct-02 by Hans-Jürgen Schönig.
2002-11-23Fix regression test breakage from triggers patch.Tom Lane
2002-11-23Fix compile warnings from truncate patch.Tom Lane
2002-11-23Update regression for new patches. Bump up catversion.Bruce Momjian
2002-11-23Heres a patch which will create the sql_help.h file on Win32 if itBruce Momjian
doesn't already exist using an installed copy of perl. I've tested it using perl v5.6.1 from ActiveState and all appears to work. Al Sutton
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-22Fix a dozen or so places that were passing unpredictable data stringsTom Lane
as elog format strings. Hai-Chen Tu pointed out the problem in contrib/dbmirror, but it wasn't the only such error.
2002-11-22Quote database name properly when invoking pg_dump. Per report fromTom Lane
Christopher Kings-Lynne.
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-21Fix breakage in new-in-7.3 timetz_zone() function: was giving randomTom Lane
results due to doing arithmetic on uninitialized values. Add some documentation about the AT TIME ZONE construct. Update some other date/time documentation that seemed out of date for 7.3.
2002-11-21Wups, stuck ORDER BY on wrong query while trying to eliminate randomTom Lane
ordering of GROUP BY output due to hash-based aggregation.
2002-11-21Code review for superuser_reserved_connections patch. Don't try to doTom Lane
database access outside a transaction; revert bogus performance improvement in SIBackendInit(); improve comments; add documentation (this part courtesy Neil Conway).
2002-11-21NetBSD versions 1.6 and (we hope) later can use the standard geometryTom Lane
comparison file, instead of geometry-positive-zeros. Per report from Patrick Welche.
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-20Fix a dumb cut and paste error from my last commit and update some of theBarry Lind
jdbc3 metadata responses Modified Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java
2002-11-20Fixed bug reported by Marko Strukelj and Keith Wannamaker. Using executeBatchBarry Lind
on a preparedStatement would reset the prepared statment causing subsequent uses of the preparedStatement to fail (i.e. the following series of calls would fail: addBatch() executeBatch() addBatch() executBatch()). This is a regression from 7.2 where this worked correctly. The regression test has also been modified to explicitly test for this case. Modified Files: jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java
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-19Update regression for ALL missing from CLUSTER.Bruce Momjian
2002-11-19Most of the code follows the American spelling of the word, which isBruce Momjian
"canceled", so I changed the one remaining usage of the British spelling ("cancelled") over to the former, and updated the translation files appropriately. Neil Conway
2002-11-18Remove ALL from CLUSTER ALL. Use just CLUSTER.Bruce Momjian
2002-11-18Put back error test for DECLARE CURSOR outside a transaction block ...Tom Lane
but do it correctly now.
2002-11-18Suppress compile warning, avoid possible problems with signed vs. unsignedTom Lane
comparisons in recently-added CheckPointWarning code.
2002-11-17Reduce need for palloc/pfree overhead in varstr_cmp() by using fixed-sizeTom Lane
buffers on stack for short strings.
2002-11-16Fix CLUSTER regression failure caused by new patch, from Neil ConwayBruce Momjian
2002-11-15Add relcache support for system catalogs with attnotnull columns.Tom Lane
The code was not making TupleConstr structs for such catalogs in several places; with the consequence that the not-null constraint wasn't actually enforced. With this change, INSERT INTO pg_proc VALUES('sdf'); generates a 'Fail to add null value' error instead of a core dump.
2002-11-15Synced parser.Michael Meskes
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-15Clean up psql:Bruce Momjian
Add simple ALTER DATABASE, ALTER TRIGGER, CHECK POINT, CREATE CONVERSION, CREATE DOMAIN, CREATE LANGUAGE, DEALLOCATE, DROP CONVERSION, DROP DOMAIN, DROP LANGUAGE, EXECUTE, PREPARE Complete CAST in CREATE CAST and DROP CAST but doesn't suggest what should follow. Add many more SET / SHOW variables to the list. Taken from SHOW ALL output. Complete a case sensitive search to allow \dD, \dd, \dS, \ds, \h, \H to complete properly. But there are no matches, then try a case insensitive search to allow case conversion. Add all missing help options. \Q<tab> -> \q \dD<tab> -> \dD \dd<tab> -> \dd \D<tab><tab><tab> -> \d (with listing of \d? commands) sel<tab> -> SELECT Rod Taylor
2002-11-15pg_dump for domain constraints.Bruce Momjian
Rod Taylor
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.