]> granicus.if.org Git - postgresql/log
postgresql
22 years agoLoad and keep conversion function info when SET CLIENT_ENCODING TO is
Tatsuo Ishii [Thu, 8 Aug 2002 06:35:26 +0000 (06:35 +0000)]
Load and keep conversion function info when SET CLIENT_ENCODING TO is
executed to prevent database access while performing encoding
conversion.

22 years agoRemove #ifdef MULTIBYTE
Tatsuo Ishii [Thu, 8 Aug 2002 06:32:26 +0000 (06:32 +0000)]
Remove #ifdef MULTIBYTE

22 years agoCause schema-qualified FROM items and schema-qualified variable references
Tom Lane [Thu, 8 Aug 2002 01:44:31 +0000 (01:44 +0000)]
Cause schema-qualified FROM items and schema-qualified variable references
to behave according to SQL92 (or according to my current understanding
of same, anyway).  Per pghackers discussion way back in March 2002:
thread 'Do FROM items of different schemas conflict?'

22 years agoClean up plpgsql identifier handling: process quoted identifiers
Tom Lane [Thu, 8 Aug 2002 01:36:05 +0000 (01:36 +0000)]
Clean up plpgsql identifier handling: process quoted identifiers
correctly, truncate to NAMEDATALEN where needed, allow whitespace
around dots in qualified identifiers.  Get rid of T_RECFIELD and
T_TGARGV token categories, which weren't accomplishing anything
except to create room for sins of omission in the grammar, ie,
places that should have allowed them and didn't.  Fix a few other
bugs en passant.

22 years agoparseTypeString wasn't quite paranoid enough.
Tom Lane [Thu, 8 Aug 2002 01:22:35 +0000 (01:22 +0000)]
parseTypeString wasn't quite paranoid enough.

22 years agoFix permission checking for temp-table namespace.
Tom Lane [Wed, 7 Aug 2002 21:45:02 +0000 (21:45 +0000)]
Fix permission checking for temp-table namespace.

22 years agoImprove 'failed to initialize' messages.
Tom Lane [Wed, 7 Aug 2002 17:26:24 +0000 (17:26 +0000)]
Improve 'failed to initialize' messages.

22 years agoUpdated translation from Dennis Bjorklund <db@zigo.dhs.org>
Peter Eisentraut [Tue, 6 Aug 2002 21:13:44 +0000 (21:13 +0000)]
Updated translation from Dennis Bjorklund <db@zigo.dhs.org>

22 years agoStill more paranoia in PageAddItem: disallow specification of an item
Tom Lane [Tue, 6 Aug 2002 19:41:23 +0000 (19:41 +0000)]
Still more paranoia in PageAddItem: disallow specification of an item
offset past the last-used-item-plus-one, since that would result in
leaving uninitialized holes in the item pointer array.  AFAICT the only
place that was depending on this was btree index build, which was being
cavalier about when to fill in the P_HIKEY pointer; easily fixed.
Also a small performance improvement: shuffle itemid's by means of
memmove, not a one-at-a-time loop.

22 years agoRemove no-longer-used PageManagerMode enum.
Tom Lane [Tue, 6 Aug 2002 19:37:10 +0000 (19:37 +0000)]
Remove no-longer-used PageManagerMode enum.

22 years agoMove pg_convert3 declaration to suppress compile warning. Really
Tom Lane [Tue, 6 Aug 2002 14:11:06 +0000 (14:11 +0000)]
Move pg_convert3 declaration to suppress compile warning.  Really
pg_convert3 does not belong in a backend/catalog file at all, IMHO;
it should be in utils/adt.

22 years agoAdd SQL99 CONVERT() function.
Tatsuo Ishii [Tue, 6 Aug 2002 05:40:47 +0000 (05:40 +0000)]
Add SQL99 CONVERT() function.

22 years agoPatch for current CVS. It add test of lca() to ltree test suite.
Bruce Momjian [Tue, 6 Aug 2002 05:35:29 +0000 (05:35 +0000)]
Patch for current CVS. It add test of lca() to ltree test suite.

Teodor Sigaev

22 years agoOf course, the simple change has ripple effects! Here's a patch for the
Bruce Momjian [Tue, 6 Aug 2002 05:34:46 +0000 (05:34 +0000)]
Of course, the simple change has ripple effects! Here's a patch for the
rangefunc regression test for the new behavior.

Joe Conway

22 years ago>> Hm. I'd sort of expect the "z" to become both the table and column
Bruce Momjian [Tue, 6 Aug 2002 05:34:10 +0000 (05:34 +0000)]
>> Hm.  I'd sort of expect the "z" to become both the table and column
>> alias in this case.  What do you think?
>
> I guess that would make sense. I'll make a separate patch just for
that
> change if that's OK.
>

