OSDN Git Service

pg-rex/syncrep.git
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.

23 years agoPreliminary code cleanup in elog(). Split out some code into utility
Peter Eisentraut [Fri, 8 Jun 2001 21:16:49 +0000 (21:16 +0000)]
Preliminary code cleanup in elog().  Split out some code into utility
functions, remove indent support, make sure all strings are marked
translatable.

23 years agoDocument and work around ANT bug that prevents directory deletion.
Bruce Momjian [Thu, 7 Jun 2001 20:24:54 +0000 (20:24 +0000)]
Document and work around ANT bug that prevents directory deletion.

23 years agoAdd to TODO.detail.
Bruce Momjian [Thu, 7 Jun 2001 20:06:16 +0000 (20:06 +0000)]
Add to TODO.detail.

23 years agoUpdate TODO list.
Bruce Momjian [Thu, 7 Jun 2001 20:05:56 +0000 (20:05 +0000)]
Update TODO list.

23 years agoreset all: command line and .conf options change defaults
Bruce Momjian [Thu, 7 Jun 2001 04:50:57 +0000 (04:50 +0000)]
reset all: command line and .conf options change defaults
on RESET ALL those are restored.

show all: GUC + non-GUC.

SHOW ALL, RESET ALL

Marko Kreen

23 years agoI have ported another Python Postgres interface to Windows (PgSQL). It seems
Bruce Momjian [Thu, 7 Jun 2001 00:10:18 +0000 (00:10 +0000)]
I have ported another Python Postgres interface to Windows (PgSQL). It seems
that not many people actually use libpq on Win32; I have found another bug. Some
functions that are defined in libpq-fe.h aren't exported in the DLL version of
the library. I have added them to src/interfaces/libpq/libpqdll.def. The new
complete file is attached.

Gerhard H?ring

23 years agoThis adds unary plus capability. No grammar changes, per Tom's request.
Bruce Momjian [Thu, 7 Jun 2001 00:09:32 +0000 (00:09 +0000)]
This adds unary plus capability.  No grammar changes, per Tom's request.

Marko Kreen

23 years agoget_seq_name should truncate name to NAMEDATALEN, so that this works:
Tom Lane [Wed, 6 Jun 2001 22:03:48 +0000 (22:03 +0000)]
get_seq_name should truncate name to NAMEDATALEN, so that this works:
create sequence a1234567890123456789012345678901234567890;
select nextval('a1234567890123456789012345678901234567890');

23 years agoBe a little smarter about deciding how many most-common values to save.
Tom Lane [Wed, 6 Jun 2001 21:29:17 +0000 (21:29 +0000)]
Be a little smarter about deciding how many most-common values to save.

23 years agoAdd large object finalization cleanup to the proper java file.
Bruce Momjian [Wed, 6 Jun 2001 21:16:09 +0000 (21:16 +0000)]
Add large object finalization cleanup to the proper java file.

23 years agoRemove large object finalize code. Compile error.
Bruce Momjian [Wed, 6 Jun 2001 21:04:20 +0000 (21:04 +0000)]
Remove large object finalize code.  Compile error.

23 years agopgindent fix for asterisk indented too much in return type, for Tom.
Bruce Momjian [Wed, 6 Jun 2001 20:51:31 +0000 (20:51 +0000)]
pgindent fix for asterisk indented too much in return type, for Tom.

23 years agoPatch from Ian Lance Taylor fixing multiple cursor arguments
Jan Wieck [Wed, 6 Jun 2001 18:54:41 +0000 (18:54 +0000)]
Patch from Ian Lance Taylor fixing multiple cursor arguments
and buffer zero termination.

Jan

23 years agoAdjust WAL code so that checkpoints truncate the xlog at the previous
Tom Lane [Wed, 6 Jun 2001 17:07:46 +0000 (17:07 +0000)]
Adjust WAL code so that checkpoints truncate the xlog at the previous
checkpoint's redo pointer, not its undo pointer, per discussion in
pghackers a few days ago.  No point in hanging onto undo information
until we have the ability to do something with it --- and this solves
a rather large problem with log space for long-running transactions.
Also, change all calls of write() to detect the case where write
returned a count less than requested, but failed to set errno.
Presume that this situation indicates ENOSPC, and give the appropriate
error message, rather than a random message associated with the previous
value of errno.

