]> granicus.if.org Git - postgresql/log
postgresql
21 years agoTom Lane wrote:
Bruce Momjian [Thu, 15 Aug 2002 16:36:08 +0000 (16:36 +0000)]
Tom Lane wrote:
> There's no longer a separate call to heap_storage_create in that routine
> --- the right place to make the test is now in the storage_create
> boolean parameter being passed to heap_create.  A simple change, but
> it passeth patch's understanding ...

Thanks.

Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out
that even after fixing the failed hunks, there was a new spot in
bufmgr.c which needed to be fixed (related to temp relations;
RelationUpdateNumberOfBlocks). But thankfully the regression test code
caught it :-)

Joe Conway

21 years agoReorder entry to be alphabetical to match others.
Bruce Momjian [Thu, 15 Aug 2002 14:26:15 +0000 (14:26 +0000)]
Reorder entry to be alphabetical to match others.

21 years agoThis fixes some text as well as enforces the use of "drop table cascade"
Bruce Momjian [Thu, 15 Aug 2002 03:33:36 +0000 (03:33 +0000)]
This fixes some text as well as enforces the use of "drop table cascade"
since we moved from an implicate to explicate implementation.

Greg Copeland

21 years agoWell, that certainly appeared to be very straight forward. pg.py and
Bruce Momjian [Thu, 15 Aug 2002 03:32:36 +0000 (03:32 +0000)]
Well, that certainly appeared to be very straight forward.  pg.py and
syscat.py scripts were both modified.  pg.py uses it to cache a list of
pks (which is seemingly does for every db connection) and various
attributes.  syscat uses it to walk the list of system tables and
queries the various attributes from these tables.

In both cases, it seemingly makes sense to apply what you've requested.

Greg Copeland

21 years agohttp://archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and never
Bruce Momjian [Thu, 15 Aug 2002 03:31:45 +0000 (03:31 +0000)]
http://archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and never
saw a fix offered up.  Since I'm gearing up to use Postgres and Python
soon, I figured I'd have a hand at trying to get this sucker addressed.
Apologies if this has already been plugged.  I looked in the archives
and never saw a response.

