Commit Graph

327 Commits

Author SHA1 Message Date
Tom Lane
29ec29ffac Makefile forgot to install README.btree_gist. 2001-08-23 16:55:53 +00:00
Tom Lane
3563e90a8c Add chkpass. 2001-08-23 16:54:25 +00:00
Tom Lane
0525ddc3e5 Bring chkpass build process into sync with other contrib modules;
make it use Makefile.shlib, etc.
2001-08-23 16:50:33 +00:00
Tom Lane
119fd7956a Remove test of 'inf' since it introduces a platform dependency (some
Unixen spell it 'Inf').  Not worth adding multiple expected files and
a resultmap just for this.
2001-08-23 15:10:17 +00:00
Tom Lane
07f6c02eac tskey_cmp() should use timestamp_cmp() instead of doing its own
interval arithmetic.  From Teodor Sigaev.
2001-08-23 15:07:41 +00:00
Tom Lane
a9289708af New contrib module for BTREE emulation in GiST.
From Oleg Bartunov and Teodor Sigaev.
2001-08-22 18:27:54 +00:00
Tom Lane
a54075a6d6 Update GiST for new pg_opclass arrangement (finally a clean solution
for haskeytype).  Update GiST contrib modules too.  Add linear-time split
algorithm for R-tree GiST opclass.
From Oleg Bartunov and Teodor Sigaev.
2001-08-22 18:24:26 +00:00
Tom Lane
38a4c35116 Persuade new pgcrypto stuff to compile. 2001-08-22 18:19:59 +00:00
Tom Lane
f933766ba7 Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
index AM, not a row for each opclass name.  This allows pg_opclass to show
directly whether an AM supports an opclass, and furthermore makes it possible
to store additional information about an opclass that might be AM-dependent.
pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
previously expected the user to remember to provide in CREATE INDEX commands.
Lossiness is no longer an index-level property, but is associated with the
use of a particular operator in a particular index opclass.

Along the way, IndexSupportInitialize now uses the syscaches to retrieve
pg_amop and pg_amproc entries.  I find this reduces backend launch time by
about ten percent, at the cost of a couple more special cases in catcache.c's
IndexScanOK.

Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.

initdb forced.
2001-08-21 16:36:06 +00:00
Bruce Momjian
4859219f19 Add 0.2 version XML files. 2001-08-21 15:26:10 +00:00
Bruce Momjian
fe786448e7 Remove krb.c. 2001-08-21 12:50:18 +00:00
Bruce Momjian
18529514b1 Remove encode.*. Not needed anymore. 2001-08-21 01:38:31 +00:00
Bruce Momjian
62d19bd1d2 Remove object file. 2001-08-21 01:36:16 +00:00
Bruce Momjian
df24cb73f6 Add missing pgcrypto file. 2001-08-21 01:32:01 +00:00
Bruce Momjian
2518e27334 /contrib/pgcrypto:
* remove support for encode() as it is in main tree now
* remove krb5.c
* new 'PX library' architecture
* remove BSD license from my code to let the general
  PostgreSQL one to apply
* md5, sha1: ANSIfy, use const where appropriate
* various other formatting and clarity changes
* hmac()
* UN*X-like crypt() - system or internal crypt
* Internal crypt: DES, Extended DES, MD5, Blowfish
  crypt-des.c, crypt-md5.c from FreeBSD
  crypt-blowfish.c from Solar Designer
* gen_salt() for crypt() -  Blowfish, MD5, DES, Extended DES
* encrypt(), decrypt(), encrypt_iv(), decrypt_iv()
* Cipher support in mhash.c, openssl.c
* internal: Blowfish, Rijndael-128 ciphers
* blf.[ch], rijndael.[ch] from OpenBSD
* there will be generated file rijndael-tbl.inc.