23 years agoUpdate TODO list.
Bruce Momjian [Wed, 6 Jun 2001 04:53:50 +0000 (04:53 +0000)]
Update TODO list.

23 years agoCorrect permissions-checking bugs associated with ancient decision to
Tom Lane [Tue, 5 Jun 2001 19:34:56 +0000 (19:34 +0000)]
Correct permissions-checking bugs associated with ancient decision to
copy PUBLIC access rights into each newly created ACL entry.  Instead
treat each ACL entry as independent flags.  Also clean up some ugliness
in acl.h API.

23 years agoImprove planning of OR indexscan plans: for quals like
Tom Lane [Tue, 5 Jun 2001 17:13:52 +0000 (17:13 +0000)]
Improve planning of OR indexscan plans: for quals like
WHERE (a = 1 or a = 2) and b = 42
and an index on (a,b), include the clause b = 42 in the indexquals
generated for each arm of the OR clause.  Essentially this is an index-
driven conversion from CNF to DNF.  Implementation is a bit klugy, but
better than not exploiting the extra quals at all ...

23 years agoFurther work on making use of new statistics in planner. Adjust APIs
Tom Lane [Tue, 5 Jun 2001 05:26:05 +0000 (05:26 +0000)]
Further work on making use of new statistics in planner.  Adjust APIs
of costsize.c routines to pass Query root, so that costsize can figure
more things out by itself and not be so dependent on its callers to tell
it everything it needs to know.  Use selectivity of hash or merge clause
to estimate number of tuples processed internally in these joins
(this is more useful than it would've been before, since eqjoinsel is
somewhat more accurate than before).

23 years agoThis patch adds support for %TYPE in CREATE FUNCTION argument and return
Bruce Momjian [Mon, 4 Jun 2001 23:27:23 +0000 (23:27 +0000)]
This patch adds support for %TYPE in CREATE FUNCTION argument and return
types.  This version has an elog() to remind the user the type
resolution is not dynamic.

Ian Lance Taylor

23 years agoUpdate with new email on ftp location of Karel patch.
Bruce Momjian [Mon, 4 Jun 2001 20:52:51 +0000 (20:52 +0000)]
Update with new email on ftp location of Karel patch.

23 years agoAdd Ross's email to schema.
Bruce Momjian [Mon, 4 Jun 2001 20:29:08 +0000 (20:29 +0000)]
Add Ross's email to schema.

23 years agoAdd schema mention.
Bruce Momjian [Mon, 4 Jun 2001 20:28:21 +0000 (20:28 +0000)]
Add schema mention.

23 years agoUpdate TODO list.
Bruce Momjian [Mon, 4 Jun 2001 20:27:52 +0000 (20:27 +0000)]
Update TODO list.

23 years agoAdd domain to TODO.detail
Bruce Momjian [Mon, 4 Jun 2001 20:13:01 +0000 (20:13 +0000)]
Add domain to TODO.detail

23 years agoUpdate TODO list.
Bruce Momjian [Mon, 4 Jun 2001 20:12:22 +0000 (20:12 +0000)]
Update TODO list.

