Commit Graph

850 Commits

Author SHA1 Message Date
Bruce Momjian 3f01eba0bf Have makefile reference /xml2. 2004-03-05 20:01:46 +00:00
Bruce Momjian 3783ed3420 Add xml2 as skipped /contrib Makefile entry. 2004-03-05 05:15:16 +00:00
Bruce Momjian e085999662 Add mention xml2 is a newer version. 2004-03-05 04:13:15 +00:00
Bruce Momjian 614e42354d Add missing xml files. 2004-03-05 04:10:11 +00:00
Bruce Momjian 31f4b59a46 Move new version of contrib/ xml into xml2, keep old version in /xml. 2004-03-05 03:57:58 +00:00
Bruce Momjian adca025c9e Thanks to the generous support of Torchbox (http://www.torchbox.com), I
have been able to significantly improve the contrib/xml XPath
integration code.

New features:

* XPath set-returning function allows multiple results from an several
XPath queries to be used as a virtual table.
* Using libxslt, XSLT transformations (with and without parameters) are
supported. (Caution: This support allows generic URL fetching from
within the backend as well).

I've removed the old code so that it is all libxml based. Rather than
attach as a patch, I've put the tar.gz (10k!) at
http://www.azuli.co.uk/pgxml-1.0.tar.gz
(all files in archive are xml/....).

I think this is worth replacing the contrib version with, even though
the function names have changed (though the same functionality is
there), because it includes a SRF and some SPI usage, in addition to
linking to an external library. And it isn't a big module! Obviously, I
understand that people might prefer to move it elsewhere, or might have
reservations about replacing an existing contrib module with an
incompatible one. I'm open to suggestions.

John Gray
2004-03-05 03:24:50 +00:00
Bruce Momjian 53c1f64b29 Seems the usage message for oid2name calls it pg_oid2name. Fixed. 2004-03-03 14:24:12 +00:00
Tom Lane fa96a5e15b Add %option nodefault to all our flex lexers. Fix a couple of rule gaps
exposed thereby.  AFAICT these would not lead to any worse problems than
junk emitted on the backend's stdout, but we should have the option to
catch possible worse errors in future.
2004-02-24 22:06:32 +00:00
Joe Conway 3cd8411826 When returning type "record", replace use of pgresultGetTupleDesc
with ReturnSetInfo->expectedDesc. This allows custom datatypes
(e.g. from tsearch2) to be returned at runtime. Previous behavior
depended on the type oid to match between the remote and local
database, which obviously doesn't work well for custom types.
Per report from Mark Gibson.
2004-02-24 06:07:18 +00:00
Joe Conway 64a2e1fdef Apply quote_literal to the start_with argument of connectby. Fixes problem
reported by David Garamond when working with bytea parent and child keys.
2004-02-24 05:25:36 +00:00
Tom Lane 7a57a67278 Replace opendir/closedir calls throughout the backend with AllocateDir
and FreeDir routines modeled on the existing AllocateFile/FreeFile.
Like the latter, these routines will avoid failing on EMFILE/ENFILE
conditions whenever possible, and will prevent leakage of directory
descriptors if an elog() occurs while one is open.
Also, reduce PANIC to ERROR in MoveOfflineLogs() --- this is not
critical code and there is no reason to force a DB restart on failure.
All per recent trouble report from Olivier Hubaut.
2004-02-23 23:03:10 +00:00
Bruce Momjian 1d567aee07 The following bug has been logged online:
Bug reference:      1081
Logged by:          Aarjav Trivedi

Email address:      aarjav@cc.gatech.edu

PostgreSQL version: 7.4

Operating system:   Linux

Description:        Spelling error in tsearch2.sql leading to problems
with
tsearch

Details:

On line 620 of tsearch2.sql which is required to install and run
TSEARCH,

REATE FUNCTION tsstat_in(cstring)

should be

CREATE FUNCTION tsstat_in(cstring)

because of this error, TSEARCH fails to work as specified,
2004-02-20 20:42:29 +00:00
Bruce Momjian 51b363ec24 Please apply this patch to contrib/dbmirror
In incorperates changes from myself and a number of contributors.

This update to dbmirror provides:

-replication of sequence operations via setval/nextval
-DBMirror.pl support for logging to syslog
-changed the names of the tables to dbmirror_*  (no quotes required)
-Support for writitng SQL statements to files instead of directly to
 a slave database
-More options for DBMirror.pl in the config files.

Steven Singer
2004-02-17 03:34:35 +00:00
Tom Lane 391c3811a2 Rename SortMem and VacuumMem to work_mem and maintenance_work_mem.
Make btree index creation and initial validation of foreign-key constraints
use maintenance_work_mem rather than work_mem as their memory limit.
Add some code to guc.c to allow these variables to be referenced by their
old names in SHOW and SET commands, for backwards compatibility.
2004-02-03 17:34:04 +00:00
Teodor Sigaev 146aab497e Docs fix from Kris Jurka <books@ejurka.com> 2004-01-26 15:08:52 +00:00
Teodor Sigaev 239760209b Correct type for isalnum 2004-01-19 18:39:45 +00:00
Tom Lane 5390e284db Remove broken (and unnecessary) definition of operator <> for _int4
datatype; the generic array comparators added in 7.4 supersede this.
Per report and patch from Korea PostgreSQL Users' Group.
2004-01-08 23:40:27 +00:00
Tom Lane 2cdace962b Remove incorrect remark about having to restart backend to load a new
version of a shared library.
2003-12-27 18:20:18 +00:00
Teodor Sigaev 125d69cd9b Fix signed char in comparison and check memory allocation 2003-12-18 19:27:53 +00:00
Tom Lane a7e383d241 Repair badly broken estimation of output buffer size in lquery_out(). 2003-12-17 20:15:41 +00:00
Teodor Sigaev 565dc5d1ae Fix integer types to use definition from c.h. Per bug report by Patrick Boulay <patrick.boulay@medrium.com> 2003-12-10 15:54:58 +00:00
Tom Lane ee719299e4 Minor autovacuum fixes from Matthew O'Connor. 2003-12-08 21:54:00 +00:00
Tom Lane 1b5a2dbdff Add fflush() before sleeping, per Matthew O'Connor. 2003-12-08 21:51:31 +00:00
Tom Lane 9c26980f58 Replace unportable and overflow-prone use of 'long long' with safer
'double' arithmetic, per recent discussion.
2003-12-07 19:55:58 +00:00
Teodor Sigaev a5a68766e1 One more fix confusion 2003-12-05 15:37:51 +00:00
Teodor Sigaev 8f678600c2 Avoid confusion start_parse_str function with tsearch V1 2003-12-05 14:27:42 +00:00
Teodor Sigaev 6de3fe3c0d Avoid conflict strndup with glibc 2003-12-04 12:21:11 +00:00
Teodor Sigaev 32580efafb Fix for word with several infinitives 2003-12-03 16:07:48 +00:00
Bruce Momjian ea4b9f14f3 I've run across a pretty serious problem with pg_autovacuum.
pg_autovacuum looses track of any table that's ever been truncated
(possibly other situations too).   When i truncate a table it gets a
new relfilenode in pg_class.  This is a problem because pg_autovacuum
assumes pg_class.relfilenode will join to pg_stats_all_tables.relid.
pg_stats_all_tables.relid is actallly the oid from pg_class, not the
relfilenode.   These two values start out equal so pg_autovacuum works
initially, but it fails later on because of this incorrect assumption.

This patch fixes that problem.  Applied to HEAD and 7.4.X.

Brian Hirt
2003-12-01 23:19:33 +00:00
Bruce Momjian 15b5d6cfc6 I noticed in the 7.4 release that in contrib/pg_autovacuum, args->logfile is
not initialized if a log file is not specified on the command line.  This
causes an immediate segfault on systems that fill allocated memory with some
value other than zero (my FreeBSD machine uses 0xD0).

Several crashes later I discovered that args->user, password, host, and port
are also used without being initialized.

This doesn't appear to be fixed in CVS and I came up empty on a mailing list
search -- hope it hasn't been reported already.

Craig Boston
2003-12-01 23:13:07 +00:00
PostgreSQL Daemon 55b113257c make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
PostgreSQL Daemon 969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Teodor Sigaev cabdf460d3 Fix free instead of pfree 2003-11-28 12:09:02 +00:00
Joe Conway d1824a5ccb Fix regression in dblink_disconnect() reported by Eduardo Stern:
persistent_conn was left dangling after a disconnect in the
unnamed connection case, causing a subsequent disconnect to
crash the backend.
2003-11-28 05:03:02 +00:00
Teodor Sigaev baeab89de6 Fixes about word with several infiniteve 2003-11-27 16:04:40 +00:00
Joe Conway 5392e73b6c Added missing SPI_finish() calls to get_tuple_of_interest(). Fixes bug
reported by Andrea Grassi.
2003-11-26 20:43:25 +00:00
Teodor Sigaev f5e8bfb4b1 Utility for convert myspell dictionaries to ispell, full README will be later 2003-11-26 14:06:16 +00:00
Tatsuo Ishii 43f77c06bb Patches from Yutaka Tanida. Create primary key indexes after data
insertion to reduce initialization time.
2003-11-26 06:53:18 +00:00
Teodor Sigaev 4ca765f9aa Ignore too long lexeme 2003-11-25 13:33:15 +00:00
Teodor Sigaev c63c1946a2 Optimize. Improve ispell support for compound words. This work was sponsored by ABC Startsiden AS. 2003-11-17 17:34:35 +00:00
Tom Lane fa5c8a055a Cross-data-type comparisons are now indexable by btrees, pursuant to my
pghackers proposal of 8-Nov.  All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type.  Along the way, remove the
long-since-defunct bigbox_ops operator class.
2003-11-12 21:15:59 +00:00
Bruce Momjian f719f0f6db Typo fix in comment from David Wheeler 2003-11-12 03:27:26 +00:00
Tom Lane c1d62bfd00 Add operator strategy and comparison-value datatype fields to ScanKey.
Remove the 'strategy map' code, which was a large amount of mechanism
that no longer had any use except reverse-mapping from procedure OID to
strategy number.  Passing the strategy number to the index AM in the
first place is simpler and faster.
This is a preliminary step in planned support for cross-datatype index
operations.  I'm committing it now since the ScanKeyEntryInitialize()
API change touches quite a lot of files, and I want to commit those
changes before the tree drifts under me.
2003-11-09 21:30:38 +00:00
Bruce Momjian 6479ee28c0 Fix typo on autovacuum readme. 2003-11-09 03:15:46 +00:00
Bruce Momjian e781a1a95d Here is an update to the dbmirror README file.
-References to older versions of PostgreSQL have been removed(It no
longer
compiles against older versions)
-Added a link to PgPerl at GBorg.

Steven Singer
2003-10-27 02:52:45 +00:00
Tom Lane 5319ba3803 Update README file to show 7.4 oidjoins relationships. The regression
test was updated previously, but documentation is lagging.
2003-10-19 22:15:32 +00:00
Bruce Momjian 62fdc3dd60 I have run pg_autovacuum on AIX, so that can, at least loosely, be
considered "tested."

And I have turned all of the 7.4 HISTORY material into DocBook for
release.sgml

Christopher Browne
2003-10-16 03:47:28 +00:00
Bruce Momjian 18e5addb96 Fix core dump on root starting pg_autovacuum.
Change conditionals to be more constent with our code

if (const == var) => if (var == const).
2003-10-10 19:26:25 +00:00
Bruce Momjian 1dad866bb4 Someone report me small bug in contrib/pg_dumplo today. It's problem
with a little dirty snprintf() usage which I used some years ago:

    snprintf(path, BUFSIZ, "%s/lo_dump.index", path);

Karel Zak
2003-10-09 13:38:05 +00:00
Bruce Momjian 7ceadb8fab Change some awkward wording in the pg_autovacuum README file. I really
only read this because of Niel :-)