Simple change -- patch attached.

test=# select * from myfoo1() as z;
  z
----
   1
   2
   3
(3 rows)

Joe Conway

22 years agoThe attached patch disallows the use of coldeflists for functions that
Bruce Momjian [Tue, 6 Aug 2002 05:33:29 +0000 (05:33 +0000)]
The attached patch disallows the use of coldeflists for functions that
don't return type RECORD. It also catches a core dump condition when a
function returning RECORD had an alias list instead of a coldeflist.

Now both conditions throw an ERROR.

Joe Conway

22 years agoThis patch fixes two typos in the documentation for the newly added
Bruce Momjian [Tue, 6 Aug 2002 05:32:16 +0000 (05:32 +0000)]
This patch fixes two typos in the documentation for the newly added
START TRANSACTION command.

Neil Conway

22 years agoThis patch changes the behavior of PostgreSQL so that if any queries are
Bruce Momjian [Tue, 6 Aug 2002 05:24:04 +0000 (05:24 +0000)]
This patch changes the behavior of PostgreSQL so that if any queries are
executed in an implicitely aborted transaction (e.g. after an occur
occurs), we return an error (and not just a warning). For example:

nconway=# begin;
BEGIN
nconway=# insert; -- syntax error
ERROR:  parser: parse error at or near ";"
nconway=# select * from a;
ERROR:  current transaction is aborted, queries ignored until end of
transaction block

The old behavior was:

nconway=# begin;
BEGIN
nconway=# insert;
ERROR:  parser: parse error at or near ";"
nconway=# select * from a;
WARNING:  current transaction is aborted, queries ignored until end
of transaction block
*ABORT STATE*

Which can be confusing: if the client isn't paying careful attention,
they will conclude that the query has executed (because no error is
returned).

Neil Conway

22 years agoRestructure local-buffer handling per recent pghackers discussion.
Tom Lane [Tue, 6 Aug 2002 02:36:35 +0000 (02:36 +0000)]
Restructure local-buffer handling per recent pghackers discussion.
The local buffer manager is no longer used for newly-created relations
(unless they are TEMP); a new non-TEMP relation goes through the shared
bufmgr and thus will participate normally in checkpoints.  But TEMP relations
use the local buffer manager throughout their lifespan.  Also, operations
in TEMP relations are not logged in WAL, thus improving performance.
Since it's no longer necessary to fsync relations as they move out of the
local buffers into shared buffers, quite a lot of smgr.c/md.c/fd.c code
is no longer needed and has been removed: there's no concept of a dirty
relation anymore in md.c/fd.c, and we never fsync anything but WAL.
Still TODO: improve local buffer management algorithms so that it would
be reasonable to increase NLocBuffer.

22 years agoForgot to add/remove files.
Peter Eisentraut [Mon, 5 Aug 2002 19:44:58 +0000 (19:44 +0000)]
Forgot to add/remove files.

22 years agoAdd User's Guide chapters on Data Definition and Data Manipulation.
Peter Eisentraut [Mon, 5 Aug 2002 19:43:31 +0000 (19:43 +0000)]
Add User's Guide chapters on Data Definition and Data Manipulation.
Still needs to be filled with more information, but it gives us a
framework to have a User's Guide with complete coverage of the basic
SQL operations.  Move arrays into data type chapter, inheritance into
DDL chapter (for now).

Make <comment>s show up in the output while the version number ends in
"devel".

Allow cross-book references with entities &cite-user; etc.

22 years agoRestructure system-catalog index updating logic. Instead of having
Tom Lane [Mon, 5 Aug 2002 03:29:17 +0000 (03:29 +0000)]
Restructure system-catalog index updating logic.  Instead of having
hardwired lists of index names for each catalog, use the relcache's
mechanism for caching lists of OIDs of indexes of any table.  This
reduces the common case of updating system catalog indexes to a single
line, makes it much easier to add a new system index (in fact, you
can now do so on-the-fly if you want to), and as a nice side benefit
improves performance a little.  Per recent pghackers discussion.

22 years agoPreliminary code review for anonymous-composite-types patch: fix breakage
Tom Lane [Mon, 5 Aug 2002 02:30:50 +0000 (02:30 +0000)]
Preliminary code review for anonymous-composite-types patch: fix breakage
of functions returning domain types, update documentation for typtype,
move get_typtype to lsyscache.c (actually, resurrect the old version),
add defense against creating pseudo-typed table columns, fix some
bogus list-parsing in grammar.  Issues remain with respect to alias
handling and type checking; Joe is on those.

