]> granicus.if.org Git - postgresql/log
postgresql
22 years agoObviously noone has ever tested the doubling of availiable result ids
Bruce Momjian [Mon, 23 Sep 2002 01:43:23 +0000 (01:43 +0000)]
Obviously noone has ever tested the doubling of availiable result ids
up to
reaching the hard limit. After opening 16(=current REST_START value)
results via pg_exec, the next pg_exec tries to find an empty slot
forever :-( . In PgSetResultId file pgtclId.c in the for loop there
has to be done a break, if res_max ist reached. The piece of code
should look like
        if (resid == connid->res_max)
        {
            resid = 0;
            break;   /* the break as to be added */
        }

now everything works (double available results after reaching
RES_START up to reaching RES_HARD_MAX)

Gerhard Hintermayer

22 years agoNothing.
Bruce Momjian [Mon, 23 Sep 2002 01:39:05 +0000 (01:39 +0000)]
Nothing.

22 years agoGet rid of bogus use of heap_mark4update in reindex operations (cf.
Tom Lane [Mon, 23 Sep 2002 00:42:48 +0000 (00:42 +0000)]
Get rid of bogus use of heap_mark4update in reindex operations (cf.
recent bug report).  Fix processing of nailed-in-cache indexes;
it appears that REINDEX DATABASE has been broken for months :-(.

22 years agoIn UpdateStats(), don't bother to update the pg_class row if it already
Tom Lane [Sun, 22 Sep 2002 23:03:58 +0000 (23:03 +0000)]
In UpdateStats(), don't bother to update the pg_class row if it already
contains the correct statistics.  This is a partial solution for the
problem of allowing concurrent CREATE INDEX commands: unless they commit
at nearly the same instant, the second one will see the first one's
pg_class updates as committed, and won't try to update again, thus
avoiding the 'tuple concurrently updated' failure.

22 years agoRemove commas for compatibility with newer releases of bison.
Tom Lane [Sun, 22 Sep 2002 21:56:47 +0000 (21:56 +0000)]
Remove commas for compatibility with newer releases of bison.

22 years agoRemove commas for compatibility with newer bisons.
Tom Lane [Sun, 22 Sep 2002 21:54:31 +0000 (21:54 +0000)]
Remove commas for compatibility with newer bisons.

22 years agoRemove extraneous | ... while bison 1.28 doesn't object, newer versions
Tom Lane [Sun, 22 Sep 2002 21:51:18 +0000 (21:51 +0000)]
Remove extraneous | ... while bison 1.28 doesn't object, newer versions
do.

22 years agoRemove commas from %type and %token lists, for compatibility with newer
Tom Lane [Sun, 22 Sep 2002 21:44:43 +0000 (21:44 +0000)]
Remove commas from %type and %token lists, for compatibility with newer
versions of bison.

22 years agoTranslation updates, some messages tweaked.
Peter Eisentraut [Sun, 22 Sep 2002 20:57:21 +0000 (20:57 +0000)]
Translation updates, some messages tweaked.

22 years agoRelationClearRelation must reset rd_targblock and update rd_nblocks
Tom Lane [Sun, 22 Sep 2002 20:56:28 +0000 (20:56 +0000)]
RelationClearRelation must reset rd_targblock and update rd_nblocks
even when dealing with a nailed-in-cache relation; otherwise, following
VACUUM truncation of a system catalog, other backends might have
unreasonably large values of these fields.

22 years agoMake \dS work more like it used to, viz, show only system objects.
Tom Lane [Sun, 22 Sep 2002 20:44:22 +0000 (20:44 +0000)]
Make \dS work more like it used to, viz, show only system objects.

22 years agoI haven't seen any objections, so here is a patch. It removes "#define
Tom Lane [Sun, 22 Sep 2002 20:08:51 +0000 (20:08 +0000)]
I haven't seen any objections, so here is a patch. It removes "#define
YYERROR_VERBOSE" from contrib/cube and contrib/seg, and adjusts the expected
output accordingly. Hopefully this will consistently pass across multiple
bison versions.

Joe Conway

22 years agoserver_min_messages and friends should have valid values at bootup.
Tom Lane [Sun, 22 Sep 2002 19:52:38 +0000 (19:52 +0000)]
server_min_messages and friends should have valid values at bootup.

22 years agoReplace pg_attribute.attisinherited with attislocal and attinhcount
Tom Lane [Sun, 22 Sep 2002 19:42:52 +0000 (19:42 +0000)]
Replace pg_attribute.attisinherited with attislocal and attinhcount
columns, to allow more correct behavior in multiple-inheritance cases.
Patch by Alvaro Herrera, review by Tom Lane.

22 years agoFix busted markup.
Tom Lane [Sun, 22 Sep 2002 18:47:24 +0000 (18:47 +0000)]
Fix busted markup.

22 years agoBring SIMILAR TO and SUBSTRING into some semblance of conformance with
Tom Lane [Sun, 22 Sep 2002 17:27:25 +0000 (17:27 +0000)]
Bring SIMILAR TO and SUBSTRING into some semblance of conformance with
the SQL99 standard.  (I'm not sure that the character-class features are
quite right, but that can be fixed later.)  Document SQL99 and POSIX
regexps as being different features; provide variants of SUBSTRING for
each.

22 years agoMove most of the error checking for foreign-key constraints out of
Tom Lane [Sun, 22 Sep 2002 00:37:09 +0000 (00:37 +0000)]
Move most of the error checking for foreign-key constraints out of
parse analysis and into the execution code (in tablecmds.c).  This
eliminates a lot of unreasonably complex code that needed to have two
or more execution paths in case it was dealing with a not-yet-created
table column vs. an already-existing one.  The execution code is always
dealing with already-created tables and so needs only one case.  This
also eliminates some potential race conditions (the table wasn't locked
between parse analysis and execution), makes it easy to fix the gripe
about wrong referenced-column names generating a misleading error message,
and lets us easily add a dependency from the foreign-key constraint to
the unique index that it requires the referenced table to have.  (Cf.
complaint from Kris Jurka 12-Sep-2002 on pgsql-bugs.)

Also, third try at building a deletion mechanism that is not sensitive
to the order in which pg_depend entries are visited.  Adding the above-
mentioned dependency exposed the folly of what dependency.c had been
doing: it failed for cases where B depends on C while both auto-depend
on A.  Dropping A should succeed in this case, but was failing if C
happened to be visited before B.  It appears the only solution is two
separate walks over the dependency tree.

22 years agoAdd last-ditch defense against attempts to compile datetime code with
Tom Lane [Sat, 21 Sep 2002 19:52:41 +0000 (19:52 +0000)]
Add last-ditch defense against attempts to compile datetime code with
-ffast-math.

22 years agoProvide an upgrade strategy for dump files containing functions declared
Tom Lane [Sat, 21 Sep 2002 18:39:26 +0000 (18:39 +0000)]
Provide an upgrade strategy for dump files containing functions declared
with OPAQUE.  CREATE LANGUAGE, CREATE TRIGGER, and CREATE TYPE will all
accept references to functions declared with OPAQUE --- but they will
issue a NOTICE, and will modify the function entries in pg_proc to have
the preferred type-safe argument or result types instead of OPAQUE.
Per recent pghackers discussions.

22 years agoAdd more appropriate markup.
Peter Eisentraut [Sat, 21 Sep 2002 18:32:54 +0000 (18:32 +0000)]
Add more appropriate markup.

22 years agoFix PPC s_lock operations to work correctly on multi-CPU machines.
Tom Lane [Sat, 21 Sep 2002 00:14:05 +0000 (00:14 +0000)]
Fix PPC s_lock operations to work correctly on multi-CPU machines.
Need 'isync' during TAS and 'sync' during S_UNLOCK.

22 years agoPerformance improvement for MultiRecordFreeSpace on large relations ---
Tom Lane [Fri, 20 Sep 2002 19:56:01 +0000 (19:56 +0000)]
Performance improvement for MultiRecordFreeSpace on large relations ---
avoid O(N^2) behavior.  Problem noted and fixed by Stephen Marshall <smarshall@wsicorp.com>,
with some help from Tom Lane.

22 years agoRevision
Peter Eisentraut [Fri, 20 Sep 2002 18:39:41 +0000 (18:39 +0000)]
Revision

22 years agoPut in defense against gcc -ffast-math.
Peter Eisentraut [Fri, 20 Sep 2002 18:38:57 +0000 (18:38 +0000)]
Put in defense against gcc -ffast-math.

22 years agoCode review for check-domain-constraints-in-COPY patch. Do correct thing
Tom Lane [Fri, 20 Sep 2002 16:56:02 +0000 (16:56 +0000)]
Code review for check-domain-constraints-in-COPY patch.  Do correct thing
when default expression for a domain is being used.  Avoid repetitive
catalog lookups.

22 years agoUpdate regression expected results for to_char() change.
Tom Lane [Fri, 20 Sep 2002 16:44:55 +0000 (16:44 +0000)]
Update regression expected results for to_char() change.

22 years agoChange domain patch to COERCE_IMPLICIT_CAST, per Tom.
Bruce Momjian [Fri, 20 Sep 2002 15:43:03 +0000 (15:43 +0000)]
Change domain patch to COERCE_IMPLICIT_CAST, per Tom.

22 years agoFix compile error from Rod's patch.
Bruce Momjian [Fri, 20 Sep 2002 15:29:44 +0000 (15:29 +0000)]
Fix compile error from Rod's patch.

22 years agoDone:
Bruce Momjian [Fri, 20 Sep 2002 03:57:57 +0000 (03:57 +0000)]
Done:

> * -to_char(0,'FM999.99') returns a period, to_char(1,'FM999.99') doesn't (Karel)

22 years agoThe patch fix bug described in TODO:
Bruce Momjian [Fri, 20 Sep 2002 03:57:09 +0000 (03:57 +0000)]
The patch fix bug described in TODO:

 * to_char(0,'FM999.99') returns a period, to_char(1,'FM999.99') does not

Karel Zak

22 years agoTom Lane wrote:
Bruce Momjian [Fri, 20 Sep 2002 03:55:40 +0000 (03:55 +0000)]
Tom Lane wrote:
> I see in your recent bytea-LIKE patch
>
>         if (datatype != BYTEAOID && pg_database_encoding_max_length()
> 1)
>             len = pg_mbcliplen((const unsigned char *) workstr, len,
len - 1);
>         else
>             len -= -1;
>
> Surely there's one too many minus signs in that last?

Joe Conway

22 years agoThis patch cleans up some of the code in src/util/adt/formatting.c,
Bruce Momjian [Fri, 20 Sep 2002 03:54:57 +0000 (03:54 +0000)]
This patch cleans up some of the code in src/util/adt/formatting.c,
fixes a few minor bugs (typos, potential buffer overruns, etc.), and
fixes some spelling/grammar mistakes.

Neil Conway

22 years agoTiny patch fixing small documentation typo.
Bruce Momjian [Fri, 20 Sep 2002 03:54:21 +0000 (03:54 +0000)]
Tiny patch fixing small documentation typo.

Oleg Bartunov

22 years agoThis patch fixes two typos in src/backend/storage/ipc/README.
Bruce Momjian [Fri, 20 Sep 2002 03:53:55 +0000 (03:53 +0000)]
This patch fixes two typos in src/backend/storage/ipc/README.

Neil Conway

22 years agoFixed this problem and added regression tests in domain.sql.
Bruce Momjian [Fri, 20 Sep 2002 03:52:50 +0000 (03:52 +0000)]
Fixed this problem and added regression tests in domain.sql.

Also:
- Changed header file order (alphabetical)
- Changed to m = attnum - 1 in binary copy code for consistency

Rod Taylor

22 years agoI have included fixes to declare some floating point constants as double
Bruce Momjian [Fri, 20 Sep 2002 03:47:22 +0000 (03:47 +0000)]
I have included fixes to declare some floating point constants as double
instead of int, change the calculation method to use the haversine
formula
which is more accurrate for short distances, added a grant to public for
geo_distance and added a regression test.

I will resubmit the earth distance stuff based on cube after 7.3 is
released.

Bruno Wolff III

22 years ago> I'm not sure why NDirectFileRead/NDirectFileWrite are unused at the
Bruce Momjian [Fri, 20 Sep 2002 03:45:08 +0000 (03:45 +0000)]
> I'm not sure why NDirectFileRead/NDirectFileWrite are unused at the
> moment, but they used to be used; I think the correct response is to
> put back the missing counter increments, not rip out the counters.

Ok, fair enough. It's worth noting that they've been broken for a
while -- for example, the HashJoin counter increments were broken when
you comitted r1.20 of executor/nodeHashJoin.c in May of '99.

I've attached a revised patch that doesn't remove the counters (but
doesn't increment them either: I'm not sure of all the places where
the counter should be incremented).

Neil Conway

22 years agoMention that pg_get_viewdef(name) is deprecated.
Bruce Momjian [Fri, 20 Sep 2002 03:44:06 +0000 (03:44 +0000)]
Mention that pg_get_viewdef(name) is deprecated.

Rod Taylor

22 years agoThis grants execute privileges to public for the fti() function. Should
Bruce Momjian [Fri, 20 Sep 2002 03:42:39 +0000 (03:42 +0000)]
This grants execute privileges to public for the fti() function.  Should
we go through and give all the contribs grants?

Christopher Kings-Lynne

22 years agoThis patch corrects a minor mis-statement in the CREATE DOMAIN docs,
Bruce Momjian [Fri, 20 Sep 2002 03:39:15 +0000 (03:39 +0000)]
This patch corrects a minor mis-statement in the CREATE DOMAIN docs,
pointed out by Chris KL on -hackers a little while ago -- NOT NULL !=
CHECK xxx IS NOT NULL.

Neil Conway

22 years agoTweak heap.c to refuse attempts to create table columns of standalone
Tom Lane [Thu, 19 Sep 2002 23:40:56 +0000 (23:40 +0000)]
Tweak heap.c to refuse attempts to create table columns of standalone
composite types.  Add a couple more lsyscache.c routines to support this,
and make use of them in some other places that were doing lookups the
hard way.

22 years agoDepartment of second thoughts: suppressing implicit casts everywhere in
Tom Lane [Thu, 19 Sep 2002 22:48:34 +0000 (22:48 +0000)]
Department of second thoughts: suppressing implicit casts everywhere in
ruleutils display is not such a great idea.  For arguments of functions
and operators I think we'd better keep the historical behavior of showing
such casts explicitly, to ensure that the function/operator is reparsed
the same way when the rule is reloaded.  This also makes the output of
EXPLAIN less obscurantist about exactly what's happening.

22 years agoExtend pg_cast castimplicit column to a three-way value; this allows us
Tom Lane [Wed, 18 Sep 2002 21:35:25 +0000 (21:35 +0000)]
Extend pg_cast castimplicit column to a three-way value; this allows us
to be flexible about assignment casts without introducing ambiguity in
operator/function resolution.  Introduce a well-defined promotion hierarchy
for numeric datatypes (int2->int4->int8->numeric->float4->float8).
Change make_const to initially label numeric literals as int4, int8, or
numeric (never float8 anymore).
Explicitly mark Func and RelabelType nodes to indicate whether they came
from a function call, explicit cast, or implicit cast; use this to do
reverse-listing more accurately and without so many heuristics.
Explicit casts to char, varchar, bit, varbit will truncate or pad without
raising an error (the pre-7.2 behavior), while assigning to a column without
any explicit cast will still raise an error for wrong-length data like 7.3.
This more nearly follows the SQL spec than 7.2 behavior (we should be
reporting a 'completion condition' in the explicit-cast cases, but we have
no mechanism for that, so just do silent truncation).
Fix some problems with enforcement of typmod for array elements;
it didn't work at all in 'UPDATE ... SET array[n] = foo', for example.
Provide a generalized array_length_coerce() function to replace the
specialized per-array-type functions that used to be needed (and were
missing for NUMERIC as well as all the datetime types).
Add missing conversions int8<->float4, text<->numeric, oid<->int8.
initdb forced.

22 years agoAdd mention of /contrib/adddepend to HISTORY.
Bruce Momjian [Wed, 18 Sep 2002 20:43:03 +0000 (20:43 +0000)]
Add mention of /contrib/adddepend to HISTORY.

22 years agoAdd 'adddepend' script to handle pre-7.3 object dependencies.
Bruce Momjian [Wed, 18 Sep 2002 20:38:59 +0000 (20:38 +0000)]
Add 'adddepend' script to handle pre-7.3 object dependencies.

22 years agoUpdate installation instructions and put mostly everything in one place.
Peter Eisentraut [Wed, 18 Sep 2002 20:09:32 +0000 (20:09 +0000)]
Update installation instructions and put mostly everything in one place.
Also, some editing in PL/Perl and PL/Python chapters.

22 years agoRemove pgeasy and odbc.
Peter Eisentraut [Wed, 18 Sep 2002 20:07:15 +0000 (20:07 +0000)]
Remove pgeasy and odbc.

22 years agoRename help file upgrade_7.3 to upgrade_tips_7.3.
Bruce Momjian [Wed, 18 Sep 2002 15:24:08 +0000 (15:24 +0000)]
Rename help file upgrade_7.3 to upgrade_tips_7.3.

22 years agoAdd GRANT EXECUTE ON FUNCTION
Tatsuo Ishii [Wed, 18 Sep 2002 06:38:29 +0000 (06:38 +0000)]
Add GRANT EXECUTE ON FUNCTION

22 years agoAdd mention of Tom's client change summary email to the history file.
Bruce Momjian [Wed, 18 Sep 2002 05:17:04 +0000 (05:17 +0000)]
Add mention of Tom's client change summary email to the history file.

22 years agoAdd:
Bruce Momjian [Wed, 18 Sep 2002 04:22:51 +0000 (04:22 +0000)]
Add:

>  o Allow EXPLAIN EXECUTE to see prepared plans

22 years agoFix bug in encoding conversion map.
Tatsuo Ishii [Wed, 18 Sep 2002 02:10:10 +0000 (02:10 +0000)]
Fix bug in encoding conversion map.

22 years agoUpdate Japanese README so that it reflects the changes made to the
Tatsuo Ishii [Wed, 18 Sep 2002 01:21:28 +0000 (01:21 +0000)]
Update Japanese README so that it reflects the changes made to the
conversion function interface.

22 years agoAdd:
Bruce Momjian [Tue, 17 Sep 2002 22:23:02 +0000 (22:23 +0000)]
Add:

> * Allow pg_xlog to be moved without symlinks

22 years agoPoint out that CREATE INDEX uses sorts and hence sort_mem GUC parameter.
Bruce Momjian [Tue, 17 Sep 2002 21:41:47 +0000 (21:41 +0000)]
Point out that CREATE INDEX uses sorts and hence sort_mem GUC parameter.

22 years agoFix pgaccess URL, from Justin.
Bruce Momjian [Tue, 17 Sep 2002 21:15:04 +0000 (21:15 +0000)]
Fix pgaccess URL, from Justin.

22 years agoRemove src/test/regress/sql: plpgsql-nsp-testing.sql per Joe Conway.
Bruce Momjian [Tue, 17 Sep 2002 04:27:41 +0000 (04:27 +0000)]
Remove src/test/regress/sql: plpgsql-nsp-testing.sql  per Joe Conway.

22 years agoUn-break duplicate_oids script.
Tom Lane [Tue, 17 Sep 2002 01:28:36 +0000 (01:28 +0000)]
Un-break duplicate_oids script.

22 years agoRemove retest Makefile entry because it does not compile.
Bruce Momjian [Mon, 16 Sep 2002 16:02:43 +0000 (16:02 +0000)]
Remove retest Makefile entry because it does not compile.

22 years agoAdd mention of removed -enable-multibyte/locale in HISTORY.
Bruce Momjian [Mon, 16 Sep 2002 15:08:53 +0000 (15:08 +0000)]
Add mention of removed -enable-multibyte/locale in HISTORY.

22 years agoAdd to link() thread.
Bruce Momjian [Mon, 16 Sep 2002 02:50:20 +0000 (02:50 +0000)]
Add to link() thread.

22 years agoAdd link() info to TODO.detail.
Bruce Momjian [Mon, 16 Sep 2002 02:47:05 +0000 (02:47 +0000)]
Add link() info to TODO.detail.

22 years agoFix for rare race-condition-like failure: if a backend receives SIGUSR2
Tom Lane [Mon, 16 Sep 2002 01:24:41 +0000 (01:24 +0000)]
Fix for rare race-condition-like failure: if a backend receives SIGUSR2
(notify/SI-overrun interrupt) while it is in process of doing proc_exit,
it is possible for Async_NotifyHandler() to try to start a transaction
when one is already running.  This leads to Asserts() or worse.  I think
it may only be possible to occur when frontend synchronization is lost
(ie, the elog(FATAL) in SocketBackend() fires), but that is a standard
occurrence after error during COPY.  In any case, I have seen this
failure occur during regression tests, so it is definitely possible.

22 years agoCast functions can be immutable or stable.
Peter Eisentraut [Sun, 15 Sep 2002 13:04:16 +0000 (13:04 +0000)]
Cast functions can be immutable or stable.

22 years agoUpdate obsolete comment.
Tom Lane [Sat, 14 Sep 2002 22:14:49 +0000 (22:14 +0000)]
Update obsolete comment.

22 years agoSimplify handling of second database for dblink tests.
Tom Lane [Sat, 14 Sep 2002 22:00:59 +0000 (22:00 +0000)]
Simplify handling of second database for dblink tests.

22 years agoClean up mess from duplicate patches.
Tom Lane [Sat, 14 Sep 2002 21:32:38 +0000 (21:32 +0000)]
Clean up mess from duplicate patches.

22 years agoThe attached adds GRANTs to PUBLIC for dblink functions, removes the
Tom Lane [Sat, 14 Sep 2002 20:28:54 +0000 (20:28 +0000)]
The attached adds GRANTs to PUBLIC for dblink functions, removes the
non-standard regression test, and adds standard installcheck regression test
support.

The test creates a second database (regression_slave) and drops it again, in
order to avoid the cheesy-ness of connecting back to the same database ;-)

Joe Conway

22 years agoSome PL/PgSQL documentation improvements from Neil Conway.
Tom Lane [Sat, 14 Sep 2002 20:11:16 +0000 (20:11 +0000)]
Some PL/PgSQL documentation improvements from Neil Conway.

22 years agoCosmetic fixes from Neil Conway.
Tom Lane [Sat, 14 Sep 2002 19:59:20 +0000 (19:59 +0000)]
Cosmetic fixes from Neil Conway.

22 years agoThe attached adds GRANTs to PUBLIC for contrib/fuzzystringmatch.
Tom Lane [Sat, 14 Sep 2002 19:56:01 +0000 (19:56 +0000)]
The attached adds GRANTs to PUBLIC for contrib/fuzzystringmatch.

Joe Conway

22 years agoAttached is a patch to fix some recently raised issues that exist in
Tom Lane [Sat, 14 Sep 2002 19:53:59 +0000 (19:53 +0000)]
Attached is a patch to fix some recently raised issues that exist in
contrib/tablefunc. Specifically it replaces the use of VIEWs (for needed
composite type creation) with use of CREATE TYPE. It also performs GRANT
EXECUTE ON FUNCTION foo() TO PUBLIC for all of the created functions. There
was also a cosmetic change to two regression files.

Joe Conway

22 years agoAvoid overflow for large elapsed times in \timing output. Per
Tom Lane [Sat, 14 Sep 2002 19:46:01 +0000 (19:46 +0000)]
Avoid overflow for large elapsed times in \timing output.  Per
Kenji Sugita.

22 years agoFix portability bug in get_normal_pair (RAND_MAX != MAX_RANDOM_VALUE).
Tom Lane [Sat, 14 Sep 2002 19:32:54 +0000 (19:32 +0000)]
Fix portability bug in get_normal_pair (RAND_MAX != MAX_RANDOM_VALUE).
Also try to improve readability and performance.

22 years agoShrink the pg_hba.conf and pg_ident.conf default files and move most of the
Peter Eisentraut [Sat, 14 Sep 2002 18:35:46 +0000 (18:35 +0000)]
Shrink the pg_hba.conf and pg_ident.conf default files and move most of the
inline documentation to the main docs.

22 years agoTranslation updates
Peter Eisentraut [Sat, 14 Sep 2002 13:46:24 +0000 (13:46 +0000)]
Translation updates

22 years agoAdded regression test for using server side prepared statements in jdbc
Barry Lind [Sat, 14 Sep 2002 03:52:56 +0000 (03:52 +0000)]
Added regression test for using server side prepared statements in jdbc
and fixed a bug found by the regression test

 Modified Files:
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
  jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
 Added Files:
  jdbc/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java

22 years agoChange Assert(len > 0) to Assert(len >= 0)
Tatsuo Ishii [Fri, 13 Sep 2002 06:41:18 +0000 (06:41 +0000)]
Change Assert(len > 0) to Assert(len >= 0)
Change PG_RETURN_INT32(0) to PG_RETURN_VOID()

22 years agoAdd more information about schemas. Combines some previously existing
Peter Eisentraut [Thu, 12 Sep 2002 22:05:36 +0000 (22:05 +0000)]
Add more information about schemas.  Combines some previously existing
material into the new location.

22 years agoFix likely cause of rare ALTER TABLE ADD FOREIGN KEY failures ---
Tom Lane [Thu, 12 Sep 2002 21:16:42 +0000 (21:16 +0000)]
Fix likely cause of rare ALTER TABLE ADD FOREIGN KEY failures ---
don't assume relname field of a relcache entry will stay valid across
lots of operations.

22 years agoAvoid misleading error message when SET/RESET target variable name
Tom Lane [Thu, 12 Sep 2002 14:03:45 +0000 (14:03 +0000)]
Avoid misleading error message when SET/RESET target variable name
doesn't match any known variable.

22 years agoThe small context diff below corrects what seems to be an oversight in
Bruce Momjian [Thu, 12 Sep 2002 00:26:42 +0000 (00:26 +0000)]
The small context diff below corrects what seems to be an oversight in
fmgr.h - it's discouraged to access fcinfo directly but there is no
macro to get the number of arguments passed to the function. Checking
the number of arguments is often useful when you have a function which
can be called like:

 func('arg');
 func(null);
 func();

all mapping to the same C function.

the macro has a function-like appearance to match the other PG_*
macros.

Lee Kindness.

22 years agoThis is a comprehensive set of diffs (versus current CVS) that replaces those
Bruce Momjian [Thu, 12 Sep 2002 00:26:00 +0000 (00:26 +0000)]
This is a comprehensive set of diffs (versus current CVS) that replaces those
attached to the same message with the Earth Distance patches.
Recent changes include changing the subscript in one place I forgot
in the previous bugfix patch. A couple of added regression tests, which
should help catch this mistake if it reappears.
I also put in a limit of 100 dimensions in cube_large and cube_in to
prevent making it easy to create very large cubes. Changing one define
in cubedata.h will raise the limit if some needs more dimensions.

Bruno Wolff III

22 years ago> intarray and ltree both seem to be mapping their own declarations onto
Bruce Momjian [Thu, 12 Sep 2002 00:24:46 +0000 (00:24 +0000)]
> intarray and ltree both seem to be mapping their own declarations onto
> arrays using largely-similar code.  But while intarray fails its
> regression test, I find ltree still passes.  So I'm confused about what
> that code is really doing and don't want to touch it.

Please, apply attached patch, it solves the problem.

Teodor Sigaev

22 years ago> Sean Chittenden <sean@chittenden.org> writes:
Bruce Momjian [Thu, 12 Sep 2002 00:24:10 +0000 (00:24 +0000)]
> Sean Chittenden <sean@chittenden.org> writes:
>
>>::sigh:: Is it me or does it look like all
>>of pl/pgsql is schema un-aware (ie, all of the declarations).  -sc
>
>
> Yeah.  The group of routines parse_word, parse_dblword, etc that are
> called by the lexer certainly all need work.  There are some
> definitional issues to think about, too --- plpgsql presently relies on
> the number of names to give it some idea of what to look for, and those
> rules are probably all toast now.  Please come up with a sketch of what
> you think the behavior should be before you start hacking code.

Attached is a diff -c format proposal to fix this. I've also attached a short
test script. Seems to work OK and passes all regression tests.

Here's a breakdown of how I understand plpgsql's "Special word rules" -- I
think it illustrates the behavior reasonably well. New functions added by this
patch are plpgsql_parse_tripwordtype and plpgsql_parse_dblwordrowtype:

Joe Conway

22 years agoJoe Conway wrote:
Bruce Momjian [Thu, 12 Sep 2002 00:21:25 +0000 (00:21 +0000)]
Joe Conway wrote:
 > Hannu Krosing wrote:
 >
 >> It seems that my last mail on this did not get through to the list
 >> ;(
 >>
 >> Please consider renaming the new builtin function
 >> split(text,text,int)
 >>
 >> to something else, perhaps
 >>
 >> split_part(text,text,int)
 >>
 >> (like date_part)
 >>
 >> The reason for this request is that 3 most popular scripting
 >> languages (perl, python, php) all have also a function with similar
 >> signature, but returning an array instead of single element and the
 >> (optional) third argument is limit (maximum number of splits to
 >> perform)
 >>
 >> I think that it would be good to have similar function in (some
 >> future release of) postgres, but if we now let in a function with
 >> same name and arguments but returning a single string instead an
 >> array of them, then we will need to invent a new and not so easy to
 >> recognise name for the "real" split function.
 >>
 >
 > This is a good point, and I'm not opposed to changing the name, but
 > it is too bad your original email didn't get through before beta1 was
 >  rolled. The change would now require an initdb, which I know we were
 >  trying to avoid once beta started (although we could change it
 > without *requiring* an initdb I suppose).
 >
 > I guess if we do end up needing an initdb for other reasons, we
 > should make this change too. Any other opinions? Is split_part an
 > acceptable name?
 >
 > Also, if we add a todo to produce a "real" split function that
 > returns an array, similar to those languages, I'll take it for 7.4.

No one commented on the choice of name, so the attached patch changes
the name of split(text,text,int) to split_part(text,text,int) per
Hannu's recommendation above. This can be applied without an initdb if
current beta testers are advised to run:

   update pg_proc set proname = 'split_part' where proname = 'split';

in the case they want to use this function. Regression and doc fix is
also included in the patch.

Joe Conway

22 years agoNo change.
Bruce Momjian [Thu, 12 Sep 2002 00:20:04 +0000 (00:20 +0000)]
No change.

22 years ago> Now I'm testing connectby() in the /contrib/tablefunc in 7.3b1, which would
Bruce Momjian [Thu, 12 Sep 2002 00:19:44 +0000 (00:19 +0000)]
> Now I'm testing connectby()  in the /contrib/tablefunc in 7.3b1, which would
> be a useful function for many users.   However, I found the fact that
> if connectby_tree has the following data, connectby() tries to search the end
> of roots without knowing that the relations are infinite(-5-9-10-11-9-10-11-)
.
> I hope connectby() supports a check routine to find infinite relations.
>
>
> CREATE TABLE connectby_tree(keyid int, parent_keyid int);
> INSERT INTO connectby_tree VALUES(1,NULL);
> INSERT INTO connectby_tree VALUES(2,1);
> INSERT INTO connectby_tree VALUES(3,1);
> INSERT INTO connectby_tree VALUES(4,2);
> INSERT INTO connectby_tree VALUES(5,2);
> INSERT INTO connectby_tree VALUES(6,4);
> INSERT INTO connectby_tree VALUES(7,3);
> INSERT INTO connectby_tree VALUES(8,6);
> INSERT INTO connectby_tree VALUES(9,5);
>
> INSERT INTO connectby_tree VALUES(10,9);
> INSERT INTO connectby_tree VALUES(11,10);
> INSERT INTO connectby_tree VALUES(9,11);    <-- infinite
>

The attached patch fixes the infinite recursion bug in
contrib/tablefunc/tablefunc.c:connectby found by Masaru Sugawara.

test=# SELECT * FROM connectby('connectby_tree', 'keyid',
'parent_keyid', '2', 4, '~') AS t(keyid int, parent_keyid int, level
int, branch text);
  keyid | parent_keyid | level |   branch
-------+--------------+-------+-------------
      2 |              |     0 | 2
      4 |            2 |     1 | 2~4
      6 |            4 |     2 | 2~4~6
      8 |            6 |     3 | 2~4~6~8
      5 |            2 |     1 | 2~5
      9 |            5 |     2 | 2~5~9
     10 |            9 |     3 | 2~5~9~10
     11 |           10 |     4 | 2~5~9~10~11
(8 rows)

test=# SELECT * FROM connectby('connectby_tree', 'keyid',
'parent_keyid', '2', 5, '~') AS t(keyid int, parent_keyid int, level
int, branch text);
ERROR:  infinite recursion detected

I implemented it by checking the branch string for repeated keys
(whether or not the branch is returned). The performance hit was pretty
minimal -- about 1% for a moderately complex test case (220000 record
table, 9 level tree with 3800 members).

Joe Conway

22 years ago> BTW, clusterdb is not schema-aware and will surely fail in any database
Bruce Momjian [Thu, 12 Sep 2002 00:18:14 +0000 (00:18 +0000)]
> BTW, clusterdb is not schema-aware and will surely fail in any database
> where more than one schema is in use, because it doesn't trouble to
> schema-qualify table names.

Ok, the following patch should solve this concern.  It also tries to
connect as little times as possible (the previous one would connect one
time per table plus one per database; this one connects two times per
database).

Alvaro Herrera

22 years agoThe attached small patch fixes the cause of the regression test failure
Bruce Momjian [Thu, 12 Sep 2002 00:15:33 +0000 (00:15 +0000)]
The attached small patch fixes the cause of the regression test failure
for contrib/intarray.

The cause was that the library uses its own function to construct a new
array, new_intArrayType, and that function did not set the new array
struct attribute elemtype.

Joe Conway

22 years agoThe attached removes the current non-standard file
Bruce Momjian [Thu, 12 Sep 2002 00:14:40 +0000 (00:14 +0000)]
The attached removes the current non-standard file
"contrib/tablefunc/tablefunc-test.sql", and adds a standard regression
test suite to contrib/tablefunc.

Joe Conway

22 years agoAdd sprompt.obj to Win32 makefiles.
Bruce Momjian [Wed, 11 Sep 2002 17:36:13 +0000 (17:36 +0000)]
Add sprompt.obj to Win32 makefiles.

22 years agoAdd comment about sharing of sprompt.c file.
Bruce Momjian [Wed, 11 Sep 2002 17:32:37 +0000 (17:32 +0000)]
Add comment about sharing of sprompt.c file.

22 years agoTweak querytree-dependency-extraction code so that columns of tables
Tom Lane [Wed, 11 Sep 2002 14:48:55 +0000 (14:48 +0000)]
Tweak querytree-dependency-extraction code so that columns of tables
that are explicitly JOINed are not considered dependencies unless they
are actually used in the query: mere presence in the joinaliasvars
list of a JOIN RTE doesn't count as being used.  The patch touches
a number of files because I needed to generalize the API of
query_tree_walker to support an additional flag bit, but the changes
are otherwise quite small.

22 years agoPatches submitted by Kris Jurka (jurka@ejurka.com) for the following bugs:
Barry Lind [Wed, 11 Sep 2002 05:38:45 +0000 (05:38 +0000)]
Patches submitted by Kris Jurka (jurka@ejurka.com) for the following bugs:
  - Properly drop tables in jdbc regression tests with cascade for 7.3
  - problem with Statement.execute() and executeUpdate() not clearing binds
  - problem with ResultSet not correctly handling default encoding
  - changes to correctly support show transaction isolation level in 7.3
  - changed DatabaseMetaDataTest to handle differences in FK names in 7.3
  - better fix for dynamically checking server NAME data length
  (With the fixes above the jdbc regression tests pass on jdbc2 and jdbc3
   against both a 7.2 and 7.3 server)
Patchs submitted by David Wall (d.wall@computer.org):
  - problem with getBlob when largeobject oid is null
  - improvements to BlobOutputStream
Patch submitted by Haris Peco (snpe@snpe.co.yu):
  - problem with callable statement not supporting prepared statement methods

 Modified Files:
  jdbc/org/postgresql/Driver.java.in
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
  jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java
  jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java
  jdbc/org/postgresql/largeobject/BlobOutputStream.java
  jdbc/org/postgresql/largeobject/LargeObject.java
  jdbc/org/postgresql/test/TestUtil.java
  jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
  jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java
  jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java
  jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java
  jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java

22 years agoAdd mention of config.log for configure failure debugging.
Bruce Momjian [Wed, 11 Sep 2002 04:27:48 +0000 (04:27 +0000)]
Add mention of config.log for configure failure debugging.

22 years agoFix atan() description.
Bruce Momjian [Wed, 11 Sep 2002 02:56:46 +0000 (02:56 +0000)]
Fix atan() description.

Bruno Wolff III

22 years agoFix portability problem (size_t != int).
Tom Lane [Tue, 10 Sep 2002 18:25:13 +0000 (18:25 +0000)]
Fix portability problem (size_t != int).

22 years agoPowerup defaults for LC_foo GUC variables should match what main.c does.
Tom Lane [Tue, 10 Sep 2002 16:09:02 +0000 (16:09 +0000)]
Powerup defaults for LC_foo GUC variables should match what main.c does.

22 years agoUse different sed separator for configure arguments.
Peter Eisentraut [Mon, 9 Sep 2002 18:35:04 +0000 (18:35 +0000)]
Use different sed separator for configure arguments.