Robert Treat
2003-10-08 18:18:04 +00:00
Tom Lane 08c33c426b Attached is a patch for contrib/tablefunc. It fixes two issues raised by
Lars Boegild Thomsen (full email below) and also corrects the regression
expected output for a recent backend message adjustment. Please apply.

Joe Conway
2003-10-02 03:51:40 +00:00
Bruce Momjian 6000e32805 I've not changed any malloc/calloc to palloc. It looks to me that these memory
areas are for the lifetime of the backend and in the interests of not breaking
something that's not broken I left alone.

Note for anyone reading this and wanting it for tsearch-v2-stable (i.e. for 7.3
backend) this patch probably will not apply cleanly to that source. It should
be simple enough to see what's going on and apply the changes by hand if need
be.


--
Nigel J. Andrews
2003-09-29 18:54:38 +00:00
Bruce Momjian 04e401f97f A) Fixes a bug that prevented mirroring of data on a table that has had
a column dropped.

B) Updated the documentation for the 7.4 release.

Steven Singer
2003-09-29 18:16:48 +00:00
Bruce Momjian 44f8c5c10a Make dbf2pg safe for non-ASCII character sets.
M?rcio Dick Smiderle
2003-09-27 22:24:49 +00:00
Jan Wieck e9ff025345 Fixed calculation of bid when generating accounts. Used to create
accounts.bid values of zero.

