< * Allow INET subnet tests using non-constants
> * Allow INET subnet tests to use indexes
101a102
> o Allow MIN()/MAX() on arrays
144c145
< * Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
> * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
166c167
< * Improve handling of index scans for NULL
> * Allow use of indexes to search for NULLs
203a205
> * Add optional textual message to NOTIFY
252c254
< o Add SET SCHEMA
> o Add SET PATH for schemas
297a300
> * Allow fastpast to pass values in portable format
344a348
> * Allow statement-level triggers to access modified rows
526d529
< o Add optional textual message to NOTIFY
530d532
< o Allow fastpast to pass values in portable format
533c535
< o Special passing of binary values in platform-neutral format (bytea?)
> o -Special passing of binary values in platform-neutral format (bytea?)
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed
in operator names</para></listitem>
<listitem><para> Dollar sign (<literal>$</>) can be a non-first
character in identifiers</para></listitem>
> only think to look at sort_mem if they already had a clue. It should
> be mentioned under bulk data load (in performance tips chapter)
Attached is a doc patch that does this. The way I've worded it may not
be the best, though.
Neil Conway
I suggest adding LOCALTIMESTAMP and LOCALTIME to the first paragraph.
Maybe it should be phrased as:
The following SQL-compatible functions can be used to obtain
current datetime-related values: CURRENT_DATE, CURRENT_TIME,
CURRENT_TIMESTAMP, LOCALTIME and LOCALTIMESTAMP.
(See Section 9.8.4.)
Troels Arvin
< o Sample implementation in contrib/rserv
29c28,29
< * Create native Win32 port [win32]
> * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/win32.html
>
367c367,368
< * Two-phase commit to implement distributed transactions
> * Add two-phase commit to all distributed transactions with
> offline/readonly server status or administrator notification for failure
before it is de-backslashed, not after. This allows the null string \N
to be reliably distinguished from the data value \N (which must be
represented as \\N). Per bug report from Manfred Koizar ... but it's
amazing this hasn't been reported before ...
Also, be consistent about encoding conversion for null string: the form
specified in the command is in the server encoding, but what is sent
to/from client must be in client encoding. This never worked quite
right before either.
will downcase the supplied field name unless it is double-quoted. Also,
upgrade the routine's handling of double quotes to match the backend,
in particular support doubled double quotes within quoted identifiers.
Per pgsql-interfaces discussion a couple weeks ago.
< * Consider using MVCC to cache count(*) queries with no WHERE clause
> * Use a fixed row count and a +/- count with MVCC visibility rules
> to allow fast COUNT(*) queries with no WHERE clause(?)
of function bodies is done at CREATE FUNCTION time. This is normally
true but can be set false to avoid problems with forward references,
wrong schema search path, etc. This is just the backend patch, still
need to adjust pg_dump to make use of it.
invalid (has the wrong magic number) until the build is entirely
complete. This turns out to cost no additional writes in the normal
case, since we were rewriting the metapage at the end of the process
anyway. In normal scenarios there's no real gain in security, because
a failed index build would roll back the transaction leaving an unused
index file, but for rebuilding shared system indexes this seems to add
some useful protection.
> > a) Write documentation how the win32 console needs to be set up so that
> > psql can handle 8-bit characters.
> > Where should it be added? The Section "Installation on Windows" in the
> > Administrator's Guide seems natural to me.
> >
> > b) Add code to psql that prints a warning on startup of psql when the
> > console codepage differs from the windows codepage, something like
> >
> > Warning: Console codepage (850) differs from windows codepage (1252)
> > 8-bit characters will not work correctly. See PostgreSQL
> > documentation "Installation on Windows" for details.
>
Attached are two patches:
- installdoc.patch contains an additional paragraph on the win32 console
codepage for the chapter "Installation on Windows"
Due to a lack of SGML-tools, I have only edited the text and not tested
the SGML code - please check it before merging into the CVS branch.
- psqlcodepage.patch adds the warning about a problematic codepage to psql.
Christoph Dalitz
now able to cope with assigning new relfilenode values to nailed-in-cache
indexes, so they can be reindexed using the fully crash-safe method. This
leaves only shared system indexes as special cases. Remove the 'index
deactivation' code, since it provides no useful protection in the shared-
index case. Require reindexing of shared indexes to be done in standalone
mode, but remove other restrictions on REINDEX. -P (IgnoreSystemIndexes)
now prevents using indexes for lookups, but does not disable index updates.
It is therefore safe to allow from PGOPTIONS. Upshot: reindexing system catalogs
can be done without a standalone backend for all cases except
shared catalogs.
to control object ownership. The use-set-session-authorization and
no-reconnect switches are obsolete (still accepted on the command line,
but they don't do anything). This is a precursor to fixing handling
of CREATE SCHEMA, which will be a separate commit.
Per recent discussion, this does not work because other backends can't
reliably see tuples in a temp table and so cannot run the RI checks
correctly. Seems better to disallow this case than go back to accessing
temp tables through shared buffers. Also, disallow FK references to
ON COMMIT DELETE ROWS tables. We already caught this problem for normal
TRUNCATE, but the path used by ON COMMIT didn't check.
comments/examples in pg_hba.conf. This patch remedies that, adds a brief
explanation of the connection types, and adds a missing period in the
docs.
Jon Jensen
Use question marks rather than brackets to delimit optional elements in
Tcl synopses.
Fix stylesheet misfeature leading to excessively long cross-reference text
when linking to a different "part".
Remove <body> attributes -- CSS stylesheets should handle that.
Improve bibliography formatting.
Add fast-forward links for more convenient navigation.
sequence every time it's called is bogus --- it interferes with user
control over the seed, and actually decreases randomness overall
(because a seed based on time(NULL) is pretty predictable). If you really
want a reproducible result from geqo, do 'set seed = 0' before planning
a query.
libpq, talking to an old server, should assume SQL_ASCII as the default
client encoding, because that is what the server will actually use (not
the server encoding).
spelling mistake in the PREPARE ref page (2) Makes some
English more consistent, in the ref pages for some of the
client apps (3) Adds a link to the libpq docs in the
vacuumdb ref page.
Neil Conway
have cursors that might outlive their creating transactions. A
patch is attached that fixes this (suggestions on better wording
are welcome).
Neil Conway
via extended query protocol, because it sends Sync right after Execute
without realizing that the command to be executed is COPY. There seems
to be no reasonable way for it to realize that, either, so the best fix
seems to be to make the backend ignore Sync during copy-in mode. Bit of
a wart on the protocol, but little alternative. Also, libpq must send
another Sync after terminating the COPY, if the command was issued via
Execute.
libpq users to perform Bind/Execute of previously prepared statements.
Per yesterday's discussion, this offers enough performance improvement
to justify bending the 'no new features during beta' rule.
tree. This also catches lots of little Makefile bugs, so here's a small
patch for one of them (replacing an explicit reference to thread.c with
a reference to it as the first prerequsite of the rule makes make look
for it in the place where it was found (the source tree) rather than in
the build tree. (using GNU make 3.79.1)
John Gray
< * Allow easy display of usernames in a group
> * -Allow easy display of usernames in a group
88,89d87
< * -Delay resolution of array expression type so assignment coercion
< can be performed on empty array expressions (Joe)
94c92,94
< o Support construction of array result values in expressions
> o -Support construction of array result values in expressions (Joe)
> o Delay resolution of array expression type so assignment coercion
> can be performed on empty array expressions (Joe)
148c148
< * Allow LIKE indexing optimization for non-ASCII locales
> * -Allow LIKE indexing optimization for non-ASCII locales using special index
173c173
< * Return proper effected tuple count from complex commands [return]
> * -Return proper effected tuple count from complex commands [return]
236c236
< o Allow SHOW of non-modifiable variables, like pg_controldata
> o -Allow SHOW of some non-modifiable variables, like pg_controldata
257a258
> o Add capability to create and call PROCEDURES
272c273
<
> * Allow psql \du to show groups, and add \dg for groups
424c425
< * Improve Subplan list handling
> * -Improve Subplan list handling
< o Allow array declarations and other data types in PL/PgSQL DECLARE
> o -Allow array declarations and other data types in PL/PgSQL DECLARE
254c254
< o Allow PL/PgSQL to support array element assignment
> o -Allow PL/PgSQL to support array element assignment (Joe)
< * Allow elog() to return error codes, module name, file name, line
< number, not just messages (Peter E)
< * Add error codes (Peter E)
< * Make error messages more consistent [error]
> * -Allow elog() to return error codes, module name, file name, line
> number, not just messages (Tom)
> * -Add error codes (Tom)
> * -Make error messages more consistent
40c40
< * Add GUC log_statement_and_duration to print statement and >= min duration
> * -Add GUC log_statement_and_duration to print statement and >= min duration
84c84
< * Allow current datestyle to restrict dates; prevent month/day swapping
> * -Allow current datestyle to restrict dates; prevent month/day swapping
86c86
< * Prevent month/day swapping of ISO dates to make invalid dates valid
> * -Prevent month/day swapping of ISO dates to make invalid dates valid
88c88
< * Delay resolution of array expression type so assignment coercion
> * -Delay resolution of array expression type so assignment coercion
93c93
< o Allow arrays to be ORDER'ed
> o -Allow arrays to be ORDER'ed
116c116
< * Remove Cyrillic recode support
> * -Remove Cyrillic recode support
144c144
< * Certain indexes will not shrink, e.g. indexes on ever-increasing
> * -Certain indexes will not shrink, e.g. indexes on ever-increasing
185c185
< * Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
> * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
196c196
< o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
> o --Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
221c221
< stored in the backend
> stored in the backend (Gavin)
235c235
< o Allow EXPLAIN EXECUTE to see prepared plans
> o -Allow EXPLAIN EXECUTE to see prepared plans
241d240
< o Add untrusted version of plpython
265c264
< * Allow psql to show transaction status if backend protocol changes made
> * -Allow psql to show transaction status if backend protocol changes made
272,273c271,272
< * Modify pg_get_triggerdef() to take a boolean to pretty-print,
< and use that as part of pg_dump along with psql
> * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
> and use that as part of pg_dump along with psql
292c291
< o Add SQLSTATE
> o -Add SQLSTATE
296c295
< o Implement SQLDA (do we really need this?)
> o -Implement SQLDA
364d362
< * Allow binding query args over FE/BE protocol
378c376,377
< * Provide automatic running of vacuum in the background (Tom) [vacuum]
> * Provide automatic running of vacuum in the background in backend
> rather than in /contrib [vacuum]
427c426
< * Allow Subplans to use efficient joins(hash, merge) with upper variable
> * -Allow Subplans to use efficient joins(hash, merge) with upper variable
429c428
< * Allow merge and hash joins on expressions not just simple variables (Tom)
> * -Allow merge and hash joins on expressions not just simple variables (Tom)
474c473
< * Remove memory/file descriptor freeing befor elog(ERROR) (Bruce)
> * Remove memory/file descriptor freeing before ereport(ERROR) (Bruce)
489,490c488,489
< o Show transaction status in psql
< o Allow binding of query parameters, support for prepared queries
> o -Show transaction status in psql
> o -Allow binding of query parameters, support for prepared queries
492,494c491,493
< o Remove hard-coded limits on user/db/password names
< o Remove unused elements of startup packet (unused, tty, passlength)
< o Fix COPY/fastpath protocol?
> o -Remove hard-coded limits on user/db/password names
> o -Remove unused elements of startup packet (unused, tty, passlength)
> o -Fix COPY/fastpath protocol
496,497c495
< o Replication support?
< o Error codes
> o -Error codes
500d497
< o ecpg improvements?
503c500
< o Report server version number, database encoding, client encoding
> o -Report server version number, database encoding, client encoding
he supplied a few months ago, but didn't get around to docing until now. And
he also added some doc for calling stored functions in general from jdbc that was missing.
Modified Files:
sgml/jdbc.sgml
< * Fernando Nasser <fnasser@redhat.com> of Red Hat
< * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Fernando is Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin is Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Greg is Greg Sabino Mullane <greg@turnstep.com>
heuristic determination of day vs month in date/time input. Add the
ability to specify that input is interpreted as yy-mm-dd order (which
formerly worked, but only for yy greater than 31). DateStyle's input
component now has the preferred spellings DMY, MDY, or YMD; the older
keywords European and US are now aliases for the first two of these.
Per recent discussions on pgsql-general.
>>ISTM that "source" is worth knowing.
>
> Hm, possibly. Any other opinions?
This version has the seven fields I proposed, including "source". Here's
an example that shows why I think it's valuable:
regression=# \x
Expanded display is on.
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | on
context | user
vartype | bool
source | default
min_val |
max_val |
regression=# update pg_settings set setting = 'off' where name =
'enable_seqscan';
-[ RECORD 1 ]---
set_config | off
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | off
context | user
vartype | bool
source | session
min_val |
max_val |
regression=# alter user postgres set enable_seqscan to 'off';
ALTER USER
(log out and then back in again)
regression=# \x
Expanded display is on.
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | off
context | user
vartype | bool
source | user
min_val |
max_val |
In the first case, enable_seqscan is set to its default value. After
setting it to off, it is obvious that the value has been changed for the
session only. In the third case, you can see that the value has been set
specifically for the user.
Joe Conway
psql4win32.patch - changes in the psql source code
psql-ref.patch - changes in the documentation psql-ref.sgml
(for new builtin variable WIN32_CONSOLE)
To apply them use "patch -p 1" in the root directory of the
postgres source directory.
These patches fix the following problems of psql on Win32
(all changes only have effect #ifdef WIN32):
a) Problem: Static library libpq.a did not work
Solution: Added WSAStartup() in fe-connect.c
b) Problem: Secret Password was echoed by psql
Solution: Password echoing disabled in sprompt.c
c) Problem: 8bit characters were displayed/interpreted wrong in psql
This is due to the fact that the Win32 "console" uses a
different encoding than the rest of the Windows system
Solution: Introduced a new psql variable WIN32_CONSOLE
When set with "\set WIN32_console", the function OemToChar()
is applied after reading input and CharToOem() before
displaying Output
Christoph Dalitz