aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix broken non-YYDEBUG case.Tom Lane2006-02-09
|
* Added just another test case.Michael Meskes2006-02-08
| | | | | | | Fixed missing continuation line character. Do not translate $-quoting. Bit field notation belongs to a variable not a variable list. Output of line number only done by one function.
* Remove ancient hack to work around a peculiarity of libcurses on HPUX.Tom Lane2006-02-07
| | | | | Since we now use libtermcap in preference to libcurses, no need for hack anymore.
* Source code cleanup.Bruce Momjian2006-02-07
|
* I think that NUMERIC datatype has a problem in the performance thatBruce Momjian2006-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the format on Tuple(Numeric) and the format to calculate(NumericVar) are different. I understood that to reduce I/O. However, when many comparisons or calculations of NUMERIC are executed, the conversion of Numeric and NumericVar becomes a bottleneck. It is profile result when "create index on NUMERIC column" is executed: % cumulative self self total time seconds seconds calls s/call s/call name 17.61 10.27 10.27 34542006 0.00 0.00 cmp_numerics 11.90 17.21 6.94 34542006 0.00 0.00 comparetup_index 7.42 21.54 4.33 71102587 0.00 0.00 AllocSetAlloc 7.02 25.64 4.09 69084012 0.00 0.00 set_var_from_num 4.87 28.48 2.84 69084012 0.00 0.00 alloc_var 4.79 31.27 2.79 142205745 0.00 0.00 AllocSetFreeIndex 4.55 33.92 2.65 34542004 0.00 0.00 cmp_abs 4.07 36.30 2.38 71101189 0.00 0.00 AllocSetFree 3.83 38.53 2.23 69084012 0.00 0.00 free_var The create index command executes many comparisons of Numeric values. Functions other than comparetup_index spent a lot of cycles for conversion from Numeric to NumericVar. An attached patch enables the comparison of Numeric values without executing conversion to NumericVar. The execution time of that SQL becomes half. o Test SQL (index_test table has 1,000,000 tuples) create index index_test_idx on index_test(num_col); o Test results (executed the test five times) (1)PentiumIII original: 39.789s 36.823s 36.737s 37.752s 37.019s patched : 18.560s 19.103s 18.830s 18.408s 18.853s 4.07 36.30 2.38 71101189 0.00 0.00 AllocSetFree 3.83 38.53 2.23 69084012 0.00 0.00 free_var The create index command executes many comparisons of Numeric values. Functions other than comparetup_index spent a lot of cycles for conversion from Numeric to NumericVar. An attached patch enables the comparison of Numeric values without executing conversion to NumericVar. The execution time of that SQL becomes half. o Test SQL (index_test table has 1,000,000 tuples) create index index_test_idx on index_test(num_col); o Test results (executed the test five times) (1)PentiumIII original: 39.789s 36.823s 36.737s 37.752s 37.019s patched : 18.560s 19.103s 18.830s 18.408s 18.853s (2)Pentium4 original: 16.349s 14.997s 12.979s 13.169s 12.955s patched : 7.005s 6.594s 6.770s 6.740s 6.828s (3)Itanium2 original: 15.392s 15.447s 15.350s 15.370s 15.417s patched : 7.413s 7.330s 7.334s 7.339s 7.339s (4)Ultra Sparc original: 64.435s 59.336s 59.332s 58.455s 59.781s patched : 28.630s 28.666s 28.983s 28.744s 28.595s Atsushi Ogawa
* Remove question mark:Bruce Momjian2006-02-07
| | | | | < * %Disallow changing default expression of a SERIAL column? > * %Disallow changing default expression of a SERIAL column
* Make --version option print fixed program name.Peter Eisentraut2006-02-07
|
* Remove some checks for libraries that no one can identify. We'll see howPeter Eisentraut2006-02-07
| | | | that works out...
* Split up wal-logging items:Bruce Momjian2006-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < * Allow control over which tables are WAL-logged [walcontrol] > * Allow WAL logging to be turned off for a table, but the table > might be dropped or truncated during crash recovery [walcontrol] < commit. To do this, only a single writer can modify the table, and < writes must happen only on new pages. Readers can continue accessing < the table. This would affect COPY, and perhaps INSERT/UPDATE too. < Another option is to avoid transaction logging entirely and truncate < or drop the table on crash recovery. These should be implemented < using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE | < STABLE | DEFAULT ]. Tables using non-default logging should not use < referential integrity with default-logging tables, and tables using < stable logging probably can not have indexes. One complexity is < the handling of indexes on TOAST tables. > commit. This should be implemented using ALTER TABLE, e.g. ALTER > TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ]. Tables using > non-default logging should not use referential integrity with > default-logging tables. A table without dirty buffers during a > crash could perhaps avoid the drop/truncate. > > * Allow WAL logging to be turned off for a table, but the table would > avoid being truncated/dropped [walcontrol] > > To do this, only a single writer can modify the table, and writes > must happen only on new pages so the new pages can be removed during > crash recovery. Readers can continue accessing the table. Such > tables probably cannot have indexes. One complexity is the handling > of indexes on TOAST tables.
* Fix HTML alignment in PQprint.Bruce Momjian2006-02-07
| | | | Christoph Zwerschke
* Improve the tests to see if ScalarArrayOpExpr is strict. Original codingTom Lane2006-02-06
| | | | | | would basically punt in all cases for 'foo <> ALL (array)', which resulted in a performance regression for NOT IN compared to what we were doing in 8.1 and before. Per report from Pavel Stehule.
* Check number of affixes to prevent core dump with zero number of affixesTeodor Sigaev2006-02-06
|
* Fix PQprint HTML tag, "centre" -> "center".Bruce Momjian2006-02-06
|
* Fix pg_restore to properly discard COPY data when trying to continueTom Lane2006-02-05
| | | | | | | after an error in a COPY statement. Formerly it thought the COPY data was SQL commands, and got quite confused. Stephen Frost
* Fix typo in configuration docs.Bruce Momjian2006-02-05
| | | | Devrim GUNDUZ
* Improve my initial, rather hacky implementation of joins to appendTom Lane2006-02-05
| | | | | | | | relations: fix the executor so that we can have an Append plan on the inside of a nestloop and still pass down outer index keys to index scans within the Append, then generate such plans as if they were regular inner indexscans. This avoids the need to evaluate the outer relation multiple times.
* Update PL/pgSQL trigger example to be clearer about how to "merge" dataBruce Momjian2006-02-05
| | | | | | into a table. Jim C. Nasby
* Fix constraint exclusion to work in inherited UPDATE/DELETE queriesTom Lane2006-02-04
| | | | | | | | | ... in fact, it will be applied now in any query whatsoever. I'm still a bit concerned about the cycles that might be expended in failed proof attempts, but given that CE is turned off by default, it's the user's choice whether to expend those cycles or not. (Possibly we should change the simple bool constraint_exclusion parameter to something more fine-grained?)
* Fix broken markup.Tom Lane2006-02-04
|
* Added C bit fields to ecpg parserMichael Meskes2006-02-04
| | | | | | Added some default rules to lexer Added log output to prepare statement Added some more stuff to a test case
* DROP IF EXISTS for ROLE/USER/GROUPAndrew Dunstan2006-02-04
|
* Issue a warning if a change-on-restart-only postgresql.conf value isPeter Eisentraut2006-02-04
| | | | modified and the server config files are reloaded
* Update walcontrol item:Bruce Momjian2006-02-04
| | | | | | | | | < * Allow control over which tables are WAL-logged > * Allow control over which tables are WAL-logged [walcontrol] 1038c1038,1039 < stable logging probably can not have indexes. [walcontrol] > stable logging probably can not have indexes. One complexity is > the handling of indexes on TOAST tables.
* Add to TODO.detail/walcontrol.Bruce Momjian2006-02-04
|
* In ecpg, automatically double single quotes in $$ strings becauseBruce Momjian2006-02-04
| | | | | | | internally $$ strings are converted to single-quote strings. In ecpg, output newlines in commands using standard C escapes, rather than using literal newlines, which is not portable.
* Update Makefile for new thread_test location.Bruce Momjian2006-02-04
|
* Move thread_test directory from /tools to /test so source-only tarballsBruce Momjian2006-02-04
| | | | have the directory for the configure test.
* First attempt at removing some AC_CHECK_LIB(foo, main) calls.Peter Eisentraut2006-02-04
|
* Teach planner to convert simple UNION ALL subqueries into append relations,Tom Lane2006-02-03
| | | | | | | | | thereby sharing code with the inheritance case. This puts the UNION-ALL-view approach to partitioned tables on par with inheritance, so far as constraint exclusion is concerned: it works either way. (Still need to update the docs to say so.) The definition of "simple UNION ALL" is a little simpler than I would like --- basically the union arms can only be SELECT * FROM foo --- but it's good enough for partitioned-table cases.
* Update tested AIX memset platforms.Bruce Momjian2006-02-03
|
* Allow MEMSET_LOOP_LIMIT to be set on a per-platform basis, and turn offBruce Momjian2006-02-03
| | | | | | | MemSet on AIX by setting MEMSET_LOOP_LIMIT to zero. Add optimization to skip MemSet tests in MEMSET_LOOP_LIMIT == 0 case and just call memset() directly.
* Update random() usage so ranges are inclusive/exclusive as required.Bruce Momjian2006-02-03
|
* Prevent COPY from using newline or carriage return as delimiter or null.Bruce Momjian2006-02-03
| | | | | | Disallow backslash as the delimiter in non-CVS mode. David Fetter
* Improve tab whitespace in file.Bruce Momjian2006-02-03
| | | | Add comment about $$ and '' SCONST strings.
* More spacing cleanups.Bruce Momjian2006-02-02
|
* Source code alignment fixes for preproc.y.Bruce Momjian2006-02-01
|
* More alignment improvements.Bruce Momjian2006-02-01
|
* Make pgc.l source code alignment consistent.Bruce Momjian2006-02-01
|
* Add:Bruce Momjian2006-02-01
| | | | | | > * Allow statistics collector information to be pulled from the collector > process directly, rather than requiring the collector to write a > filesystem file twice a second?
* Add code comment about Linux stack randomization and shared memory.Bruce Momjian2006-02-01
|
* Fix const cast in get_progname().Bruce Momjian2006-02-01
| | | | Backpatch.
* Set progname early in the postmaster/postgres binary, rather than doingBruce Momjian2006-02-01
| | | | | | | | | | it later. This fixes a problem where EXEC_BACKEND didn't have progname set, causing a segfault if log_min_messages was set below debug2 and our own snprintf.c was being used. Also alway strdup() progname. Backpatch to 8.1.X and 8.0.X.
* Move items:Bruce Momjian2006-02-01
| | | | | | | > * Add SQL99 WITH clause to SELECT > * Add SQL99 WITH RECURSIVE to SELECT < * Add SQL99 WITH clause to SELECT < * Add SQL99 WITH RECURSIVE to SELECT
* Add:Bruce Momjian2006-02-01
| | | | | | | | | | | | > > o Prevent tab completion of SET TRANSACTION from querying the > database and therefore preventing the transaction isolation > level from being set. > > Currently, SET <tab> causes a database lookup to check all > supported session variables. This query causes problems > because setting the transaction isolation level must be the > first statement of a transaction.
* Allow %TYPE to be used with SETOF, per gripe from Murat Tasan.Tom Lane2006-01-31
|
* Restructure planner's handling of inheritance. Rather than processingTom Lane2006-01-31
| | | | | | | | | | | | | inheritance trees on-the-fly, which pretty well constrained us to considering only one way of planning inheritance, expand inheritance sets during the planner prep phase, and build a side data structure that can be consulted later to find which RTEs are members of which inheritance sets. As proof of concept, use the data structure to plan joins against inheritance sets more efficiently: we can now use indexes on the set members in inner-indexscan joins. (The generated plans could be improved further, but it'll take some executor changes.) This data structure will also support handling UNION ALL subqueries in the same way as inheritance sets, but that aspect of it isn't finished yet.
* Removed single quotes from connect to example.Michael Meskes2006-01-31
|
* Fix ALTER COLUMN TYPE bug: it sometimes tried to drop UNIQUE or PRIMARY KEYTom Lane2006-01-30
| | | | | constraints before FOREIGN KEY constraints that depended on them. Originally reported by Neil Conway on 29-Jun-2005. Patch by Nakano Yoshihisa.
* When building a bitmap scan, must copy the bitmapqualorig expression treeTom Lane2006-01-29
| | | | | | | | to avoid sharing substructure with the lower-level indexquals. This is currently only an issue if there are SubPlans in the indexquals, which is uncommon but not impossible --- see bug #2218 reported by Nicholas Vinen. We use the same kluge for indexqual vs indexqualorig in the index scans themselves ... would be nice to clean this up someday.
* Fix Assert that's no longer correct now that RowCompareExpr is indexable.Tom Lane2006-01-29
|