22 years agoFix compilation problem with assert checking enabled for recent xlog
Thomas G. Lockhart [Mon, 5 Aug 2002 01:24:16 +0000 (01:24 +0000)]
Fix compilation problem with assert checking enabled for recent xlog
 location feature.

22 years agoCode review for anonymous-functions patch --- clean up some confusion
Tom Lane [Mon, 5 Aug 2002 00:21:27 +0000 (00:21 +0000)]
Code review for anonymous-functions patch --- clean up some confusion
in checkretval about which paths are for base or complex return type.

22 years agoTemporary solution for XLogDir breakage.
Tom Lane [Sun, 4 Aug 2002 23:56:01 +0000 (23:56 +0000)]
Temporary solution for XLogDir breakage.

22 years agoFix merge failures for anonymous-type patch. From Joe Conway.
Tom Lane [Sun, 4 Aug 2002 23:49:59 +0000 (23:49 +0000)]
Fix merge failures for anonymous-type patch.  From Joe Conway.

22 years agoFix broken pg_backend_pid reference, per Joe Conway.
Tom Lane [Sun, 4 Aug 2002 23:46:38 +0000 (23:46 +0000)]
Fix broken pg_backend_pid reference, per Joe Conway.

22 years agoAnother backend_pid rename.
Bruce Momjian [Sun, 4 Aug 2002 20:01:33 +0000 (20:01 +0000)]
Another backend_pid rename.

22 years agoFix compile failures for FRS composite tyhpe patch until Joe can fix it.
Bruce Momjian [Sun, 4 Aug 2002 20:00:15 +0000 (20:00 +0000)]
Fix compile failures for FRS composite tyhpe patch until Joe can fix it.

22 years agoRename backend_pid to pg_backend_pid, move docs to monitoring section.
Bruce Momjian [Sun, 4 Aug 2002 19:51:30 +0000 (19:51 +0000)]
Rename backend_pid to pg_backend_pid, move docs to monitoring section.

22 years agoAttached are two patches to implement and document anonymous composite
Bruce Momjian [Sun, 4 Aug 2002 19:48:11 +0000 (19:48 +0000)]
Attached are two patches to implement and document anonymous composite
types for Table Functions, as previously proposed on HACKERS. Here is a
brief explanation:

1. Creates a new pg_type typtype: 'p' for pseudo type (currently either
     'b' for base or 'c' for catalog, i.e. a class).

2. Creates new builtin type of typtype='p' named RECORD. This is the
     first of potentially several pseudo types.

3. Modify FROM clause grammer to accept:
     SELECT * FROM my_func() AS m(colname1 type1, colname2 type1, ...)
     where m is the table alias, colname1, etc are the column names, and
     type1, etc are the column types.

4. When typtype == 'p' and the function return type is RECORD, a list
     of column defs is required, and when typtype != 'p', it is
disallowed.

5. A check was added to ensure that the tupdesc provide via the parser
     and the actual return tupdesc match in number and type of
attributes.

When creating a function you can do:
     CREATE FUNCTION foo(text) RETURNS setof RECORD ...

When using it you can do:
     SELECT * from foo(sqlstmt) AS (f1 int, f2 text, f3 timestamp)
       or
     SELECT * from foo(sqlstmt) AS f(f1 int, f2 text, f3 timestamp)
       or
     SELECT * from foo(sqlstmt) f(f1 int, f2 text, f3 timestamp)

Included in the patches are adjustments to the regression test sql and
expected files, and documentation.

p.s.
     This potentially solves (or at least improves) the issue of builtin
     Table Functions. They can be bootstrapped as returning RECORD, and
     we can wrap system views around them with properly specified column
     defs. For example:

     CREATE VIEW pg_settings AS
       SELECT s.name, s.setting
       FROM show_all_settings()AS s(name text, setting text);

     Then we can also add the UPDATE RULE that I previously posted to
     pg_settings, and have pg_settings act like a virtual table, allowing
     settings to be queried and set.

Joe Conway

22 years agoFix obsolete comment.
Tom Lane [Sun, 4 Aug 2002 18:12:15 +0000 (18:12 +0000)]
Fix obsolete comment.

22 years agoMinor clarification or fix of typos.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:54:10 +0000 (06:54 +0000)]
Minor clarification or fix of typos.

22 years agoImplement WAL log location control using "-X" or PGXLOG.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:53:10 +0000 (06:53 +0000)]
Implement WAL log location control using "-X" or PGXLOG.

22 years agoImplement IS OF and IS NOT OF type predicate.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:51:23 +0000 (06:51 +0000)]
Implement IS OF and IS NOT OF type predicate.
 Can now do queries of the form: SELECT value IS OF (integer, float8);