Jan
2003-09-27 19:15:34 +00:00
Tom Lane 03858c078b Add positive defense against dropped columns, per suggestion from
Christopher Kings-Lynne.  Also fix a couple more schema-awareness issues.
2003-09-24 05:38:38 +00:00
Teodor Sigaev 0b1ee9b5a3 fix hlfinditem function. Thanks to "Stphane Bidoul" <stephane.bidoul@softwareag.com>.
The 'word' variable there is initialised from
the prs->words array, but immediately after,
that array may be reallocated, thus leaving
word pointing to unallocated memory.
2003-09-22 13:32:33 +00:00
Tom Lane 3f43446e36 Persuade tsearch/tsearch2 to work (or at least pass their regression
tests) when using flex 2.5.31.  The fix is to *not* try to use palloc
and pfree for allocations within the lexer; when you do that, the
yy_buffer_stack gets freed at inopportune times.  The code is already
set up to do manual deallocation, so I see no particular advantage to
using palloc anyway.
2003-09-14 18:44:23 +00:00
Tom Lane 0e9b05bde9 expected results for dblink test seem to be out of date ... 2003-09-14 02:30:07 +00:00
Tom Lane 043be9ad96 Make contrib/seg work with flex 2.5.31. Fix it up to have a real
btree operator class, too, since in PG 7.4 you can't GROUP without one.
2003-09-14 02:18:49 +00:00
Tom Lane 03e47392e0 Make contrib/cube work with flex 2.5.31. Fix it up to have a real
btree operator class, too, since in PG 7.4 you can't GROUP without one.
2003-09-14 01:52:25 +00:00
Tom Lane c472b8366f With Joe Conway's concurrence, remove srandom() call from normal_rand().
This was the last piece of code that took it upon itself to reset the
random number sequence --- now we only have srandom() in postmaster start,
backend start, and explicit setseed() operations.
2003-09-13 21:44:50 +00:00
Tom Lane f51759064c Minor wording improvements. 2003-09-13 17:33:46 +00:00
Bruce Momjian 2056f8a7da pgindent C file, per patch request. 2003-09-13 16:27:38 +00:00
Bruce Momjian 3bf080daaf > OK, well as we wait on the fix for the stats system, let me submit my
> patch for pg_autovacuum.  This patch assumes that the stats system will
> be fixed so that all inserts, updates and deletes performed on shared
> tables reguardless of what database those commands were executed from,
> will show up in the stats shown in each database.

