Commit Graph

351 Commits

Author SHA1 Message Date
Bruce Momjian 7ff432c9ad 1. Implemented binary search in array
Oleg Bartunov
2001-10-04 15:41:14 +00:00
Tom Lane 2d6b1f29fb Update incorrect expected file. Use 'timestamp without time zone'
datatype in test, to try to avoid any dependency on local time zone.
2001-10-03 18:39:12 +00:00
Tom Lane a5dafa3177 Tweak to test HAVE_GETOPT_H before including <getopt.h>, so as to
build on systems without.
2001-10-02 22:38:43 +00:00
Tom Lane 6d18c038b7 Fix a couple of stray // comments. 2001-10-01 17:53:12 +00:00
Bruce Momjian 43cadb9231 Add missing pgcrypto files. 2001-10-01 16:12:23 +00:00
Tatsuo Ishii 9a23885f72 Add pgstattuple 2001-10-01 01:52:38 +00:00
Bruce Momjian 9588084263 * regression tests
* minor doc updates

Marko Kreen
2001-09-30 22:18:29 +00:00
Tom Lane 14b0da2ac3 Changes:
1. gist__int_ops is now without lossy
 2. added sort entry in picksplit

Oleg Bartunov
2001-09-30 16:16:44 +00:00
Tom Lane 5798ccc4a6 Update required due to recent changes in FigureColname. 2001-09-30 16:15:59 +00:00
Tom Lane 793bcc67b2 Remove mistakenly-included file, per request from John Gray. 2001-09-29 05:42:24 +00:00
Bruce Momjian 7d94ac3b23 Found type mismatch in random.c. Please apply this also.
Marko Kreen
2001-09-29 03:12:51 +00:00
Bruce Momjian cff23429d6 I noticed that the contrib Makefiles were reorganized.
Converted pgcrypto one too.

* Changed default randomness source to libc random()
  That way pgcrypto does not have any external dependencies
  and should work everywhere.
* Re-enabled pgcrypto build in contrib/makefile
* contrib/README update - there is more stuff than
  only 'hash functions'
* Noted the libc random fact in README.pgcrypto


Marko Kreen
2001-09-29 03:11:58 +00:00
Bruce Momjian 1bd0b3406a No, file not needed. 2001-09-23 04:17:53 +00:00
Bruce Momjian 9a78cfc13b Add new file. 2001-09-23 04:17:20 +00:00
Bruce Momjian 484a0fa454 please apply attached patch to current CVS.
Changes:

 1. Added support for boolean queries (indexable operator @@, looks like
       a @@ '1|(2&3)'
 2. Some code cleanup and optimization

        Regards,
                Oleg
2001-09-23 04:16:16 +00:00
Bruce Momjian ab56022864 Big thanks to Solar Designer who pointed out a bug in bcrypt
salt generation code.  He also urged using better random source
and making possible to choose using bcrypt and xdes rounds more
easily.  So, here's patch:

* For all salt generation, use Solar Designer's own code.  This
  is mostly due fact that his code is more fit for get_random_bytes()
  style interface.
* New function: gen_salt(type, rounds).  This lets specify iteration
  count for algorithm.
* random.c: px_get_random_bytes() function.
  Supported randomness soure: /dev/urandom, OpenSSL PRNG, libc random()
  Default: /dev/urandom.
* Draft description of C API for pgcrypto functions.

New files: API, crypt-gensalt.c, random.c

Marko Kreen
2001-09-23 04:12:44 +00:00
Hiroshi Inoue c6cb8701db Change vacuumlo to take 'lo' type into account. 2001-09-17 02:30:54 +00:00
Peter Eisentraut 264f8f2b6c Install dynamically loadable modules into a private subdirectory
under libdir, for a cleaner separation in the installation layout
and compatibility with binary packaging standards.  Point backend's
default search location there.  The contrib modules are also
installed in the said location, giving them the benefit of the
default search path as well.  No changes in user interface
nevertheless.
2001-09-16 16:11:11 +00:00
Tatsuo Ishii ba708ea3dc Add -U, -P, -C options. See README.pgbench for more details. 2001-09-09 03:15:56 +00:00
Tom Lane 863aceb54f Get rid of PID entries in shmem hash table; there is no longer any need
for them, and making them just wastes time during backend startup/shutdown.
Also, remove compile-time MAXBACKENDS limit per long-ago proposal.
You can now set MaxBackends as high as your kernel can stand without
any reconfiguration/recompilation.
2001-09-07 00:27:30 +00:00
Peter Eisentraut 17cc78ef01 To fix the perpetually broken makefiles in the contrib tree, I have
written a generic framework of rules that the contrib makefiles can
use instead of writing their own each time.  You only need to set a few
variables and off you go.
2001-09-06 10:49:30 +00:00
Bruce Momjian 74dde13e2c This makes encrypt() parser more strict.
Marko Kreen
2001-09-06 03:21:39 +00:00
Tom Lane 29c22eec8c unixdate subdirectory is gone. 2001-09-04 19:21:42 +00:00
Peter Eisentraut 336ce4aa18 This is obsolete and doesn't work anymore. 2001-09-04 14:33:08 +00:00
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