Define macros for handling typmod manipulation for date/time types.
 Should be more robust than all of that brute-force inline code.
Rename macros for masking and typmod manipulation to put TIMESTAMP_
 or INTERVAL_ in front of the macro name, to reduce the possibility
 of name space collisions.
Allow bit string constants without fully-specified length declaration.
Try implementing CREATE TABLE/OF as a mapping to inheritance.
 May be appropriate, or may be replace later with something more exactly
 like one might expect from databases without the feature.

22 years agoImplement IS OF type predicate. Can now do queries of the form:
Thomas G. Lockhart [Sun, 4 Aug 2002 06:46:12 +0000 (06:46 +0000)]
Implement IS OF type predicate. Can now do queries of the form:
 select value IS OF (integer, float8);

22 years agoAdd guard code to protect from buffer overruns on long date/time input
Thomas G. Lockhart [Sun, 4 Aug 2002 06:44:47 +0000 (06:44 +0000)]
Add guard code to protect from buffer overruns on long date/time input
 strings. Should go back in and look at doing this a bit more elegantly
 and (hopefully) cheaper. Probably not too bad anyway, but it seems a
 shame to scan the strings twice: once for length for this buffer overrun
 protection, and once to parse the line.
Remove use of pow() in date/time handling; was already gone from everything
 *but* the time data types.
Define macros for handling typmod manipulation for date/time types.
 Should be more robust than all of that brute-force inline code.
Rename macros for masking and typmod manipulation to put TIMESTAMP_
 or INTERVAL_ in front of the macro name, to reduce the possibility
 of name space collisions.

22 years agoDefine macros for handling typmod manipulation for date/time types.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:42:18 +0000 (06:42 +0000)]
Define macros for handling typmod manipulation for date/time types.
 Should be more robust than all of that brute-force inline code.
Rename macros for masking and typmod manipulation to put TIMESTAMP_
 or INTERVAL_ in front of the macro name, to reduce the possibility
 of name space collisions.

22 years agoImplement hex literal conversion to bit string literal.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:36:18 +0000 (06:36 +0000)]
Implement hex literal conversion to bit string literal.
 May not be the long-term solution (some continuing discussion with
 Peter E.) but better than the current mapping of a conversion to integer
 which I'd put in years ago before we had any bit string types at all.
This is already supported in the bit string implementation elsewhere.

22 years agoAllow bit string constants without fully-specified length declaration.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:33:59 +0000 (06:33 +0000)]
Allow bit string constants without fully-specified length declaration.
Implement conversion between 8-byte integers and bit strings.
 Similar to what is done for 4-byte integers.

22 years agoImplement WAL log location control using "-X" or PGXLOG.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:26:38 +0000 (06:26 +0000)]
Implement WAL log location control using "-X" or PGXLOG.

22 years agoAdd IS OF type predicate.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:17:29 +0000 (06:17 +0000)]
Add IS OF type predicate.

22 years agoAdd Myannar Time, Iran Time variant name, and Marquesas Time.
Thomas G. Lockhart [Sun, 4 Aug 2002 06:15:45 +0000 (06:15 +0000)]
Add Myannar Time, Iran Time variant name, and Marquesas Time.

22 years agoFix broken markup.
Tom Lane [Sun, 4 Aug 2002 05:46:02 +0000 (05:46 +0000)]
Fix broken markup.

22 years agoNeil's patch claimed a column list didn't work for COPY BINARY.
Tom Lane [Sun, 4 Aug 2002 05:22:02 +0000 (05:22 +0000)]
Neil's patch claimed a column list didn't work for COPY BINARY.
Which was true when he submitted it, but is so no longer.

22 years agoAdd missing file; new docs for start_transaction.
Bruce Momjian [Sun, 4 Aug 2002 05:14:06 +0000 (05:14 +0000)]
Add missing file;  new docs for start_transaction.

22 years agoTom Lane:
Bruce Momjian [Sun, 4 Aug 2002 05:12:43 +0000 (05:12 +0000)]
Tom Lane:
>       please find attached patch to current CVS ( contrib/ltree)
>       Version for 7.2 is distributed as separate package -

I believe that patch also intended to remove contrib/ltree/patch.72

22 years ago[ Previous patch reversed.]
Bruce Momjian [Sun, 4 Aug 2002 05:11:37 +0000 (05:11 +0000)]
[ Previous patch reversed.]

Please use this patch instead of my previously submitted one.

It is just remerged against HEAD for new alter_table.out stuff.

Another reason this patch is useful for _interactive_ users: imagine a
view based on a many way join.  Imagine creating a complicated insert
rule that inserts into all the joined tables and when you insert you get
a check failure, but you need to know which actual table the constraint
was on that failed!