Marko Kreen
2001-08-21 00:42:41 +00:00
Bruce Momjian
5950a984a7 1. I've now produced an updated version (and called it 0.2) of my XML
parser interface code. It now uses libxml2 instead of expat (though I've
left the old code in the tarball). This means *proper* XPath support, and
the provided function allows you to wrap your result set in XML tags to
produce a new XML document.

John Gray
2001-08-21 00:39:20 +00:00
Bruce Momjian
f6387b5169 Update XML author's email address. 2001-08-21 00:36:25 +00:00
Tom Lane
a61e15a566 geo_distance function needs to be marked strict.
From Mark Stosberg.
2001-08-16 22:24:43 +00:00
Tom Lane
d4f4b971a4 Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type
has an alias SERIAL4 and a sister SERIAL8.  SERIAL8 is just the same
except the created column is type int8 not int4.
initdb forced.  Note this also breaks any chance of pg_upgrade from 7.1,
unless we hack up pg_upgrade to drop and recreate sequences.  (Which is
not out of the question, but I don't wanna do it.)
2001-08-16 20:38:56 +00:00
Tom Lane
bf56f0759b Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.
2001-08-10 18:57:42 +00:00
Bruce Momjian
13923be7c8 1. null-safe interface to GiST
(as proposed in http://fts.postgresql.org/db/mw/msg.html?mid=1028327)

2. support for 'pass-by-value' arguments - to test this
   we used special opclass for int4 with values in range [0-2^15]
   More testing will be done after resolving problem with
   index_formtuple and implementation of B-tree using GiST

3. small patch to contrib modules (seg,cube,rtree_gist,intarray) -
   mark functions as 'isstrict' where needed.

Oleg Bartunov
2001-08-10 14:34:28 +00:00
Bruce Momjian
2cb95cd925 Update README for fuzzystrmatch description. 2001-08-07 18:18:33 +00:00
Bruce Momjian
cdd02cdf00 Sorry - I should have gotten to this sooner. Here's a patch which you should
be able to apply against what you just committed. It rolls soundex into
fuzzystrmatch.

Remove soundex/metaphone and merge into fuzzystrmatch.

Joe Conway
2001-08-07 18:16:01 +00:00
Bruce Momjian
d8783c512e Per this discussion, here's a patch to implement both levenshtein() and
metaphone() in a contrib. There seem to be a fair number of different
approaches to both of these algorithms. I used the simplest case for
levenshtein which has a cost  of 1 for any character insertion, deletion, or
substitution. For metaphone, I adapted the same code from CPAN that the PHP
folks did.

A couple of questions:
1. Does it make sense to fold the soundex contrib together with this one?

2. I was debating trying to add multibyte support to levenshtein (it would
make no sense at all for metaphone), but a quick search through the contrib
directory found no hits on the word MULTIBYTE. Should worry about adding
multibyte support to levenshtein()?

Joe Conway
2001-08-07 16:47:43 +00:00
Bruce Momjian
e9ea1255c0 This patch adds the following to the FTI module:
* The ability to index more than one column in a table with a single
trigger.
* All uses of sprintf changed to snprintf to prevent users from crashing
Postgres.
* Error messages made more consistent
* Some changes made to bring it into line with coding requirements for
triggers specified in the docs.  (ie. check you're a trigger before casting
your context)
* The perl script that generate indices has been updated to support indexing
multiple columns in a table.
* Fairly well tested in our development environment indexing a food
database's brand and description fields.  The size of the fti index is
around 300,000 rows.
* All docs and examples upgraded.  This includes specifying more efficient
index usage that was specified before, better examples that don't produce
duplicates, etc.


Christopher Kings-Lynne & Brett
2001-08-04 19:41:00 +00:00
Bruce Momjian
0bfc64b387 Looks okay in a quick glance, except error message spelling is poor:
! #define ARRISNULL(x) ( (x) ? ( ( ARR_NDIM(x) == NDIM ) ? ( ( ARRNELEMS( x ) )
? 0 : 1 ) : ( ( ARR_NDIM(x) ) ? (elog(ERROR,"Array is not one-dimentional: %d di
mentions", ARR_NDIM(x)),1) : 1 ) ) : 1 )

Should be "one-dimensional" and "dimensions".  Bruce, would you fix that
when you apply it?

Tom
2001-08-04 19:36:45 +00:00
Bruce Momjian
f368c94fd6 1. Fixed error with empty array ( '{}' ),
test data changed to include such data
2. Test a dimension of an array ( we support only one-dimension)

Oleg Bartunov
2001-08-04 19:35:32 +00:00
Bruce Momjian
938236a297 The fti.pl supplied with the fulltextindex module generate ALL possible
substrings of two characters or greater, and is case-sensitive.

This patch makes it work correctly.  It generates only the suffixes of each
word, plus lowercases them - as specified by the README file.

This brings it into line with the fti.c function, makes it case-insensitive
properly, removes the problem with duplicate rows being returned from an fti
search and greatly reduces the size of the generated index table.

It was written by my co-worker, Brett Toolin.

Christopher Kings-Lynne
2001-08-01 18:40:12 +00:00
Tatsuo Ishii
b332dc358b When invoked with -i (initialize mode), split the copy command every
10000 tuples, rather than one big copy. This will prevent generating
too much WAL logs.
2001-08-01 01:08:17 +00:00
Bruce Momjian
113bb9b5ac XML conversion utility, requires expat library.
John Gray
2001-07-30 14:59:02 +00:00
Bruce Momjian
d4cafeba31 Patch to add comments to Linux startup script.
Rene Pijlman
2001-07-30 14:52:42 +00:00
Tom Lane
7d4d5c00f0 Arrange to recycle old XLOG log segment files as new segment files,
rather than deleting them only to have to create more.  Steady state
is 2*CHECKPOINT_SEGMENTS + WAL_FILES + 1 segment files, which will
simply be renamed rather than constantly deleted and recreated.
To make this safe, added current XLOG file/offset number to page
header of XLOG pages, so that an un-overwritten page from an old
incarnation of a logfile can be reliably told from a valid page.
This change means that if you try to restart postmaster in a CVS-tip
database after installing the change, you'll get a complaint about
bad XLOG page magic number.  If you don't want to initdb, run
contrib/pg_resetxlog (and be sure you shut down the old postmaster
cleanly).
2001-07-19 02:12:35 +00:00
Peter Eisentraut
af3ce5daa4 Resolve a number of oddities in the Java build. First, remove the weird
redirections between the build files, which didn't work completely.  Now
you just go to the directory of your choice and run make.  Clean up the
build files to have a logical order, fix the unnecessary rebuilds, prevent
the deleting targets from removing files they're not responsible for.  Ant
1.3 does not have a bug.  It deletes directories just fine if you follow
the documentation.
2001-07-06 23:07:20 +00:00
Bruce Momjian
2e2d17ed51 Here the latest version and first working release of Ora2Pg a tool to export
Oracle database to PostgreSQL.

    It currently dump the database schema (tables, views, sequences,
    indexes, grants), with primary, unique and foreign keys into PostgreSQL
    syntax without editing the SQL code generated. You can dump only a
    particular schema from the Oracle database.

    Functions, procedures and triggers with SQL or PLSQL code generated must
    be reviewed to match the PostgreSQL syntax. Some usefull recommandation
    on porting Oracle to PostgreSQL can be found at
http://techdocs.postgresql.org/
    under the "Converting from other Databases to PostgreSQL" Oracle part. I
just
    notice one thing more is that the trunc() function in Oracle is the same for
number
    or date so be carefull when porting to PostgreSQL to use trunc() for number
and
    date_trunc() for date.

I will add more precision in type NUMBER conversion based on length to match
as closest as possible all rich PostgreSQL numerics type. But it seems not to be

urgent as it seems that Oracle DBAs only create number with length 22 (default)
Space seems not to be their problem...

Gilles DAROLD
2001-06-23 02:56:23 +00:00
Tom Lane
d8d9ed931e Add support to lock manager for conditionally locking a lock (ie,
return without waiting if we can't get the lock immediately).
Not used yet, but will be needed for concurrent VACUUM.
2001-06-22 00:04:59 +00:00
Bruce Momjian
7aac048b59 Attached is a patch to deal with the ones that I missed the first time
around.  I tested this patch under Cygwin and Linux.

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

Jason Tishler
2001-06-20 00:04:44 +00:00
Bruce Momjian
558fae16e3 The attached patch enables the contrib subtree to build cleanly under
Cygwin with the possible exception of mSQL-interface.  Since I don't
have mSQL installed, I skipped this tool.

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

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

The procedure to apply the patch is as follows:

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

Jason
2001-06-18 21:38:02 +00:00
Bruce Momjian
10b5f0bea8 Here's a small patch for dblink:
- fixed dblink invalid pointer causing corrupt elog message
   - fixed dblink_tok improper handling of null results
   - fixed examples in README.dblink

Joe Conway
2001-06-18 19:09:50 +00:00
Bruce Momjian
3dba1ff6e8 Add new dblink to /contrib Makefile.' 2001-06-18 17:20:56 +00:00
Bruce Momjian
5af4855383 Allow remote query execution (dblink)
Joe Conway
2001-06-14 16:49:03 +00:00
Tom Lane
6f2182fe18 contrib/intarray updates from Oleg Bartunov:
it's reimplemented to use function interface version 1 and special
treating of degenerated signatures.
2001-06-11 02:31:25 +00:00
Tom Lane
1173344e74 Adjust WAL code so that checkpoints truncate the xlog at the previous
checkpoint's redo pointer, not its undo pointer, per discussion in
pghackers a few days ago.  No point in hanging onto undo information
until we have the ability to do something with it --- and this solves
a rather large problem with log space for long-running transactions.
Also, change all calls of write() to detect the case where write
returned a count less than requested, but failed to set errno.
Presume that this situation indicates ENOSPC, and give the appropriate
error message, rather than a random message associated with the previous
value of errno.
2001-06-06 17:07:46 +00:00
Tom Lane
5bcf9233e4 Ooops, forgot to commit Makefile along with other changes. 2001-05-31 19:25:27 +00:00
Tom Lane
16f85390f2 Support for emulating RTREE indexing in GiST. Contributed by
Oleg Bartunov and Teodor Sigaev.
2001-05-31 18:27:18 +00:00
Tom Lane
3043810d97 Updates to make GIST work with multi-key indexes (from Oleg Bartunov
and Teodor Sigaev).  Declare key values as Datum where appropriate,
rather than char* (Tom Lane).
2001-05-31 18:16:55 +00:00
Bruce Momjian
e7988a7ad3 Remove SEP_CHAR from /contrib. 2001-05-30 14:18:18 +00:00
Bruce Momjian
3f5563d131 Playing with the earthdistance stuff, and found I needed the following
patch:

Larry Rosenman
2001-05-30 12:58:45 +00:00
D'Arcy J.M. Cain
8d7952fdc4 Further conversions to Version 1 API. Also, fix boolean return to use
PG_RETURN_BOOL(0) instead of return 0.
2001-05-30 02:11:46 +00:00
D'Arcy J.M. Cain
505d9037cd Upgraded code to use the current version 1 calling conventions. 2001-05-28 15:34:27 +00:00
D'Arcy J.M. Cain
2bc1c14ab0 Changed use of macros for extracting information. According to comments
in c.h we should be using the visible structure.  We should only see
de-TOASTed values in this program.  The old method refused to compile
because the length macro was no longer an lvalue.
2001-05-27 19:06:20 +00:00