23 years agoprotected void finalize() {
Bruce Momjian [Mon, 4 Jun 2001 20:10:41 +0000 (20:10 +0000)]
protected void finalize() {
        close();
}

in LargeObject.java so that the db resources are released when it is
garbage collected or am I missing something?

Philip Crotwell

23 years agoGive error message, rather than coredump, for utility statements in
Tom Lane [Mon, 4 Jun 2001 16:17:30 +0000 (16:17 +0000)]
Give error message, rather than coredump, for utility statements in
conditional rules (rules with WHERE clauses).  We cannot support these
since there's noplace to hang a condition on a utility statement.
We caught the other case (attempt to attach a condition at rewrite time)
awhile ago, but this one escaped notice until now.

23 years agoMark many strings in backend not covered by elog for translation. Also,
Peter Eisentraut [Sun, 3 Jun 2001 14:53:56 +0000 (14:53 +0000)]
Mark many strings in backend not covered by elog for translation.  Also,
make strings in xlog.c look more like English and less like binary noise.

23 years agoAccept and output '-Infinity' as well as 'Infinity', per long-ago
Tom Lane [Sat, 2 Jun 2001 20:18:30 +0000 (20:18 +0000)]
Accept and output '-Infinity' as well as 'Infinity', per long-ago
suggestion from Ross Reedstrom.  Still needs work to make those symbols
convert to actual IEEE infinities (on machines where such things exist).

23 years agoUpdate TODO list.
Bruce Momjian [Sat, 2 Jun 2001 19:11:42 +0000 (19:11 +0000)]
Update TODO list.

23 years agoTweak sorting so that nulls appear at the front of a descending sort
Tom Lane [Sat, 2 Jun 2001 19:01:53 +0000 (19:01 +0000)]
Tweak sorting so that nulls appear at the front of a descending sort
(vs. at the end of a normal sort).  This ensures that explicit sorts
yield the same ordering as a btree index scan.  To be really sure that
that equivalence holds, we use the btree entries in pg_amop to decide
whether we are looking at a '<' or '>' operator.  For a sort operator
that has no btree association, we put the nulls at the front if the
operator is named '>' ... pretty grotty, but it does the right thing in
simple ASC and DESC cases, and at least there's no possibility of getting
a different answer depending on the plan type chosen.

23 years agoNative Language Support (NLS)
Peter Eisentraut [Sat, 2 Jun 2001 18:25:18 +0000 (18:25 +0000)]
Native Language Support (NLS)

Use --enable-nls to turn it on; see installation instructions for details.
See developer's guide how to make use of it in programs and how to add
translations.

psql sources have been almost fully prepared and an incomplete German
translation has been provided.  In the backend, only elog() calls are
currently translatable, and the provided German translation file is more
of a placeholder.

23 years agoParanoia about unordered comparisons in IEEE float math. If we are
Tom Lane [Sat, 2 Jun 2001 17:12:12 +0000 (17:12 +0000)]
Paranoia about unordered comparisons in IEEE float math.  If we are
given values that compare as unordered, make sure we reply that they
are equal, which is better than giving an arbitrary answer --- at least
it doesn't depend on which one is passed as which arg.

23 years agodllist.c is included in the frontend libpq interface via symlink.
Jan Wieck [Sat, 2 Jun 2001 15:16:55 +0000 (15:16 +0000)]
dllist.c is included in the frontend libpq interface via symlink.
There is no elog() available. Used fprintf(stderr, ...) and exit
instead.

Jan

23 years agoThe following patch for JDBC fixes an issue with jdbc running on a
Bruce Momjian [Fri, 1 Jun 2001 20:57:58 +0000 (20:57 +0000)]
The following patch for JDBC fixes an issue with jdbc running on a
non-multibyte database loosing 8bit characters.  This patch will cause
the jdbc driver to ignore the encoding reported by the database when
multibyte isn't enabled and use the JVM default in that case.

Barry Lind

23 years agoCheck for malloc failure.
Tom Lane [Fri, 1 Jun 2001 20:29:43 +0000 (20:29 +0000)]
Check for malloc failure.

23 years agoGuard against malloc failure. Also, don't examine segP->lastBackend
Tom Lane [Fri, 1 Jun 2001 20:07:16 +0000 (20:07 +0000)]
Guard against malloc failure.  Also, don't examine segP->lastBackend
until we hold the spinlock.

23 years agoCheck for malloc failure.
Tom Lane [Fri, 1 Jun 2001 19:54:58 +0000 (19:54 +0000)]
Check for malloc failure.

23 years agoIf spi.c wants to use malloc, it better test for malloc failure.
Tom Lane [Fri, 1 Jun 2001 19:43:55 +0000 (19:43 +0000)]
If spi.c wants to use malloc, it better test for malloc failure.

23 years agopltcl, plperl, and plpython all suffer the same bug previously fixed
Tom Lane [Fri, 1 Jun 2001 18:17:44 +0000 (18:17 +0000)]
pltcl, plperl, and plpython all suffer the same bug previously fixed
in plpgsql: they fail for datatypes that have old-style I/O functions
due to caching FmgrInfo structs with wrong fn_mcxt lifetime.

Although the plpython fix seems straightforward, I can't check it here
since I don't have Python installed --- would someone check it?

23 years agoNew improved version of bpcharin() may have got the truncation case
Tom Lane [Fri, 1 Jun 2001 17:49:17 +0000 (17:49 +0000)]
New improved version of bpcharin() may have got the truncation case
right, but it failed to get the padding case right.

This was obscured by subsequent application of bpchar() in all but one
regression test case, and that one didn't fail in an obvious way ---
trailing blanks are hard to see.  Add another test case to make it
more obvious if it breaks again.

23 years agoFix for:
Bruce Momjian [Fri, 1 Jun 2001 16:09:55 +0000 (16:09 +0000)]
Fix for:

> Example form two pg_dump outputs
> 7.1.2 :
>       COPY "list"  FROM stdin;
> 7.0.2 :
>       COPY "list" FROM stdin;

23 years agoRemove fastpath.c's lame attempt at caching function lookup info across
Tom Lane [Fri, 1 Jun 2001 15:45:42 +0000 (15:45 +0000)]
Remove fastpath.c's lame attempt at caching function lookup info across
calls.  This has never actually cached anything, because postgres.c does
each fastpath call as a separate transaction command, and so fastpath.c
would always decide that its cache was outdated.  If it had worked, it
would now be failing for calls of oldstyle functions due to dangling
pointers in the FmgrInfo struct.  Rip it out for simplicity and bug-
proofing.

23 years ago - Synced preproc.y with gram.y.
Michael Meskes [Fri, 1 Jun 2001 06:23:19 +0000 (06:23 +0000)]
    - Synced preproc.y with gram.y.
        - Synced pgc.l with scan.l.
        - Synced keyword.c.
        - Set ecpg version to 2.9.0.
        - Set library version to 3.3.0.

23 years agoClean up some minor problems exposed by further thought about Panon's bug
Tom Lane [Fri, 1 Jun 2001 02:41:36 +0000 (02:41 +0000)]
Clean up some minor problems exposed by further thought about Panon's bug
report on old-style functions invoked by RI triggers.  We had a number of
other places that were being sloppy about which memory context FmgrInfo
subsidiary data will be allocated in.  Turns out none of them actually
cause a problem in 7.1, but this is for arcane reasons such as the fact
that old-style triggers aren't supported anyway.  To avoid getting burnt
later, I've restructured the trigger support so that we don't keep trigger
FmgrInfo structs in relcache memory.  Some other related cleanups too:
it's not really necessary to call fmgr_info at all while setting up
the index support info in relcache entries, because those ScanKeyEntry
structs are never used to invoke the functions.  This should speed up
relcache initialization a tiny bit.

23 years agoUpdate release 1.09 date
Bruce Momjian [Fri, 1 Jun 2001 00:24:21 +0000 (00:24 +0000)]
Update release 1.09 date

23 years agoForgot SGML section section id tag for 7.1.
Bruce Momjian [Thu, 31 May 2001 21:49:15 +0000 (21:49 +0000)]
Forgot SGML section section id tag for 7.1.

23 years agoOoops, forgot to commit Makefile along with other changes.
Tom Lane [Thu, 31 May 2001 19:25:27 +0000 (19:25 +0000)]
Ooops, forgot to commit Makefile along with other changes.

23 years agoSupport for emulating RTREE indexing in GiST. Contributed by
Tom Lane [Thu, 31 May 2001 18:27:18 +0000 (18:27 +0000)]
Support for emulating RTREE indexing in GiST.  Contributed by
Oleg Bartunov and Teodor Sigaev.

23 years agoUpdates to make GIST work with multi-key indexes (from Oleg Bartunov
Tom Lane [Thu, 31 May 2001 18:16:55 +0000 (18:16 +0000)]
Updates to make GIST work with multi-key indexes (from Oleg Bartunov
and Teodor Sigaev).  Declare key values as Datum where appropriate,
rather than char* (Tom Lane).

23 years agoRI triggers would fail for datatypes using old-style equal function,
Tom Lane [Thu, 31 May 2001 17:32:33 +0000 (17:32 +0000)]
RI triggers would fail for datatypes using old-style equal function,
because cached fmgr info contained reference to a shorter-lived data
structure.  Also guard against possibility that fmgr_info could fail,
leaving an incomplete entry present in the hash table.

23 years agoAllow IS and FOR in Pl/PgSQL cursors, per Oracle and ANSI. Jan-approved.
Bruce Momjian [Thu, 31 May 2001 17:15:40 +0000 (17:15 +0000)]
Allow IS and FOR in Pl/PgSQL cursors, per Oracle and ANSI.  Jan-approved.

23 years agoUpdate TODO list.
Bruce Momjian [Thu, 31 May 2001 14:49:24 +0000 (14:49 +0000)]
Update TODO list.

23 years agoUpdate FAQ.
Bruce Momjian [Wed, 30 May 2001 23:00:41 +0000 (23:00 +0000)]
Update FAQ.

23 years agoUpdate FAQ.
Bruce Momjian [Wed, 30 May 2001 22:58:00 +0000 (22:58 +0000)]
Update FAQ.

23 years agoOops, had 0.2 release date wrong.
Bruce Momjian [Wed, 30 May 2001 22:04:33 +0000 (22:04 +0000)]
Oops, had 0.2 release date wrong.

23 years agoRemove OLD_FILE_NAMING code. No longer used.
Bruce Momjian [Wed, 30 May 2001 20:52:34 +0000 (20:52 +0000)]
Remove OLD_FILE_NAMING code.  No longer used.

23 years agoUpdate TODO list.
Bruce Momjian [Wed, 30 May 2001 20:17:38 +0000 (20:17 +0000)]
Update TODO list.

23 years agoAdd recent UNDO/VACUUM thread to TODO.detail.
Bruce Momjian [Wed, 30 May 2001 20:15:28 +0000 (20:15 +0000)]
Add recent UNDO/VACUUM thread to TODO.detail.

23 years agoAdd "#define GIST_AM_OID".
Tom Lane [Wed, 30 May 2001 19:55:08 +0000 (19:55 +0000)]
Add "#define GIST_AM_OID".

23 years agoTweak StrategyEvaluation data structure to eliminate hardwired limit on
Tom Lane [Wed, 30 May 2001 19:53:40 +0000 (19:53 +0000)]
Tweak StrategyEvaluation data structure to eliminate hardwired limit on
number of strategies supported by an index AM.  Add missing copyright
notices and CVS $Header$ markers to GIST source files.

23 years agoUpdate TODO list.
Bruce Momjian [Wed, 30 May 2001 19:49:42 +0000 (19:49 +0000)]
Update TODO list.

23 years agoRemove unused, redundant header files.
Tom Lane [Wed, 30 May 2001 19:39:50 +0000 (19:39 +0000)]
Remove unused, redundant header files.

23 years agoFix broken $Header$ declaration.
Tom Lane [Wed, 30 May 2001 18:32:29 +0000 (18:32 +0000)]
Fix broken $Header$ declaration.

23 years agoProperly compute max sys oid for 7.0 and 7.1.
Bruce Momjian [Wed, 30 May 2001 18:08:24 +0000 (18:08 +0000)]
Properly compute max sys oid for 7.0 and 7.1.

23 years agoI just got bitten by this too. I use type timestamp in the
Bruce Momjian [Wed, 30 May 2001 16:34:49 +0000 (16:34 +0000)]
I just got bitten by this too. I use type timestamp in the
database, and often need the latest timestamp, but want to
format it as a date. With 7.0.x, I just

 select ts from foo order by ts desc limit 1

and in java: d = res.getDate(1);

but this fails everywhere in my code now :(

http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec/jdbc-spec.frame7.html

says

  The ResultSet.getXXX methods will attempt to
  convert whatever SQL type was returned by the
  database to whatever Java type is returned by
  the getXXX method.

Palle Girgensohn

23 years agoFix missing relation in FROM causing NOTICE. Cleanup.
Bruce Momjian [Wed, 30 May 2001 15:37:38 +0000 (15:37 +0000)]
Fix missing relation in FROM causing NOTICE.  Cleanup.