Christopher Kings-Lynne

22 years agoThis patch fixes a probably harmless write of uninitialized memory in
Bruce Momjian [Sun, 4 Aug 2002 05:09:36 +0000 (05:09 +0000)]
This patch fixes a probably harmless write of uninitialized memory in
the statistics collector and makes a number of corrections to the
documentation for SET, SHOW, and COPY.

Neil Conway

22 years agoChange messages like this:
Bruce Momjian [Sun, 4 Aug 2002 05:04:40 +0000 (05:04 +0000)]
Change messages like this:

ERROR:  ExecInsert: rejected due to CHECK constraint insert_con

To be like this:

ERROR:  ExecInsert: rejected due to CHECK constraint "insert_con" on
"insert_tbl"

Updated regression tests to match.

I got sick of seeing 'rejected due to CHECK constraint "$1" in my log and
not being able to find the bug in our website code...

Christopher Kings-Lynne

22 years agoThis trivial patch fixes a small memory leak in pg_dump.
Bruce Momjian [Sun, 4 Aug 2002 05:03:29 +0000 (05:03 +0000)]
This trivial patch fixes a small memory leak in pg_dump.

Neil Conway

22 years agoplease find attached patch to current CVS ( contrib/ltree )
Bruce Momjian [Sun, 4 Aug 2002 05:02:50 +0000 (05:02 +0000)]
please find attached patch to current CVS ( contrib/ltree )

Changes:

July 31, 2002
   Now works on 64-bit platforms.
   Added function lca - lowest common ancestor
   Version for 7.2 is distributed as separate package -
   http://www.sai.msu.su/~megera/postgres/gist/ltree/ltree-7.2.tar.gz

Oleg Bartunov

22 years agoThis patch fixes a "multi-line string literal" warning encountered
Bruce Momjian [Sun, 4 Aug 2002 05:01:57 +0000 (05:01 +0000)]
This patch fixes a "multi-line string literal" warning encountered
when compiling psql with GCC 3.1.

Neil Conway

22 years agoThe attached patch implements START TRANSACTION, per SQL99. The
Bruce Momjian [Sun, 4 Aug 2002 04:31:44 +0000 (04:31 +0000)]
The attached patch implements START TRANSACTION, per SQL99. The
functionality of the command is basically identical to that of
BEGIN; it just accepts a few extra options (only one of which
PostgreSQL currently implements), and is standards-compliant.
The patch includes a simple regression test and documentation.

[ Regression tests removed, per Peter.]

Neil Conway

22 years agoThis patch fixes in intermittent failure in the regression tests:
Bruce Momjian [Sun, 4 Aug 2002 04:28:10 +0000 (04:28 +0000)]
This patch fixes in intermittent failure in the regression tests:
there was a race condition between the "alter_table" and "rules"
regression tests. Depending on scheduling, sometimes an ALTER
TABLE command would operate on a relation created by the "rules"
tests, leading to unexpected results.

Neil Conway

22 years agoThis patch adds support for inet[] arrays to the /contrib/array module.
Bruce Momjian [Sun, 4 Aug 2002 04:25:02 +0000 (04:25 +0000)]
This patch adds support for inet[] arrays to the /contrib/array module.

Neil Conway

22 years agoBack out pl/pgsql quotation fix. Has problems.
Bruce Momjian [Sun, 4 Aug 2002 04:17:33 +0000 (04:17 +0000)]
Back out pl/pgsql quotation fix.  Has problems.

22 years ago*** empty log message ***
Bruce Momjian [Sun, 4 Aug 2002 04:17:06 +0000 (04:17 +0000)]
*** empty log message ***

22 years ago*** empty log message ***
Bruce Momjian [Sun, 4 Aug 2002 04:16:47 +0000 (04:16 +0000)]
*** empty log message ***

22 years ago I send a simple patch for PL/pgSQL parser which allow now to use
Bruce Momjian [Sun, 4 Aug 2002 03:59:09 +0000 (03:59 +0000)]
    I send a simple patch for PL/pgSQL parser which allow now to use
whitespaces in identifers of any kind(table names,attribute
names,variables ...) in Pl/pgSQL procedural language.Explicit definition
of bug can be found in Re: [HACKERS] Bug of PL/pgSQL parser

TODO item completed:

        o -Fix PL/PgSQL to handle quoted mixed-case identifiers

eutm

22 years agoHere is a doc patch for the SHOW X changes and new config-settings
Bruce Momjian [Sun, 4 Aug 2002 03:53:11 +0000 (03:53 +0000)]
Here is a doc patch for the SHOW X changes and new config-settings
functions. If there are no objections, please apply.

