OSDN Git Service
Tom Lane [Tue, 1 Jul 2003 19:07:02 +0000 (19:07 +0000)]
Dept. of second thoughts: supporting inlining of polymorphic SQL functions
takes only a few more lines of code than preventing it, so might as well
support it.
Tom Lane [Tue, 1 Jul 2003 13:52:29 +0000 (13:52 +0000)]
Fix documentation comment about restricted environments, per Kevin Jacobs.
Tom Lane [Tue, 1 Jul 2003 13:49:47 +0000 (13:49 +0000)]
STRENGH => STRENGTH, per Jon Jensen.
Michael Meskes [Tue, 1 Jul 2003 12:40:52 +0000 (12:40 +0000)]
Use ISO dates in pgtypeslib by default.
Applied patch by Philip Yarra to fix some thread issues.
Added a new data type "decimal" which is mostly the same as our
"numeric" but uses a fixed length array to store the digits. This is
for compatibility with Informix and maybe others.
Tom Lane [Tue, 1 Jul 2003 01:28:32 +0000 (01:28 +0000)]
Department of second thoughts: even if we can't run the full parser on
a SQL function with polymorphic inputs, we can at least run the raw
parser to catch silly syntactic errors.
Peter Eisentraut [Tue, 1 Jul 2003 00:05:49 +0000 (00:05 +0000)]
Translation update
Tom Lane [Tue, 1 Jul 2003 00:04:39 +0000 (00:04 +0000)]
SQL functions can have arguments and results declared ANYARRAY or
ANYELEMENT. The effect is to postpone typechecking of the function
body until runtime. Documentation is still lacking.
Original patch by Joe Conway, modified to postpone type checking
by Tom Lane.
Peter Eisentraut [Tue, 1 Jul 2003 00:04:31 +0000 (00:04 +0000)]
Change EXECUTE INTO to CREATE TABLE AS EXECUTE.
Dave Cramer [Mon, 30 Jun 2003 21:10:55 +0000 (21:10 +0000)]
patches by Kim Ho to fix
getByte, getSort if input has decimal or whitespace
setObject if object is a BIT
boolean not on list of SQLKeywords
Tom Lane [Mon, 30 Jun 2003 20:02:53 +0000 (20:02 +0000)]
Update contrib/Makefile's list of subdirectories that it does not try
to build.
Tom Lane [Mon, 30 Jun 2003 19:58:57 +0000 (19:58 +0000)]
Put back inappropriately-removed entry for earthdistance subdirectory.
Tom Lane [Mon, 30 Jun 2003 18:31:42 +0000 (18:31 +0000)]
Rename plpython to plpythonu, and update documentation to reflect its
now-untrusted status.
Tom Lane [Mon, 30 Jun 2003 16:47:02 +0000 (16:47 +0000)]
Add GUC option log_error_verbosity to control which fields of error
reports get put into the postmaster log. Options are TERSE, DEFAULT,
VERBOSE, with the same behavior as implemented on the client side in
libpq.
Barry Lind [Mon, 30 Jun 2003 16:39:42 +0000 (16:39 +0000)]
Minor jdbc doc updates submitted by Kris Jurka
Modified Files:
sgml/jdbc.sgml
Barry Lind [Mon, 30 Jun 2003 16:38:30 +0000 (16:38 +0000)]
Patches applied:
1) Patch from Kris Jurka to fix IPv6 parsing of the jdbc URL
2) Patch from Kris Jurka to fix an ArrayIndexOutOfBounds error
when calling moveToCurrentRow while currentRow is "beforeFirst"
3) Patch from Kim Ho to fix add some bounds checking in setMaxRows(),
setQueryTimeout(), setFetchSize()
Modified Files:
jdbc/org/postgresql/Driver.java.in
jdbc/org/postgresql/errors.properties
jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
Tom Lane [Sun, 29 Jun 2003 23:05:05 +0000 (23:05 +0000)]
Restructure building of join relation targetlists so that a join plan
node emits only those vars that are actually needed above it in the
plan tree. (There were comments in the code suggesting that this was
done at some point in the dim past, but for a long time we have just
made join nodes emit everything that either input emitted.) Aside from
being marginally more efficient, this fixes the problem noted by Peter
Eisentraut where a join above an IN-implemented-as-join might fail,
because the subplan targetlist constructed in the latter case didn't
meet the expectation of including everything.
Along the way, fix some places that were O(N^2) in the targetlist
length. This is not all the trouble spots for wide queries by any
means, but it's a step forward.
Michael Meskes [Sun, 29 Jun 2003 16:52:58 +0000 (16:52 +0000)]
- Made sure Informix style decimal vars are initialized. They use a
fixed amount of digits and not an allocated one. So we have to work
around. PostgreSQL numeric type remains the same.
- In INFORMIX_SE mode with autcommit set, make all cursors be "with
hold". Is this really they way SE behaves?
Peter Eisentraut [Sun, 29 Jun 2003 15:14:41 +0000 (15:14 +0000)]
Information schema views for group privileges, some corrections on column
privileges.
Peter Eisentraut [Sun, 29 Jun 2003 10:18:26 +0000 (10:18 +0000)]
It was comparing the wrong pair of columns, which triggered the previously
mentioned bug.
Peter Eisentraut [Sun, 29 Jun 2003 10:13:13 +0000 (10:13 +0000)]
Add missing PO files from last commit.
Michael Meskes [Sun, 29 Jun 2003 09:25:19 +0000 (09:25 +0000)]
Just another sync.
Tom Lane [Sun, 29 Jun 2003 00:33:44 +0000 (00:33 +0000)]
Support expressions of the form 'scalar op ANY (array)' and
'scalar op ALL (array)', where the operator is applied between the
lefthand scalar and each element of the array. The operator must
yield boolean; the result of the construct is the OR or AND of the
per-element results, respectively.
Original coding by Joe Conway, after an idea of Peter's. Rewritten
by Tom to keep the implementation strictly separate from subqueries.
Peter Eisentraut [Sat, 28 Jun 2003 22:31:01 +0000 (22:31 +0000)]
Merge PO file updates from 7.3 branch.
Peter Eisentraut [Sat, 28 Jun 2003 20:50:08 +0000 (20:50 +0000)]
Make information schema aware of arrays.
The view element_types is currently not functional, awaiting some fixes in
the planner (reported on -hackers).
Bruce Momjian [Sat, 28 Jun 2003 18:05:12 +0000 (18:05 +0000)]
Add:
> * Automatically place fixed-width, NOT NULL columns first in a table
Bruce Momjian [Sat, 28 Jun 2003 00:36:40 +0000 (00:36 +0000)]
Group ISBN/ISSN definitions.
Tom Lane [Sat, 28 Jun 2003 00:12:40 +0000 (00:12 +0000)]
Update psql for some features of new FE/BE protocol. There is a
client-side AUTOCOMMIT mode now: '\set AUTOCOMMIT off' supports
SQL-spec commit behavior. Get rid of LO_TRANSACTION hack --- the
LO operations just work now, using libpq's ability to track the
transaction status. Add a VERBOSE variable to control verboseness
of error message display, and add a %T prompt-string code to show
current transaction-block status. Superuser state display in the
prompt string correctly follows SET SESSION AUTHORIZATION commands.
Control-C works to get out of COPY IN state.
Tom Lane [Sat, 28 Jun 2003 00:06:01 +0000 (00:06 +0000)]
When using new protocol, PQexec can get out of a COPY IN or COPY OUT
state by itself, so do so.
Bruce Momjian [Fri, 27 Jun 2003 22:04:50 +0000 (22:04 +0000)]
Adjust pgtest grep.
Bruce Momjian [Fri, 27 Jun 2003 21:46:20 +0000 (21:46 +0000)]
Update pgtest to use 'gmake check'.
Tom Lane [Fri, 27 Jun 2003 19:08:38 +0000 (19:08 +0000)]
Add is_superuser parameter reporting, soon to be used by psql.
Bruce Momjian [Fri, 27 Jun 2003 18:20:50 +0000 (18:20 +0000)]
Document kernel changes needed for BSD/OS 4.3.
Tom Lane [Fri, 27 Jun 2003 17:07:03 +0000 (17:07 +0000)]
Fix compile warnings.
Tom Lane [Fri, 27 Jun 2003 16:55:23 +0000 (16:55 +0000)]
Missing calls to PQclear in large_obj.c and describe.c.
Greg Sabino Mullane
Peter Eisentraut [Fri, 27 Jun 2003 14:45:32 +0000 (14:45 +0000)]
First batch of object rename commands.
Bruce Momjian [Fri, 27 Jun 2003 04:35:41 +0000 (04:35 +0000)]
Remove as duplicate:
< * Improve performance for queries with many columns
Bruce Momjian [Fri, 27 Jun 2003 02:48:44 +0000 (02:48 +0000)]
Add:
> * Improve performance for queries with many columns
Tom Lane [Fri, 27 Jun 2003 00:33:26 +0000 (00:33 +0000)]
Create real array comparison functions (that use the element datatype's
comparison functions), replacing the highly bogus bitwise array_eq. Create
a btree index opclass for ANYARRAY --- it is now possible to create indexes
on array columns.
Arrange to cache the results of catalog lookups across multiple array
operations, instead of repeating the lookups on every call.
Add string_to_array and array_to_string functions.
Remove singleton_array, array_accum, array_assign, and array_subscript
functions, since these were for proof-of-concept and not intended to become
supported functions.
Minor adjustments to behavior in some corner cases with empty or
zero-dimensional arrays.
Joe Conway (with some editorializing by Tom Lane).
Tom Lane [Thu, 26 Jun 2003 18:23:07 +0000 (18:23 +0000)]
Add comment pointing out that XLByteToPrevSeg macro is not broken.
Michael Meskes [Thu, 26 Jun 2003 11:37:05 +0000 (11:37 +0000)]
Added just another compatibility level for Informix.
Bruce Momjian [Thu, 26 Jun 2003 01:45:04 +0000 (01:45 +0000)]
Wrap LONG_LONG_MIN redfinition around HAVE_LONG_LONG_INT_64.
Bruce Momjian [Thu, 26 Jun 2003 01:33:23 +0000 (01:33 +0000)]
Fix compile problem for missing LONG_LONG_MIN on BSD/OS.
Bruce Momjian [Wed, 25 Jun 2003 21:56:55 +0000 (21:56 +0000)]
Add:
> * Create improved PostgreSQL introductory documentation for the PHP
> manuals (Rory)
Bruce Momjian [Wed, 25 Jun 2003 21:55:44 +0000 (21:55 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:47:53 +0000 (21:47 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:47:24 +0000 (21:47 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:46:10 +0000 (21:46 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:45:40 +0000 (21:45 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:45:06 +0000 (21:45 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:42:07 +0000 (21:42 +0000)]
Add:
> * Allow the identifier length to be increased via a configure option
Bruce Momjian [Wed, 25 Jun 2003 21:40:48 +0000 (21:40 +0000)]
Add:
> * Promote debug_query_string into a server-side function current_query()
Bruce Momjian [Wed, 25 Jun 2003 21:37:53 +0000 (21:37 +0000)]
Back out rserv changes that would allow limit of replicated tables ---
not ready yet.
Bruce Momjian [Wed, 25 Jun 2003 21:30:34 +0000 (21:30 +0000)]
Back out array mega-patch.
Joe Conway
Tom Lane [Wed, 25 Jun 2003 21:14:15 +0000 (21:14 +0000)]
In ISO datestyle, never emit just HH:MM, always emit HH:MM:SS or
HH:MM:SS.SSS... when there is a nonzero part-of-a-day field in an
interval value. The seconds part used to be suppressed if zero,
but there's no equivalent behavior for timestamp, and since we're
modeling this format on timestamp it's probably wrong. Per complaint
and patch from Larry Rosenman.
Bruce Momjian [Wed, 25 Jun 2003 21:08:06 +0000 (21:08 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:07:28 +0000 (21:07 +0000)]
sync
Bruce Momjian [Wed, 25 Jun 2003 21:06:29 +0000 (21:06 +0000)]
sync
Tom Lane [Wed, 25 Jun 2003 20:07:39 +0000 (20:07 +0000)]
Don't generate 'zero' typeids in the output from gen_cross_product.
This is no longer necessary or appropriate since we don't use zero typeid
as a wildcard anymore, and it fixes a nasty performance problem with
functions with many parameters. Per recent example from Reuven Lerner.
Tom Lane [Wed, 25 Jun 2003 18:13:50 +0000 (18:13 +0000)]
'third' -> 'fourth' where needed, per Joe Conway.
Michael Meskes [Wed, 25 Jun 2003 17:55:50 +0000 (17:55 +0000)]
The remaining files ...
Michael Meskes [Wed, 25 Jun 2003 16:12:27 +0000 (16:12 +0000)]
remove including of postgres_fe.h
Bruce Momjian [Wed, 25 Jun 2003 15:01:14 +0000 (15:01 +0000)]
sync.
Michael Meskes [Wed, 25 Jun 2003 11:51:18 +0000 (11:51 +0000)]
Some systems need another header file included.
Michael Meskes [Wed, 25 Jun 2003 10:44:21 +0000 (10:44 +0000)]
Implemented Informix special way to treat NULLs, removed warnings, synced.
Bruce Momjian [Wed, 25 Jun 2003 04:32:03 +0000 (04:32 +0000)]
Fix up JOIN .. USING with domains
The attached fixes select_common_type() to support the below case:
create table t1( c1 int);
create domain dom_c1 int;
create table t2(c1 dom_c1);
select * from t1 join t2 using( c1 );
I didn't see a need for maintaining the domain as the preferred type. A
simple getBaseType() call on all elements of the list seems to be
enough.
--
Rod Taylor <rbt@rbt.ca>
Bruce Momjian [Wed, 25 Jun 2003 04:23:59 +0000 (04:23 +0000)]
Done:
> * -Allow CIDR format to be used in pg_hba.conf
Bruce Momjian [Wed, 25 Jun 2003 04:19:35 +0000 (04:19 +0000)]
Done:
> * -Allow UPDATE to use SET col = DEFAULT
Bruce Momjian [Wed, 25 Jun 2003 04:19:24 +0000 (04:19 +0000)]
UPDATE ... SET <col> = DEFAULT
Rod Taylor
Bruce Momjian [Wed, 25 Jun 2003 04:08:19 +0000 (04:08 +0000)]
If they're not, the below causes problems, as the foreign key is added
after the CHECK. Cluster depends on the index name, so I thought it
wise to ensure all names are available, rather than leaving off the
CONSTRAINT "$n" portion for internally named constraints.
CREATE TABLE jkey (col integer primary key);
CREATE TABLE j (col integer REFERENCES jkey);
ALTER TABLE j ADD CHECK(col > 5);
This is a problem in 7.3 series as well as -Tip.
Rod Taylor <rbt@rbt.ca>
Bruce Momjian [Wed, 25 Jun 2003 03:56:31 +0000 (03:56 +0000)]
Updated the pg_get_constraintdef() to use conbin. Update pg_dump to use
pg_get_constraintdef() for >= 70400.
Rod Taylor <rbt@rbt.ca>
Bruce Momjian [Wed, 25 Jun 2003 03:50:52 +0000 (03:50 +0000)]
Add missing </row>'s.
Bruce Momjian [Wed, 25 Jun 2003 03:40:19 +0000 (03:40 +0000)]
Includes:
- LIKE <subtable> [ INCLUDING DEFAULTS | EXCLUDING DEFAULTS ]
- Quick cleanup of analyze.c function prototypes.
- New non-reserved keywords (INCLUDING, EXCLUDING, DEFAULTS), SQL 200X
Opted not to extend for check constraints at this time.
As per the definition that it's user defined columns, OIDs are NOT
inherited.
Doc and Source patches attached.
--
Rod Taylor <rbt@rbt.ca>
Bruce Momjian [Wed, 25 Jun 2003 03:02:37 +0000 (03:02 +0000)]
Back out commit.
Bruce Momjian [Wed, 25 Jun 2003 03:01:35 +0000 (03:01 +0000)]
Adjust expected output for new functions.
Bruce Momjian [Wed, 25 Jun 2003 02:43:54 +0000 (02:43 +0000)]
Add:
> * Allow creation of a libpq-only tarball
>
Bruce Momjian [Wed, 25 Jun 2003 02:07:33 +0000 (02:07 +0000)]
Seems the runtime.sgml and perform.sgml patches combined are
incompatible.
I believe the attached xref meets the intent of the perform.sgml change.
--
Rod Taylor <rbt@rbt.ca>
Bruce Momjian [Wed, 25 Jun 2003 01:26:16 +0000 (01:26 +0000)]
Update catversion for ipv6 addition.
Bruce Momjian [Wed, 25 Jun 2003 01:20:50 +0000 (01:20 +0000)]
Documentation about using CIDR addresses in pg_hba.conf.
Andrew Dunstan
Bruce Momjian [Wed, 25 Jun 2003 01:19:47 +0000 (01:19 +0000)]
> This change (I'm sure this will wrap poorly -- sorry):
> http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/libpq/pqcomm.h.diff?r1=1.85&r2=1.86
>
> modified SockAddr, but no corresponding change was made here
> (fe-auth.c:612):
>
> case AUTH_REQ_KRB5:
> #ifdef KRB5
> if (pg_krb5_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
> &conn->raddr.in,
> hostname) != STATUS_OK)
>
> It's not obvious to me what the change ought to be though.
This patch should hopefully fix both kerberos 4 and 5.
Kurt Roeckx
Bruce Momjian [Wed, 25 Jun 2003 01:18:58 +0000 (01:18 +0000)]
> I've worked with the Pl/Python code in the past and will see about removing
> rexec and making it an untrusted language. Last time I looked, it didn't
> look particularly difficult. I've set aside some time next week, so stay
> tuned.
Attached is a patch that removes all of the RExec code from plpython from
the current PostgreSQL CVS. In addition, plpython needs to be changed to an
untrusted language in createlang. Please let me know if there are any
problems.
Kevin Jacobs
Bruce Momjian [Wed, 25 Jun 2003 01:17:44 +0000 (01:17 +0000)]
Attached is a patch that provides *VERY* limited support for multiple
slave
servers. I haven't tested it very well, so use at your own risk (and I
recommend against using it in production).
Basically, I have a central database server that has 4 summary tables
inside
it replicated to a remote slave (these database tables are for my mail
server
authentication, so these are replicated to another server tuned for many
connections, and so I don't have postgres connections opened straight to
my
back-end database server).
Unfortunately, I also wanted to implement a replication database server
for
hot-backups. I realized, too late, that the replication process is
pretty
greedy and will try to replicate all tables marked as a
"MasterAddTable".
To make a long story, I made a patch to RServ.pm and Replicate that
allows you
to specify, on the command line, a list of tables that you want to
replicate...it'll ignore all others.
I haven't finished, since this has to be integrated with CleanLog for
instance, but this should (and does) suffice for the moment.
I have yet to test it with two slaves, but at least my mail server
replication
database now works (it was failing every time it tried to replicate, for
a
variety of reasons).
Anyone have any suggestions on how to improve on this? (or, if someone
more
familiar with this code wants to take the ball and run with it, you're
welcome to).
--
Michael A Nachbaur <mike@nachbaur.com>
Bruce Momjian [Wed, 25 Jun 2003 01:15:24 +0000 (01:15 +0000)]
Here's a small patch to pg_hba.conf.sample that explains the use of CIDR
addresses.
Andrew Dunstan
Bruce Momjian [Wed, 25 Jun 2003 01:14:37 +0000 (01:14 +0000)]
Create <link> entries for the foreign keys in the system catalog
chapter.
I got tired of hitting the 'up' link, then finding the table in the
table of contents, and following it back down.
Rod Taylor
Bruce Momjian [Wed, 25 Jun 2003 01:14:05 +0000 (01:14 +0000)]
client-auth.sgml references a renamed ID in runtime.sgml
Josh Berkus
Bruce Momjian [Wed, 25 Jun 2003 01:13:24 +0000 (01:13 +0000)]
Attached is the fully corrected version of the re-ording patch for
Runtime.sgml and dependant files.
Josh Berkus
Bruce Momjian [Wed, 25 Jun 2003 01:11:09 +0000 (01:11 +0000)]
- Corrections for tables, columns with uppercase characters
- Don't attempt to convert partial or expressional unique indexes
- Don't attempt to convert unique indexes based on a non-default
opclasses
- Untested prevention of conversion of non-btree indexes unique
indexes. Untested as postgresql doesn't allow hash, gist, or rtree
based indexes to be unique.
rbt=# create unique index t on a using hash (col);
ERROR: DefineIndex: access method "hash" does not support UNIQUE
indexes
rbt=# create unique index t on a using gist (col);
ERROR: DefineIndex: access method "gist" does not support UNIQUE
indexes
rbt=# select version();
version
------------------------------------------------------------------------
PostgreSQL 7.4devel on i386-unknown-freebsd4.8, compiled by GCC 2.95.4
Rod Taylor
Bruce Momjian [Wed, 25 Jun 2003 01:10:15 +0000 (01:10 +0000)]
Please apply attached patch to contrib/dblink. It adds named persistent
connections to dblink.
Shridhar Daithanka
Bruce Momjian [Wed, 25 Jun 2003 01:09:24 +0000 (01:09 +0000)]
This is a bug in python interface module,
postgresql-7.3.3/src/interfaces/python/pg.py.
_quote() function fails due to integer overflow if input d is larger
than max integer.
In the case where the column type is "BIGINT", the input d may very well
be larger than max integer while its type, t, is labeled 'int'.
The conversion on line 19, return "%d" % int(d), will fail due to
"OverflowError: long int too large to convert to int".
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
[1] create a table with a column type 'BIGINT'.
[2] use pg.DB.insert() to insert a value that is larger than max integer
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
Just changing the conversion at line 19 of pg.py to long(d) instead of
int(d) should fix it. The following is a patch:
Chih-Hao Huang
Bruce Momjian [Wed, 25 Jun 2003 01:08:13 +0000 (01:08 +0000)]
>> If a transaction marks a tuple for update and later commits without
>> actually having updated the tuple, [...] can we simply
>> set the HEAP_XMAX_INVALID hint bit of the tuple?
>
>AFAICS this is a reasonable thing to do.
Thanks for the confirmation. Here's a patch which also contains some
more noncritical changes to tqual.c:
. make code more readable by introducing local variables for xvac
. no longer two separate branches for aborted and crashed.
The actions were the same in all cases.
Manfred Koizar
Bruce Momjian [Tue, 24 Jun 2003 23:29:25 +0000 (23:29 +0000)]
Most of the synopsis areas for DROP commands use "name" as the
identifier, while some areas do not.
The attached converts be below to "name":
conversion_name
index_name
The below have an existing, initdb supplied, entity named "name". As
such, it could be confusing for the reader to see that identifier used
in the example.
domainname
typename
Rod Taylor
Bruce Momjian [Tue, 24 Jun 2003 23:27:24 +0000 (23:27 +0000)]
Revert ORDBMS change, per Peter.
Bruce Momjian [Tue, 24 Jun 2003 23:26:46 +0000 (23:26 +0000)]
Alter query.sgml to mention PostgreSQL as an ORDBMS. This falls in line
with advocacy and 'portal' websites.
Link to createdb / dropdb from the tutorial page about create / dropdb.
A pair of notes were asking about more info...
Rod Taylor
Bruce Momjian [Tue, 24 Jun 2003 23:25:44 +0000 (23:25 +0000)]
In an attempt to simplify my life I'm submitting this patch that
restructures the deferred trigger queue. The fundamental change is to
put all the static variables to hold the deferred triggers in a single
structure.
Alvaro Herrera
Bruce Momjian [Tue, 24 Jun 2003 23:20:08 +0000 (23:20 +0000)]
Add x86_64 support for spinlocks.
Jeffrey W. Baker
Bruce Momjian [Tue, 24 Jun 2003 23:19:11 +0000 (23:19 +0000)]
Small patch to link to the proper place in the "runtime" file,
and to add the "schemaname" column to the description of the
pg_stats view.
Greg Sabino Mullane
Bruce Momjian [Tue, 24 Jun 2003 23:14:49 +0000 (23:14 +0000)]
Array mega-patch.
Joe Conway
Bruce Momjian [Tue, 24 Jun 2003 23:05:20 +0000 (23:05 +0000)]
Done:
> * -Add IPv6 capability to INET/CIDR types
Bruce Momjian [Tue, 24 Jun 2003 22:59:46 +0000 (22:59 +0000)]
Jim C. Nasby wrote:
> Second argument to metaphone is suposed to set the limit on the
> number of characters to return, but it breaks on some phrases:
>
> usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from
> (select 'Hello world'::varchar AS a) a;
> HLW | HLWR | HLWRLT
>
> usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from
> (select 'A A COMEAUX MEMORIAL'::varchar AS a) a;
> AKM | AKMKS | AKMKSMMRL
>
> In every case I've found that does this, the 4th and 5th letters are
> always 'KS'.
Nice catch.
There was a bug in the original metaphone algorithm from CPAN. Patch
attached (while I was at it I updated my email address, changed the
copyright to PGDG, and removed an unnecessary palloc). Here's how it
looks now:
regression=# select metaphone(a,4) from (select 'A A COMEAUX
MEMORIAL'::varchar AS a) a;
metaphone
-----------
AKMK
(1 row)
regression=# select metaphone(a,5) from (select 'A A COMEAUX
MEMORIAL'::varchar AS a) a;
metaphone
-----------
AKMKS
(1 row)
Joe Conway
Bruce Momjian [Tue, 24 Jun 2003 22:42:42 +0000 (22:42 +0000)]
Prevent compiler warning from sprintf in recent ipv6 patch.
Bruce Momjian [Tue, 24 Jun 2003 22:21:24 +0000 (22:21 +0000)]
Add ipv6 address parsing support to 'inet' and 'cidr' data types.
Regression tests for IPv6 operations added.
Documentation updated to document IPv6 bits.
Stop treating IPv4 as an "unsigned int" and IPv6 as an array of
characters. Instead, always use the array of characters so we
can have one function fits all. This makes bitncmp(), addressOK(),
and several other functions "just work" on both address families.
add family() function which returns integer 4 or 6 for IPv4 or
IPv6. (See examples below) Note that to add this new function
you will need to dump/initdb/reload or find the correct magic
to add the function to the postgresql function catalogs.
IPv4 addresses always sort before IPv6.
On disk we use AF_INET for IPv4, and AF_INET+1 for IPv6 addresses.
This prevents the need for a dump and reload, but lets IPv6 parsing
work on machines without AF_INET6.
To select all IPv4 addresses from a table:
select * from foo where family(addr) = 4 ...
Order by and other bits should all work.
Michael Graff