git.postgresql.org Git - postgresql.git/log
> o Add PL/Python tracebacks
>
> http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php
Add:
> o Fix problems with RETURN NEXT on tables with
> dropped/added columns after function creation
>
> http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
Add URL for:
> * Allow protocol-level BIND parameter values to be logged
>
> http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
Add to locale TODO.detail.
Add URL for ISO date/time syntax:
>
> http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
>
Add LDAP documentation missed in code patch.
Magnus Hagander
Update preload_library magic block wording.
Test for POSIX_FADV_DONTNEED to use posix_fadvise().
Fix:
< get_employee_salary(emp_id AS 12345, tax_year AS 2001)
> get_employee_salary(12345 AS emp_id, 2001 AS tax_year)
Update magic block wording for preloaded libraries.
Use posix_fadvise() to avoid kernel caching of WAL contents on WAL file
close.
ITAGAKI Takahiro
Add STRICT to PL/pgSQL SELECT INTO, so exceptions are thrown if more or
less than one row is returned by the SELECT, for Oracle PL/SQL
compatibility.
Improve SELECT INTO documentation.
Matt Miller
Fix to_ascii() markup error.
Add mention that preload_libraries check the magic block, so
non-PostgreSQL libraries cannot be loaded using this capability.
Update syntax suggestion:
< get_employee_salary(emp_id => 12345, tax_year => 2001)
> get_employee_salary(emp_id AS 12345, tax_year AS 2001)
Move list of supported to_ascii() encodings from footnote to main
description.
Nis Jorgensen
Add:
>
> o Fix memory leak from exceptions
>
> http://archives.postgresql.org/pgsql-performance/2006-06/msg00305.php
Clarify dynamic pl/pgsql item and add URLs. Restructure server-side
section into PL/pgSQL and non-PL/pgSQL sections:
< o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
< o Allow function parameters to be passed by name,
< get_employee_salary(emp_id => 12345, tax_year => 2001)
< o Add Oracle-style packages
< o Add table function support to pltcl, plpython
< o Add capability to create and call PROCEDURES
< o Allow PL/pgSQL to handle %TYPE arrays, e.g. tab.col%TYPE[]
< o Allow function argument names to be statements from PL/PgSQL
< o Add MOVE to PL/pgSQL
< 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
< o Add single-step debugging of PL/PgSQL functions
< o Allow PL/PgSQL to support WITH HOLD cursors
< o Allow PL/PgSQL RETURN to return row or record functions
<
< http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
> o PL/pgSQL
> o Fix RENAME to work on variables other than OLD/NEW
> o Allow function parameters to be passed by name,
> get_employee_salary(emp_id => 12345, tax_year => 2001)
> o Add Oracle-style packages
> o Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
> o Allow listing of record column names, and access to
> record columns via variables, e.g. columns := r.(*),
> tval2 := r.(colname)
>
> http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php
> http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php
> http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php
>
> o Add MOVE
> o Add single-step debugging of functions
> o Add support for WITH HOLD cursors
> o Allow PL/RETURN to return row or record functions
>
> http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
>
>
> o Other
> o Add table function support to pltcl, plpython
> o Add support for polymorphic arguments and return types to
> languages other than PL/PgSQL
> o Add capability to create and call PROCEDURES
> o Add support for OUT and INOUT parameters to languages other
> than PL/PgSQL
Add:
> o Allow PL/PgSQL RETURN to return row or record functions
>
> http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
Done, removed:
<
< * Consider padding the spinlock structure to have spinlock registers
< on different CPU cache line
<
< http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
Tom Lane [2006年6月15日 02:08:09 +0000 (02:08 +0000)]
Remove the limit on the number of entries allowed in catcaches, and
remove the infrastructure needed to enforce the limit, ie, the global
LRU list of cache entries. On small-to-middling databases this wins
because maintaining the LRU list is a waste of time. On large databases
this wins because it's better to keep more cache entries (we assume
such users can afford to use some more per-backend memory than was
contemplated in the Berkeley-era catcache design). This provides a
noticeable improvement in the speed of psql \d on a 10000-table
database, though it doesn't make it instantaneous.
While at it, use per-catcache settings for the number of hash buckets
per catcache, rather than the former one-size-fits-all value. It's a
bit silly to be using the same number of hash buckets for, eg, pg_am
and pg_attribute. The specific values I used might need some tuning,
but they seem to be in the right ballpark based on CATCACHE_STATS
results from the standard regression tests.
Add to locale TODO.detail.
Remove, done:
<
< * Add support for WIN1253 (Greek) encoding
<
< http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
Add:
>
> * Add support for WIN1253 (Greek) encoding
>
> http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
Add URL to ILIKE encoding fix:
> http://archives.postgresql.org/pgsql-patches/2005-11/msg00173.php
Add:
>
> * Consider increasing internal areas when shared buffers is increased
>
> http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php
Already done:
<
< o Properly mark all libpq-exported functions with "PQ"
<
< http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
Done by Peter:
< * Improve the information schema to be more standards-compliant:
<
< http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
Add:
>
> o Properly mark all libpq-exported functions with "PQ"
>
> http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
Add:
>
> * Consider padding the spinlock structure to have spinlock registers
> on different CPU cache line
>
> http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
Add item, not fixed:
>
> * Fix ILIKE and regular expressions to handle case insensitivity
> properly in multibyte encodings
>
> http://archives.postgresql.org/pgsql-bugs/2005-10/msg00001.php
Remove, already in back branches:
<
< o Add new version of PQescapeString() that doesn't double backslashes
< that are part of a client-only multibyte sequence
<
< Single-quote is not a valid byte in any supported client-only
< encoding. This requires using mblen() to determine if the
< backslash is inside or outside a multi-byte sequence.
<
< o Add new version of PQescapeString() that doesn't double
< backslashes when standard_conforming_strings is true and
< non-E strings are used
Done:
> o -Port contrib/xml2
Add information schema item:
> * Improve the information schema to be more standards-compliant:
>
> http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
> * Add URL to more complete multi-byte regression tests
>
> http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
< * Add URL to more complete multi-byte regression tests
<
< http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
Add COPY views patch URL:
> http://archives.postgresql.org/pgsql-patches/2005-09/msg00148.php
Add:
>
> o Add API for 64-bit large object access
>
> http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php
Keep TODO.detail until item is done:
< o %Allow pg_dump to use multiple -t and -n switches
> o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
Add URL, remove TODO.detail:
< o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
> o %Allow pg_dump to use multiple -t and -n switches
>
> http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
>
Add locale/encoding references:
< Right now only one encoding is allowed per database.
> Right now only one encoding is allowed per database. [locale]
> * Add CREATE COLLATE? [locale]
Add locale TODO.detail emails.
Update link to TODO.detail:
< o Check WSACancelBlockingCall() for interrupts (win32intr)
> o Check WSACancelBlockingCall() for interrupts [win32intr]
Add:
> o Fix problem when cascading referential triggers make changes on
> cascaded tables, seeing the tables in an intermediate state
>
> http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
> http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
Added:
>
> * Add URL to more complete multi-byte regression tests
>
> http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
Add entry:
> * Allow user-defined types to accept 'typmod' parameters
> http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
> http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
Tom Lane [2006年6月14日 17:49:25 +0000 (17:49 +0000)]
Further thoughts about lo_export/lo_import error handling: if one of
the lower-level large object functions fails, it will have already set
a suitable error message --- probably something from the backend ---
and it is not useful to overwrite that with a generic 'error while
reading large object' message. So remove redundant messages.
Tom Lane [2006年6月14日 16:49:03 +0000 (16:49 +0000)]
Clean up psql's control-C handling to avoid longjmp'ing out of random
places --- that risks corrupting data structures, losing sync with the
backend, etc. We now longjmp only from calls to readline, fgets, and
fread, which we assume are coded to protect themselves against interrupts
at undesirable times. This requires adding explicit tests for
cancel_pressed in long-running loops, but on the whole it's far cleaner.
Martijn van Oosterhout and Tom Lane.
Tom Lane [2006年6月14日 01:28:55 +0000 (01:28 +0000)]
Improve error detection and recovery in lo_import()/lo_export().
Problems noted while experimenting with new control-C code for psql.
Tom Lane [2006年6月14日 01:24:14 +0000 (01:24 +0000)]
Do a CHECK_FOR_INTERRUPTS immediately before terminating a fastpath
function call. Previously, there may have been no CHECK_FOR_INTERRUPTS
at all in the fastpath code path, making it impossible to cancel an
operation such as \lo_import externally. This addition doesn't ensure
you can cancel, since your SIGINT may arrive while the backend is idle
waiting for the client, but it gives the largest window we can easily
provide. Noted while experimenting with new control-C code for psql.
Remove:
< o %Add CSV output format
Add BY clause to PL/PgSQL FOR loop, to control the iteration increment.
Jaime Casanova
Avoid use of C commment inside C comment from recent Win32 int overflow patch.
Prevent Win32 from displaying a popup box on backend crash. Instead let
the postmaster deal with it.
Magnus Hagander
Add URL for bitmap AM:
> http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php
Win32 can't catch the exception thrown by INT_MIN / -1 or INT_MIN * -1,
so on that platform we test for those before the computation and throw
an "out of range" error.
Backpatch to 8.1.X.
Tom Lane [2006年6月12日 02:39:49 +0000 (02:39 +0000)]
Minor code cleanup: make the WIN32 case less gratuitously different from
the other platform-specific cases in ps_status.
Tom Lane [2006年6月11日 23:06:00 +0000 (23:06 +0000)]
Code review for psql multiline history patch(es). Fix memory leak,
failure to enter commands in history if canceled by control-C, other
infelicities.
Tom Lane [2006年6月11日 15:49:28 +0000 (15:49 +0000)]
Fix Assert failure when a fastpath function call is attempted inside an
already-aborted transaction block. GetSnapshotData throws an Assert if
not in a valid transaction; hence we mustn't attempt to set a snapshot
for the function until after checking for aborted transaction. This is
harmless AFAICT if Asserts aren't enabled (GetSnapshotData will compute
a bogus snapshot, but it doesn't matter since HandleFunctionRequest will
throw an error shortly anywy). Hence, not a major bug.
Along the way, add some ability to log fastpath calls when statement
logging is turned on. This could probably stand to be improved further,
but not logging anything is clearly undesirable.
Backpatched as far as 8.0; bug doesn't exist before that.
Remove pg_dump wording:
< pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
< make use of them in pg_dump
> pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
Add:
< pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
> pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
> make use of them in pg_dump
Tom Lane [Fri, 9 Jun 2006 19:46:09 +0000 (19:46 +0000)]
Repair remarkably-inefficient query for dumping large object comments: it
was invoking obj_description() for each large object chunk, instead of once
per large object. This code is new as of 8.1, which may explain why the
problem hadn't been noticed already.
Tom Lane [Fri, 9 Jun 2006 19:30:56 +0000 (19:30 +0000)]
Revert sampling patch for EXPLAIN ANALYZE; it turns out to be too unreliable
because node timing is much less predictable than the patch expects. I kept
the API change for InstrStopNode, however.
Cleanups:
< * Allow a database in tablespace t1 with tables created in
> o Allow a database in tablespace t1 with tables created in
125c125
< * Allow reporting of which objects are in which tablespaces
> o Allow reporting of which objects are in which tablespaces
593c593
< * Allow GRANT/REVOKE permissions to be inherited by objects based on
> o Allow GRANT/REVOKE permissions to be inherited by objects based on
596c596
< * Allow SERIAL sequences to inherit permissions from the base table?
> o Allow SERIAL sequences to inherit permissions from the base table?
Cleanup:
< * -%Allow pooled connections to list all prepared statements
> * -Allow pooled connections to list all prepared statements
Now ispell dictionary can eat dictionaries in MySpell format,
used by OpenOffice. Dictionaries are placed at
http://lingucomponent.openoffice.org/spell_dic.html
Dictionary automatically recognizes format of files.
Warning. MySpell's format has limitation with compound
word support: it's impossible to mark affix as
compound-only affix. So for norwegian, german etc
languages it's recommended to use original ispell format.
For that reason I don't want to remove my2ispell
scripts, it's has workaround at least for norwegian language.
Add URL.
< the insert.
> the insert.
> http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
Update:
< * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
> * Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT
Remove:
< * Rename some /contrib modules from pg* to pg_*
Tom Lane [Thu, 8 Jun 2006 23:55:48 +0000 (23:55 +0000)]
Fix bootstrap.c so that database startup process and bgwriter properly release
LWLocks during a panic exit. This avoids the possible self-deadlock pointed
out by Qingqing Zhou. Also, I noted that an error during LoadFreeSpaceMap()
or BuildFlatFiles() would result in exit(0) which would leave the postmaster
thinking all is well. Added a critical section to ensure such errors don't
allow startup to proceed.
Backpatched to 8.1. The 8.0 code is a bit different and I'm not sure if the
problem exists there; given we've not seen this reported from the field, I'm
going to be conservative about backpatching any further.
Add URL.
>
> http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
Use simple URL's rather than text and a URL:
< recovery. See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
> recovery.
> http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
< Right now only one encoding is allowed per database. For a partial
< patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
> Right now only one encoding is allowed per database.
> http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
459c460
< notify the protocol when a RESET CONNECTION command is used. See
> notify the protocol when a RESET CONNECTION command is used.
461d461
< for a partial implementation.
515c515
< See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
> http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php
535c535
< See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
> http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
821c821
< See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
> http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php
877c877
< Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
> http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php
< See partially completed patch and additional work required at
< http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php.
> http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php
1297c1296
< See http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php.
> http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php
1311c1310,1311
< o Improve signal handling,
> o Improve signal handling
>
1312a1313
>
Add URL.
< * Support triggers on columns (Greg Sabino Mullane)
> * Support triggers on columns
>
> See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
>
Remove Win32 file, moved to /port.
Magnus Hagander
Tom Lane [Thu, 8 Jun 2006 14:58:33 +0000 (14:58 +0000)]
Remove obsolete comment about VACUUM FULL: it takes buffer content locks
now, and must do so to ensure bgwriter doesn't write a page that is in
process of being compacted.
/contrib/adminpack: More clearly identify renaming of existing backend
functions. I also found that pg_file_length was incorrectly documented
in the README as pg_file_size.
Spelling fix.
Robert Treat
Done:
> * -Allow server logs to be remotely read and removed using SQL commands
Add missing 3rd argument to open().
Add missing 3rd parameter to open().
Add URL for ALTER CONSTRAINT RENAME.
>
> See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
>
Add URL.
< recovery.
> recovery. See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
Add URL:
< Right now only one encoding is allowed per database.
> Right now only one encoding is allowed per database. For a partial
> patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
Update wording:
< * Add SQL99 WITH RECURSIVE to SELECT
> * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
Add entry:
> * Consider allowing control of upper/lower case folding of unquoted
> identifiers
>
> Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
Allow timezone names in SQL strings,
'2006年05月24日 21:11 Americas/New_York'::timestamptz
Joachim Wieland
Done:
< o Allow timezone names in SQL strings, '2006年05月24日 21:11
> o -Allow timezone names in SQL strings, '2006年05月24日 21:11
Prepare code to be built by MSVC:
o remove many WIN32_CLIENT_ONLY defines
o add WIN32_ONLY_COMPILER define
o add 3rd argument to open() for portability
o add include/port/win32_msvc directory for
system includes
Magnus Hagander
Spelling fix.
Robert Treat
Mention GPL /contrib modules:
>
> Particularly, move GPL-licensed /contrib/userlock and
> /contrib/dbmirror/clean_pending.pl.
>
Tom Lane [Wed, 7 Jun 2006 18:49:03 +0000 (18:49 +0000)]
Per previous analysis, the most correct notion of SampleOverhead is that
it is just the total time to do INSTR_TIME_SET_CURRENT(), and not any of
the other code involved in InstrStartNode/InstrStopNode. Even though I
fear we may end up reverting this patch altogether, we may as well have
the most correct version in our CVS archive.
Have REINDEX use NOTICE, so it can be suppressed.
Tom Lane [Wed, 7 Jun 2006 17:08:07 +0000 (17:08 +0000)]
Remove "fuzzy comparison" logic in qsort comparison function for
choose_bitmap_and(). It was way too fuzzy --- per comment, it was meant to be
1% relative difference, but was actually coded as 0.01 absolute difference,
thus causing selectivities of say 0.001 and 0.
000000000001 to be treated as
equal. I believe this thinko explains Maxim Boguk's recent complaint. While
we could change it to a relative test coded like compare_fuzzy_path_costs(),
there's a bigger problem here, which is that any fuzziness at all renders the
comparison function non-transitive, which could confuse qsort() to the point
of delivering completely wrong results. So forget the whole thing and just
do an exact comparison.
For psql multi-line history, save backslash commands right away, rather
than only if there is already history.
Use INFO-level for reindex messages, rather than NOTICE.
Euler Taveira de Oliveira
Update comment.
On Win32, return original patch if GetShortPathName() fails (no short
name, path does not exist), rather than returning nothing.
Backpatch to 8.1.X.
Tom Lane [Tue, 6 Jun 2006 17:59:58 +0000 (17:59 +0000)]
Make the planner estimate costs for nestloop inner indexscans on the basis
that the Mackert-Lohmann formula applies across all the repetitions of the
nestloop, not just each scan independently. We use the M-L formula to
estimate the number of pages fetched from the index as well as from the table;
that isn't what it was designed for, but it seems reasonably applicable
anyway. This makes large numbers of repetitions look much cheaper than
before, which accords with many reports we've received of overestimation
of the cost of a nestloop. Also, change the index access cost model to
charge random_page_cost per index leaf page touched, while explicitly
not counting anything for access to metapage or upper tree pages. This
may all need tweaking after we get some field experience, but in simple
tests it seems to be giving saner results than before. The main thing
is to get the infrastructure in place to let cost_index() and amcostestimate
functions take repeated scans into account at all. Per my recent proposal.
Note: this patch changes pg_proc.h, but I did not force initdb because
the changes are basically cosmetic --- the system does not look into
pg_proc to decide how to call an index amcostestimate function, and
there's no way to call such a function from SQL at all.
Add URL to RESET CONNECTION:
< notify the protocol when a RESET CONNECTION command is used.
> notify the protocol when a RESET CONNECTION command is used. See
> http://archives.postgresql.org/pgsql-patches/2006-04/msg00192.php
> for a partial implementation.
Allow do not lexize words in substitution.
Docs will be submitted some later, now it's at
http://www.sai.msu.su/~megera/oddmuse/index.cgi/Thesaurus_dictionary
Remove ancient AIX structure workaround.
Have BCC echo output "" using "", rather than \"\" as earlier reported.
Backpatch to 8.1.X.
This is the main PostgreSQL git repository.
RSS
Atom