Joe Conway

22 years agoWhen compiling with --enable-cassert, check for reference count leaks
Tom Lane [Fri, 2 Aug 2002 22:36:05 +0000 (22:36 +0000)]
When compiling with --enable-cassert, check for reference count leaks
in the relcache.  It's rather silly that we have reference count leak
checks in bufmgr and in catcache, but not in relcache which will normally
have many fewer entries.  Chris K-L would have caught at least one bug
in his recent DROP patch if he'd had this.

22 years agoRemoveAttrDefaultById() neglected to obtain exclusive lock on the
Tom Lane [Fri, 2 Aug 2002 21:54:34 +0000 (21:54 +0000)]
RemoveAttrDefaultById() neglected to obtain exclusive lock on the
relation being modified.  In most paths of control we'd already have
such a lock, but if we were dropping the default due to a cascaded
delete of some function it depended on, maybe not.

22 years agoRemove unused drop TODO.detail.
Bruce Momjian [Fri, 2 Aug 2002 20:03:48 +0000 (20:03 +0000)]
Remove unused drop TODO.detail.

22 years agoNo need for TODO.detail link anymore:
Bruce Momjian [Fri, 2 Aug 2002 20:03:23 +0000 (20:03 +0000)]
No need for TODO.detail link anymore:

>  o -Add ALTER TABLE DROP COLUMN feature

22 years agoDone:
Bruce Momjian [Fri, 2 Aug 2002 20:02:56 +0000 (20:02 +0000)]
Done:

>  o -Add ALTER TABLE DROP COLUMN feature [drop]

22 years agoALTER TABLE DROP COLUMN works. Patch by Christopher Kings-Lynne,
Tom Lane [Fri, 2 Aug 2002 18:15:10 +0000 (18:15 +0000)]
ALTER TABLE DROP COLUMN works.  Patch by Christopher Kings-Lynne,
code review by Tom Lane.  Remaining issues: functions that take or
return tuple types are likely to break if one drops (or adds!)
a column in the table defining the type.  Need to think about what
to do here.

Along the way: some code review for recent COPY changes; mark system
columns attnotnull = true where appropriate, per discussion a month ago.

22 years ago* -Remove LockMethodTable.prio field, not used (Bruce)
Bruce Momjian [Thu, 1 Aug 2002 05:18:34 +0000 (05:18 +0000)]
* -Remove LockMethodTable.prio field, not used (Bruce)

22 years ago1) Improve the handling of the queries like (select ..) union (select ..)
Hiroshi Inoue [Thu, 1 Aug 2002 03:07:50 +0000 (03:07 +0000)]
1) Improve the handling of the queries like (select ..) union (select ..)
   whose first non-space character is '('.
2) Handle Insert .. () VALUES ().

22 years agoInstead of having a configure-time DEFAULT_ATTSTATTARGET, store -1 in
Tom Lane [Wed, 31 Jul 2002 17:19:54 +0000 (17:19 +0000)]
Instead of having a configure-time DEFAULT_ATTSTATTARGET, store -1 in
attstattarget to indicate 'use the default'.  The default is now a GUC
variable default_statistics_target, and so may be changed on the fly.  Along
the way we gain the ability to have pg_dump dump the per-column statistics
target when it's not the default.  Patch by Neil Conway, with some kibitzing
from Tom Lane.

22 years agoDone:
Bruce Momjian [Wed, 31 Jul 2002 03:13:16 +0000 (03:13 +0000)]
Done:

> * -Remove LockMethodTable.prio field, not used (Bruce)

22 years agoMove backend_pid to functions/misc.
Bruce Momjian [Wed, 31 Jul 2002 02:27:29 +0000 (02:27 +0000)]
Move backend_pid to functions/misc.

22 years agoRename pid function to backend_pid().
Bruce Momjian [Wed, 31 Jul 2002 01:49:13 +0000 (01:49 +0000)]
Rename pid function to backend_pid().

22 years agoAdd function to access backend pid, pg_stat_get_backend_mypid.
Bruce Momjian [Wed, 31 Jul 2002 00:40:40 +0000 (00:40 +0000)]
Add function to access backend pid, pg_stat_get_backend_mypid.

22 years agoDone:
Bruce Momjian [Wed, 31 Jul 2002 00:40:20 +0000 (00:40 +0000)]
Done:

> * -Add getpid() function to backend

22 years agoTeach pg_dump to dump user-defined operator classes. For the moment,
Tom Lane [Tue, 30 Jul 2002 21:56:04 +0000 (21:56 +0000)]
Teach pg_dump to dump user-defined operator classes.  For the moment,
this only works against 7.3 or later databases; the pushups required
to do it without regprocedure/regtype/etc seem more trouble than they're
worth, considering that existing users aren't expecting pg_dump support
for this.

