aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Restructure outfuncs and readfuncs to use macros in the same style asTom Lane2002-11-25
| | | | | | | | 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).
* Un-break triggers declared for INSERT OR DELETE OR UPDATE. This workedTom Lane2002-11-25
| | | | | okay in 7.3, so I think it must have been busted in the recent triggers patch.
* Restructure the code in copyfuncs and equalfuncs to put much heavierTom Lane2002-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* I'm sending you a small patch to pgdb.py module. ThisD'Arcy J.M. Cain2002-11-25
| | | | | | | | | | | | | | 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.
* Change the pkey method so that the caller can optionally set the dictionaryD'Arcy J.M. Cain2002-11-25
| | | | | | | | | 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.
* Change the debug variable to allow better control by the caller over howD'Arcy J.M. Cain2002-11-25
| | | | | | | | | | | | | 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.
* Restructure planning of nestloop inner indexscans so that the set of usableTom Lane2002-11-24
| | | | | | | | | | | 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.
* Fix regression test breakage from triggers patch.Tom Lane2002-11-23
|
* Fix compile warnings from truncate patch.Tom Lane2002-11-23
|
* Update regression for new patches. Bump up catversion.Bruce Momjian2002-11-23
|
* Heres a patch which will create the sql_help.h file on Win32 if itBruce Momjian2002-11-23
| | | | | | | 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
* Transaction safe TruncateBruce Momjian2002-11-23
| | | | Rod Taylor
* This patch implements FOR EACH STATEMENT triggers, per my email toBruce Momjian2002-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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
* Redesign internal logic of nodeLimit so that it does not need to fetchTom Lane2002-11-22
| | | | | | 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.
* Fix a dozen or so places that were passing unpredictable data stringsTom Lane2002-11-22
| | | | | as elog format strings. Hai-Chen Tu pointed out the problem in contrib/dbmirror, but it wasn't the only such error.
* Quote database name properly when invoking pg_dump. Per report fromTom Lane2002-11-22
| | | | Christopher Kings-Lynne.
* TAS code originally written for s390 (32-bit) does not work for s390xTom Lane2002-11-22
| | | | (64-bit). Fix it. Per report from Permaine Cheung.
* Fix breakage in new-in-7.3 timetz_zone() function: was giving randomTom Lane2002-11-21
| | | | | | 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.
* Wups, stuck ORDER BY on wrong query while trying to eliminate randomTom Lane2002-11-21
| | | | ordering of GROUP BY output due to hash-based aggregation.
* Code review for superuser_reserved_connections patch. Don't try to doTom Lane2002-11-21
| | | | | | database access outside a transaction; revert bogus performance improvement in SIBackendInit(); improve comments; add documentation (this part courtesy Neil Conway).
* NetBSD versions 1.6 and (we hope) later can use the standard geometryTom Lane2002-11-21
| | | | | comparison file, instead of geometry-positive-zeros. Per report from Patrick Welche.
* Finish implementation of hashed aggregation. Add enable_hashagg GUCTom Lane2002-11-21
| | | | | | 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.
* Fix a dumb cut and paste error from my last commit and update some of theBarry Lind2002-11-20
| | | | | | | | jdbc3 metadata responses Modified Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java
* Fixed bug reported by Marko Strukelj and Keith Wannamaker. Using executeBatchBarry Lind2002-11-20
| | | | | | | | | | | | | 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
* Add an at-least-marginally-plausible method of estimating the numberTom Lane2002-11-19
| | | | | | 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.
* Update regression for ALL missing from CLUSTER.Bruce Momjian2002-11-19
|
* Most of the code follows the American spelling of the word, which isBruce Momjian2002-11-19
| | | | | | | | "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
* Remove ALL from CLUSTER ALL. Use just CLUSTER.Bruce Momjian2002-11-18
|
* Put back error test for DECLARE CURSOR outside a transaction block ...Tom Lane2002-11-18
| | | | but do it correctly now.
* Suppress compile warning, avoid possible problems with signed vs. unsignedTom Lane2002-11-18
| | | | comparisons in recently-added CheckPointWarning code.
* Reduce need for palloc/pfree overhead in varstr_cmp() by using fixed-sizeTom Lane2002-11-17
| | | | buffers on stack for short strings.
* Fix CLUSTER regression failure caused by new patch, from Neil ConwayBruce Momjian2002-11-16
|
* Add relcache support for system catalogs with attnotnull columns.Tom Lane2002-11-15
| | | | | | | | 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.
* Synced parser.Michael Meskes2002-11-15
|
* New version attached. The following is implemented:Bruce Momjian2002-11-15
| | | | | | | | | | | - 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
* Clean up psql:Bruce Momjian2002-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* pg_dump for domain constraints.Bruce Momjian2002-11-15
| | | | Rod Taylor
* Add DOMAIN check constraints.Bruce Momjian2002-11-15
| | | | Rod Taylor
* Add checkpoint_warning to warn of excessive checkpoints caused by tooBruce Momjian2002-11-15
| | | | few WAL files.
* Push qual clauses containing subplans to the back of the qual listTom Lane2002-11-15
| | | | at each plan node. Per gripe from Ross Reedstrom.
* Rename hostname_lookup to log_hostname.Bruce Momjian2002-11-15
|
* Rename show_source_port to log_source_port.Bruce Momjian2002-11-15
|
* Rename show_btree_build_stats to log_btree_build_statsBruce Momjian2002-11-15
|
* Rename:Bruce Momjian2002-11-15
| | | | | | | | | | | | | | ! #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
* Rename server_min_messages to log_min_messages. Part of consolidationBruce Momjian2002-11-14
| | | | of log_ settings.
* Fix planning bug introduced in recent code reorganization for hashedTom Lane2002-11-14
| | | | | aggregates: tuple_fraction has to be adjusted before passing it to compare_fractional_path_costs().
* Applied patch submitted by Mats Lofkvist fixing serious threading problem ↵Barry Lind2002-11-14
| | | | | | | | | | | | | | | introduced in beta3. Fixed bug with using setNull()(or setXXX(x, null)) and serverside prepare statements. Improved error message when using a connection object that has already been closed. Modified Files: jdbc/org/postgresql/errors.properties jdbc/org/postgresql/core/Encoding.java jdbc/org/postgresql/core/QueryExecutor.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
* There was an error in the gcc portion of the patch I sent you. Here isBruce Momjian2002-11-14
| | | | | | the fix. Billy G. Allie
* Allow +1300 as a numeric timezone specifier; we already accept FJST as ↵Tom Lane2002-11-13
| | | | meaning +1300.
* Use cat instead of echo or awk, to avoid portability problems with backslashes.Tom Lane2002-11-13
|