OSDN Git Service

pg-rex/syncrep.git
23 years agoStatistical system views (yet without the config stuff, but
Jan Wieck [Fri, 22 Jun 2001 19:16:24 +0000 (19:16 +0000)]
Statistical system views (yet without the config stuff, but
it's hard to keep such massive changes in sync with the tree
so I need to get it in and work from there now).

Jan

23 years agoMention that EXPLAIN results on small tables shouldn't be extrapolated
Tom Lane [Fri, 22 Jun 2001 18:53:36 +0000 (18:53 +0000)]
Mention that EXPLAIN results on small tables shouldn't be extrapolated
to large tables.  Recommend ANALYZE or VACUUM ANALYZE after populating
a table.

23 years agoInclude catalog/pg_type.h instead of manually extracting the interesting
Peter Eisentraut [Fri, 22 Jun 2001 17:48:39 +0000 (17:48 +0000)]
Include catalog/pg_type.h instead of manually extracting the interesting
oid values.

23 years agoChange SQLPrimaryKeys() so that it detects the primary key
Hiroshi Inoue [Fri, 22 Jun 2001 05:59:43 +0000 (05:59 +0000)]
Change SQLPrimaryKeys() so that it detects the primary key
other than tablename_pkey.

23 years agoAdd support to lock manager for conditionally locking a lock (ie,
Tom Lane [Fri, 22 Jun 2001 00:04:59 +0000 (00:04 +0000)]
Add support to lock manager for conditionally locking a lock (ie,
return without waiting if we can't get the lock immediately).
Not used yet, but will be needed for concurrent VACUUM.

23 years agoRemove unused include file for long-dead flavors of locking.
Tom Lane [Thu, 21 Jun 2001 21:01:36 +0000 (21:01 +0000)]
Remove unused include file for long-dead flavors of locking.

23 years agoTweak error message.
Tom Lane [Thu, 21 Jun 2001 19:45:45 +0000 (19:45 +0000)]
Tweak error message.

23 years agoFix strangely formatted comment.
Bruce Momjian [Thu, 21 Jun 2001 18:25:54 +0000 (18:25 +0000)]
Fix strangely formatted comment.

23 years agoA bit of code beautification/cleanup of obsolete comments. Rethink
Tom Lane [Thu, 21 Jun 2001 16:43:24 +0000 (16:43 +0000)]
A bit of code beautification/cleanup of obsolete comments.  Rethink
ordering of startup operations in one or two places.

23 years agoShared libraries should not be linked explicitly against -lc on FreeBSD
Peter Eisentraut [Wed, 20 Jun 2001 20:25:11 +0000 (20:25 +0000)]
Shared libraries should not be linked explicitly against -lc on FreeBSD
(see http://mail.gnu.org/pipermail/libtool/2000-July/001824.html).  But
apparently it should still be present with -Bsymbolic.

23 years ago-Bsymbolic requires -lc on NetBSD. Also add rpath for non-ELF.
Peter Eisentraut [Wed, 20 Jun 2001 20:15:45 +0000 (20:15 +0000)]
-Bsymbolic requires -lc on NetBSD.  Also add rpath for non-ELF.

from Johnny C. Lam <lamj@stat.cmu.edu> via D'Arcy

23 years agoRe-add explicit declaration of filename_completion_function(), which seems
Peter Eisentraut [Wed, 20 Jun 2001 18:39:14 +0000 (18:39 +0000)]
Re-add explicit declaration of filename_completion_function(), which seems
to be missing in some header files (on OpenBSD 2.8?).

23 years agoThere is no RTLD_GLOBAL on OpenBSD, says Alex Pilosov <alex@pilosoft.com>.
Peter Eisentraut [Wed, 20 Jun 2001 18:33:31 +0000 (18:33 +0000)]
There is no RTLD_GLOBAL on OpenBSD, says Alex Pilosov <alex@pilosoft.com>.

23 years agoSwedish translation for psql (my interpretation of Swedish, surely)
Peter Eisentraut [Wed, 20 Jun 2001 18:25:26 +0000 (18:25 +0000)]
Swedish translation for psql (my interpretation of Swedish, surely)

23 years agoHandle reading of startup packet and authentication exchange after forking
Peter Eisentraut [Wed, 20 Jun 2001 18:07:56 +0000 (18:07 +0000)]
Handle reading of startup packet and authentication exchange after forking
a new postmaster child process.  This should eliminate problems with
authentication blocking (e.g., ident, SSL init) and also reduce problems
with the accept queue filling up under heavy load.

The option to send elog output to a different file per backend (postgres -o)
has been disabled for now because the initialization would have to happen
in a different order and it's not clear we want to keep this anyway.

23 years agoMake sure that everything says version 3.2.
D'Arcy J.M. Cain [Wed, 20 Jun 2001 11:20:34 +0000 (11:20 +0000)]
Make sure that everything says version 3.2.

23 years agoAdd NUMERICOID to this script. This script can be run occasionally to
D'Arcy J.M. Cain [Wed, 20 Jun 2001 11:19:56 +0000 (11:19 +0000)]
Add NUMERICOID to this script.  This script can be run occasionally to
make sure that we are using the right #defines in pgmodule.c but the
OIDs are never actually expected to change.

23 years agoChange the driver so that large error messages are returned
Hiroshi Inoue [Wed, 20 Jun 2001 07:06:40 +0000 (07:06 +0000)]
Change the driver so that large error messages are returned
by multiple SQLError calls.

23 years agoApparently, on some systems, ExtUtils::Embed and MakeMaker are slightly
Bruce Momjian [Wed, 20 Jun 2001 00:26:06 +0000 (00:26 +0000)]
Apparently, on some systems, ExtUtils::Embed and MakeMaker are slightly
broken, and its impossible to make a shared library when compiling with
both CCDLFLAGS and LDDLFAGS, you have to pick one or the other.

Alex Pilosov

23 years agoAttached is a patch to deal with the ones that I missed the first time
Bruce Momjian [Wed, 20 Jun 2001 00:04:44 +0000 (00:04 +0000)]
Attached is a patch to deal with the ones that I missed the first time
around.  I tested this patch under Cygwin and Linux.

Note that I only changed dblink's Makefile in the most minimal way
to fix the link problem under Cygwin (i.e., use the link rule from
Makefile.shlib instead).  dblink's Makefile should probably be further
patched to be consistent with the other PostgreSQL Makefiles.

Jason Tishler

23 years agoBack out SET ALL patch because it is breaking things.
Bruce Momjian [Tue, 19 Jun 2001 23:40:10 +0000 (23:40 +0000)]
Back out SET ALL patch because it is breaking things.

23 years agoAdd IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean
Tom Lane [Tue, 19 Jun 2001 22:39:12 +0000 (22:39 +0000)]
Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean
tests to return the correct results per SQL9x when given NULL inputs.
Reimplement these tests as well as IS [NOT] NULL to have their own
expression node types, instead of depending on special functions.
From Joe Conway, with a little help from Tom Lane.

23 years agoFix badly broken RelationGetRelationName().
Tom Lane [Tue, 19 Jun 2001 21:28:41 +0000 (21:28 +0000)]
Fix badly broken RelationGetRelationName().

23 years agoClean up some longstanding problems in shared-cache invalidation.
Tom Lane [Tue, 19 Jun 2001 19:42:16 +0000 (19:42 +0000)]
Clean up some longstanding problems in shared-cache invalidation.
SI messages now include the relevant database OID, so that operations
in one database do not cause useless cache flushes in backends attached
to other databases.  Declare SI messages properly using a union, to
eliminate the former assumption that Oid is the same size as int or Index.
Rewrite the nearly-unreadable code in inval.c, and document it better.
Arrange for catcache flushes at end of command/transaction to happen before
relcache flushes do --- this avoids loading a new tuple into the catcache
while setting up new relcache entry, only to have it be flushed again
immediately.

23 years agoMove temprel name define from temprel.h to rel.h.
Bruce Momjian [Tue, 19 Jun 2001 12:03:41 +0000 (12:03 +0000)]
Move temprel name define from temprel.h to rel.h.

23 years agoBring RelationGetRelationName into sync with new temp rel names.
Tom Lane [Tue, 19 Jun 2001 05:11:50 +0000 (05:11 +0000)]
Bring RelationGetRelationName into sync with new temp rel names.
Quick hack -- need to decide which header should include the other.

23 years agoCorrected the check for *message truncated* for the future use.
Hiroshi Inoue [Tue, 19 Jun 2001 03:17:12 +0000 (03:17 +0000)]
Corrected the check for *message truncated* for the future use.

23 years agoChanged the error handling as follows.
Hiroshi Inoue [Tue, 19 Jun 2001 02:17:06 +0000 (02:17 +0000)]
Changed the error handling as follows.
1) ERRORs cause an SQL_ERROR and the SQLSTATE='S1000'.
2) NOTICEs cause an SQL_SUCCESS_WITH_INFO and the succeeding
   SQLError() returns the NOTICE message.

23 years agoRESET ALL secondary patch:
Bruce Momjian [Mon, 18 Jun 2001 23:42:32 +0000 (23:42 +0000)]
RESET ALL secondary patch:

Here is Tomified version of my 2 pending patches.
Dropped the set_.._real change as it is not needed.
Desc would be:

* use GUC for settings from cmdline

Marko Kreen

23 years agoWell, after persuading cvsup and cvs that it _is_ possible to have local
Bruce Momjian [Mon, 18 Jun 2001 21:40:06 +0000 (21:40 +0000)]
Well, after persuading cvsup and cvs that it _is_ possible to have local
modifiable repositories, I have a clean untrusted plperl patch to offer
you :)

Highlights:
* There's one perl interpreter used for both trusted and untrusted
procedures. I do think its unnecessary to keep two perl
interpreters around. If someone can break out from trusted "Safe" perl
mode, well, they can do what they want already. If someone disagrees, I
can change this.

* Opcode is not statically loaded anymore. Instead, we load Dynaloader,
which then can grab Opcode (and anything else you can 'use') on its own.

* Checked to work on FreeBSD 4.3 + perl 5.5.3 , OpenBSD 2.8 + perl5.6.1,
RedHat 6.2 + perl 5.5.3

* Uses ExtUtils::Embed to find what options are necessary to link with
perl shared libraries

* createlang is also updated, it can create untrusted perl using 'plperlu'

* Example script (assuming you have Mail::Sendmail installed):
create function foo() returns text as '
         use Mail::Sendmail;

         %mail = ( To      => q(you@yourname.com),
                   From    => q(me@here.com),
                   Message => "This is a very short message"
                  );
         sendmail(%mail) or die $Mail::Sendmail::error;
return          "OK. Log says:\n", $Mail::Sendmail::log;
' language 'plperlu';

Alex Pilosov

23 years agoThe attached patch enables the contrib subtree to build cleanly under
Bruce Momjian [Mon, 18 Jun 2001 21:38:02 +0000 (21:38 +0000)]
The attached patch enables the contrib subtree to build cleanly under
Cygwin with the possible exception of mSQL-interface.  Since I don't
have mSQL installed, I skipped this tool.

Except for dealing with a missing getopt.h (oid2name) and HUGE (seg),
the bulk of the patch uses the standard PostgreSQL approach to deal with
Windows DLL issues.

I tested the build aspect of this patch under Cygwin and Linux without
any ill affects.  Note that I did not actually attempt to test the code
for functionality.

The procedure to apply the patch is as follows:

    $ # save the attachment as /tmp/contrib.patch
    $ # change directory to the top of the PostgreSQL source tree
    $ patch -p0 </tmp/contrib.patch

Jason

23 years agoUntar copyright.html file and make good version.
Bruce Momjian [Mon, 18 Jun 2001 21:34:34 +0000 (21:34 +0000)]
Untar copyright.html file and make good version.

23 years agoHere's a small patch for dblink:
Bruce Momjian [Mon, 18 Jun 2001 19:09:50 +0000 (19:09 +0000)]
Here's a small patch for dblink:

   - fixed dblink invalid pointer causing corrupt elog message
   - fixed dblink_tok improper handling of null results
   - fixed examples in README.dblink

Joe Conway

23 years agoFix some references to USE_AUSTRALIAN_RULES that Bruce missed;
Tom Lane [Mon, 18 Jun 2001 19:05:11 +0000 (19:05 +0000)]
Fix some references to USE_AUSTRALIAN_RULES that Bruce missed;
plus a few trivial improvements in wording.

23 years agoUpdate FAQ.
Bruce Momjian [Mon, 18 Jun 2001 18:56:03 +0000 (18:56 +0000)]
Update FAQ.

23 years agoAdd new dblink to /contrib Makefile.'
Bruce Momjian [Mon, 18 Jun 2001 17:20:56 +0000 (17:20 +0000)]
Add new dblink to /contrib Makefile.'

23 years agoAdd GUC setting for Australian timezones. Uses new GUC boolean callback
Bruce Momjian [Mon, 18 Jun 2001 16:14:44 +0000 (16:14 +0000)]
Add GUC setting for Australian timezones.  Uses new GUC boolean callback
functions to clear date cache.  Allow regression tests to pass when
timezone set.

23 years agoAllow removal of system-named pg_* temp tables. Rename temp file/dir as
Bruce Momjian [Mon, 18 Jun 2001 16:13:21 +0000 (16:13 +0000)]
Allow removal of system-named pg_* temp tables.  Rename temp file/dir as
pgsql_tmp.

23 years agoImprove wording of authentication files.
Bruce Momjian [Mon, 18 Jun 2001 16:11:30 +0000 (16:11 +0000)]
Improve wording of authentication files.

23 years agoDo some restructuring to improve performance of the catcaches. Teach
Tom Lane [Mon, 18 Jun 2001 03:35:07 +0000 (03:35 +0000)]
Do some restructuring to improve performance of the catcaches.  Teach
CatalogCacheFlushRelation (formerly called SystemCacheRelationFlushed)
how to distinguish tuples it should flush from those it needn't; this
means a relcache flush event now only removes the catcache entries
it ought to, rather than zapping the caches completely as it used to.
Testing with the regression tests indicates that this considerably
improves the lifespan of catcache entries.  Also, rearrange catcache
data structures so that the limit on number of cached tuples applies
globally across all the catcaches, rather than being per-catcache.
It was a little silly to have the same size limit on both, say,
pg_attribute caches and pg_am caches (there being only four possible
rows in the latter...).  Doing LRU removal across all the caches
instead of locally in each one should reduce cache reload traffic
in the more heavily used caches and improve the efficiency of
cache memory use.

23 years agoFix *escape* handling in copy_statement_with_parameters(was my fault).
Hiroshi Inoue [Mon, 18 Jun 2001 02:16:09 +0000 (02:16 +0000)]
Fix *escape* handling in copy_statement_with_parameters(was my fault).

23 years agoKeep the list of to-be-NOTIFYed names in a plain List palloc'd in
Tom Lane [Sun, 17 Jun 2001 22:27:15 +0000 (22:27 +0000)]
Keep the list of to-be-NOTIFYed names in a plain List palloc'd in
TopTransactionContext, rather than using Dllist.  This simplifies and
speeds up the code, and eliminates a former risk of coredump when
out of memory (since the old code didn't bother to check for malloc
failure).  It also moves us one step closer to retiring Dllist...

23 years agoMake inet/cidr << and <<= operators indexable. From Alex Pilosov <alex@pilosoft...
Tom Lane [Sun, 17 Jun 2001 02:05:20 +0000 (02:05 +0000)]
Make inet/cidr << and <<= operators indexable.  From Alex Pilosov <alex@pilosoft.com>.

23 years agoTweak startup sequence so that running out of PROC array slots is
Tom Lane [Sat, 16 Jun 2001 22:58:17 +0000 (22:58 +0000)]
Tweak startup sequence so that running out of PROC array slots is
detected sooner in backend startup, and is treated as an expected error
(it gives 'Sorry, too many clients already' now).  This allows us not
to have to enforce the MaxBackends limit exactly in the postmaster.
Also, remove ProcRemove() and fold its functionality into ProcKill().
There's no good reason for a backend not to be responsible for removing
its PROC entry, and there are lots of good reasons for the postmaster
not to be touching shared-memory data structures.

23 years agoIt turns out that the relcache thinks it can distinguish different
Tom Lane [Sat, 16 Jun 2001 18:59:31 +0000 (18:59 +0000)]
It turns out that the relcache thinks it can distinguish different
rules and triggers by OID.  So, even though we have no cross-references
in the system catalogs to pg_rewrite.oid or pg_trigger.oid, we'd better
have unique indexes on them.  Put back pg_rewrite_oid_index, which I
mistakenly removed a few days ago, and add pg_trigger_oid_index.

23 years agoOops, forgot to commit doco updates for has_table_privilege.
Tom Lane [Fri, 15 Jun 2001 21:03:07 +0000 (21:03 +0000)]
Oops, forgot to commit doco updates for has_table_privilege.

23 years agofixed bug in connect.c
Michael Meskes [Fri, 15 Jun 2001 09:55:51 +0000 (09:55 +0000)]
fixed bug in connect.c

23 years agoAdd bpchar to list of string types.
D'Arcy J.M. Cain [Fri, 15 Jun 2001 02:23:18 +0000 (02:23 +0000)]
Add bpchar to list of string types.
Thanks to Steve McClure <smcclure@racemi.com> for the patch.

23 years agoAdd missing PG_SETMASK(&BlockSig) to SIGHUP_handler().
Tom Lane [Thu, 14 Jun 2001 19:59:24 +0000 (19:59 +0000)]
Add missing PG_SETMASK(&BlockSig) to SIGHUP_handler().

23 years agoRevoke public read access from pg_statistic, create new system view
Tom Lane [Thu, 14 Jun 2001 19:47:25 +0000 (19:47 +0000)]
Revoke public read access from pg_statistic, create new system view
pg_stats to provide controlled (and, hopefully, more readable) access
to statistics.  Comments on definition of pg_stats welcome.
I didn't force initdb, but the rules regress test will fail until you
do one.

23 years agoAllow remote query execution (dblink)
Bruce Momjian [Thu, 14 Jun 2001 16:49:03 +0000 (16:49 +0000)]
Allow remote query execution (dblink)

Joe Conway

23 years agoRemove more NULL lines.
Bruce Momjian [Thu, 14 Jun 2001 04:59:59 +0000 (04:59 +0000)]
Remove more NULL lines.

23 years agoFix nulls in HTML file.
Bruce Momjian [Thu, 14 Jun 2001 04:24:01 +0000 (04:24 +0000)]
Fix nulls in HTML file.

 Sergio Bruder

23 years agohas_table_privilege functions from Joe Conway (with some kibitzing from
Tom Lane [Thu, 14 Jun 2001 01:09:22 +0000 (01:09 +0000)]
has_table_privilege functions from Joe Conway (with some kibitzing from
Tom Lane).  For the moment, only the OID/name variants are provided.
I didn't force initdb, but the additions to the 'privileges' regress
test won't pass until you do one.

23 years agoDocs for:
Bruce Momjian [Wed, 13 Jun 2001 22:51:02 +0000 (22:51 +0000)]
Docs for:

> >> inet(text), cidr(text): convert a text value into inet/cidr
> >> set_masklen(inet): set masklen on the inet value

Alex Pilosov

23 years agoAllow a non-superuser database owner to vacuum all tables in his
Tom Lane [Wed, 13 Jun 2001 21:44:41 +0000 (21:44 +0000)]
Allow a non-superuser database owner to vacuum all tables in his
database, including system catalogs (but not the shared catalogs,
since they don't really belong to his database).  This is per recent
mailing list discussion.  Clean up some other code that also checks
for database ownerness by introducing a test function is_dbadmin().

23 years agoFix for duplicate oids just introduced in patch. Don't think it needs
Bruce Momjian [Wed, 13 Jun 2001 21:12:43 +0000 (21:12 +0000)]
Fix for duplicate oids just introduced in patch.  Don't think it needs
initdb unless you are using inet types.

23 years agoAttached is a patch adding following functions:
Bruce Momjian [Wed, 13 Jun 2001 21:09:00 +0000 (21:09 +0000)]
Attached is a patch adding following functions:

inet(text), cidr(text): convert a text value into inet/cidr
set_masklen(inet): set masklen on the inet value

Patch also contains regression checks for these functions.

Alex Pilosov

23 years agoFix compile failure when --enable-multibyte.
Bruce Momjian [Wed, 13 Jun 2001 21:07:12 +0000 (21:07 +0000)]
Fix compile failure when --enable-multibyte.

Marko Kreen

23 years agoUpdate TODO list.
Bruce Momjian [Wed, 13 Jun 2001 20:17:05 +0000 (20:17 +0000)]
Update TODO list.

23 years agoDon't assume free(NULL) is OK. Yes, I know ANSI C says it is.
Tom Lane [Wed, 13 Jun 2001 19:52:33 +0000 (19:52 +0000)]
Don't assume free(NULL) is OK.  Yes, I know ANSI C says it is.

23 years agoUpdate some obsolete examples.
Tom Lane [Wed, 13 Jun 2001 19:31:56 +0000 (19:31 +0000)]
Update some obsolete examples.

23 years agoRemove some dead code, simplify calling convention.
Tom Lane [Wed, 13 Jun 2001 18:56:30 +0000 (18:56 +0000)]
Remove some dead code, simplify calling convention.

23 years ago- Synced preproc.y with gram.y.
Michael Meskes [Wed, 13 Jun 2001 12:38:58 +0000 (12:38 +0000)]
- Synced preproc.y with gram.y.
- Applied bug fix by John Summerfield.

23 years agoExtend GUC concepts of parse_hook and assign_hook to all four supported
Tom Lane [Tue, 12 Jun 2001 22:54:06 +0000 (22:54 +0000)]
Extend GUC concepts of parse_hook and assign_hook to all four supported
datatypes, not only strings.  parse_hook is useless for bool, I suppose,
but it seems possibly useful for int and double to apply variable-specific
constraints that are more complex than simple range limits.  assign_hook
is definitely useful for all datatypes --- we need it right now for bool
to support date cache reset when changing Australian timezone rule setting.
Also, clean up some residual problems with the reset all/show all patch,
including memory leaks and mistaken reset of PostPortNumber.  It seems
best that RESET ALL not touch variables that don't have SUSET or
USERSET context.

23 years agoFix compile error caused by patch application.
Bruce Momjian [Tue, 12 Jun 2001 21:51:27 +0000 (21:51 +0000)]
Fix compile error caused by patch application.

23 years agoRepair problem with multi-action rules in combination with any nontrivial
Tom Lane [Tue, 12 Jun 2001 18:54:22 +0000 (18:54 +0000)]
Repair problem with multi-action rules in combination with any nontrivial
manipulation of rtable/jointree by planner.  Rewriter was generating
actions that shared rtable/jointree substructure, which caused havoc
when planner got to the later actions that it'd already mucked up.

23 years agoAdd Updatable view mention.
Bruce Momjian [Tue, 12 Jun 2001 18:15:59 +0000 (18:15 +0000)]
Add Updatable view mention.

23 years agoUpdate TODO list.
Bruce Momjian [Tue, 12 Jun 2001 18:15:50 +0000 (18:15 +0000)]
Update TODO list.

23 years agoBack out has_table_privilege patch.
Bruce Momjian [Tue, 12 Jun 2001 16:34:27 +0000 (16:34 +0000)]
Back out has_table_privilege patch.

23 years agoUpdate TODO list.
Bruce Momjian [Tue, 12 Jun 2001 16:18:11 +0000 (16:18 +0000)]
Update TODO list.

23 years agoOK -- here's take #5.
Bruce Momjian [Tue, 12 Jun 2001 15:58:34 +0000 (15:58 +0000)]
OK -- here's take #5.

It "make"s and "make check"s clean against current cvs tip.

There are now both Text and Name variants, and the regression test support
is rolled into the patch. Note that to be complete wrt Name based variants,
there are now 12 user visible versions of has_table_privilege:

has_table_privilege(Text usename, Text relname, Text priv_type)
has_table_privilege(Text usename, Name relname, Text priv_type)
has_table_privilege(Name usename, Text relname, Text priv_type)
has_table_privilege(Name usename, Name relname, Text priv_type)
has_table_privilege(Text relname, Text priv_type) /* assumes current_user */
has_table_privilege(Name relname, Text priv_type) /* assumes current_user */
has_table_privilege(Text usename, Oid reloid, Text priv_type)
has_table_privilege(Name usename, Oid reloid, Text priv_type)
has_table_privilege(Oid reloid, Text priv_type)  /* assumes current_user */
has_table_privilege(Oid usesysid, Text relname, Text priv_type)
has_table_privilege(Oid usesysid, Name relname, Text priv_type)
has_table_privilege(Oid usesysid, Oid reloid, Text priv_type)

For the Text based inputs, a new internal function, get_Name is used
(shamelessly copied from get_seq_name in sequence.c) to downcase if not
quoted, or remove quotes if quoted, and truncate. I also added a few test
cases for the downcasing, quote removal, and Name based variants to the
regression test.

Joe Conway

23 years agoI installed postgres 7.1 with --enable-odbc. I then installed
Bruce Momjian [Tue, 12 Jun 2001 15:14:47 +0000 (15:14 +0000)]
I installed postgres 7.1 with --enable-odbc.  I then installed
tclodbc (http://sourceforge.net/projects/tclodbc) and libiodbc-2.50.3
(http://www.iodbc.org/dist/libiodbc-2.50.3.tar.gz).  I could not
get either to work... postgres would not find the global odbcinst.ini
file.  I traced this to src/interfaces/odbc/gpps.c -- here are the
many things I think are wrong:

Run tclodbc and do a ``database db <DSNname>'' where ``DSNname'' is
one of the DSN's in /usr/local/etc/odbcinst.ini (or wherever the
global ini file is installed.)  The result is always the error
message that ``one of server,port,database,etc. are missing''.

Run libiodbc-2.50.3/samples/odbctest <DSNname>.  The command fails
to connect to the database and just exits.

Dave Bodenstab

23 years agoUpdate TODO list.
Bruce Momjian [Tue, 12 Jun 2001 14:50:24 +0000 (14:50 +0000)]
Update TODO list.

23 years agoClean up various to-do items associated with system indexes:
Tom Lane [Tue, 12 Jun 2001 05:55:50 +0000 (05:55 +0000)]
Clean up various to-do items associated with system indexes:
pg_database now has unique indexes on oid and on datname.
pg_shadow now has unique indexes on usename and on usesysid.
pg_am now has unique index on oid.
pg_opclass now has unique index on oid.
pg_amproc now has unique index on amid+amopclaid+amprocnum.
Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache.
Remove index on pg_listener and associated syscache for performance reasons
(caching rows that are certain to change before you need 'em again is
rather pointless).
Change pg_attrdef's nonunique index on adrelid into a unique index on
adrelid+adnum.

Fix various incorrect settings of pg_class.relisshared, make that the
primary reference point for whether a relation is shared or not.
IsSharedSystemRelationName() is now only consulted to initialize relisshared
during initial creation of tables and indexes.  In theory we might now
support shared user relations, though it's not clear how one would get
entries for them into pg_class &etc of multiple databases.

Fix recently reported bug that pg_attribute rows created for an index all have
the same OID.  (Proof that non-unique OID doesn't matter unless it's
actually used to do lookups ;-))

There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap
relations.  Convert them into plain system catalogs without hardwired
entries in pg_class and friends.

Unify global.bki and template1.bki into a single init script postgres.bki,
since the alleged distinction between them was misleading and pointless.
Not to mention that it didn't work for setting up indexes on shared
system relations.

Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use
AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do).
Also, hold locks until transaction commit where necessary.

23 years agoautoconf
Bruce Momjian [Mon, 11 Jun 2001 22:17:14 +0000 (22:17 +0000)]
autoconf

23 years agoThe attached patch enables PostgreSQL CVS to build cleanly under Cygwin
Bruce Momjian [Mon, 11 Jun 2001 22:12:48 +0000 (22:12 +0000)]
The attached patch enables PostgreSQL CVS to build cleanly under Cygwin
when built against readline 4.2.  Specifically, it handles the deprecation
of

    filename_completion_function()

with preference for

    rl_filename_completion_function()

Although, I was motivated by Cygwin support, IMO this patch is appropriate
for all platforms.  To quote from the readline source:

    #if 0
    /* Backwards compatibility (compat.c).  These will go away sometime. */
    ...
    extern READLINE_EXPORT(char, *filename_completion_function) ...
    #endif

Note that this patch is modeled after the one by Peter Eisentraut for
completion_matches():

    http://www.ca.postgresql.org/~petere/readline42.html
I tested this patch under the following environments:

    Cygwin with readline 4.1
    Cygwin with readline 4.2
    Linux with readline 2.2.1
    Linux with readline 4.2

and it behaved as expected.

Jason Tishler

23 years ago Got two patches that were found by folks on the Castor list, that we'd like to
Bruce Momjian [Mon, 11 Jun 2001 22:12:00 +0000 (22:12 +0000)]
  Got two patches that were found by folks on the Castor list, that we'd like to
submit.  These were done for the jdbc2 driver.  The first one is for support
of the Types.BIT in the PreparedStatement class.  The following lines need to be
inserted in the switch statment, at around line 530:

(Prepared statment, line 554, before the default: switch
case Types.BIT:
     if (x instanceof Boolean) {
          set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
     } else {
          throw new PSQLException("postgresql.prep.type");
     }
     break;

The second one is dealing with blobs,

inserted in PreparedStatemant.java (After previous patch line, 558):
         case Types.BINARY:
         case Types.VARBINARY:
                              setObject(parameterIndex,x);
                              break;
and in ResultSet.java (Around line 857):
        case Types.BINARY:
        case Types.VARBINARY:
                        return getBytes(columnIndex);

Ned Wolpert <ned.wolpert@knowledgenet.com>

23 years agoAdd French psql translation. (My rendition of French anyway...)
Peter Eisentraut [Mon, 11 Jun 2001 18:23:33 +0000 (18:23 +0000)]
Add French psql translation.  (My rendition of French anyway...)
Fix typo in message.

23 years agoUpdate FAQ.
Bruce Momjian [Mon, 11 Jun 2001 16:27:52 +0000 (16:27 +0000)]
Update FAQ.

23 years agoNest macros with slightly less enthusiasm, for performance and to avoid
Tom Lane [Mon, 11 Jun 2001 05:00:56 +0000 (05:00 +0000)]
Nest macros with slightly less enthusiasm, for performance and to avoid
having non-gcc compilers spit up.

23 years agoMove temporary files into 'pg_tempfiles' subdirectory of each database
Tom Lane [Mon, 11 Jun 2001 04:12:29 +0000 (04:12 +0000)]
Move temporary files into 'pg_tempfiles' subdirectory of each database
directory (which can be made a symlink to put temp files on another disk).
Add code to delete leftover temp files during postmaster startup.
Bruce, with some kibitzing from Tom.

23 years agocontrib/intarray updates from Oleg Bartunov:
Tom Lane [Mon, 11 Jun 2001 02:31:25 +0000 (02:31 +0000)]
contrib/intarray updates from Oleg Bartunov:
it's reimplemented to use function interface version 1 and special
treating of degenerated signatures.

23 years agoUpdate EXPLAIN discussion and examples to match current sources.
Tom Lane [Mon, 11 Jun 2001 00:52:09 +0000 (00:52 +0000)]
Update EXPLAIN discussion and examples to match current sources.

23 years agoMake planner compute the number of hash buckets the same way that
Tom Lane [Mon, 11 Jun 2001 00:17:08 +0000 (00:17 +0000)]
Make planner compute the number of hash buckets the same way that
nodeHash.c will compute it (by sharing code).

23 years agoMark inet,cidr,macaddr '=' operators as mergejoinable.
Tom Lane [Sun, 10 Jun 2001 22:32:35 +0000 (22:32 +0000)]
Mark inet,cidr,macaddr '=' operators as mergejoinable.

23 years agoAdd inheritance.
Bruce Momjian [Sun, 10 Jun 2001 03:48:16 +0000 (03:48 +0000)]
Add inheritance.

23 years agoUpdate TODO list.
Bruce Momjian [Sun, 10 Jun 2001 03:48:05 +0000 (03:48 +0000)]
Update TODO list.

23 years agoUpdate or remove mentions of versions where appropriate.
Bruce Momjian [Sun, 10 Jun 2001 03:46:31 +0000 (03:46 +0000)]
Update or remove mentions of versions where appropriate.

23 years agoFix thinko in hash cost estimation: average frequency
Tom Lane [Sun, 10 Jun 2001 02:59:35 +0000 (02:59 +0000)]
Fix thinko in hash cost estimation: average frequency
should be computed from total number of distinct values in whole
relation, not # distinct values we expect to have after restriction
clauses are applied.

23 years agoUpdate TODO list.
Bruce Momjian [Sun, 10 Jun 2001 02:58:51 +0000 (02:58 +0000)]
Update TODO list.

23 years agoAdd to TODO.detail.
Bruce Momjian [Sun, 10 Jun 2001 02:57:33 +0000 (02:57 +0000)]
Add to TODO.detail.

23 years agoUpdate TODO list.
Bruce Momjian [Sun, 10 Jun 2001 01:25:01 +0000 (01:25 +0000)]
Update TODO list.

23 years agoAllow GRANT/REVOKE to/from more than one user per invocation. Command tag
Peter Eisentraut [Sat, 9 Jun 2001 23:21:55 +0000 (23:21 +0000)]
Allow GRANT/REVOKE to/from more than one user per invocation.  Command tag
for GRANT/REVOKE is now just that, not "CHANGE".

On the way, migrate some of the aclitem internal representation away from
the parser and build a real parse tree instead.  Also add some 'const'
qualifiers.

23 years agoTeach convert_to_scalar about datatypes timetz, inet, cidr, macaddr.
Tom Lane [Sat, 9 Jun 2001 22:16:18 +0000 (22:16 +0000)]
Teach convert_to_scalar about datatypes timetz, inet, cidr, macaddr.

23 years agoAdd #define for OID of type macaddr.
Tom Lane [Sat, 9 Jun 2001 21:41:42 +0000 (21:41 +0000)]
Add #define for OID of type macaddr.

23 years agoRemove RelationGetBufferWithBuffer(), which is horribly confused about
Tom Lane [Sat, 9 Jun 2001 18:16:59 +0000 (18:16 +0000)]
Remove RelationGetBufferWithBuffer(), which is horribly confused about
appropriate pin-count manipulation, and instead use ReleaseAndReadBuffer.
Make use of the fact that the passed-in buffer (if there is one) must
be pinned to avoid grabbing the bufmgr spinlock when we are able to
return this same buffer.  Eliminate unnecessary 'previous tuple' and
'next tuple' fields of HeapScanDesc and IndexScanDesc, thereby removing
a whole lot of bookkeeping from heap_getnext() and related routines.

23 years agoUpdate FAQ.
Bruce Momjian [Sat, 9 Jun 2001 14:40:41 +0000 (14:40 +0000)]
Update FAQ.

23 years agoFix a few missed NOIND usages.
Tom Lane [Sat, 9 Jun 2001 02:19:07 +0000 (02:19 +0000)]
Fix a few missed NOIND usages.

23 years agoFinish German translation, edit (original) messages a bit.
Peter Eisentraut [Fri, 8 Jun 2001 23:53:48 +0000 (23:53 +0000)]
Finish German translation, edit (original) messages a bit.