I had to make a further change to this to take quotes off the 'last
ANALYZE' in order for it to not overquote the relation name, so
there's a _little_ work left to get it to play well.

I have deployed it onto several boxes that should be doing some
vacuuming over the weekend, and it is now certainly hitting pg_
tables.

I would like to present a CVS-oriented patch; unfortunately, I had to
change the indentation patterns when editing some of it :-(.  The
following _may_ be good; not sure...

Matthew T. O'Connor
Christopher Browne
2003-09-13 16:26:18 +00:00
Tom Lane 17d15ddf75 Fix incorrect pfree in to_tsquery_name(), per Nigel Andrews. 2003-09-12 16:34:28 +00:00
Bruce Momjian 3d48045ae1 > It quotes table names for vacuum and analyze, and uppercases the
> keywords for clarity.

Yeah, this is basically what I meant, sorry I didn't get to it quicker.

However, I tested it out a little and the patch you made doesn't work
because it produces commands like:

VACUUM ANALYZE "public.FooBar"

Which doesn't work, so I made my own patch that creates commands like:

VACUUM ANALYZE "public"."FooBar"

This allows for mixed case schema names as well as tables.

Adam, can you please give this a test as you are the person who caught
the bug in the first place.

Thanks,

Matthew T. O'Connor
2003-09-11 19:01:18 +00:00
Bruce Momjian a5e9e51fb0 on my timetravel.c I find a bug: after the
ALTER TABLE mytable drop column last_column_of_table;

the timetravel trigger say on UPDATE/DELETE:

ERROR:  parser: parse error at end of input


Here is the patch for this bug

B?jthe Zolt?n
2003-09-11 17:25:14 +00:00
Bruce Momjian 92e100dd33 Here is a patch that removes contrib/array, leaving only the README with
some examples of the new syntax and a reference to the documentation.

Joe Conway.
2003-09-11 17:15:27 +00:00
Bruce Momjian a72fce035d Add quotes to vacuum/analyze for upper/lowercase table names, per
Matthew T. O'Connor.
2003-09-10 19:57:48 +00:00
Bruce Momjian a9953097f4 Clean up printability test in dbase code. 2003-09-10 00:33:51 +00:00
Tom Lane 2f606ed87d Remove another useless, counterproductive srandom() call. 2003-09-07 15:27:25 +00:00
Teodor Sigaev 61366a9503 More accuracy works with stopwords in queries 2003-08-28 12:23:24 +00:00
Teodor Sigaev 9116f6c91a fix module name in MODULE_PATHNAME substitution 2003-08-26 10:01:02 +00:00
Peter Eisentraut 3d0d78ce2f Bring the makefiles up to our conventions. 2003-08-23 04:25:29 +00:00
Peter Eisentraut 4682776302 Enable uninstalling data files that were installed from a subdirectory of
the source tree.
2003-08-23 04:23:38 +00:00
Teodor Sigaev 38e2bf6283 ISpell info updated 2003-08-21 15:53:21 +00:00
Teodor Sigaev d3fe721a40 Eliminate function start_parse_fh and macro YY_INPUT 2003-08-15 13:44:35 +00:00
Teodor Sigaev 364ef51484 Correct error messages 2003-08-13 14:41:59 +00:00
Teodor Sigaev bcec1e617a More accuracy work with MinWords option of headline function 2003-08-13 14:37:55 +00:00
Bruce Momjian 46785776c4 Another pgindent run with updated typedefs. 2003-08-08 21:42:59 +00:00
Bruce Momjian 3b2440ebec Remove simple_prompt from /contrib C files, now that it is in /port.
They had the old versions anyway.
2003-08-08 20:20:49 +00:00
Tom Lane 33ab177a56 Don't assume that struct option is available just because we can find a
getopt_long().  This is more or less the same problem as we saw earlier
with getaddrinfo() and struct addrinfo, and for the same reason: random
user-added libraries might contain the subroutine, but there's no
guarantee we will find the matching header files.
2003-08-07 21:11:58 +00:00
Teodor Sigaev 8753157739 OpenFTS vs Tsearch2 comment 2003-08-06 14:53:01 +00:00
Teodor Sigaev d702313f0d Add documentation about ts_debug 2003-08-06 09:41:13 +00:00
Teodor Sigaev dd2870f76f Add ts_debug function for debugging configurations 2003-08-06 09:19:21 +00:00
Tom Lane 2f9c859ea1 Fix some copyright notices that weren't updated. Improve copyright tool
so it won't miss 'em again.
2003-08-04 23:59:41 +00:00
Tom Lane 77489f4523 Update vacuumlo to be properly schema-aware. Improve documentation. 2003-08-04 22:03:39 +00:00
Tom Lane 3b29525a79 Sub-Makefiles need to explicitly add CFLAGS_SL to CFLAGS, else their
object files do not get built with -fpic.
2003-08-04 20:34:26 +00:00
Tom Lane f237a80d8a Fix to build correctly outside source tree. 2003-08-04 19:52:37 +00:00
Teodor Sigaev d6f0f44b55 make sub-Makefiles in the sub-directories 2003-08-04 14:54:47 +00:00
Teodor Sigaev 8405e505c4 Docs fixes 2003-08-04 14:11:08 +00:00
Bruce Momjian f3c3deb7d0 Update copyrights to 2003. 2003-08-04 02:40:20 +00:00
Bruce Momjian 089003fb46 pgindent run. 2003-08-04 00:43:34 +00:00
Tom Lane 2c018f9b10 Fix for Alpha portability. 2003-08-01 03:55:05 +00:00
Tom Lane 6ed071bca5 Update contrib regression tests for recent error message editing. 2003-08-01 02:38:09 +00:00
Tom Lane 1e120a8e5d Add missing #include. 2003-08-01 02:25:31 +00:00
Tom Lane 3896f48d7e Fix some minor portability issues, per Chris K-L. 2003-08-01 02:21:17 +00:00
Bruce Momjian 82bade79dc dbf2pg - Insert xBase-style .dbf-files into a PostgreSQL-table
There is an option "-s oldname=newname", which changes the old field name of
  the dbf-file to the newname in PostgeSQL. If the length of the new name is 0,
  the field is skiped. If you want to skip the first field of the dbf-file,
  you get the wildest error-messages from the backend.
  dbf2pg load the dbf-file via "COPY tablename FROM STDIN". If you skip the
  first field, it is an \t to much in STDIN.

A fix could be an counter j=0, which increments only, if a field is imported
(IF (strlen(fields[h].db_name)> 0) j++. And only if j > 1 (if an other field is
imported) the \t is printed.

An other small bug in the README:
-s start
              Specify  the  first record-number in the xBase-file
              we will insert.
should be
-e start
              Specify  the  first record-number in the xBase-file
              we will insert.

Thomas Behr
2003-07-31 02:12:43 +00:00
Tom Lane 81b5c8a136 A visit from the message-style police ... 2003-07-28 00:09:16 +00:00