22 years agoUpdated:
Bruce Momjian [Tue, 30 Jul 2002 19:47:09 +0000 (19:47 +0000)]
Updated:

<  o ALTER TABLE ADD COLUMN column SET DEFAULT should fill existing
>  o ALTER TABLE ADD COLUMN column DEFAULT should fill existing

22 years agoClarification from Tom:
Bruce Momjian [Tue, 30 Jul 2002 19:43:20 +0000 (19:43 +0000)]
Clarification from Tom:

<  o ALTER TABLE ALTER COLUMN column SET DEFAULT should fill existing
>  o ALTER TABLE ADD COLUMN column SET DEFAULT should fill existing

22 years agoWould it be wise to have the plsql.sgml file renamed to plpgsql.sgml?
Bruce Momjian [Tue, 30 Jul 2002 19:36:13 +0000 (19:36 +0000)]
Would it be wise to have the plsql.sgml file renamed to plpgsql.sgml?
All of the internal tags are of the latter.

The other thing I noticed is that most of the quick examples in the file
use a para and synopsis.  Is there a reason we're not using <example/> ?

Rod Taylor

22 years agoAdded for Neil Conway:
Bruce Momjian [Tue, 30 Jul 2002 19:34:05 +0000 (19:34 +0000)]
Added for Neil Conway:

> * Use CHECK constraints to improve optimizer decisions

22 years agoIf we're cleaning out _deadcode, might as well zap this one too.
Tom Lane [Tue, 30 Jul 2002 18:54:59 +0000 (18:54 +0000)]
If we're cleaning out _deadcode, might as well zap this one too.

22 years agoReplace ad-hoc insertions into pg_opclass and friends with CREATE
Tom Lane [Tue, 30 Jul 2002 18:48:34 +0000 (18:48 +0000)]
Replace ad-hoc insertions into pg_opclass and friends with CREATE
OPERATOR CLASS commands.

22 years agoRemove last recipe file.
Bruce Momjian [Tue, 30 Jul 2002 18:44:01 +0000 (18:44 +0000)]
Remove last recipe file.

22 years agoEnsure that src/tutorial gets cleaned by top-level make clean.
Tom Lane [Tue, 30 Jul 2002 17:47:58 +0000 (17:47 +0000)]
Ensure that src/tutorial gets cleaned by top-level make clean.

22 years agoReplace ad-hoc insertions into pg_opclass and friends with CREATE
Tom Lane [Tue, 30 Jul 2002 17:34:37 +0000 (17:34 +0000)]
Replace ad-hoc insertions into pg_opclass and friends with CREATE
OPERATOR CLASS commands.  Further tweaking of documentation for same.

22 years agoUse Max/Min macros, not MAX/MIN, to eliminate portability issues.
Tom Lane [Tue, 30 Jul 2002 17:32:10 +0000 (17:32 +0000)]
Use Max/Min macros, not MAX/MIN, to eliminate portability issues.

22 years agoDone:
Bruce Momjian [Tue, 30 Jul 2002 16:56:15 +0000 (16:56 +0000)]
Done:
>  o -Generate failure on short COPY lines rather than pad NULLs

22 years agoThe attached patch removes the last remnants of support for
Bruce Momjian [Tue, 30 Jul 2002 16:55:45 +0000 (16:55 +0000)]
The attached patch removes the last remnants of support for
'tioga recipes', whatever those are -- Peter E. killed most
of it a couple days ago, but this patch removes the rest. Most
of it was #ifdef'ed out anyway.

Neil Conway

22 years agoIMPROVED VERSION APPLIED:
Bruce Momjian [Tue, 30 Jul 2002 16:55:06 +0000 (16:55 +0000)]
IMPROVED VERSION APPLIED:

The attached patch completes the following TODO item:

    * Generate failure on short COPY lines rather than pad NULLs

I also restructed a lot of the existing COPY code, did some code
review on the column list patch sent in by Brent Verner a little
while ago, and added some regression tests. I also added an
explicit check (and resultant error) for extra data before
the end-of-line.

Neil Conway

22 years agoAdd ltree data type to contrib, from Teodor Sigaev and Oleg Bartunov.
Bruce Momjian [Tue, 30 Jul 2002 16:40:34 +0000 (16:40 +0000)]
Add ltree data type to contrib, from Teodor Sigaev and Oleg Bartunov.

22 years agoAdded support for schemas and quotes in tab-complete.c, as well as
Bruce Momjian [Tue, 30 Jul 2002 16:35:05 +0000 (16:35 +0000)]
Added support for schemas and quotes in tab-complete.c, as well as
a few other things:

