- 30 8月, 2005 7 次提交
-
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
per Bruce's suggestion.
-
由 Tom Lane 提交于
Per report from Jaime Casanova.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
reality.
-
由 Tom Lane 提交于
saves nearly 700kB in the default shared memory segment size, which seems worthwhile, and it is a feature that many users won't use anyway. Per Heikki's argument, there is no point in a compromise value --- those who are using 2PC at all will probably want it at least equal to max_connections. But we can't set it to zero by default without breaking the prepared_xacts regression test.
-
由 Tom Lane 提交于
it can be done right. Allow explicit use of absolute DataDir path. Per Dave Page.
-
- 29 8月, 2005 11 次提交
-
-
由 Tom Lane 提交于
-
由 Bruce Momjian 提交于
will use pthreadGC2. Dave Page
-
由 Tom Lane 提交于
SYNC instruction.
-
由 Tom Lane 提交于
got an empty bitmap after any step; the remaining subplans can no longer affect the result. Per a suggestion from Ilia Kantor.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
> * Add function to return the thread safety status of libpq and ecpg
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
to cope with a group name when dumping from a pre-8.1 installation. Per report from Stefan Kaltenbrunner.
-
- 28 8月, 2005 5 次提交
-
-
由 Tom Lane 提交于
are cases where it appears to have zero run cost.
-
由 Tom Lane 提交于
so that the latter estimates the number of groups that grouping will produce. This is needed because it is primarily query_planner that makes the decision between fast-start and fast-finish plans, and in the original coding it was unable to make more than a crude rule-of-thumb choice when the query involved grouping. This revision helps us make saner choices for queries like SELECT ... GROUP BY ... LIMIT, as in a recent example from Mark Kirkwood. Also move the responsibility for canonicalizing sort_pathkeys and group_pathkeys into query_planner; this information has to be available anyway to support the first change, and doing it this way lets us get rid of compare_noncanonical_pathkeys entirely.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
to copy the whole plan tree before invoking adjust_plan_varnos(); else if there is any multiply-linked substructure, the latter might increment some Var's varno twice. Previously there were some retail copyObject calls inside adjust_plan_varnos, but it seems a lot safer to just dup the whole tree first. Also, set_inner_join_references was trying to avoid work by not recursing if a BitmapHeapScan's bitmapqualorig contained no outer references; which was OK at the time the code was written, I think, but now that create_bitmap_scan_plan removes duplicate clauses from bitmapqualorig it is possible for that field to be NULL while outer references still remain in the qpqual and/or contained indexscan nodes. For safety, always recurse even if the BitmapHeapScan looks to be outer reference free. Per reports from Michael Fuhr and Oleg Bartunov.
-
由 Tom Lane 提交于
the reference I consulted yesterday said SC does a SYNC, but apparently this is not true on newer MIPS processors, so be safe.
-
- 27 8月, 2005 11 次提交
-
-
由 Bruce Momjian 提交于
sql_information_info -> sql_implementation_info Robert Treat
-
由 Bruce Momjian 提交于
> * Allow user-defined types to specify a type modifier at table creation > time
-
由 Bruce Momjian 提交于
> > Another issue is whether underlying table changes should be reflected > in the view, e.g. should SELECT * show additional columns if they > are added after the view is created.
-
由 Tom Lane 提交于
but for sure it's not any more broken than the prior version.
-
由 Bruce Momjian 提交于
> o Issue a warning if a change-on-restart-only postgresql.conf value > is modified and the server config files are reloaded > o Mark change-on-restart-only values in postgresql.conf 205a209 > o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
-
由 Bruce Momjian 提交于
> > Currently, while \e saves a single query as one entry, interactive > queries are saved one line at a time. Ideally all queries > whould be saved like \e does. > > o Allow multi-line column values to align in the proper columns > > If the second output column value is 'a\nb', the 'b' should appear > in the second display column, rather than the first column as it > does now.
-
由 Bruce Momjian 提交于
< in PL/PgSQL is to use EXECUTE. > in PL/PgSQL is to use EXECUTE. One complexity is that a function > might itself drop and recreate dependent tables, causing it to > invalidate its own query plan.
-
由 Bruce Momjian 提交于
< inheritance, and allow it to work for UPDATE and DELETE queries > inheritance, allow it to work for UPDATE and DELETE queries, and allow > it to be used for all queries with little performance impact < * Allow constraint_elimination to be automatically performed < < This requires additional code to reduce the performance loss caused by < constraint elimination.
-
由 Bruce Momjian 提交于
< * -Allow limits on per-db/role connections 43d41 < * -Prevent dropping user that still owns objects, or auto-drop the objects 49d46 < * -Add the client IP address and port to pg_stat_activity < * -Add session start time and last statement time to pg_stat_activity < * -Add a function that returns the start time of the postmaster 230d224 < o -Allow MIN()/MAX() on arrays < o -Modify array literal representation to handle array index lower bound < of other than one 253d244 < * -Add function to return compressed length of TOAST data values < * -Prevent to_char() on interval from returning meaningless values < < For example, to_char('1 month', 'mon') is meaningless. Basically, < most date-related parameters to to_char() are meaningless for < intervals because interval is not anchored to a date. < < * -Have views on temporary tables exist in the temporary namespace < * -Allow temporary views on non-temporary tables 329d311 < * -Add BETWEEN SYMMETRIC/ASYMMETRIC < * -Add E'' escape string marker so eventually ordinary strings can treat < backslashes literally, for portability < < * -Allow additional tables to be specified in DELETE for joins < < UPDATE already allows this (UPDATE...FROM) but we need similar < functionality in DELETE. It's been agreed that the keyword should < be USING, to avoid anything as confusing as DELETE FROM a FROM b. < 341d313 < * -Allow REINDEX to rebuild all database indexes < * -Add an option to automatically use savepoints for each statement in a < multi-statement transaction. < < When enabled, this would allow errors in multi-statement transactions < to be automatically ignored. < 426d391 < o -Allow FOR UPDATE queries to do NOWAIT locks 473d437 < o -Allow COPY to understand \x as a hex byte < o -Allow COPY to optionally include column headings in the first line < o -Allow COPY FROM ... CSV to interpret newlines and carriage < returns in data 525d485 < o -Have SHOW ALL show descriptions for server-side variables < o -Allow PL/PgSQL's RAISE function to take expressions < < Currently only constants are supported. < < o -Change PL/PgSQL to use palloc() instead of malloc() 545d499 < o -Allow PL/pgSQL EXECUTE query_var INTO record_var; 550d503 < o -Pass arrays natively instead of as text between plperl and postgres 598d550 < o -Add dumping and restoring of LOB comments 638d589 < * -Implement shared row locks and use them in RI triggers 642d592 < * -Allow triggers to be disabled < * -Add two-phase commit < < < * -Prevent inherited tables from expanding temporary subtables of other < sessions < * -Use indexes for MIN() and MAX() < < MIN/MAX queries can already be rewritten as SELECT col FROM tab ORDER < BY col {DESC} LIMIT 1. Completing this item involves doing this < transformation automatically. < < * -Use index to restrict rows returned by multi-key index when used with < non-consecutive keys to reduce heap accesses < < For an index on col1,col2,col3, and a WHERE clause of col1 = 5 and < col3 = 9, spin though the index checking for col1 and col3 matches, < rather than just col1; also called skip-scanning. < < * -Fetch heap pages matching index entries in sequential order < < Rather than randomly accessing heap pages based on index entries, mark < heap pages needing access in a bitmap and do the lookups in sequential < order. Another method would be to sort heap ctids matching the index < before accessing the heap rows. < < * -Allow non-bitmap indexes to be combined by creating bitmaps in memory < < This feature allows separate indexes to be ANDed or ORed together. This < is particularly useful for data warehousing applications that need to < query the database in an many permutations. This feature scans an index < and creates an in-memory bitmap, and allows that bitmap to be combined < with other bitmap created in a similar way. The bitmap can either index < all TIDs, or be lossy, meaning it records just page numbers and each < page tuple has to be checked for validity in a separate pass. < < * -Fix incorrect rtree results due to wrong assumptions about "over" < operator semantics 782d694 < o -Add concurrency to GIST 813d724 < * -Allow multiple blocks to be written to WAL with one write() < * -Consider use of open/fcntl(O_DIRECT) to minimize OS caching, < for WAL writes < < O_DIRECT doesn't have the same media write guarantees as fsync, so it < is in addition to the fsync method, not in place of it. < < * -Cache last known per-tuple offsets to speed long tuple access < * -Allow the size of the buffer cache used by temporary objects to be < specified as a GUC variable < < Larger local buffer cache sizes requires more efficient handling of < local cache lookups. < < * -Improve the background writer < < Allow the background writer to more efficiently write dirty buffers < from the end of the LRU cache and use a clock sweep algorithm to < write other dirty buffers to reduced checkpoint I/O < 897d788 < * -Add a warning when the free space map is too small 917d807 < o -Move into the backend code < * -Make locking of shared data structures more fine-grained < < This requires that more locks be acquired but this would reduce lock < contention, improving concurrency. < < * -Improve SMP performance on i386 machines < < i386-based SMP machines can generate excessive context switching < caused by lock failure in high concurrency situations. This may be < caused by CPU cache line invalidation inefficiencies. < 979d857 < o -Add ability to turn off full page writes < * -Eliminate WAL logging for CREATE TABLE AS when not doing WAL archiving < * -Change WAL to use 32-bit CRC, for performance reasons < < * -Use CHECK constraints to influence optimizer decisions < < CHECK constraints contain information about the distribution of values < within the table. This is also useful for implementing subtables where < a tables content is distributed across several subtables. < 1045d913 < * -ANALYZE should record a pg_statistic entry for an all-NULL column 1099d966 < * -Remove kerberos4 from source tree 1103d969 < * -Make src/port/snprintf.c thread-safe 1118d983 < * -Add C code on Unix to copy directories for use in creating new databases 1133d997 < o -Improve dlerror() reporting string
-
由 Bruce Momjian 提交于
< Currently SIGTERM of a backend can lead to lock table corruption. > Lock table corruption following SIGTERM of an individual backend > has been reported in 8.0. A possible cause was fixed in 8.1, but > it is unknown whether other problems exist. This item mostly > requires additional testing rather than of writing any new code. < o Allow postgresql.conf values to be set so they can not be changed < by the user 166c167,171 < * %Remove Money type, add money formatting for decimal type > * Improve the MONEY data type > > Change the MONEY data type to use DECIMAL internally, with special > locale-aware output formatting. > 225c230 < o %Allow MIN()/MAX() on arrays > o -Allow MIN()/MAX() on arrays 228c233 < o Modify array literal representation to handle array index lower bound > o -Modify array literal representation to handle array index lower bound 235a241 > o Auto-delete large objects when referencing row is deleted < Currently large objects entries do not have owners. Permissions can < only be set at the pg_largeobject table level. > /contrib/lo offers this functionality. 240d244 < o Auto-delete large objects when referencing row is deleted < * %Have views on temporary tables exist in the temporary namespace < * Allow temporary views on non-temporary tables < * %Allow RULE recompilation > * -Have views on temporary tables exist in the temporary namespace > * -Allow temporary views on non-temporary tables > * Allow VIEW/RULE recompilation when the underlying tables change 340a345,347 > > This is like DELETE CASCADE, but truncates. > 381c388 < * Make row-wise comparisons work per SQL spec > * %Make row-wise comparisons work per SQL spec < o Currently the system uses the operating system COPY command to < create a new database. Add ON COMMIT capability to CREATE TABLE AS < SELECT > o Add ON COMMIT capability to CREATE TABLE AS ... SELECT 427c432 < o %Add ALTER DOMAIN TYPE > o Add ALTER DOMAIN to modify the underlying data type < o %Disallow dropping of an inherited constraint < o -Allow objects to be moved to different schemas > o Add missing object types for ALTER ... SET SCHEMA < o %Prevent child tables from altering constraints like CHECK that were < inherited from the parent table > o %Disallow dropping of an inherited constraint > o %Prevent child tables from altering or dropping constraints > like CHECK that were inherited from the parent table < o Handle references to temporary tables that are created, destroyed, < then recreated during a session, and EXECUTE is not used < < This requires the cached PL/PgSQL byte code to be invalidated when < an object referenced in the function is changed. < < o Add table function support to pltcl, plperl, plpython? < o Allow PL/pgSQL to name columns by ordinal position, e.g. rec.(3) > o Add table function support to pltcl, plpython 549a548 > o Allow function argument names to be queries from PL/PgSQL < o Pass arrays natively instead of as text between plperl and postgres < o Add support for polymorphic arguments and return types to plperl > o -Pass arrays natively instead of as text between plperl and postgres > o Add support for polymorphic arguments and return types to > languages other than PL/PgSQL > o Add support for OUT and INOUT parameters to languages other > than PL/PgSQL < * Allow libpq to access SQLSTATE so pg_ctl can test for connection failure < < This would be used for checking if the server is up. < 565c563 < * Have initdb set DateStyle based on locale? > * Have initdb set the input DateStyle (MDY or DMY) based on locale? 567d564 < * Add a schema option to createlang < o Add pg_dumpall custom format dumps. < < This is probably best done by combining pg_dump and pg_dumpall < into a single binary. < > o Add pg_dumpall custom format dumps? 612c605,606 < o Remove unnecessary abstractions in pg_dump source code > o Remove unnecessary function pointer abstractions in pg_dump source > code < * %Remove CREATE CONSTRAINT TRIGGER < < This was used in older releases to dump referential integrity < constraints. < 682a672,675 > This is particularly important for references to temporary tables > in PL/PgSQL because PL/PgSQL caches query plans. The only workaround > in PL/PgSQL is to use EXECUTE. > 748c741 < * Fetch heap pages matching index entries in sequential order > * -Fetch heap pages matching index entries in sequential order 797c790 < Currently no only one hash bucket can be stored on a page. Ideally > Currently only one hash bucket can be stored on a page. Ideally 806a800,802 > o Add WAL logging for crash recovery > o Allow multi-column hash indexes > 812a809,812 > > Ideally this requires a separate test program that can be run > at initdb time or optionally later. > 867c867 < * Improve the background writer > * -Improve the background writer < For large table adjustements during vacuum, it is faster to reindex < rather than update the index. > For large table adjustements during VACUUM FULL, it is faster to > reindex rather than update the index. < * Reduce lock time by moving tuples with read lock, then write < lock and truncate table > * Reduce lock time during VACUUM FULL by moving tuples with read lock, > then write lock and truncate table 919c919,920 < o %Suggest VACUUM FULL if a table is nearly empty > o %Issue log message to suggest VACUUM FULL if a table is nearly > empty? 995d995 < * Add WAL index reliability improvement to non-btree indexes 1045c1045 < * ANALYZE should record a pg_statistic entry for an all-NULL column > * -ANALYZE should record a pg_statistic entry for an all-NULL column 1047a1048,1051 > * Allow constraint_elimination to be automatically performed > > This requires additional code to reduce the performance loss caused by > constraint elimination. 1090c1094 < * Remove memory/file descriptor freeing before ereport(ERROR) > * %Remove memory/file descriptor freeing before ereport(ERROR) < * Promote debug_query_string into a server-side function current_query() < * Allow the identifier length to be increased via a configure option > * %Promote debug_query_string into a server-side function current_query() > * %Allow the identifier length to be increased via a configure option 1113d1116 < * Fix cross-compiling of time zone database via 'zic' 1130c1133 < o Improve dlerror() reporting string > o -Improve dlerror() reporting string 1132c1135 < o Add support for Unicode > o %Add support for Unicode
-
由 Tom Lane 提交于
code as we use on other platforms when encoding is not UTF8.
-
- 26 8月, 2005 5 次提交
-
-
由 Tom Lane 提交于
definitions on recent Linux systems, per Martin Pitt.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
the parent table, even if the command that creates them is executed by someone else (such as a superuser or a member of the owning role). Per gripe from Michael Fuhr.
-
由 Tom Lane 提交于
cover more error codes. Per Petr Jelinek.
-
由 Tom Lane 提交于
constrained GCC inline version. Thiemo Seufer, by way of Martin Pitt.
-
- 25 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
in interval_mul and interval_div. This avoids an optimization bug in A Certain Company's compiler (and given their explanation, I wouldn't be surprised if other compilers blow it too). Besides the code seems more clear this way --- in the original formulation, you had to mentally recognize the common subexpression in order to understand what was going on.
-