At any rate, I must admit I don't think I fully understand the
implications of some of the changes I made even though they appear to be
straight forward.  We all know the devil is in the details.  Anyone more
knowledgeable is requested to review my changes. :(

I also updated the advanced.py script in a somewhat nonsensical fashion
to make use of an int8 field in an effort to test this change.  It seems
to run okay, however, this is by no means an all exhaustive test.  So,
it's possible that a bumpy road may lay ahead for some.  On the other
hand...overflows (hopefully) previously lurked (long -> int conversion).

Greg Copeland

21 years agoBacked out. It is part of a later patch.
Bruce Momjian [Thu, 15 Aug 2002 03:04:07 +0000 (03:04 +0000)]
Backed out.  It is part of a later patch.

21 years agoAugust 13, 2002
Bruce Momjian [Thu, 15 Aug 2002 03:02:08 +0000 (03:02 +0000)]
August 13, 2002
         Use parser of OpenFTS v0.33.

--
Teodor Sigaev

21 years agoPostgreSQL 7.2.1 Documentation
Bruce Momjian [Thu, 15 Aug 2002 03:00:59 +0000 (03:00 +0000)]
PostgreSQL 7.2.1 Documentation
Chapter 1. libpq - C Library
1.3. Command Execution Functions
1.3.3. Escaping binary strings for inclusion in SQL queries

I found the line
"The result string length does not include the terminating zero byte of the result."
is not right.
The result string length does indeed include the terminating zero byte.

Christoph Haller

21 years ago> Neil Conway <nconway@klamath.dyndns.org> writes:
Bruce Momjian [Thu, 15 Aug 2002 02:59:18 +0000 (02:59 +0000)]
> Neil Conway <nconway@klamath.dyndns.org> writes:
> > This patch improves the documentation of the UPDATE and ALTER TABLE
> > commands to elaborate on the effect of specifying an "ONLY" clause.
>
> Unfortunately this is still only half the truth ... see the
> SQL_INHERITANCE configuration variable.

Okay, I've attached an updated patch with more information on
SQL_INHERITANCE and inheritance behavior in prior releases.

Neil Conway

21 years agoThe attached patch changes most of the usages of sprintf() to
Bruce Momjian [Thu, 15 Aug 2002 02:58:29 +0000 (02:58 +0000)]
The attached patch changes most of the usages of sprintf() to
snprintf() in contrib/. I didn't touch the places where pointer
arithmatic was being used, or other areas where the fix wasn't
trivial. I would think that few, if any, of the usages of sprintf()
were actually exploitable, but it's probably better to be paranoid...

Neil Conway

21 years agoI'm giving a try at some TODO items. Currently it's the turn of the
Bruce Momjian [Thu, 15 Aug 2002 02:56:19 +0000 (02:56 +0000)]
I'm giving a try at some TODO items.  Currently it's the turn of the
PGPASSWORDFILE environment variable.  I have modified libpq to make use
of this variable.  I present the first cut here.

Currently the format for the file should be

host:port:database:user:password

Alvaro Herrera

21 years agoAppears there is a problem finding the opclass when indexing a domain.
Bruce Momjian [Thu, 15 Aug 2002 02:53:35 +0000 (02:53 +0000)]
Appears there is a problem finding the opclass when indexing a domain.

CREATE DOMAIN newint as int4;
CREATE TABLE tab (col newint unique);
ERROR:  data type newint has no default operator class for access method
"btree"
        You must specify an operator class for the index or define a
        default operator class for the data type

Specifically, GetDefaultOpClass() finds 0 exact matches and 3 binary
compatible matches.  Fetching getBaseType() of the attribute fixes the
problem for domains (see attachment).

Rod Taylor

21 years agoAs discussed on several occasions previously, the new anonymous
Bruce Momjian [Thu, 15 Aug 2002 02:51:27 +0000 (02:51 +0000)]
As discussed on several occasions previously, the new anonymous
composite type capability makes it possible to create a system view
based on a table function in a way that is hopefully palatable to
everyone. The attached patch takes advantage of this, moving
show_all_settings() from contrib/tablefunc into the backend (renamed
all_settings(). It is defined as a builtin returning type RECORD. During
initdb a system view is created to expose the same information presently
available through SHOW ALL. For example:

test=# select * from pg_settings where name like '%debug%';
          name          | setting
-----------------------+---------
  debug_assertions      | on
  debug_pretty_print    | off
  debug_print_parse     | off
  debug_print_plan      | off
  debug_print_query     | off
  debug_print_rewritten | off
  wal_debug             | 0
(7 rows)

Additionally during initdb two rules are created which make it possible
to change settings by updating the system view -- a "virtual table" as
Tom put it. Here's an example:

Joe Conway

21 years agoThe second enables tab-complete to analyze. It ignores schema stuff (so
Bruce Momjian [Thu, 15 Aug 2002 02:49:04 +0000 (02:49 +0000)]
The second enables tab-complete to analyze.  It ignores schema stuff (so
does every tab-completion command AFAICS)

Alvaro Herrera

21 years agoReally truly enable encrypted passwords by default.
Tom Lane [Wed, 14 Aug 2002 23:02:59 +0000 (23:02 +0000)]
Really truly enable encrypted passwords by default.

21 years agoEnable encrypted passwords by default.
Bruce Momjian [Wed, 14 Aug 2002 22:07:56 +0000 (22:07 +0000)]
Enable encrypted passwords by default.

21 years agoAdded support for JDBC3. The driver will now build under JDBC3 (i.e. Java 1.4).
Barry Lind [Wed, 14 Aug 2002 20:35:40 +0000 (20:35 +0000)]
Added support for JDBC3.  The driver will now build under JDBC3 (i.e. Java 1.4).
This concludes my changes that restructured the code to support JDBC3.
The jdbc unit tests were also resturctured to allow different tests between
jdbc2 and jdbc3, although currently make check (aka ant test) for JDBC3 just
runs the JDBC2 tests.  Of special note the largeobject/PGblob and PGclob
classes have been moved under the jdbc2/jdbc3 specific directories as they
now differ by jdbc version.  Also note that this checkin removes the
PostgresqlDataSource and files in the xa directory.  A recent checkin has
added new datasource support that replaces the functionality provided by these
classes.

 Modified Files:
  jdbc/build.xml
  jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
  jdbc/org/postgresql/jdbc2/Array.java
  jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java
  jdbc/org/postgresql/jdbc2/Jdbc2Connection.java
  jdbc/org/postgresql/jdbc2/Jdbc2DatabaseMetaData.java
  jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java
  jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java
  jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java
  jdbc/org/postgresql/jdbc2/Jdbc2Statement.java
  jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java
  jdbc/org/postgresql/test/jdbc2/BlobTest.java
  jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java
  jdbc/org/postgresql/test/jdbc2/ConnectionTest.java
  jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
  jdbc/org/postgresql/test/jdbc2/DateTest.java
  jdbc/org/postgresql/test/jdbc2/DriverTest.java
  jdbc/org/postgresql/test/jdbc2/JBuilderTest.java
  jdbc/org/postgresql/test/jdbc2/MiscTest.java
  jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
  jdbc/org/postgresql/test/jdbc2/TimeTest.java
  jdbc/org/postgresql/test/jdbc2/TimestampTest.java
  jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java
 Added Files:
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java
  jdbc/org/postgresql/jdbc2/Jdbc2Blob.java
  jdbc/org/postgresql/jdbc2/Jdbc2Clob.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3Clob.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java
  jdbc/org/postgresql/jdbc3/Jdbc3Blob.java
  jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java
  jdbc/org/postgresql/jdbc3/Jdbc3Clob.java
  jdbc/org/postgresql/jdbc3/Jdbc3Connection.java
  jdbc/org/postgresql/jdbc3/Jdbc3DatabaseMetaData.java
  jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java
  jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java
  jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java
  jdbc/org/postgresql/jdbc3/Jdbc3Statement.java
  jdbc/org/postgresql/test/TestUtil.java
  jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
  jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java
 Removed Files:
  jdbc/org/postgresql/PostgresqlDataSource.java
  jdbc/org/postgresql/largeobject/PGblob.java
  jdbc/org/postgresql/largeobject/PGclob.java
  jdbc/org/postgresql/test/JDBC2Tests.java
  jdbc/org/postgresql/xa/ClientConnection.java
  jdbc/org/postgresql/xa/TwoPhaseConnection.java
  jdbc/org/postgresql/xa/TxConnection.java
  jdbc/org/postgresql/xa/XAConnectionImpl.java
  jdbc/org/postgresql/xa/XADataSourceImpl.java

21 years agoUpdate text:
Bruce Momjian [Wed, 14 Aug 2002 18:39:05 +0000 (18:39 +0000)]
Update text:

<  o Allow PL/PgSQL function parameters to be passed by name,
>  o Allow function parameters to be passed by name,

21 years agoUpdate:
Bruce Momjian [Wed, 14 Aug 2002 17:45:20 +0000 (17:45 +0000)]
Update:

>  o Cluster all tables at once using pg_index.indisclustered set during
>           previous CLUSTER

21 years agoI guess I'd vote for changing the code to be
Bruce Momjian [Wed, 14 Aug 2002 05:49:22 +0000 (05:49 +0000)]
I guess I'd vote for changing the code to be

        sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1);
        if (!sys)
                return false;
        sprintf(sys, "exec '%s' '%s'", editorName, fname);

(note the added quotes to provide a little protection against spaces
and such).  Then it's perfectly obvious what the calculation is doing.
I don't care about wasting 20-some bytes, but confusing readers of the
code is worth avoiding.

                        regards, tom lane

21 years agoFix memory leak in SetClientEncoding().
Tatsuo Ishii [Wed, 14 Aug 2002 05:33:34 +0000 (05:33 +0000)]
Fix memory leak in SetClientEncoding().

21 years agoAdd:
Bruce Momjian [Wed, 14 Aug 2002 04:58:17 +0000 (04:58 +0000)]
Add:

>  o Add ALTER TABLE tab SET WITHOUT OIDS

21 years agoOops, not done:
Bruce Momjian [Wed, 14 Aug 2002 03:41:09 +0000 (03:41 +0000)]
Oops, not done:

> * Have views on temporary tables exist in the temporary namespace

21 years agoUpdated:
Bruce Momjian [Wed, 14 Aug 2002 03:40:41 +0000 (03:40 +0000)]
Updated:

< * Allow temporary views
< * Require view using temporary tables to be temporary views
> * -Have views on temporary tables exist in the temporary namespace

21 years agoSpacing improvement.
Bruce Momjian [Wed, 14 Aug 2002 03:01:43 +0000 (03:01 +0000)]
Spacing improvement.

21 years agoFix spacing.
Bruce Momjian [Wed, 14 Aug 2002 02:51:13 +0000 (02:51 +0000)]
Fix spacing.

21 years agoAdded:
Bruce Momjian [Wed, 14 Aug 2002 02:49:42 +0000 (02:49 +0000)]
Added:

<
>  o Improve PL/PgSQL exception handling
>  o Allow PL/PgSQL parameters to be specified by name and type during
>    definition
>  o Allow PL/PgSQL function parameters to be passed by name,
>    get_employee_salary(emp_id => 12345, tax_year => 2001)
>  o Add PL/PgSQL packages
>  o Allow array declarations and other data types in PL/PgSQl DECLARE
>  o Add PL/PgSQL PROCEDURES that can return multiple values

21 years agoAdd Cyrillic and other encodings for encoding conversion.
Tatsuo Ishii [Wed, 14 Aug 2002 02:45:10 +0000 (02:45 +0000)]
Add Cyrillic and other encodings for encoding conversion.
Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).

21 years agoRemove namedatalen from TODO.detail. No longer needed.
Bruce Momjian [Wed, 14 Aug 2002 02:28:30 +0000 (02:28 +0000)]
Remove namedatalen from TODO.detail.  No longer needed.

21 years agoDone:
Bruce Momjian [Wed, 14 Aug 2002 02:24:47 +0000 (02:24 +0000)]
Done:

> * -Increase identifier length (NAMEDATALEN) if small performance hit,
> * -Increase maximum number of function parameters if little wasted space

21 years agoPut back old code.
Bruce Momjian [Tue, 13 Aug 2002 21:04:36 +0000 (21:04 +0000)]
Put back old code.

21 years agoUpdate for longer NAMEDATALEN.
Bruce Momjian [Tue, 13 Aug 2002 20:41:13 +0000 (20:41 +0000)]
Update for longer NAMEDATALEN.

21 years agoChange NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per discussion on...
Bruce Momjian [Tue, 13 Aug 2002 20:40:44 +0000 (20:40 +0000)]
Change NAMEDATALEN to 64,  INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per discussion on hackers.

21 years agoFix tuple-chain-moving tests to handle marked-for-update tuples correctly
Tom Lane [Tue, 13 Aug 2002 20:14:24 +0000 (20:14 +0000)]
Fix tuple-chain-moving tests to handle marked-for-update tuples correctly
(they are not part of a chain).  When failing to find a parent tuple in
an update chain, emit a warning and abandon repair_frag, but do not give
an error as before.  This should eliminate the infamous 'No one parent tuple
was found' failure, which we now realize is not a can't-happen condition
but a perfectly valid database state.  Per recent pghackers discussion.

21 years agoMake sure that t_ctid is reset to equal t_self in heap_delete and
Tom Lane [Tue, 13 Aug 2002 20:11:03 +0000 (20:11 +0000)]
Make sure that t_ctid is reset to equal t_self in heap_delete and
heap_mark4update; this avoids situations where a deleted tuple might
look like it is chained to something else.  Also, cause all the WAL
redo routines to set t_ctid to equal t_self, rather than leaving it
undefined as before.  Make heap_xlog_clean set the page's LSN and SUI
correctly.  All per past discussions in pghackers, ranging back to
last December.

21 years agoRemove obsolete uses of lanispl. Only used in pg_dump now, but can be
Peter Eisentraut [Tue, 13 Aug 2002 17:22:08 +0000 (17:22 +0000)]
Remove obsolete uses of lanispl.  Only used in pg_dump now, but can be
removed altogether if pg_dump doesn't need it anymore.

21 years agoAdd bitmap index mention.
Bruce Momjian [Tue, 13 Aug 2002 05:08:35 +0000 (05:08 +0000)]
Add bitmap index mention.

21 years agoUpdate:
Bruce Momjian [Tue, 13 Aug 2002 04:32:28 +0000 (04:32 +0000)]
Update:

> * Use bitmaps to fetch heap pages in sequential order [performance]
> * Use bitmaps to combine existing indexes [performance]

21 years agoCorrect description of sequence privileges.
Peter Eisentraut [Mon, 12 Aug 2002 20:02:09 +0000 (20:02 +0000)]
Correct description of sequence privileges.

21 years agoRemove use of __P so that <sys/cdefs.h> is not needed. Per suggestion
Tom Lane [Mon, 12 Aug 2002 15:24:07 +0000 (15:24 +0000)]
Remove use of __P so that <sys/cdefs.h> is not needed.  Per suggestion
from Martin Renters.

21 years agoConvert possibly-unsafe sprintf's to snprintf's.
Tom Lane [Mon, 12 Aug 2002 14:47:46 +0000 (14:47 +0000)]
Convert possibly-unsafe sprintf's to snprintf's.

21 years agoBuffer-overrun paranoia.
Tom Lane [Mon, 12 Aug 2002 14:35:26 +0000 (14:35 +0000)]
Buffer-overrun paranoia.

21 years agoRestructure rowtype-parameter handling to eliminate need for possibly-
Tom Lane [Mon, 12 Aug 2002 14:25:07 +0000 (14:25 +0000)]
Restructure rowtype-parameter handling to eliminate need for possibly-
overflowable buffer for 'name%rowtype'; not to mention avoid problems
with mixed-case type names and other special cases.

21 years agoChange memory-space accounting mechanism in tuplesort.c and tuplestore.c
Tom Lane [Mon, 12 Aug 2002 00:36:12 +0000 (00:36 +0000)]
Change memory-space accounting mechanism in tuplesort.c and tuplestore.c
to make a reasonable attempt at accounting for palloc overhead, not just
the requested size of each memory chunk.  Since in many scenarios this
will make for a significant reduction in the amount of space acquired,
partially compensate by doubling the default value of SORT_MEM to 1Mb.
Per discussion in pgsql-general around 9-Jun-2002..

21 years agoCode review of CLUSTER patch. Clean up problems with relcache getting
Tom Lane [Sun, 11 Aug 2002 21:17:35 +0000 (21:17 +0000)]
Code review of CLUSTER patch.  Clean up problems with relcache getting
confused, toasted data getting lost, etc.

21 years agoCreate/drop cast now requires ownership of at least one of the types.
Peter Eisentraut [Sun, 11 Aug 2002 17:44:12 +0000 (17:44 +0000)]
Create/drop cast now requires ownership of at least one of the types.

21 years agoEditorial improvements.
Tom Lane [Sun, 11 Aug 2002 02:43:57 +0000 (02:43 +0000)]
Editorial improvements.

21 years agoMake cluster regress test functional.
Tom Lane [Sun, 11 Aug 2002 02:06:32 +0000 (02:06 +0000)]
Make cluster regress test functional.

21 years agoNeil's patch was supposed to remove this, too.
Tom Lane [Sun, 11 Aug 2002 00:18:59 +0000 (00:18 +0000)]
Neil's patch was supposed to remove this, too.

21 years agoNow that we allow ANALYZE to run inside a transaction block, the locks
Tom Lane [Sun, 11 Aug 2002 00:08:48 +0000 (00:08 +0000)]
Now that we allow ANALYZE to run inside a transaction block, the locks
it takes could be held for quite awhile after the analyze step completes.
Rethink locking of pg_statistic in light of this fact.  The original
scheme took an exclusive lock on pg_statistic, which was okay when the
lock could be expected to be released shortly, but that doesn't hold
anymore.  Back off to a normal writer's lock (RowExclusiveLock).  This
allows concurrent ANALYZE of nonoverlapping sets of tables, at the price
that concurrent ANALYZEs of the same table may fail with 'tuple
concurrently updated'.

21 years agoMention ANALYZE after CLUSTER.
Bruce Momjian [Sat, 10 Aug 2002 21:03:33 +0000 (21:03 +0000)]
Mention ANALYZE after CLUSTER.

21 years agoUpdate with newer version of CLUSTER patch posted August 8.
Bruce Momjian [Sat, 10 Aug 2002 21:00:34 +0000 (21:00 +0000)]
Update with newer version of CLUSTER patch posted August 8.

> Looks like Alvaro got sideswiped by the system catalog indexing changes
> I made over the weekend.  It's a simple change, just reduce the whole
> mess to a "CatalogUpdateIndexes()" call.

I update two tuples, so I manually CatalogOpenIndexes() and
CatalogIndexInsert() two times, as per comments in
CatalogUpdateIndexes().

I also removed a couple of useless CommandCounterIncrement(), some
useless definitions in src/include/commands/cluster.h and useless
includes in src/backend/commands/cluster.c.  This version passes the
regression test I had made for previous versions.

Alvaro Herrera

21 years agoRemove error files.
Bruce Momjian [Sat, 10 Aug 2002 20:49:37 +0000 (20:49 +0000)]
Remove error files.

21 years agoFixed very stupid but important bug: mixing calls of some founctions from
Bruce Momjian [Sat, 10 Aug 2002 20:46:24 +0000 (20:46 +0000)]
Fixed very stupid but important bug: mixing calls of some founctions from
contrib/tsearch and contrib/ltree :)