* Made all references to the pg_* tables absolute, by specifying
  the pg_catalog schema.

* Added SCHEMA as a create/delete completion option.

* Added SCHEMA completion as: SELECT nspname FROM
pg_catalog.pg_namespace
  WHERE substr(nspname,1,%d)='%s'

* Added completion of "INSERT INTO <table> (" with attribute names.

* Added completion of "INSERT INTO <table> (attribs)" with
  VALUES or SELECT

* Added limited locking completion: only for one table:
  "LOCK" and "LOCK TABLE" now both get a completion list of tables
  Complete with "IN" for LOCK [TABLE] <table>
  Complete LOCK [TABLE] <table> IN with a lock mode

* Added a very simple WHERE finisher that uses the previous word
  as a table lookup for attributes.

* Added quote support when parsing "previous words". In other words,
  hitting tab after INSERT INTO "foo bar baby"
  now does the right thing and recognizes "foo bar baby" as one word.

Letting tab-complete quote things that should be quoted seems to be
temporarily ifdef'ed out due to readline compatibility problems.
Can anyone elaborate on this?

Greg Sabino Mullane

22 years ago This should fix a bug where a row that was updated or
Bruce Momjian [Tue, 30 Jul 2002 16:33:21 +0000 (16:33 +0000)]
    This should fix a bug where a row that was updated or
deleted that had another row inserted/updated to its old
value during the same statement or other statements before the
integrity check for noaction would incorrectly error.  This
could happen in deferred constraints or due to triggers or
functions. It's effectively a reworking of the previous patch that
did a not exists to instead do a separate check.

Stephan Szabo

22 years agoSince we're depending on %option noyywrap in the main scanner now,
Tom Lane [Tue, 30 Jul 2002 16:33:08 +0000 (16:33 +0000)]
Since we're depending on %option noyywrap in the main scanner now,
we may as well use it in all our flex files.  Make all the flex files
have a consistent set of options.

22 years agoAdd tablefunc to contrib makefile.
Bruce Momjian [Tue, 30 Jul 2002 16:32:20 +0000 (16:32 +0000)]
Add tablefunc to contrib makefile.

22 years agoAs mentioned above, here is my contrib/tablefunc patch. It includes
Bruce Momjian [Tue, 30 Jul 2002 16:31:11 +0000 (16:31 +0000)]
As mentioned above, here is my contrib/tablefunc patch. It includes
three functions which exercise the tablefunc API.

show_all_settings()
   - returns the same information as SHOW ALL, but as a query result

normal_rand(int numvals, float8 mean, float8 stddev, int seed)
   - returns a set of normally distributed float8 values
   - This routine implements Algorithm P (Polar method for normal
     deviates) from Knuth's _The_Art_of_Computer_Programming_, Volume 2,
     3rd ed., pages 122-126. Knuth cites his source as "The polar
     method", G. E. P. Box, M. E. Muller, and G. Marsaglia,
     _Annals_Math,_Stat._ 29 (1958), 610-611.

crosstabN(text sql)
   - returns a set of row_name plus N category value columns
   - crosstab2(), crosstab3(), and crosstab4() are defined for you,
     but you can create additional crosstab functions per directions
     in the README.

Joe Conway

22 years agoHere are two patches. The guc_and_tablefunc patch addresses the two
Bruce Momjian [Tue, 30 Jul 2002 16:20:03 +0000 (16:20 +0000)]
Here are two patches. The guc_and_tablefunc patch addresses the two
changes mentioned above, and also adds a new function to the tablefunc
API. The tablefunc API change adds the following function:

* Oid foidGetTypeId(Oid foid) - Get a function's typeid given the
* function Oid. Use this together with TypeGetTupleDesc() to get a
* TupleDesc which is derived from the function's declared return type.

In the next post I'll send the contrib/tablefunc patch, which
illustrates the usage of this new function. Also attached is a doc patch
for this change. The doc patch also adds a function that I failed to
document previously.

Joe Conway

22 years agoThis patch fixes one serious bug (runaway INSERT) and a few rare (and
Bruce Momjian [Tue, 30 Jul 2002 16:08:33 +0000 (16:08 +0000)]
This patch fixes one serious bug (runaway INSERT) and a few rare (and
hard to reproduce) error conditions.

Manfred Koizar

22 years agoUpdate contributions link.
Bruce Momjian [Tue, 30 Jul 2002 15:05:17 +0000 (15:05 +0000)]
Update contributions link.

22 years agoadded tests for crossReferences
Dave Cramer [Tue, 30 Jul 2002 13:22:38 +0000 (13:22 +0000)]
added tests for crossReferences