Teodor Sigaev

21 years agoThe patch solves this problem, I hope...
Bruce Momjian [Sat, 10 Aug 2002 20:45:48 +0000 (20:45 +0000)]
The patch solves this problem, I hope...

Christopher Kings-Lynne wrote:
> I'm still getting ltree failures on 64bit freebsd:
>
> sed 's,MODULE_PATHNAME,$libdir/ltree,g' ltree.sql.in >ltree.sql
> gcc -pipe -O -g -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -DPI
> C -DLOWER_NODE -I. -I../../src/include   -c -o ltree_io.o ltree_io.c -MMD
> ltree_io.c: In function `ltree_in':
> ltree_io.c:57: warning: int format, different type arg (arg 3)
> ltree_io.c:63: warning: int format, different type arg (arg 4)
> ltree_io.c:68: warning: int format, different type arg (arg 3)

Teodor Sigaev

21 years ago > create view pg_locks as select l.relation, l.database, l.backendpid,
Bruce Momjian [Sat, 10 Aug 2002 20:44:48 +0000 (20:44 +0000)]
 > create view pg_locks as select l.relation, l.database, l.backendpid,
 > l.mode, l.isgranted from pg_lock_info() as l(relation oid, database oid,
 > backendpid int4, mode text, isgranted bool);
 > ERROR:  badly formatted planstring "COLUMNDEF "...
 >

Reported by Neil Conway -- I never implemented readfuncs.c support for
ColumnDef or TypeName, which is needed so that views can be created on
functions returning type RECORD. Here's a patch.

Joe Conway

21 years agoMajor improvement in CLUSTER which preserves table characteristics using
Bruce Momjian [Sat, 10 Aug 2002 20:43:46 +0000 (20:43 +0000)]
Major improvement in CLUSTER which preserves table characteristics using
relfilenode.

I sent the CLUSTER patch a few days ago and I think it was missed.  I
append it again, this time including the regression test files.  For the
committer, please note that you have to cvs add the files as they don't
exist.  Maybe add to the parallel and serial schedules also, but I don't
know such stuff.

Alvaro Herrera (<alvherre[a]atentus.com>)

21 years agoAugust 6, 2002
Bruce Momjian [Sat, 10 Aug 2002 20:38:29 +0000 (20:38 +0000)]
August 6, 2002
   1. Reworked patch from Andrey Oktyabrski (ano@spider.ru) with
      functions: icount, sort, sort_asc, uniq, idx, subarray
      operations: #, +, -, |, &

FUNCTIONS:

  int   icount(int[]) - the number of elements in intarray
  int[] sort(int[], 'asc' | 'desc') - sort intarray
  int[] sort(int[]) - sort in ascending order
  int[] sort_asc(int[]),sort_desc(int[]) - shortcuts for sort
  int[] uniq(int[]) - returns unique elements
  int   idx(int[], int item) - returns index of first intarray matching element
                               to item, or '0' if matching failed.
  int[] subarray(int[],int START [, int LEN]) - returns part of intarray
                               starting from element number START (from 1)
                               and length LEN.
OPERATIONS:

  int[] && int[]  - overlap - returns TRUE if arrays has at least one common elements.
  int[] @  int[]  - contains - returns TRUE if left array contains right array
  int[] ~ int[]   - contained - returns TRUE if left array is contained in right array
  # int[]         - return the number of elements in array
  int[] + int     - push element to array ( add to end of array)
  int[] + int[]   - merge of arrays (right array added to the end of left one)
  int[] - int     - remove entries matched by right argument from array
  int[] - int[]   - remove left array from right
  int[] | int     - returns intarray - union of arguments
  int[] | int[]   - returns intarray as a union of two arrays
  int[] & int[]   - returns intersection of arrays

Oleg Bartunov

21 years agoThis patch removes a lot of unused code related to assertions and
Bruce Momjian [Sat, 10 Aug 2002 20:29:18 +0000 (20:29 +0000)]
This patch removes a lot of unused code related to assertions and
error handling, and simplifies the code that remains. Apparently,
the code that left Berkeley had a whole "error handling subsystem",
which exceptions and whatnot. Since we don't use that anymore,
there's no reason to keep it around.

The regression tests pass with the patch applied. Unless anyone
sees a problem, please apply.

Neil Conway

21 years agopsql prints its version number in its startup message, per recent
Tom Lane [Sat, 10 Aug 2002 19:35:01 +0000 (19:35 +0000)]
psql prints its version number in its startup message, per recent
discussion.  Also, cause the \timing command to display time in a
format consistent with the backend's EXPLAIN ANALYZE output.

21 years agoAllow schema-qualified operator names to be used in the optional
Tom Lane [Sat, 10 Aug 2002 19:01:53 +0000 (19:01 +0000)]
Allow schema-qualified operator names to be used in the optional
arguments of CREATE OPERATOR.

21 years agoFix failure to relink postmaster executable in the first make run if only a
Peter Eisentraut [Sat, 10 Aug 2002 17:59:28 +0000 (17:59 +0000)]
Fix failure to relink postmaster executable in the first make run if only a
single source file a few directories deep in the backend tree has changed.

21 years agoMake sure all clients have the same understanding of default user name
Peter Eisentraut [Sat, 10 Aug 2002 16:57:32 +0000 (16:57 +0000)]
Make sure all clients have the same understanding of default user name
and database.  In particular, make script wrappers understand the
PGDATABASE environment variable.

21 years agoGet rid of double PQclear(res) in error path.
Tom Lane [Sat, 10 Aug 2002 16:01:16 +0000 (16:01 +0000)]
Get rid of double PQclear(res) in error path.

21 years agoAdd a sanity check to make sure that all system catalogs that have OIDs
Tom Lane [Sat, 10 Aug 2002 15:54:04 +0000 (15:54 +0000)]
Add a sanity check to make sure that all system catalogs that have OIDs
also have a unique index on OID.

21 years agopsql backslash commands are schema-aware. Pattern matching behavior
Tom Lane [Sat, 10 Aug 2002 03:56:24 +0000 (03:56 +0000)]
psql backslash commands are schema-aware.  Pattern matching behavior
follows recent pghackers discussion.  This commit includes all the
relevant fixes from Greg Mullane's patch of 24-June.

21 years agoMake sure monetary, numeric, and time locale categories are set to C and
Peter Eisentraut [Fri, 9 Aug 2002 22:52:04 +0000 (22:52 +0000)]
Make sure monetary, numeric, and time locale categories are set to C and
are only activated temporarily to read out formatting information.

21 years agoColumn ordering in \d output should agree with sort ordering;
Tom Lane [Fri, 9 Aug 2002 18:06:57 +0000 (18:06 +0000)]
Column ordering in \d output should agree with sort ordering;
per Joe Conway's patch of 20-July.

21 years agohas_table_privilege spawns scions has_database_privilege, has_function_privilege,
Tom Lane [Fri, 9 Aug 2002 16:45:16 +0000 (16:45 +0000)]
has_table_privilege spawns scions has_database_privilege, has_function_privilege,
has_language_privilege, has_schema_privilege to let SQL queries test
all the new privilege types in 7.3.  Also, add functions pg_table_is_visible,
pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible,
pg_opclass_is_visible to test whether objects contained in schemas are
visible in the current search path.  Do some minor cleanup to centralize
accesses to pg_database, as well.

21 years agoChange LOCK statements to start new transaction
Hiroshi Inoue [Fri, 9 Aug 2002 10:04:21 +0000 (10:04 +0000)]
Change LOCK statements to start new transaction
in auto-commit off mode.

21 years agoDone:
Bruce Momjian [Thu, 8 Aug 2002 23:50:38 +0000 (23:50 +0000)]
Done:

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

21 years agoAdd:
Bruce Momjian [Thu, 8 Aug 2002 23:20:11 +0000 (23:20 +0000)]
Add:

> * Allow INET subnet tests using non-constants

21 years agoMake the standard system views schema-aware.
Tom Lane [Thu, 8 Aug 2002 19:39:05 +0000 (19:39 +0000)]
Make the standard system views schema-aware.
I did not force an initdb via catversion ... but the rules
regression test will fail until you do an initdb.

21 years agoArrange to collect statistics on a few more system catalog columns.
Tom Lane [Thu, 8 Aug 2002 19:37:11 +0000 (19:37 +0000)]
Arrange to collect statistics on a few more system catalog columns.

21 years agoCause view/rule display to work as expected after rename of an underlying
Tom Lane [Thu, 8 Aug 2002 17:00:19 +0000 (17:00 +0000)]
Cause view/rule display to work as expected after rename of an underlying
table or column, or of an output column of the view itself.

21 years agoSome improvements in geometric-operators documentation.
Tom Lane [Thu, 8 Aug 2002 14:29:07 +0000 (14:29 +0000)]
Some improvements in geometric-operators documentation.

21 years agoFix bug in encoding conversion table
Tatsuo Ishii [Thu, 8 Aug 2002 08:21:52 +0000 (08:21 +0000)]
Fix bug in encoding conversion table

21 years agoAddress build problems on cygwin and (hopefully) AIX.
Tatsuo Ishii [Thu, 8 Aug 2002 07:47:43 +0000 (07:47 +0000)]
Address build problems on cygwin and (hopefully) AIX.

21 years agoLoad and keep conversion function info when SET CLIENT_ENCODING TO is
Tatsuo Ishii [Thu, 8 Aug 2002 06:35:26 +0000 (06:35 +0000)]
Load and keep conversion function info when SET CLIENT_ENCODING TO is
executed to prevent database access while performing encoding
conversion.

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

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

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

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

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

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

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

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

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

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

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

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

Teodor Sigaev

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

Joe Conway

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

Simple change -- patch attached.

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

Joe Conway

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

Now both conditions throw an ERROR.

Joe Conway

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

Neil Conway

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

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

The old behavior was:

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

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

Neil Conway

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

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

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

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

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

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